[
  {
    "path": ".babelrc",
    "content": "{\n  \"presets\": [\n    [\"env\", {\n      \"modules\": false,\n      \"targets\": {\n        \"browsers\": [\n          \"> 1%\",\n          \"last 2 versions\",\n          \"not ie <= 20\",\n          \"not ie_mob <= 100\",\n          \"not ff <= 100\",\n          \"not and_ff <= 100\",\n          \"not Edge <= 100\",\n          \"Android >= 4.0\"\n        ]\n      }\n    }],\n    \"stage-2\"\n  ],\n  \"plugins\": [\"transform-runtime\", \"add-module-exports\", \"transform-es2015-modules-umd\"],\n  \"comments\": false,\n  \"env\": {\n    \"test\": {\n      \"presets\": [\"env\", \"stage-2\"],\n      \"plugins\": [ \"istanbul\" ]\n    }\n  }\n}\n"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".eslintignore",
    "content": "build/*.js\nconfig/*.js\nexample/modules/*.js\n"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  parser: 'babel-eslint',\n  parserOptions: {\n    sourceType: 'module'\n  },\n  // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style\n  extends: 'standard',\n  // required to lint *.vue files\n  plugins: [\n    'html'\n  ],\n  // add your custom rules here\n  'rules': {\n    // allow paren-less arrow functions\n    'arrow-parens': 0,\n    // allow async-await\n    'generator-star-spacing': 0,\n    // allow debugger during development\n    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,\n    'no-tabs': 0,\n    'space-before-function-paren': 0\n  }\n}\n"
  },
  {
    "path": ".github/CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at opensource@didichuxing.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "content": "<!--\nIMPORTANT: Please use the following link to create a new issue:\n\n  https://cube-ui.github.io/cube-issue-helper/\n\nIf your issue was not created using the app above, it will be closed immediately.\n\n中文用户请注意：\n请使用上面的链接来创建新的 issue。如果不是用上述工具创建的 issue 会被自动关闭。\n-->\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "Please make sure these boxes are checked before submitting your PR, thank you!\n\n* [ ] Make sure you follow DiDi's [contributing guide](https://github.com/didi/cube-ui/blob/master/CONTRIBUTING.md).\n* [ ] Make sure you are merging your commits to `dev` branch.\n* [ ] Add some descriptions and refer relative issues for you PR.\n"
  },
  {
    "path": ".github/workflows/preview.yml",
    "content": "name: 🔂 Surge PR Preview\n\non:\n  pull_request:\n    types: [labeled]\n\njobs:\n  preview:\n    runs-on: ubuntu-latest\n    if: contains(github.event.pull_request.labels.*.name, 'SurgePreview')\n    steps:\n      - uses: actions/checkout@v2\n      - uses: afc163/surge-preview@v1\n        with:\n          surge_token: ${{ secrets.SURGE_TOKEN }}\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          build: |\n            npm install\n            npm run doc-demo-build\n          dist: docs/example\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\nnode_modules/\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\ndeploy/\ntest/unit/coverage\ntest/e2e/reports\nselenium-debug.log\n\n# Test publish files\ncube-ui-*.tgz\npackage/\n\n# Editor directories and files\n.idea\n.vscode\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\nsudo: false\ncache:\n  directories:\n    - node_modules\nnode_js:\n  - \"8\"\nbranches:\n  only:\n    - master\n    - dev\nscript:\n  - npm test\nnotifications:\n  webhooks:\n      urls:\n        - https://www.travisbuddy.com/\n      on_success: never\n      on_failure: always\n      on_start: never\n      on_cancel: never\n      on_error: never\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contribution Guideline\n\nThanks for considering to contribute this project. All issues and pull requests are highly appreciated.\n\n## Pull Requests\n\nBefore sending pull request to this project, please read and follow guidelines below.\n\n1. Branch: We only accept pull request on `dev` branch.\n2. Coding style: Follow the coding style used in cube-ui.\n3. Commit message: Use English and be aware of your spell.\n4. Test: Make sure to test your code.\n\nAdd device mode, API version, related log, screenshots and other related information in your pull request if possible.\n\nNOTE: We assume all your contribution can be licensed under the [Apache License 2.0](https://github.com/didi/cube-ui/blob/master/LICENSE).\n\n## Issues\n\nWe love clearly described issues. :)\n\nFollowing information can help us to resolve the issue faster.\n\n* Device mode and hardware information.\n* API version.\n* Logs.\n* Screenshots.\n* Steps to reproduce the issue.\n"
  },
  {
    "path": "LICENSE",
    "content": "﻿                              Apache License\r\n \r\n                        Version 2.0, January 2004\r\n \r\n                     http://www.apache.org/licenses/\r\n \r\n \r\n \r\n \r\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\r\n \r\n \r\n \r\n \r\n1. Definitions.\r\n \r\n \r\n \r\n \r\n   \"License\" shall mean the terms and conditions for use, reproduction,\r\n \r\n   and distribution as defined by Sections 1 through 9 of this document.\r\n \r\n \r\n \r\n \r\n   \"Licensor\" shall mean the copyright owner or entity authorized by\r\n \r\n   the copyright owner that is granting the License.\r\n \r\n \r\n \r\n \r\n   \"Legal Entity\" shall mean the union of the acting entity and all\r\n \r\n   other entities that control, are controlled by, or are under common\r\n \r\n   control with that entity. For the purposes of this definition,\r\n \r\n   \"control\" means (i) the power, direct or indirect, to cause the\r\n \r\n   direction or management of such entity, whether by contract or\r\n \r\n   otherwise, or (ii) ownership of fifty percent (50%) or more of the\r\n \r\n   outstanding shares, or (iii) beneficial ownership of such entity.\r\n \r\n \r\n \r\n \r\n   \"You\" (or \"Your\") shall mean an individual or Legal Entity\r\n \r\n   exercising permissions granted by this License.\r\n \r\n \r\n \r\n \r\n   \"Source\" form shall mean the preferred form for making modifications,\r\n \r\n   including but not limited to software source code, documentation\r\n \r\n   source, and configuration files.\r\n \r\n \r\n \r\n \r\n   \"Object\" form shall mean any form resulting from mechanical\r\n \r\n   transformation or translation of a Source form, including but\r\n \r\n   not limited to compiled object code, generated documentation,\r\n \r\n   and conversions to other media types.\r\n \r\n \r\n \r\n \r\n   \"Work\" shall mean the work of authorship, whether in Source or\r\n \r\n   Object form, made available under the License, as indicated by a\r\n \r\n   copyright notice that is included in or attached to the work\r\n \r\n   (an example is provided in the Appendix below).\r\n \r\n \r\n \r\n \r\n   \"Derivative Works\" shall mean any work, whether in Source or Object\r\n \r\n   form, that is based on (or derived from) the Work and for which the\r\n \r\n   editorial revisions, annotations, elaborations, or other modifications\r\n \r\n   represent, as a whole, an original work of authorship. For the purposes\r\n \r\n   of this License, Derivative Works shall not include works that remain\r\n \r\n   separable from, or merely link (or bind by name) to the interfaces of,\r\n \r\n   the Work and Derivative Works thereof.\r\n \r\n \r\n \r\n \r\n   \"Contribution\" shall mean any work of authorship, including\r\n \r\n   the original version of the Work and any modifications or additions\r\n \r\n   to that Work or Derivative Works thereof, that is intentionally\r\n \r\n   submitted to Licensor for inclusion in the Work by the copyright owner\r\n \r\n   or by an individual or Legal Entity authorized to submit on behalf of\r\n \r\n   the copyright owner. For the purposes of this definition, \"submitted\"\r\n \r\n   means any form of electronic, verbal, or written communication sent\r\n \r\n   to the Licensor or its representatives, including but not limited to\r\n \r\n   communication on electronic mailing lists, source code control systems,\r\n \r\n   and issue tracking systems that are managed by, or on behalf of, the\r\n \r\n   Licensor for the purpose of discussing and improving the Work, but\r\n \r\n   excluding communication that is conspicuously marked or otherwise\r\n \r\n   designated in writing by the copyright owner as \"Not a Contribution.\"\r\n \r\n \r\n \r\n \r\n   \"Contributor\" shall mean Licensor and any individual or Legal Entity\r\n \r\n   on behalf of whom a Contribution has been received by Licensor and\r\n \r\n   subsequently incorporated within the Work.\r\n \r\n \r\n \r\n \r\n2. Grant of Copyright License. Subject to the terms and conditions of\r\n \r\n   this License, each Contributor hereby grants to You a perpetual,\r\n \r\n   worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r\n \r\n   copyright license to reproduce, prepare Derivative Works of,\r\n \r\n   publicly display, publicly perform, sublicense, and distribute the\r\n \r\n   Work and such Derivative Works in Source or Object form.\r\n \r\n \r\n \r\n \r\n3. Grant of Patent License. Subject to the terms and conditions of\r\n \r\n   this License, each Contributor hereby grants to You a perpetual,\r\n \r\n   worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r\n \r\n   (except as stated in this section) patent license to make, have made,\r\n \r\n   use, offer to sell, sell, import, and otherwise transfer the Work,\r\n \r\n   where such license applies only to those patent claims licensable\r\n \r\n   by such Contributor that are necessarily infringed by their\r\n \r\n   Contribution(s) alone or by combination of their Contribution(s)\r\n \r\n   with the Work to which such Contribution(s) was submitted. If You\r\n \r\n   institute patent litigation against any entity (including a\r\n \r\n   cross-claim or counterclaim in a lawsuit) alleging that the Work\r\n \r\n   or a Contribution incorporated within the Work constitutes direct\r\n \r\n   or contributory patent infringement, then any patent licenses\r\n \r\n   granted to You under this License for that Work shall terminate\r\n \r\n   as of the date such litigation is filed.\r\n \r\n \r\n \r\n \r\n4. Redistribution. You may reproduce and distribute copies of the\r\n \r\n   Work or Derivative Works thereof in any medium, with or without\r\n \r\n   modifications, and in Source or Object form, provided that You\r\n \r\n   meet the following conditions:\r\n \r\n \r\n \r\n \r\n   (a) You must give any other recipients of the Work or\r\n \r\n       Derivative Works a copy of this License; and\r\n \r\n \r\n \r\n \r\n   (b) You must cause any modified files to carry prominent notices\r\n \r\n       stating that You changed the files; and\r\n \r\n \r\n \r\n \r\n   (c) You must retain, in the Source form of any Derivative Works\r\n \r\n       that You distribute, all copyright, patent, trademark, and\r\n \r\n       attribution notices from the Source form of the Work,\r\n \r\n       excluding those notices that do not pertain to any part of\r\n \r\n       the Derivative Works; and\r\n \r\n \r\n \r\n \r\n   (d) If the Work includes a \"NOTICE\" text file as part of its\r\n \r\n       distribution, then any Derivative Works that You distribute must\r\n \r\n       include a readable copy of the attribution notices contained\r\n \r\n       within such NOTICE file, excluding those notices that do not\r\n \r\n       pertain to any part of the Derivative Works, in at least one\r\n \r\n       of the following places: within a NOTICE text file distributed\r\n \r\n       as part of the Derivative Works; within the Source form or\r\n \r\n       documentation, if provided along with the Derivative Works; or,\r\n \r\n       within a display generated by the Derivative Works, if and\r\n \r\n       wherever such third-party notices normally appear. The contents\r\n \r\n       of the NOTICE file are for informational purposes only and\r\n \r\n       do not modify the License. You may add Your own attribution\r\n \r\n       notices within Derivative Works that You distribute, alongside\r\n \r\n       or as an addendum to the NOTICE text from the Work, provided\r\n \r\n       that such additional attribution notices cannot be construed\r\n \r\n       as modifying the License.\r\n \r\n \r\n \r\n \r\n   You may add Your own copyright statement to Your modifications and\r\n \r\n   may provide additional or different license terms and conditions\r\n \r\n   for use, reproduction, or distribution of Your modifications, or\r\n \r\n   for any such Derivative Works as a whole, provided Your use,\r\n \r\n   reproduction, and distribution of the Work otherwise complies with\r\n \r\n   the conditions stated in this License.\r\n \r\n \r\n \r\n \r\n5. Submission of Contributions. Unless You explicitly state otherwise,\r\n \r\n   any Contribution intentionally submitted for inclusion in the Work\r\n \r\n   by You to the Licensor shall be under the terms and conditions of\r\n \r\n   this License, without any additional terms or conditions.\r\n \r\n   Notwithstanding the above, nothing herein shall supersede or modify\r\n \r\n   the terms of any separate license agreement you may have executed\r\n \r\n   with Licensor regarding such Contributions.\r\n \r\n \r\n \r\n \r\n6. Trademarks. This License does not grant permission to use the trade\r\n \r\n   names, trademarks, service marks, or product names of the Licensor,\r\n \r\n   except as required for reasonable and customary use in describing the\r\n \r\n   origin of the Work and reproducing the content of the NOTICE file.\r\n \r\n \r\n \r\n \r\n7. Disclaimer of Warranty. Unless required by applicable law or\r\n \r\n   agreed to in writing, Licensor provides the Work (and each\r\n \r\n   Contributor provides its Contributions) on an \"AS IS\" BASIS,\r\n \r\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r\n \r\n   implied, including, without limitation, any warranties or conditions\r\n \r\n   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\r\n \r\n   PARTICULAR PURPOSE. You are solely responsible for determining the\r\n \r\n   appropriateness of using or redistributing the Work and assume any\r\n \r\n   risks associated with Your exercise of permissions under this License.\r\n \r\n \r\n \r\n \r\n8. Limitation of Liability. In no event and under no legal theory,\r\n \r\n   whether in tort (including negligence), contract, or otherwise,\r\n \r\n   unless required by applicable law (such as deliberate and grossly\r\n \r\n   negligent acts) or agreed to in writing, shall any Contributor be\r\n \r\n   liable to You for damages, including any direct, indirect, special,\r\n \r\n   incidental, or consequential damages of any character arising as a\r\n \r\n   result of this License or out of the use or inability to use the\r\n \r\n   Work (including but not limited to damages for loss of goodwill,\r\n \r\n   work stoppage, computer failure or malfunction, or any and all\r\n \r\n   other commercial damages or losses), even if such Contributor\r\n \r\n   has been advised of the possibility of such damages.\r\n \r\n \r\n \r\n \r\n9. Accepting Warranty or Additional Liability. While redistributing\r\n \r\n   the Work or Derivative Works thereof, You may choose to offer,\r\n \r\n   and charge a fee for, acceptance of support, warranty, indemnity,\r\n \r\n   or other liability obligations and/or rights consistent with this\r\n \r\n   License. However, in accepting such obligations, You may act only\r\n \r\n   on Your own behalf and on Your sole responsibility, not on behalf\r\n \r\n   of any other Contributor, and only if You agree to indemnify,\r\n \r\n   defend, and hold each Contributor harmless for any liability\r\n \r\n   incurred by, or claims asserted against, such Contributor by reason\r\n \r\n   of your accepting any such warranty or additional liability.\r\n \r\n \r\n \r\n \r\nEND OF TERMS AND CONDITIONS\r\n \r\n \r\n \r\n \r\nAPPENDIX: How to apply the Apache License to your work.\r\n \r\n \r\n \r\n \r\n   To apply the Apache License to your work, attach the following\r\n \r\n   boilerplate notice, with the fields enclosed by brackets \"{}\"\r\n \r\n   replaced with your own identifying information. (Don't include\r\n \r\n   the brackets!)  The text should be enclosed in the appropriate\r\n \r\n   comment syntax for the file format. We also recommend that a\r\n \r\n   file or class name and description of purpose be included on the\r\n \r\n   same \"printed page\" as the copyright notice for easier\r\n \r\n   identification within third-party archives.\r\n \r\n \r\n \r\n \r\nCopyright (C) 2017 Beijing Didi Infinity Technology and Development Co.,Ltd. All rights reserved.\r\n \r\n \r\n \r\n \r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\n \r\nyou may not use this file except in compliance with the License.\r\n \r\nYou may obtain a copy of the License at\r\n \r\n \r\n \r\n \r\n    http://www.apache.org/licenses/LICENSE-2.0\r\n \r\n \r\n \r\n \r\nUnless required by applicable law or agreed to in writing, software\r\n \r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\n \r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n \r\nSee the License for the specific language governing permissions and\r\n \r\nlimitations under the License.\r\n"
  },
  {
    "path": "README.md",
    "content": "\n# cube-ui [![Build Status](https://travis-ci.org/didi/cube-ui.svg?branch=master)](https://travis-ci.org/didi/cube-ui?branch=master) [![codecov.io](http://codecov.io/github/didi/cube-ui/coverage.svg?branch=master)](http://codecov.io/github/didi/cube-ui?branch=master) [![downloads](https://img.shields.io/npm/dm/cube-ui.svg)](https://www.npmjs.com/package/cube-ui)\n\n> A fantastic mobile ui lib implement by Vue.\n\n### Links\n\n- [Home](https://didi.github.io/cube-ui/)\n- [Docs](https://didi.github.io/cube-ui/#/en-US/docs)\n- [Example](https://didi.github.io/cube-ui/example/)\n\n  ![Example QR](./assets/example-qr.png)\n\n- [Application Guide](https://github.com/cube-ui/cube-application-guide)\n\n### Communication\n\n![QQ Community QR](./assets/cube-qq-QR.jpg)\n\n### New cube-ui project ?\n\nRecommend use the [CLI tools](https://github.com/cube-ui/cube-template) base on [vue-cli](https://github.com/vuejs/vue-cli) to init the config and base code:\n\n```shell\n$ vue init cube-ui/cube-template projectname\n```\n\n### Install\n\n```shell\nnpm install cube-ui --save\n```\n\n### Usage\n\n```js\nimport Vue from 'vue'\nimport Cube from 'cube-ui'\n\nVue.use(Cube)\n```\n\n#### Use modularized cube-ui\n\n```js\nimport Vue from 'vue'\nimport {\n  /* eslint-disable no-unused-vars */\n  Style,\n  Button,\n  ActionSheet\n} from 'cube-ui'\n\nVue.use(Button)\nVue.use(ActionSheet)\n```\n\nFor more information, please refer to [Quick Start](https://didi.github.io/cube-ui/#/en-US/docs/quick-start)\n\n\n### Development\n\n```shell\ngit clone git@github.com:didi/cube-ui.git\ncd cube-ui\nnpm install\nnpm run dev\n# or run document development\nnpm run doc-dev\n```\n\n### Changelog\n\nDetailed changes for each release are documented in the [release notes](https://github.com/didi/cube-ui/releases).\n\n### DiDi Open Sources\n\n- [Mpx](https://github.com/didi/mpx): An enhanced miniprogram framework with data reactivity and deep optimizition.\n- [Chameleon](https://github.com/didi/chameleon)/kəˈmiːlɪən/: Unify all platforms(Web/Weex/Mini program) with MVVM. Focus on Write Once Run AnyWhere.\n- [mand-mobile](https://github.com/didi/mand-mobile): A mobile UI toolkit, based on Vue.js 2, designed for financial scenarios.\n- [DoraemonKit](https://github.com/didi/DoraemonKit)/'dɔ:ra:'emɔn/: A full-featured App (iOS & Android) development assistant. You deserve it.\n- [Booster](https://github.com/didi/booster): An easy-to-use, lightweight, powerful and extensible quality optimization toolkit designed specially for mobile applications.\n- [More repos](https://github.com/didi/)\n"
  },
  {
    "path": "README_zh-CN.md",
    "content": "# cube-ui [![Build Status](https://travis-ci.org/didi/cube-ui.svg?branch=master)](https://travis-ci.org/didi/cube-ui?branch=master) [![codecov.io](http://codecov.io/github/didi/cube-ui/coverage.svg?branch=master)](http://codecov.io/github/didi/cube-ui?branch=master)\n\n> A fantastic mobile ui lib implement by Vue.\n\n### 导航\n\n- [首页](https://didi.github.io/cube-ui/)\n- [文档](https://didi.github.io/cube-ui/#/zh-CN/docs)\n- [示例](https://didi.github.io/cube-ui/example/)\n\n  ![示例二维码](./assets/example-qr.png)\n\n- [应用教程](https://github.com/cube-ui/cube-application-guide)\n\n### 新项目？\n\n推荐使用基于 [vue-cli](https://github.com/vuejs/vue-cli) 的 [CLI 工具](https://github.com/cube-ui/cube-template) 来初始化配置和代码：\n\n```shell\n$ vue init cube-ui/cube-template projectname\n```\n\n### 安装\n\n```shell\nnpm install cube-ui --save\n```\n\n### 使用\n\n```js\nimport Vue from 'vue'\nimport Cube from 'cube-ui'\n\nVue.use(Cube)\n```\n\n#### 按需使用\n\n```js\nimport Vue from 'vue'\nimport {\n  /* eslint-disable no-unused-vars */\n  Style,\n  Button,\n  ActionSheet\n} from 'cube-ui'\n\nVue.use(Button)\nVue.use(ActionSheet)\n```\n\n注：上述使用依赖插件 [babel-plugin-transform-modules](https://www.npmjs.com/package/babel-plugin-transform-modules)，详细内容请看 [开始文档](https://didi.github.io/cube-ui/#/zh-CN/docs/quick-start)\n\n### Development\n\n```shell\ngit clone git@github.com:didi/cube-ui.git\ncd cube-ui\nnpm install\nnpm run dev\n# or run document development\nnpm run doc-dev\n```\n\n### Changelog\n\n详细日志请看[发布日志](https://github.com/didi/cube-ui/releases)。\n\n### 滴滴开源项目\n\n- [Mpx](https://github.com/didi/mpx): 一款致力于提高小程序开发体验的增强型小程序框架，通过Mpx，我们能够以最先进的web开发体验来开发生产性能深度优化的小程序。\n- [Chameleon](https://github.com/didi/chameleon)/kəˈmiːlɪən/: 简写CML，中文意思变色龙，意味着就像变色龙一样能适应不同环境的跨端整体解决方案，达到真正意义上\"一套代码，多端运行\"的终极目标。\n- [mand-mobile](https://github.com/didi/mand-mobile): 基于Vue.js实现的面向金融场景的移动端UI组件库。\n- [DoraemonKit](https://github.com/didi/DoraemonKit)/'dɔ:ra:'emɔn/: 简称DoKit，一款功能齐全的客户端（ iOS 、Android、微信小程序 ）研发助手，你值得拥有。\n- [Booster](https://github.com/didi/booster): 一款专门为移动应用设计的易用、轻量级且可扩展的质量优化框架，其目标主要是为了解决随着 APP 复杂度的提升而带来的性能、稳定性、包体积等一系列质量问题。\n- [更多项目](https://github.com/didi/)\n"
  },
  {
    "path": "build/build.js",
    "content": "// https://github.com/shelljs/shelljs\nrequire('shelljs/global')\nvar config = require('../config')\nif (!process.env.NODE_ENV) {\n  process.env.NODE_ENV = JSON.parse(config.build.env.NODE_ENV)\n}\n\nvar path = require('path')\nvar utils = require('./utils')\nvar ora = require('ora')\nvar webpack = require('webpack')\nvar webpackConfig = require('./webpack.prod.conf')\nvar webpackModulesConfig = require('./webpack.modules.conf')\nvar ExtractTextPlugin = require('extract-text-webpack-plugin')\nvar OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')\n\nvar assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)\nrm('-rf', assetsPath)\nmkdir('-p', assetsPath)\n// cp('-R', 'static/*', assetsPath)\n\nfunction buildPack(webpackConfig, cb, spinnerText) {\n  var spinner = ora(spinnerText || 'building for uncompressed files...')\n  spinner.start()\n  webpack(webpackConfig, function (err, stats) {\n    spinner.stop()\n    if (err) {\n      throw err\n    }\n    process.stdout.write(stats.toString({\n      colors: true,\n      modules: false,\n      children: false,\n      chunks: false,\n      chunkModules: false\n    }) + '\\n')\n    cb && cb()\n  })\n}\n\nfunction fullBuild(cb) {\n  // build index.js\n  buildPack(webpackConfig, function () {\n\n    // build cube.min.js\n    webpackConfig.output.filename = utils.assetsPath('[name].min.js')\n    webpackConfig.output.chunkFilename = '[name].min.js'\n    webpackConfig.plugins.splice(1, 1, \n      new webpack.DefinePlugin({\n        'process.env': config.build.env\n      }),\n      new webpack.optimize.UglifyJsPlugin({\n        compress: {\n          warnings: false\n        }\n      }),\n      new ExtractTextPlugin(utils.assetsPath('[name].min.css')),\n      new OptimizeCSSPlugin({\n        cssProcessorOptions: {\n          safe: true\n        }\n      })\n    )\n    buildPack(webpackConfig, function () {\n      cb && cb()\n    }, 'building for cube.min.js')\n  }, 'building for index.js')\n}\n\nfunction modulesBuild() {\n  // build ${module}/index.js\n  buildPack(webpackModulesConfig, function () {\n\n    // build ${module}/${module}.min.js\n    webpackModulesConfig.output.filename = utils.assetsPath('[name]/[name].min.js')\n    webpackModulesConfig.output.chunkFilename = '[name]/[name].min.js'\n    webpackModulesConfig.plugins.splice(1, 1,\n      new webpack.DefinePlugin({\n        'process.env': config.build.env\n      }),\n      new webpack.optimize.UglifyJsPlugin({\n        compress: {\n          warnings: false\n        }\n      }),\n      new ExtractTextPlugin(utils.assetsPath('[name]/[name].min.css')),\n      new OptimizeCSSPlugin({\n        cssProcessorOptions: {\n          safe: true\n        }\n      })\n    )\n    buildPack(webpackModulesConfig, null, 'building for ${module}/${module}.min.js')\n  }, 'building for ${module}/index.js')\n}\n\nfullBuild(modulesBuild)\n"
  },
  {
    "path": "build/check-versions.js",
    "content": "var chalk = require('chalk')\nvar semver = require('semver')\nvar packageConfig = require('../package.json')\nvar shell = require('shelljs')\nfunction exec (cmd) {\n  return require('child_process').execSync(cmd).toString().trim()\n}\n\nvar versionRequirements = [\n  {\n    name: 'node',\n    currentVersion: semver.clean(process.version),\n    versionRequirement: packageConfig.engines.node\n  },\n]\n\nif (shell.which('npm')) {\n  versionRequirements.push({\n    name: 'npm',\n    currentVersion: exec('npm --version'),\n    versionRequirement: packageConfig.engines.npm\n  })\n}\n\nmodule.exports = function () {\n  var warnings = []\n  var i\n  for (i = 0; i < versionRequirements.length; i++) {\n    var mod = versionRequirements[i]\n    if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {\n      warnings.push(mod.name + ': ' +\n        chalk.red(mod.currentVersion) + ' should be ' +\n        chalk.green(mod.versionRequirement)\n      )\n    }\n  }\n\n  if (warnings.length) {\n    console.log('')\n    console.log(chalk.yellow('To use this template, you must update following to modules:'))\n    console.log()\n    for (i = 0; i < warnings.length; i++) {\n      var warning = warnings[i]\n      console.log('  ' + warning)\n    }\n    console.log()\n    process.exit(1)\n  }\n}\n"
  },
  {
    "path": "build/dev-client.js",
    "content": "/* eslint-disable */\nrequire('eventsource-polyfill')\nvar hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')\n\nhotClient.subscribe(function (event) {\n  if (event.action === 'reload') {\n    window.location.reload()\n  }\n})\n\n"
  },
  {
    "path": "build/dev-server.js",
    "content": "require('./check-versions')()\n\nvar config = require('../config')\nif (!process.env.NODE_ENV) {\n  process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)\n}\n\nvar path = require('path')\nvar express = require('express')\nvar webpack = require('webpack')\nvar opn = require('opn')\nvar proxyMiddleware = require('http-proxy-middleware')\nvar webpackConfig = require('./webpack.dev.conf')\n\n// default port where dev server listens for incoming traffic\nvar port = process.env.PORT || config.dev.port\n// Define HTTP proxies to your custom API backend\n// https://github.com/chimurai/http-proxy-middleware\nvar proxyTable = config.dev.proxyTable\n// automatically open browser, if not set will be false\nvar autoOpenBrowser = !!config.dev.autoOpenBrowser\n\nvar app = express()\nvar compiler = webpack(webpackConfig)\n\n// var devMiddleware = require('webpack-dev-middleware')(compiler, {\n//   publicPath: webpackConfig.output.publicPath,\n//   stats: {\n//     colors: true,\n//     chunks: false\n//   },\n//   watchOptions: {\n//     aggregateTimeout: 300,\n//     poll: 1000\n//   }\n// })\nvar devMiddleware = require('webpack-dev-middleware')(compiler, {\n  publicPath: webpackConfig.output.publicPath,\n  quiet: true\n})\n\nvar hotMiddleware = require('webpack-hot-middleware')(compiler, {\n  log: function () {}\n})\n// force page reload when html-webpack-plugin template changes\ncompiler.plugin('compilation', function (compilation) {\n  compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {\n    hotMiddleware.publish({action: 'reload'})\n    cb()\n  })\n})\n\n// proxy api requests\nObject.keys(proxyTable).forEach(function (context) {\n  var options = proxyTable[context]\n  if (typeof options === 'string') {\n    options = {target: options}\n  }\n  app.use(proxyMiddleware(context, options))\n})\n\n// handle fallback for HTML5 history API\napp.use(require('connect-history-api-fallback')())\n\n// serve webpack bundle output\napp.use(devMiddleware)\n\n// enable hot-reload and state-preserving\n// compilation error display\napp.use(hotMiddleware)\n\n// serve pure static assets\nvar staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)\napp.use(staticPath, express.static('./static'))\n\nvar uri = 'http://localhost:' + port\n\nvar _resolve\nvar readyPromise = new Promise(resolve => {\n  _resolve = resolve\n})\n\nconsole.log('> Starting dev server...')\ndevMiddleware.waitUntilValid(() => {\n  console.log('> Listening at ' + uri + '\\n')\n  // when env is testing, don't need open it\n  if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {\n    opn(uri)\n  }\n  _resolve()\n})\n\nvar server = app.listen(port)\n\nmodule.exports = {\n  ready: readyPromise,\n  close: () => {\n    server.close()\n  }\n}\n\n"
  },
  {
    "path": "build/document/build.js",
    "content": "require('shelljs/global')\nprocess.env.NODE_ENV = 'production'\n\nvar ora = require('ora')\nvar rm = require('rimraf')\nvar path = require('path')\nvar chalk = require('chalk')\nvar webpack = require('webpack')\nvar config = require('../../config')\nvar webpackConfig = require('./webpack.prod.conf')\n\nvar spinner = ora('building for document production...')\nspinner.start()\n\nrm(path.join(config.docBuild.assetsRoot, config.docBuild.assetsSubDirectory), err => {\n  if (err) {\n    throw err\n  }\n  webpack(webpackConfig, function (err, stats) {\n    spinner.stop()\n    if (err) {\n      throw err\n    }\n    process.stdout.write(stats.toString({\n      colors: true,\n      modules: false,\n      children: false,\n      chunks: false,\n      chunkModules: false\n    }) + '\\n\\n')\n\n    console.log(chalk.cyan(' Document build complete.\\n'))\n  })\n})\n"
  },
  {
    "path": "build/document/dev-server.js",
    "content": "var path = require('path')\nvar express = require('express')\nvar webpack = require('webpack')\nvar config = require('../../config')\nvar opn = require('opn')\nvar proxyMiddleware = require('http-proxy-middleware')\nvar webpackConfig = require('./webpack.dev.conf')\n\n// default port where dev server listens for incoming traffic\nvar port = process.env.PORT || config.docDev.port\n// Define HTTP proxies to your custom API backend\n// https://github.com/chimurai/http-proxy-middleware\nvar proxyTable = config.dev.proxyTable\n\nvar app = express()\nvar compiler = webpack(webpackConfig)\n\nvar devMiddleware = require('webpack-dev-middleware')(compiler, {\n  publicPath: webpackConfig.output.publicPath,\n  stats: {\n    colors: true,\n    chunks: false\n  },\n  watchOptions: {\n    aggregateTimeout: 300,\n    poll: 1000\n  }\n})\n\nvar hotMiddleware = require('webpack-hot-middleware')(compiler)\n// force page reload when html-webpack-plugin template changes\ncompiler.plugin('compilation', function (compilation) {\n  compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {\n    hotMiddleware.publish({action: 'reload'})\n    cb()\n  })\n})\n\n// proxy api requests\nObject.keys(proxyTable).forEach(function (context) {\n  var options = proxyTable[context]\n  if (typeof options === 'string') {\n    options = {target: options}\n  }\n  app.use(proxyMiddleware(context, options))\n})\n\n// handle fallback for HTML5 history API\napp.use(require('connect-history-api-fallback')())\n\n// serve webpack bundle output\napp.use(devMiddleware)\n\n// enable hot-reload and state-preserving\n// compilation error display\napp.use(hotMiddleware)\n\n// serve pure static assets\nvar staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)\napp.use(staticPath, express.static('./static'))\n\nmodule.exports = app.listen(port, function (err) {\n  if (err) {\n    console.log(err)\n    return\n  }\n  var uri = 'http://localhost:' + port\n  console.log('Listening at ' + uri + '\\n')\n  opn(uri)\n})\n"
  },
  {
    "path": "build/document/webpack.dev.conf.js",
    "content": "var config = require('../../config')\nvar devWebpackConfig = require('../webpack.dev.conf')\nvar HtmlWebpackPlugin = require('html-webpack-plugin')\n\nvar entry = config.docDev.entry\n// add hot-reload related code to entry chunks\nObject.keys(entry).forEach(function (name) {\n  entry[name] = ['./build/dev-client'].concat(entry[name])\n})\n\nvar docDevWebpackConfig = Object.assign({}, devWebpackConfig)\nvar index = docDevWebpackConfig.plugins.findIndex(function (plugin) {\n  return plugin instanceof HtmlWebpackPlugin\n})\ndocDevWebpackConfig.plugins.splice(index, 1, new HtmlWebpackPlugin({\n  filename: 'index.html',\n  template: config.docDev.template,\n  inject: true\n}))\n\ndocDevWebpackConfig.entry = entry\n\nmodule.exports = docDevWebpackConfig\n"
  },
  {
    "path": "build/document/webpack.prod.conf.js",
    "content": "var path = require('path')\nvar config = require('../../config')\nvar utils = require('../utils')\nvar webpack = require('webpack')\nvar merge = require('webpack-merge')\nvar baseWebpackConfig = require('../webpack.base.conf')\nvar ExtractTextPlugin = require('extract-text-webpack-plugin')\nvar HtmlWebpackPlugin = require('html-webpack-plugin')\nvar OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')\n\nvar webpackConfig = merge(baseWebpackConfig, {\n  entry: {\n    app: './document/main.js'\n  },\n  module: {\n    rules: utils.styleLoaders({\n      sourceMap: config.docBuild.productionSourceMap,\n      extract: true\n    })\n  },\n  devtool: config.docBuild.productionSourceMap ? '#source-map' : false,\n  output: {\n    path: config.docBuild.assetsRoot,\n    publicPath: '/cube-ui/',\n    filename: utils.assetsPath('js/[name].[chunkhash].js'),\n    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')\n  },\n  plugins: [\n    new webpack.DefinePlugin({\n      'process.env': config.docBuild.env\n    }),\n    new webpack.optimize.UglifyJsPlugin({\n      compress: {\n        warnings: false\n      }\n    }),\n    // extract css into its own file\n    new ExtractTextPlugin(utils.assetsPath('css/[name].[contenthash].css')),\n    // Compress extracted CSS. We are using this plugin so that possible\n    // duplicated CSS from different components can be deduped.\n    new OptimizeCSSPlugin({\n      cssProcessorOptions: {\n        safe: true\n      }\n    }),\n    new webpack.HashedModuleIdsPlugin(),\n    // generate dist index.html with correct asset hash for caching.\n    // you can customize output by editing /index.html\n    // see https://github.com/ampedandwired/html-webpack-plugin\n    new HtmlWebpackPlugin({\n      filename: config.docBuild.index,\n      template: 'document/index.html',\n      inject: true,\n      minify: {\n        removeComments: true,\n        collapseWhitespace: true,\n        removeAttributeQuotes: true\n        // more options:\n        // https://github.com/kangax/html-minifier#options-quick-reference\n      },\n      // necessary to consistently work with multiple chunks via CommonsChunkPlugin\n      chunksSortMode: 'dependency'\n    }),\n    // split vendor js into its own file\n    new webpack.optimize.CommonsChunkPlugin({\n      name: 'vendor',\n      minChunks: function (module) {\n        // any required modules inside node_modules are extracted to vendor\n        return (\n          module.resource &&\n          /\\.js$/.test(module.resource) &&\n          module.resource.indexOf(\n            path.join(__dirname, '../../node_modules')\n          ) === 0\n        )\n      }\n    }),\n    // extract webpack runtime and module manifest to its own file in order to\n    // prevent vendor hash from being updated whenever app bundle is updated\n    new webpack.optimize.CommonsChunkPlugin({\n      name: 'manifest',\n      chunks: ['vendor']\n    })\n  ]\n})\n\nif (config.build.productionGzip) {\n  var CompressionWebpackPlugin = require('compression-webpack-plugin')\n\n  webpackConfig.plugins.push(\n    new CompressionWebpackPlugin({\n      asset: '[path].gz[query]',\n      algorithm: 'gzip',\n      test: new RegExp(\n        '\\\\.(' +\n        config.build.productionGzipExtensions.join('|') +\n        ')$'\n      ),\n      threshold: 10240,\n      minRatio: 0.8\n    })\n  )\n}\n\nmodule.exports = webpackConfig\n"
  },
  {
    "path": "build/example/build.js",
    "content": "require('shelljs/global')\nprocess.env.NODE_ENV = 'production'\n\nvar ora = require('ora')\nvar rm = require('rimraf')\nvar path = require('path')\nvar chalk = require('chalk')\nvar webpack = require('webpack')\nvar config = require('../../config')\nvar webpackConfig = require('./webpack.prod.conf')\n\nvar spinner = ora('building for example production...')\nspinner.start()\n\nrm(path.join(config.demoBuild.assetsRoot, config.demoBuild.assetsSubDirectory), err => {\n  if (err) {\n    throw err\n  }\n  webpack(webpackConfig, function (err, stats) {\n    spinner.stop()\n    if (err) {\n      throw err\n    }\n    process.stdout.write(stats.toString({\n      colors: true,\n      modules: false,\n      children: false,\n      chunks: false,\n      chunkModules: false\n    }) + '\\n\\n')\n\n    console.log(chalk.cyan(' Example build complete.\\n'))\n  })\n})\n"
  },
  {
    "path": "build/example/webpack.prod.conf.js",
    "content": "var config = require('../../config')\nvar utils = require('../utils')\nvar docProdWebpackConfig = require('../document/webpack.prod.conf')\nvar HtmlWebpackPlugin = require('html-webpack-plugin')\n\nvar webpackConfig = Object.assign({}, docProdWebpackConfig, {\n  entry: config.demoBuild.entry,\n  output: {\n    path: config.demoBuild.assetsRoot,\n    filename: utils.assetsPath('js/[name].[chunkhash].js'),\n    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')\n  }\n})\n\nvar index = webpackConfig.plugins.findIndex(function (plugin) {\n  return plugin instanceof HtmlWebpackPlugin\n})\nwebpackConfig.plugins.splice(index, 1, new HtmlWebpackPlugin({\n  filename: 'index.html',\n  template: 'example/index.html',\n  inject: true,\n  minify: {\n    removeComments: true,\n    collapseWhitespace: true,\n    removeAttributeQuotes: true\n    // more options:\n    // https://github.com/kangax/html-minifier#options-quick-reference\n  },\n  // necessary to consistently work with multiple chunks via CommonsChunkPlugin\n  chunksSortMode: 'dependency'\n}))\n\nmodule.exports = webpackConfig\n"
  },
  {
    "path": "build/release/docs.sh",
    "content": "#!/bin/bash\n\n# git pull\ngit pull origin master\n# build\nnpm run doc-demo-build\n# ADD commit\ngit add docs/\ngit commit -m 'build: docs'\ngit push origin master\ngit checkout dev\ngit rebase master\ngit push origin dev\ngit checkout master\n"
  },
  {
    "path": "build/release/publish.sh",
    "content": "#!/bin/bash\n\n# git pull\ngit pull origin master\n# npm install\n# rm package-lock.json\nnpm install --registry=https://registry.npmjs.org\n# build\nnpm run build\n# ADD commit\ngit add -A\ngit commit -m 'build: package'\ngit push origin master\n# replace src/ __VERSION__\nnode ./build/release/replace-version.js\n# publish\nnpm publish\n# checkout src/index.js\ngit checkout src/index.js\ngit checkout dev\ngit rebase master\ngit push origin dev\ngit checkout master\n"
  },
  {
    "path": "build/release/replace-version.js",
    "content": "var fs = require('fs')\nvar path = require('path')\nvar pkg = require('../../package.json')\nvar version = pkg.version\n\nvar mainPath = path.resolve(__dirname, '../../src/index.js')\nvar content = fs.readFileSync(mainPath).toString()\n\ncontent = content.replace('__VERSION__', '\\'' + version + '\\'')\n\nfs.writeFileSync(mainPath, content)\n"
  },
  {
    "path": "build/utils.js",
    "content": "var path = require('path')\nvar config = require('../config')\nvar ExtractTextPlugin = require('extract-text-webpack-plugin')\nvar postcssConfig = require('../postcss.config.js')\n\nexports.assetsPath = function (_path) {\n  var assetsSubDirectory = process.env.NODE_ENV === 'production'\n    ? config.build.assetsSubDirectory\n    : config.dev.assetsSubDirectory\n  return path.posix.join(assetsSubDirectory, _path)\n}\n\nexports.cssLoaders = function (options) {\n  options = options || {}\n\n  var cssLoader = {\n    loader: 'css-loader',\n    options: {\n      minimize: process.env.NODE_ENV === 'production',\n      sourceMap: options.sourceMap\n    }\n  }\n  var postcssLoader = {\n    loader: 'postcss-loader',\n    options: {\n      sourceMap: options.sourceMap,\n      plugins: () => postcssConfig.plugins\n    }\n  }\n\n  // generate loader string to be used with extract text plugin\n  function generateLoaders(loader, loaderOptions) {\n    var loaders = [cssLoader, postcssLoader]\n    if (loader) {\n      loaders.push({\n        loader: loader + '-loader',\n        options: Object.assign({}, loaderOptions, {\n          sourceMap: options.sourceMap\n        })\n      })\n    }\n\n    // Extract CSS when that option is specified\n    // (which is the case during production build)\n    if (options.extract) {\n      return ExtractTextPlugin.extract({\n        use: loaders,\n        fallback: 'vue-style-loader',\n        publicPath: options.extract.publicPath\n      })\n    } else {\n      return ['vue-style-loader'].concat(loaders)\n    }\n  }\n\n  var stylusOptions = {\n    'resolve url': true\n  }\n  // https://vue-loader.vuejs.org/en/configurations/extract-css.html\n  return {\n    css: generateLoaders(),\n    postcss: generateLoaders(),\n    less: generateLoaders('less'),\n    sass: generateLoaders('sass', {indentedSyntax: true}),\n    scss: generateLoaders('sass'),\n    stylus: generateLoaders('stylus', stylusOptions),\n    styl: generateLoaders('stylus', stylusOptions)\n  }\n}\n\n// Generate loaders for standalone style files (outside of .vue)\nexports.styleLoaders = function (options) {\n  var output = []\n  var loaders = exports.cssLoaders(options)\n  for (var extension in loaders) {\n    var loader = loaders[extension]\n    output.push({\n      test: new RegExp('\\\\.' + extension + '$'),\n      use: loader\n    })\n  }\n  return output\n}\n"
  },
  {
    "path": "build/vue-loader.conf.js",
    "content": "var utils = require('./utils')\nvar config = require('../config')\nvar isProduction = process.env.NODE_ENV === 'production'\n\nmodule.exports = {\n  loaders: utils.cssLoaders({\n    sourceMap: isProduction\n      ? config.build.productionSourceMap\n      : config.dev.cssSourceMap,\n    extract: isProduction\n  }),\n  transformToRequire: {\n    video: 'src',\n    source: 'src',\n    img: 'src',\n    image: 'xlink:href'\n  }\n}\n"
  },
  {
    "path": "build/webpack.base.conf.js",
    "content": "var path = require('path')\nvar config = require('../config')\nvar vueLoaderConfig = require('./vue-loader.conf')\nvar utils = require('./utils')\nvar webpack = require('webpack')\nvar version = require('../package.json').version\nvar anchor = require('markdown-it-anchor-cube')\n\nfunction resolve (dir) {\n  return path.join(__dirname, '..', dir)\n}\n\nconst allSource = [resolve('src'), resolve('example'), resolve('test'), resolve('document')]\n\nmodule.exports = {\n  output: {\n    path: config.build.assetsRoot,\n    publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,\n    filename: '[name].js',\n    chunkFilename: '[name].js'\n  },\n  resolve: {\n    extensions: ['.js', '.vue', '.json'],\n    alias: {\n      'vue2': 'vue/dist/vue.esm.js',\n      '@': resolve('src'),\n      'example': resolve('example')\n    }\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.(js|vue)$/,\n        loader: 'eslint-loader',\n        enforce: 'pre',\n        include: allSource,\n        options: {\n          formatter: require('eslint-friendly-formatter')\n        }\n      },\n      {\n        test: /\\.vue$/,\n        loader: 'vue-loader',\n        options: vueLoaderConfig\n      },\n      {\n        test: /\\.js$/,\n        loader: 'babel-loader',\n        include: allSource.concat(resolve('node_modules/lodash-es'))\n      },\n      {\n        test: /\\.(png|jpe?g|gif|svg)(\\?.*)?$/,\n        loader: 'url-loader',\n        include: allSource,\n        options: {\n          limit: 10000,\n          name: utils.assetsPath('img/[name].[hash:7].[ext]')\n        }\n      },\n      {\n        test: /\\.(woff2?|eot|ttf|otf)(\\?.*)?$/,\n        loader: 'url-loader',\n        include: allSource,\n        options: {\n          limit: 10000,\n          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')\n        }\n      },\n      {\n        test: /\\.md$/,\n        include: resolve('document'),\n        loader: 'vue-markdown-loader',\n        options: {\n          preventExtract: true,\n          use: [\n            [ anchor, {\n              permalink: true,\n              permalinkSymbol: '<svg aria-hidden=\"true\" class=\"\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg>',\n              permalinkBefore: true,\n              permalinkClass: 'anchor'\n            }]\n          ]\n        }\n      }\n    ]\n  },\n  plugins: [\n    new webpack.DefinePlugin({\n      __VERSION__: JSON.stringify(version)\n    })\n  ]\n}\n"
  },
  {
    "path": "build/webpack.dev.conf.js",
    "content": "var config = require('../config')\nvar webpack = require('webpack')\nvar merge = require('webpack-merge')\nvar utils = require('./utils')\nvar baseWebpackConfig = require('./webpack.base.conf')\nvar HtmlWebpackPlugin = require('html-webpack-plugin')\nvar FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')\n\nvar entry = {\n  app: './example/main.js'\n}\n// add hot-reload related code to entry chunks\nObject.keys(entry).forEach(function (name) {\n  entry[name] = ['./build/dev-client'].concat(entry[name])\n})\n\nmodule.exports = merge(baseWebpackConfig, {\n  entry: entry,\n  module: {\n    rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })\n  },\n  // eval-source-map is faster for development\n  devtool: '#cheap-module-eval-source-map',\n  plugins: [\n    new webpack.DefinePlugin({\n      'process.env': config.dev.env\n    }),\n    // https://github.com/glenjamin/webpack-hot-middleware#installation--usage\n    new webpack.HotModuleReplacementPlugin(),\n    new webpack.NoEmitOnErrorsPlugin(),\n    // https://github.com/ampedandwired/html-webpack-plugin\n    new HtmlWebpackPlugin({\n      filename: 'index.html',\n      template: './example/index.html',\n      inject: true\n    }),\n    new FriendlyErrorsPlugin()\n  ]\n})\n"
  },
  {
    "path": "build/webpack.modules.conf.js",
    "content": "var path = require('path')\nvar fs = require('fs')\nvar config = require('../config')\nvar utils = require('./utils')\nvar webpack = require('webpack')\nvar merge = require('webpack-merge')\nvar baseWebpackConfig = require('./webpack.base.conf')\nvar ExtractTextPlugin = require('extract-text-webpack-plugin')\n\nvar modules = {}\nvar cPath = path.join(__dirname, '../src/modules')\nvar files = fs.readdirSync(cPath)\nif (files) {\n  files.forEach(function (name) {\n    var p = path.join(cPath, name)\n    if (fs.statSync(p).isDirectory()) {\n      modules[name] = p\n    }\n  })\n}\n\nvar webpackConfig = merge(baseWebpackConfig, {\n  entry: modules,\n  module: {\n    rules: utils.styleLoaders({\n      sourceMap: config.build.productionSourceMap,\n      extract: {\n        publicPath: '../'\n      }\n    })\n  },\n  devtool: config.build.productionSourceMap ? '#source-map' : false,\n  output: {\n    path: config.build.assetsRoot,\n    filename: utils.assetsPath('[name]/index.js'),\n    library: ['cube', '[name]'],\n    libraryTarget: 'umd'\n  },\n  plugins: [\n    // extract css into its own file\n    new ExtractTextPlugin(utils.assetsPath('[name]/style.css'))\n  ]\n})\n\nmodule.exports = webpackConfig\n"
  },
  {
    "path": "build/webpack.prod.conf.js",
    "content": "var path = require('path')\nvar config = require('../config')\nvar utils = require('./utils')\nvar webpack = require('webpack')\nvar merge = require('webpack-merge')\nvar baseWebpackConfig = require('./webpack.base.conf')\nvar ExtractTextPlugin = require('extract-text-webpack-plugin')\n\nvar webpackConfig = merge(baseWebpackConfig, {\n  entry: {\n    cube: './src/index.js'\n  },\n  module: {\n    rules: utils.styleLoaders({\n      sourceMap: config.build.productionSourceMap,\n      extract: true\n    })\n  },\n  devtool: config.build.productionSourceMap ? '#source-map' : false,\n  output: {\n    path: config.build.assetsRoot,\n    filename: utils.assetsPath('index.js'),\n    library: 'cube',\n    libraryTarget: 'umd'\n  },\n  plugins: [\n    // extract css into its own file\n    new ExtractTextPlugin(utils.assetsPath('style.css'))\n  ]\n})\n\nif (config.build.bundleAnalyzerReport) {\n  var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin\n  webpackConfig.plugins.push(new BundleAnalyzerPlugin())\n}\n\nmodule.exports = webpackConfig\n"
  },
  {
    "path": "build/webpack.test.conf.js",
    "content": "// This is the webpack config used for unit tests.\n\nvar utils = require('./utils')\nvar webpack = require('webpack')\nvar merge = require('webpack-merge')\nvar baseConfig = require('./webpack.base.conf')\n\nvar webpackConfig = merge(baseConfig, {\n  // use inline sourcemap for karma-sourcemap-loader\n  module: {\n    rules: utils.styleLoaders({\n      sourceMap: true\n    })\n  },\n  devtool: '#inline-source-map',\n  plugins: [\n    new webpack.DefinePlugin({\n      'process.env': require('../config/test.env')\n    })\n  ]\n})\n\nmodule.exports = webpackConfig\n"
  },
  {
    "path": "config/dev.env.js",
    "content": "var merge = require('webpack-merge')\nvar prodEnv = require('./prod.env')\n\nmodule.exports = merge(prodEnv, {\n  NODE_ENV: '\"development\"'\n})\n"
  },
  {
    "path": "config/index.js",
    "content": "// see http://vuejs-templates.github.io/webpack for documentation.\nvar path = require('path')\n\nmodule.exports = {\n  build: {\n    env: require('./prod.env'),\n    assetsRoot: path.resolve(__dirname, '../lib'),\n    assetsSubDirectory: '',\n    assetsPublicPath: './',\n    productionSourceMap: false,\n    // Gzip off by default as many popular static hosts such as\n    // Surge or Netlify already gzip all static assets for you.\n    // Before setting to `true`, make sure to:\n    // npm install --save-dev compression-webpack-plugin\n    productionGzip: false,\n    productionGzipExtensions: ['js', 'css'],\n    // Set to `true` or `false` to always turn it on or off\n    bundleAnalyzerReport: process.env.npm_config_report\n  },\n  dev: {\n    env: require('./dev.env'),\n    port: 8081,\n    autoOpenBrowser: true,\n    assetsSubDirectory: '',\n    assetsPublicPath: '/',\n    proxyTable: {},\n    // CSS Sourcemaps off by default because relative paths are \"buggy\"\n    // with this option, according to the CSS-Loader README\n    // (https://github.com/webpack/css-loader#sourcemaps)\n    // In our experience, they generally work as expected,\n    // just be aware of this issue when enabling this option.\n    cssSourceMap: false\n  },\n  docBuild: {\n    env: require('./prod.env'),\n    index: path.resolve(__dirname, '../docs/index.html'),\n    assetsRoot: path.resolve(__dirname, '../docs'),\n    assetsSubDirectory: '',\n    productionSourceMap: false\n  },\n  docDev: {\n    env: require('./dev.env'),\n    entry: {\n      document: './document/main.js'\n    },\n    template: './document/index.html',\n    port: 8082,\n  },\n  demoBuild: {\n    entry: {\n      app: './example/main.js'\n    },\n    assetsRoot: path.resolve(__dirname, '../docs/example'),\n    assetsSubDirectory: ''\n  }\n}\n"
  },
  {
    "path": "config/prod.env.js",
    "content": "module.exports = {\n  NODE_ENV: '\"production\"'\n}\n"
  },
  {
    "path": "config/test.env.js",
    "content": "var merge = require('webpack-merge')\nvar devEnv = require('./dev.env')\n\nmodule.exports = merge(devEnv, {\n  NODE_ENV: '\"testing\"'\n})\n"
  },
  {
    "path": "docs/css/app.eff0dd361031a52994230f4aae1f87da.css",
    "content": "#app{width:100%;height:100%;background-color:#fff}.ov-hidden{overflow:hidden}.docs-view{display:-webkit-box;display:-webkit-flex;display:flex;width:100%;height:100%;box-sizing:border-box;-webkit-flex-wrap:wrap;flex-wrap:wrap}@media screen and (max-width:960px){.docs-view{position:relative;height:auto}.docs-view:before{position:fixed;top:48px}}.docs-view .menu{display:none}@media screen and (max-width:960px){.docs-view .menu{display:block;z-index:5;position:fixed;right:6px;top:4px;width:20px;height:20px;padding:10px}}.docs-view .menu:active{opacity:.6}.docs-view .nav-list-wrapper{width:279px;height:100%;border-right:1px solid #e3e3e3}@media screen and (max-width:960px){.docs-view .nav-list-wrapper{position:fixed;right:0;top:48px;bottom:0;height:auto;background-color:#fff;z-index:1;overflow:hidden;-webkit-transform:translate(100%);transform:translate(100%);-webkit-transition:all .4s ease;transition:all .4s ease;border-right:none}.docs-view .nav-list-wrapper.active{-webkit-transform:translate(0);transform:translate(0)}}@media screen and (max-width:960px){.docs-view .mask{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;background-color:transparent}.docs-view .mask.active{background-color:rgba(0,0,0,.05);-webkit-transition:all .4s ease;transition:all .4s ease}}.docs-view .page-sidelist{height:100%;padding:50px 0;margin-right:-1px;box-sizing:border-box;overflow-y:auto}@media screen and (max-width:960px){.docs-view .page-sidelist{height:100%;padding:30px 0;font-size:12px}.docs-view .page-sidelist .nav-li .nav-name{font-size:15px}.docs-view .page-sidelist .nav-li .angle{font-size:12px}.docs-view .page-sidelist .nav-li .arrow{top:27px}}.docs-view .page-doc{position:relative;-webkit-box-flex:1;-webkit-flex:1;flex:1;height:100%;padding:54px 30px 30px;box-sizing:border-box;overflow-y:auto}@media screen and (max-width:960px){.docs-view .page-doc{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;height:auto;padding:20px;font-size:13px}}.docs-view .page-doc h2:first-child{margin-top:0}.docs-view .page-display{-webkit-box-flex:0;-webkit-flex:none;flex:none;height:100%;overflow-y:auto}@media screen and (max-width:960px){.docs-view .page-display{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;height:680px}}.page-sidelist{font-size:16px}.nav-ul{font-size:100%}.nav-li{position:relative;max-height:75px;overflow:hidden}.nav-li>.nav-ul{visibility:hidden}.nav-li .angle{position:absolute;left:30px;top:12px;font-size:22px;color:#cdcdcd}.nav-li .arrow{width:10px;height:10px;position:absolute;right:48px;top:32px;-webkit-transition:all .3s;transition:all .3s}.nav-li .arrow:after,.nav-li .arrow:before{width:0;height:0;content:\"\";border:5px solid transparent;border-top:5px solid #fff;position:absolute;top:0;right:0}.nav-li .arrow:before{border-top-color:#333;top:2px}.nav-li .rotate{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.nav-li .nav-name{font-size:1.5em;border-bottom:1px solid #e3e3e3;padding:15px 0 15px 30px;margin-left:30px;margin-right:30px;cursor:pointer}.nav-li .nav-li{text-indent:60px;line-height:30px;max-height:none}.nav-li .nav-li a{padding:5px 0}.nav-li .nav-li .nav-name{font-size:1.125em;border:none;padding:0;margin:0;line-height:50px;color:#969799}.nav-li .nav-li .nav-li{text-indent:80px}.nav-li a{display:block;padding:0 10px;box-sizing:border-box;color:#666}.nav-li a.nav-active,.nav-li a:hover{color:#fc9153}.nav-li a:hover{border-right:1px solid #e3e3e3;background-color:#fbfbfb}.nav-li a.nav-active{background-color:rgba(252,145,83,.2)}.nav-li a.nav-active:after{content:\"\";width:3px;height:100%;background-color:#fc9153;position:absolute;z-index:1;right:0;top:0}.nav-li_open{max-height:2000px}.nav-li_open .nav-ul{visibility:visible}.nav-li_active .arrow:before{border-top-color:#fc9153}.nav-li_active>.nav-name{color:#fc9153}.nav-name{margin:10px 0;font-size:20px}.page-display{position:relative}.page-display .display-wrapper{position:relative;width:330px;height:645px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0 56px 0 26px;background:url(/cube-ui/img/iphoneX.38c8778.png) no-repeat center 0;background-size:100%}.page-display .display-wrapper .mofang-demo{position:absolute;top:64px;left:21px;right:23px;bottom:22px;overflow:hidden;border-radius:0 0 35px 35px;border:1px solid #edf0f4;border-top:none;background-color:#edf0f4}.page-display .display-wrapper .mofang-demo iframe{width:0;max-width:100%;min-width:100%}.to-home{display:none}@media screen and (max-width:960px){.to-home{display:block;z-index:5;position:fixed;right:auto;top:4px;left:3px;width:20px;height:20px;padding:10px}}.home-view{height:100%;box-sizing:border-box;padding-top:70px;-webkit-transition:all .25s ease;transition:all .25s ease}@media screen and (max-width:960px){.home-view{padding-top:48px}.home-view.home-view-demo,.home-view.home-view-docs{overflow:hidden;height:auto}.home-view.home-view-demo .toggle-nav,.home-view.home-view-docs .toggle-nav{display:none!important}}.home-view .router-view{height:100%}.home-view-demo .navigator,.home-view-docs .navigator,.opacity1 .navigator{box-shadow:0 1px 2px rgba(0,0,0,.15)}.navigator{z-index:5;position:fixed;top:0;left:0;right:0;height:70px;line-height:70px;padding:0 100px;margin-top:0;background-color:#fff}@media screen and (max-width:960px){.navigator{padding:0;height:48px;line-height:48px}.navigator.active .tabs{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;-webkit-transform:scale(1);transform:scale(1)}}.navigator .toggle-nav{display:none;font-size:0}.navigator .toggle-nav:after,.navigator .toggle-nav:before,.navigator .toggle-nav i{display:inline-block;width:5px;height:5px;border-radius:50%;background-color:#646464}.navigator .toggle-nav i{margin:0 2px}.navigator .toggle-nav:after,.navigator .toggle-nav:before{content:\"\";width:3px;height:3px}@media screen and (max-width:960px){.navigator .toggle-nav{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;right:0;top:0;padding:0 16px;height:100%;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}}.navigator .toggle-nav:active{opacity:.6}.navigator .logo{float:left;padding:0 16px;height:100%}.navigator .logo a{display:block;height:100%;margin:0 80px}.navigator .logo img{height:100%;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 center;transform-origin:0 center}@media screen and (max-width:960px){.navigator .logo{float:none}.navigator .logo a{float:none;text-align:center}.navigator .logo a img{-webkit-transform-origin:center center;transform-origin:center center}}.navigator .tabs{float:right;padding:0 30px;box-shadow:none}@media screen and (max-width:960px){.navigator .tabs{position:fixed;z-index:10;right:10px;padding:0 0 0 2px;margin-top:-12px;font-size:12px;background-color:#fff;border:1px solid #e5e5e5;border-radius:3px;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:84% 0;transform-origin:84% 0}.navigator .tabs i{position:absolute;top:-5px;right:7px;width:10px;height:5px;background-color:#fff}.navigator .tabs i:after,.navigator .tabs i:before{content:\"\";position:absolute;bottom:0;right:3px;width:8px;border-top:1px solid #e5e5e5;-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:left bottom;transform-origin:left bottom}.navigator .tabs i:after{right:0;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:right bottom;transform-origin:right bottom}}.navigator .tabs .tab{display:inline-block;margin:0 18px;color:#4b4b4c;-webkit-transition:color .2s;transition:color .2s}@media screen and (max-width:960px){.navigator .tabs .tab{display:block;line-height:45px;color:#000}}.navigator .tabs .router-link-active,.navigator .tabs .tab:hover{color:#fc9153}.langs{display:inline-block;margin:0 20px}@media screen and (max-width:960px){.langs{display:block;line-height:45px;margin:0 20px}}.langs a{color:#4b4b4c}@media screen and (max-width:960px){.langs a{color:#000}}.langs a:active,.langs a:hover{color:#fc9153}.nav-loading{z-index:10;position:fixed;top:70px;width:100%;height:2px;background:#3ca0e6;-webkit-transform:translateX(-100%);transform:translateX(-100%)}@media screen and (max-width:960px){.nav-loading{top:48px}}.nav-loading-ani{-webkit-animation:navloading 2s linear forwards;animation:navloading 2s linear forwards}.nav-loading-ani-end{-webkit-animation:navloadingend .1s linear;animation:navloadingend .1s linear}@-webkit-keyframes navloading{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}20%{opacity:.5;-webkit-transform:translateX(-60%);transform:translateX(-60%)}50%{opacity:.8;-webkit-transform:translateX(-40%);transform:translateX(-40%)}80%{opacity:.8;-webkit-transform:translateX(-20%);transform:translateX(-20%)}to{opacity:.8;-webkit-transform:translateX(-10%);transform:translateX(-10%)}}@keyframes navloading{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}20%{opacity:.5;-webkit-transform:translateX(-60%);transform:translateX(-60%)}50%{opacity:.8;-webkit-transform:translateX(-40%);transform:translateX(-40%)}80%{opacity:.8;-webkit-transform:translateX(-20%);transform:translateX(-20%)}to{opacity:.8;-webkit-transform:translateX(-10%);transform:translateX(-10%)}}@-webkit-keyframes navloadingend{0%{opacity:.8;-webkit-transform:translateX(-10%);transform:translateX(-10%)}to{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes navloadingend{0%{opacity:.8;-webkit-transform:translateX(-10%);transform:translateX(-10%)}to{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}}.home-index{min-height:100%;box-sizing:border-box;text-align:center;background-size:cover}.home-index>.banner{padding:190px 140px 70px;margin-top:-70px;text-align:left;color:#4b4b4c;background:url(/cube-ui/img/cube.6d0b901.png) no-repeat 520px -10px;background-size:1250px}@media screen and (max-width:960px){.home-index>.banner{padding:254px 32px 20px;margin-top:-48px;text-align:left;background-position:6% 0;background-size:186%}.home-index>.banner .btn-link{width:140px;margin-right:15px;font-size:14px;border-width:1px}}.home-index>.banner h2{font-size:60px;color:#333}@media screen and (max-width:960px){.home-index>.banner h2{font-size:30px}}.home-index>.banner>p{margin:23px 0 6px;font-size:18px;line-height:32px}@media screen and (max-width:960px){.home-index>.banner>p{font-size:12px;line-height:18px}}.ghbtns{font-size:0;margin-left:-5px;margin-right:-5px}.rec-btns{margin-top:36px}@media screen and (max-width:960px){.rec-btns{margin-top:26px}}.btn-link{display:inline-block;box-sizing:border-box;width:164px;height:42px;text-align:center;line-height:38px;font-size:18px;color:#fff;background-color:#89c6ff;border-radius:3px;margin-bottom:10px;margin-right:18px;border:2px solid #89c6ff}.btn-link:hover{color:#fff;background-color:#80c1ff;border-color:#80c1ff}.btn-link:last-child{margin-right:0!important}.btn-active{color:#89c6ff;background-color:#fff}.btn-active:hover{color:#137dc6;background-color:#fff}.features{margin:0 90px;box-shadow:0 4px 30px 0 rgba(66,81,148,.1)}@media screen and (max-width:960px){.features{margin:10px auto 0;box-shadow:none}}.features>ul{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-around;justify-content:space-around;padding:0 80px;text-align:left;color:#666}@media screen and (max-width:960px){.features>ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding:0}}.features>ul li{-webkit-box-flex:1;-webkit-flex:1;flex:1;max-width:220px;padding:60px 16px 10px;margin:0 10px;font-size:13px;line-height:1.4;text-align:center}@media screen and (max-width:960px){.features>ul li{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;max-width:none;padding-top:20px;padding-bottom:20px;text-align:left}.features>ul li .text{-webkit-box-flex:1;-webkit-flex:1;flex:1;margin-top:-7px}.features>ul li:first-child img{-webkit-transform:translate(-6px);transform:translate(-6px)}.features>ul li:nth-child(2) img{-webkit-transform:scale(.9) translateY(8px);transform:scale(.9) translateY(8px);-webkit-transform-origin:top center;transform-origin:top center}}.features>ul li img{width:130px;margin-bottom:13px;-webkit-transform-origin:center 0;transform-origin:center 0;-webkit-transition:all .5s;transition:all .5s}@media screen and (max-width:960px){.features>ul li img{width:90px;height:90px;margin-right:16px;margin-bottom:0}}.features>ul li .text{-webkit-transition:all .5s;transition:all .5s}.features>ul li .text .h1{padding:7px 0 0;font-size:22px;font-weight:500;color:#333}.features>ul li .text .h2{font-size:18px;-webkit-transition:all .5s;transition:all .5s}.features>ul li .text p{margin-top:-18px;font-size:14px;opacity:0;-webkit-transition:all .5s;transition:all .5s}@media screen and (max-width:960px){.features>ul li .text .h1{font-size:15px}.features>ul li .text .h2{display:none}.features>ul li .text p{margin-top:0;opacity:1;font-size:12px}}@media screen and (min-width:961px){.features>ul li:hover p{opacity:1}.features>ul li:hover img{-webkit-transform:scale(.5);transform:scale(.5)}.features>ul li:hover .h2{opacity:0}.features>ul li:hover .text{-webkit-transform:translateY(-75px);transform:translateY(-75px)}}.badge{display:inline-block;text-align:center;border:1px solid #4aa8ff;border-radius:3px;margin:5px;overflow:hidden}.badge,.badge:hover{color:#545454}.badge span{display:inline-block;font-size:12px}.badge .badge-left{padding:4px 10px;color:#fff;background-color:#89c6ff}.badge .badge-right{padding:4px 10px;border-left:1px solid #4aa8ff;background-color:#fff}.s-footer{width:100%;padding-top:60px;padding-bottom:20px;text-align:center;font-size:14px}.s-footer a{color:#4b4b4c}.home-example{position:relative;text-align:center}.home-example .example-main{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:50px 0}@media screen and (max-width:960px){.home-example .example-main{width:330px;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:auto}.home-example .example-main .example-desc{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1;width:280px;margin:0 auto 30px}}.home-example .example-desc{margin-left:100px}.home-example .example-desc img{width:280px;height:280px}.home-example .example-desc .online-link,.home-example .example-desc img{display:block;margin-bottom:20px}.home-example .page-display .display-wrapper{margin:auto;-webkit-transform:none;transform:none;top:auto}@font-face{font-family:cube-icon;src:url(data:application/font-woff;base64,d09GRgABAAAAAB1cAAsAAAAAMLAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kuCY21hcAAAAYAAAAJIAAAFznTNepdnbHlmAAADyAAAFXoAACJ8UpoVEGhlYWQAABlEAAAALwAAADYRXoyBaGhlYQAAGXQAAAAcAAAAJAfeA8RobXR4AAAZkAAAABMAAAEMC+kAAGxvY2EAABmkAAAAiAAAAIgZwyI0bWF4cAAAGiwAAAAfAAAAIAFYAGVuYW1lAAAaTAAAAU4AAAJ5Hs+NonBvc3QAABucAAABvwAAAoA5w1OyeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKl5OYG7438AQw9zA0AAUZgTJAQDeJQwIeJzF1MlOFGEUhuG36RZkckQQxBkUZ0FkEBkVY0wQUVmwwgULTJSQgNrBgYXGDSy4BFde2pdwFfgdTm3cEhPrz9Ppru6/69QZCjgElO2mVaDmNyW/o/TLZ0v758s07J+vlNb9eYgL/t1pqqqoXo1qVos61Klu9alfwxrRtGY1rwUtaklvtaJVVbWp79re3dnb8z9UVVZdsbPVO7vU650D3jmqGc0VO5f13jvXtOGdW8XOgxwlRzzEA8aK9cTrKc+8Xni9YYl3xVph1WuDH14/93fWUsdh6p2jBhppopkjHOUYxzlBjfNykhZO0Uqb89FOB2fo5CznOO8cXeQSl+mimytcpYdrXOeGs3mL29zhLr30cY9+7jPAoCMcdowjPHRuRx3lOBNMMuUgag943//gKP2/S/99NMVLuaf45KxQLThElZOrhSrJdUMFVxAVXEtUiM5XY4oOV3MizrWkuLJaE/F9W3IfoNPJHYHak3sDdSR3CepM7hfUldw5qDvF5Kk3uZtQXyKu35/cYWggEbEMJiKWoUTEMpyIWEYSEctocneisUTENZ7csWgiuXfRZHIXo6nkfkaPkjsbPU7ucTSd3O1oJhH3+jwR9zqbPAtoLnkq0Mvk+UCvkicFvU6eGTSfPD1oIcXTSovJE4WWkmcLLSdPGXqbPG/ofSLyvZKIfK8mTyNaS0Tu15MnFH1IRB0+JqIOnxJRh2oi6rCRPNPocyJq8iV5ztHXFE9dfUtErTYTUavviajVViJqtZ38jGB3JzH1B0Vj++Z4nIVZC5QbV3me/17NQ6/Rc2ZW0mq1klYjr7W7tjV67CNee9d24pfwxjhZ2wFiJ7bkHJvQEAMB6tOFPEgIiYmBgkVyckzThAAhFIcESnqahj6A7BZoad2mKT0JsE4K9MAhhwPH0bj/vSNpH4RWZ3Tnzp07c//7P7//H0EUhMsv02dpjxAR1ggbhK3CjCCAVICMSpKQzpdGSAG0tKgZUZXms/m0nM2M0I1gZKSoXqyUTEOSpQCo0AdWuljJj5A8lEuTZAKKehIgloi/NZzrDdOPg6cn33envZN8DrRUtjcwOWzvGNoULfZHlPf5wuFYOPwxRRJFhRBXQIV3GrpbdHsk+xExENeeTQ2SFPhi+fjuA/7+RPjw3aWbkznDDTA3B5FEv/rYplA8hMcfx/VIOCYH/UpP3J8diML7fuLtifiS5o8F/LlYQz9I5gVJ0ISsUMWdGuURyEdlQ+sDQ68aUhYvK/kUbkjGkWLVqIKInagkG5NQxZsZ3oPfnYDx4bMlbDxqKTu46zCBL+9Rh6bDI/N37Nl563DrLIzgoKQczV8RWffCHblt6d3BDFw6Lg+PgytR7sETuEoaObxr8MczamZ/6eRpSLx7mDTuxaFg2n80s3fde+4nqne3IjGyOe2nyGcERYgK/Ui5Co4AKBKFpCGRKlCHbE4pXB4eH79ubGxk52FCDu/cxdpdd7wwMvLCHXeyFi7B+MFxPOyfw+Fduw6D036F3H/y5P2Et7gkQf14kT5KTSGAPBMgjSuEcIk0rhHCRfLIIYNe0bp7+AqAK4bJbfxs3/Ctne9v7aImDi2/1Xr33+L4zq4s7idXCkEhJGRQGkJOyuTBLFU3VIoG6FF5DFCpZMDRDTgKODoGxFJ0xf6yoiiaAm9V8C+DYj+BV4qM15r779tnWeaj8L6V8wVg65KvwouCB3djVqrpPgiAlIc9qHtQU0TxMbcbvi7HCInJp/EB/DnPPAP/xZ+ppECX5PQIVOG3bvdj+Jh9Hh+DC4py2nlM6MqrCRcFL8orIwiRPihWqus3jEBGElm/ZLY77UF5fR3GZ1ErWGPB2P4xPKC4NAZzQ2NjQ+3//qXuUJvGy4vkNRrH1ZDGYopx0I1NANpsJZ9WosoA8uU5mFaUASWi2B9VFBpm/ahiP20/ze4jS+fwzN/3OnmZ+lA67H1cIvgqfJEb3wZWwAzAdYGA/ecBsy8Ao/a3A6SlquwSx9S+XBBGYTSY6/KPDpEvIS+EiBvQcJG0vBs1UAQxb/8WlLx9yb6UR1H+lnxp5XWezeH8vLxIm7g/L2pijOt/V9VlmqUR3KZZqhT1KBGeeFUUX32Ct3cEKv5acE0wkBxK0nhnFNsn7YsQszf7fMHhZHJ4xfujwujK96OJ8TdLEXR2sgpJyJZLlWplE1TKJTNrypKWZdeGrkWlFcv/pZZMFpLJY761hiLJZVlUy0Z03Zpij1F5y44p01RX0NQ6Dmx2IQkJXz4a9IAvEAhK3tSIYaRM1JFE8cprAXKZjdoaoW2bHZrDqyiW0TDBWEHLvw48OPBekAdWLvkjk40qA6veZ/ze+/CN3NjlFS91D8ydGjjlHCtf/D+dYTyEVfwdXiU/xltUrUoky9oJKLfPRd0IWezmSqYGdb1f12fqPlX1xWKstXx+YJ2VImaz+nW7pBrqIv5V72UBT//XPiNpJmrmFFatKdlNtg7UVy9iXw3+Hj+wZrVM8qvendVUyJj5cpavYZUn2f406/fXOstfeZYtuNRdteqqu06Xr8/8Drko9Anj6FNxfdxSPoQUWGw1vM52/He5mpelfMbcyKhk16UKzkkRvYp6jO+YnbKFqVkCSX3Rx3boOw9rMzCfWQsN7dui6Al85II08cNrVK/ko0f3U0LPT80CzE7BRS0JjkzsBs7Gp45ff8s3KKje2cSH5M88lrrGE5DFt1/tAlHxCYLSpnlB8CEKiQlJpH0tYpG2FeY5n+QREJFGhBt45CsYdCwqZ1kILJfQNFTYBDjJzFfZvw+IcP3nt8xc+/1Xv3/tzJbP2+8pHB317Bg7HQ7sGR7bGKvH4hY6BH8sHvPPecaG9yjKP86M7fCMHiU1uKJSn965c/pIeeKzmRHfnFZ4v+KrZyOnoWafb6A9a2qPqvYcuitoNhTx4pHhyJxnPYtny/Q7ifS/uYanu6qOUrG4+7dUWCH+iOMz7Fd0fn5y98n4mH7NiWv0sfjJFUrwCm6he9gN2Ld1XbW6buu+NtZZRk+/MLiSHmA8ZYQADz0Oi6sZx4Gu1Eb7ro5TGtdGp0e1geSufbuSikPcSqX8mc6JsV/VYjGc19+fvOAQt6SXzwkixxEsKKVBL1ZRaqGOkpKwOqDaj5LX7cPBoRB8QISuDn7a64VB+1G/HyZ9XruGQ3gLvs73+Wvcpx95PiZMC7sYRinzTWkdrGJVWTy02oglq7F9b4SOq2FbTgL3MkaHAV1O0Lr9FLcx+ymchEsOnOnf23/G5GZh9zHPgmru91nYKXlV9VXHNV3rnMh93EXVIanZFj7ywVTqg4zsBS1pX1zxnJe/yUjpesqoOW5LQE517MKLPNMRRYzg7uQliYmOZZgZ2VhuCV2DwXm0ObPtsb9qm0Lr45Nnv3B2cubIL4+81NX/j5qHTxw29xijk6MG2XyksnFj5Qjq/w+KlUrxSK12savxX0lls6lGVIuG23jjJ/Qw6hfDorqEa+YREmF4lHQDO5UwQ6R9UMXxPqCD1f/UXLQ86nb19AxPF5QzN504eK9r3XavJ6VpQErrYd8/PE7E26qV28R0/6Y/ei8U7DtvBp9v8uTVN46Jytvl0qG2b23gmpJQQPYwC1IhpzFBZdNMZMynliv5KnNmjnftgxTTeiIUxmEexiHDmN2qs7YnATQVPDTL1Btm3xFOUVdfnDBI9c8KixaGqvgKCVn57qG7IyJqti5G7j703UCisGRfJaTFjbJJC2VENl1cDI6GMRXCvGmpD22Fq6Lhc5XDDGuBOcwSOk57zll0wTnZtaR+HnXHp57Xk60mqXEN4tpjc/IvrmwgpifjjpuOJ3VrKd9pktdRf3rRI125CoWu38CvRqGNP3Nch9ZvYMhUWx9hIYO2TZNajudABCAhT+ucZ6wh890u2E3H2hcD+/p3Wp6ZzXZz84zH2tm/L2DcKHk2bvRIN5L7GCf13l69c7Z4B//2omv/gD3XjiFzA/tdnrs8CE9D4Lmr6z9+jngU0UPEylV0LRSV8jmWsaGwxSoCc/bXA5jJIepdBzL+zU2QNx88CINaojdqXzio9wL0kv6w2713r9uNb9+7V1E6V7K8dy/CmxfD/sHWJwf94RfRcJtaMuHckFdMa18tYf3PkNcwehnMHnJVx60CZxbXiRIwjNrBkfQ0tc9JcTMu2Q8TBRIaWUDC7DOBUmDQ8aE3ieSakKaFWo+KPq8eRwZrbvgPjlkt7o+HE+11H+I84RGHc4W50y5XcjpLXdE4y2Y+wk4lHh01qXkABqOMF8iUAyxTT5KZAuiRQiAM2aeHYvHeWCGVdjFmBPLLmRGcvDp/ZdKITaSmK/bTxuChYuWGgrHhnVec5Pb5M+6L3UiPAKFsG3lAWtMZbs6b6yCE2MqIqADxOb6sTr5nL4Ac9RaDWnEMHpq6lmhkiPpt5jWhhEjCFpq9xZ5QKFM5fQ44Kvl2X6jN97YNBoQe1HCenWpdKyyZ0PXn6VCaCraAK7atLWn/t8PoZ3AhDJNISKvpGBipo8G1Y955WHRsfZ4+RUuI6CyhJEzhSpy/TphhkIol4wazEY2bVJnZziSUWHjtJuf5bB8pOkUEzNSbJd8z9/DQ8pFv+JwQsGrAvu7EA5Q+cMJpm7Bmx8yONSwGIfnNP/RQd8C+2H30xAOttVeuxYPvr5OPzVHK8qhIbhLtBQOFLFWlzAiUaQ7bUlWqNsnXIOb3SGRRdIESDWAsfATcQQXcJPwayF7VgNZ2jxuUoBvgbXUaiCrgWsLAH0K59Ag1XA51DvcsuVADNGQTi8iTLDCITDQF6KDildA/b06CjlEb5xksRbfak+lcNLjvwoZp+w09GKV9V7807Cn+++5+12WBxdM650Wdd3k7WpakaFTaZmyToh636Bod5ffIzcGkZO5xKUfdSm9447mZLzwue778uZlzL6DrrTE+1lhkxv8BT8QjeW691SO6pKhygI129vgUPYd7jDDNw5w4z7B2RCubOubKmBmauS6IeJv9Wty0P4XaFwRPDxjHGr+ygq1nHQgF34N4whVGBbQf9/lgstdePHbsNxsOXN+BTm09b3B+DgoVztEClLkeyVoWnXVH53NtXo44sEaTIlq6bJllRwVpHQODoxWWYwlNFnccgONVcTE4Zs9TylWMANpnw1GgRlK/LDjG4fBvVIoFmMvug9Faze93XHZb7keQzhyncgSybPWqs7ouW8tIlpdIdgIkkswjtkSPcLhEKJBrOR2um8gD72Q0axyBwVkctM+jIHwqDzuc0i4Vfn/8/yO6LT9k7L0UePwWkLxoAPLVii4bIMlZxsRSlbx2JhCovDQaGvzTl2zLpTyn+EAhv/p4MB8sXaiocNMFe5sLPMo3ZZ7CiCvyygT3FuiT2XZZxQAVXsuWuejQU6BPTBtRfQI07kqsNPcjZatY2QjN8w2v2oAk1Ruqt4Hx/40FWnpjHndUY8i3QRZwU7WajvC7PcFqP2E/U19AsfHbbCY+IbCqS5suiigyjpFiRChidrVV2ClcLexnflNLQ1lDOrJMPG0D1fJITm7VIBtDSWSrVsgKpcVlREM5rWU14BNDMm6qWrZIE4TL6G9oQp93vP18NEkb9TpmK8nuEJ5waKHRaC7U7QXCXPwcitRugrWAijA71WxY/VEEHefrcLY0Eol3noJ4ZKRRt5Zegyerflmo16FhW1bT4UDzsrBYnwOBXUJpgQ5Ty7FfJ2/IclTtCIYJKt3tLVdTzBwobpbBzHw5TetzqtfyqZcFTHO96pyTGxAnW96B+a5dwryX1MmjNZYA1JwWLTzexnCLuL1aLV0opJ9aWTPoXV0zcOL4HygUnPc5lYc3KxAgEFxky87zwoCj7w10JX7UTIzNnZyLxat2yQOTduY9aB3NyK6jOe362vzXWn+CIRoj4rZnfvjMNnjZ/kZ7B1eNb94MpsZ4rp3b+pa3bHVygp/Sh2iS1zvNyiYoViOVohHRLe7CJTmiM0iGPRNv5E9ILvfvZHpKDIqnqHzJ45K+6YKNRFUuKeIlxY9dGf5ODtKCAkRRbFsp0IDyRVGxf+Zxu26n9HbqUcBwd2POZeQhFXZzjTbzLOhUKyzymDLfFzvJEvohBkU0FosM3WDhCAeZ0laqnM8681eVvFll1+VJYorLC+ynwT2eUj0SyP171ipyT3W82iMra/f0y+BNpsZdkiR6l08RZfr7c1wSiPbx6naA7VXewgVFjJZio0lZSQ6pFN22FnGBOpRU5ImKpYEkRYa0ocLySeCK6HpEpP7hpEtpT9KGBoee77wT23ae9mv6Ya7njtQd32Yyq2YCLzCIEjIr1RxKSsRUbQ6li6ETVG/Tq6IS1ZnAgzmoeHrcMJaOwHP2Ag6pvvPtopBPZfpgRfsTv1GU38Qyndo3uch9a2p5ZkS7hb2oBJPskxEqdrreMZ5mk4XeJnrr1kEGDZlNvzFP4vbZdlbQsOtOekR42lBv58hPY46T4lWOtcznAgNbEmqyzLUAPZSZR1DGiluQZt8Ust0CfNb5iJKR6Fxo4tBL10+ENpBEzAhqwVIPQE8jqru3kc19YVfr+c0wUMnlKgPE3DxQHcADNm8fAxjbjglFJBzxK0CV3oSbhJQS5PytFxNs8kDCOS3hopNo5wn0v07+OgmMGZpj7+2SJya1TG3Rr5Y6oTsqo89ldaLT80kCETWtRhKfOHzDJxK8CyT+3dMz7/JSjN0nZ2dPEux43xWnX7yLsfPgLYTccpD17vriX8DR2qKkSrO3UnrrrN+/WDvawRcP0V7E0QlhCCmTMmimpU2d7wjU7JeloKH3VytBzAiZTypNEot/F6M3K1HltPMR4QFFefm4/Yvj9fpxiByvP5HZbzXuIeaW2WLjHmpisnXG+QTBTuQRnMXn3gSa/Z20Se5pWPu35Og9jeLskn/WEF8hBhLTIbTHCrdWLY1nJEPs1DVD5DW7PlbUQhu8URnAooOiQWZb7+a5nj7nh+a505VMKNRT7G1CMG5/i7vpdnJR78gljnJR2FoMx/GQXObhOr/M/NFxkDqMF1gxYb4wVNgA9OHbbnuYwvrBkaHa0BghY0OxWixGdhfzxybxBt6ePJYv7l5mEwGO4jDmrowuSzXwNPOcjPO8bIUWWW+VVgSY7zjA8QZbAOL+lDvgvnWz4hFPuAlZxBAjOKZCMNmZc5IYuxE1vH/m831gp9s9J4e4vH+JvA12a0odWixUREurdktlTqGaxZ2qU19JO0WxDkEW8fpf/ienGHbHAlOxBbTdv3EKFMCMmQaQpAbOeFRUxK9z+Iahb65bMz/rmHM7dnyWJlglJSfJEuc7P9ANW6wwjbLP67y+xCtLTnHJMNmlFkXJ0Ov15OTtm7bcVym/3dBcUaPo8gUjun/iSohNbaEub2TU6JnqjQzI6wfz7ndcpwao2wh4fRExYrytVP3Ytk23T04P0oA6ez01166XcuHe6R59LOwTXVu2JMRtG/16JOgL9XB9uUhrqC/BTryOomfRi5ug87moqzHQuu9ZWhq+gM7z30aKID17f/UqQq5yXDSNu57/5PZTIy95PD9ad2r7A8/b1eXe28nTPkv+mn2lyK2PlhlXNPYtr60dCFplYsmGFbEvTE1t++pVvb3YTE2ZAHJYNCiktj25dXq6t3d6euuT27o6+Dpq4ADmsQyh57PoIjFtNlgOuwTKl++ApV1OCYu7KtpEz3y6Iun2JSMII2eWqaZdd8ABb8Gn+vi3GWzIQTS1A26XGIEaQ/e7HR2NO8ks8LanPVf1LfnKOZ7bp5j9OziIwRT2EQNY7Yq5TFbKYul0rVVvpwfzXB1bP3A8IW9Zdt+uKyFUI/X2OPOBq7/ZGI5ffrMP6iug1xOPv+JyvfI4b5fjLjrQGcW2k2eQSfItbvcCprGVcqTCo68W4Us4AQh+kZY9fZhLvIOfjMRArpzLYUSR4WHZA+CR7cOywkMQRp5ODn8VOcq/9+bNjMwaRFbRFK+qV0p0c58UluzPP4JtnyT9QA5JcKeEsUyS7M89Jst9OPAvsgz3yqE2D35Kz9LYMn6H2vxG1ACssIK5e9tZ5emG1kNDEwATQ+TGoXFCxlu39A0O9pEb+9YArOmLw0SBHBliH66HWg8WJmgIB1sPOjfJETzjkv8L0s1XoQAAeJxjYGRgYADi3k8rFeL5bb4ycLMwgMB1+SV+CPr/FhYGZhMgl4OBCSQKACWiCcEAeJxjYGRgYG7438AQw8IAAkCSkQEVOAMAR0kCrHicY2FgYGB+ycDAwjCKAX3SAfUAAAAAAAB2ANQBEAE8AXgBkgGsAeQCDAIyAlQChALeAwYDNAN6A6gD6ARCBKQE7AU0BWAFzgYcBlYGnAbuB1QHogfeCCYIXgiSCPoJKgmcCdIKJgp8CqYK8gt8C8IL9AwmDGQM8A0qDWANtg4CDkwOgg60DvoPRA+aD84P9hBMEIIQsBDcEQQRPnicY2BkYGBwZohk4GYAASYg5gJCBob/YD4DABkJAb4AeJxtkbtOAkEUhv/lZliiBUZLnUYLDculMaGUBAo7C3pYZhfI3jI7S8Ij+Dw+g09gb+cz2PqzHCmQnczJ9//nsicZAG18wcH+u+Lds4Mm1Z4rOMONcJX+nXCN7AnX0cKTcIP+s7CLR7wIt3CJDSc4tSbVA96EHe7wLlzBBT6Eq/Q/hWvkb+E6rvEj3EDbORd2MXVuhVu4dwp3ZPTM6oWab9XKT5MgTazrF3Pd2alXHRbRzBz0Aaba5Ks0UX2vd/AmOtHmb1a+CQfWBiowaazGHKqjKFWZSdfat97S2mzY7Qbie34ac7URDDRmsIwLKMyxZVzBR4oEQRkt63wUzGl0DrlXqpBuxG5zIv/fmVIZ5NQ7pdDnM/VO1E2okrL2eK+cDxViQNdyN8Vr2BGTxrKp5j4RWSErc2s6Pn0Py7IrwxBdnuCo3iv/Hf8CUuVv1gAAeJxtUcd2GzEM1Hi5K1mW03vvfdN7T5wfgUh4xSeSkEmuFP99KNnH4MLBA2YwAAdbg6MYD/4fe9hCBYUaDYYYYRtj7GCCXZzASZzCaZzBWZzDeVzARVzCZVzBVVzDddzATdzCbdzBXdzDfTzAQzzCYzzBUzxDi+d4gZd4hdd4g7d4h/f4gI/4hM/4gq/4hu/4gZ/4hd/Yw58B/u7yIbc2LG2yU8c76+wYT9JBT5HbaLtZbhI71nm06J0zsgrNGvQL5SWympKe1xSjrGrtJLFaUQyjg55TthLqjUC9ihI6ZcO+NJG9LLkiY+o0KyOGQdqV3bd18tZxlcjU7Mk61ZEvYqVSzSRPguQCNa1FG1P8ZK6WtnjoMzeGQsexWYrrPVdTMhMv06LWLmYSyizrx4GWttuwR4n2S4UOq0ydcqLnTR/Wj2Jjs0qawvAgtloMjzQ5DoaiytbzOLIpPD3n0pUpDhPnbMteM/G8o+Oa3mqKRnlybuytjrIxUO5HUc9UJ2LqohjzcGF17svynlOijutN36i42FhUzs650eUAkZoFxyRhEqUPpp1KNBy3rV9IzBTylsx3j7/qqDQY/AOKiLF+AA==) format(\"woff\"),url(/cube-ui/fonts/cubeic.dcc2b6f.ttf) format(\"truetype\")}[class*=\" cubeic-\"],[class^=cubeic-]{font-family:cube-icon!important;font-size:100%;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cubeic-eye-invisible:before{content:\"\\E624\"}.cubeic-eye-visible:before{content:\"\\E625\"}.cubeic-square-right:before{content:\"\\E67D\"}.cubeic-select:before{content:\"\\E609\"}.cubeic-pulldown:before{content:\"\\E603\"}.cubeic-pullup:before{content:\"\\E604\"}.cubeic-more:before{content:\"\\E607\"}.cubeic-back:before{content:\"\\E608\"}.cubeic-arrow:before{content:\"\\E60B\"}.cubeic-close:before{content:\"\\E60D\"}.cubeic-warn:before{content:\"\\E614\"}.cubeic-question:before{content:\"\\E616\"}.cubeic-right:before{content:\"\\E617\"}.cubeic-wrong:before{content:\"\\E618\"}.cubeic-info:before{content:\"\\E619\"}.cubeic-remove:before{content:\"\\E61A\"}.cubeic-add:before{content:\"\\E61C\"}.cubeic-share:before{content:\"\\E631\"}.cubeic-no-wifi:before{content:\"\\E632\"}.cubeic-smile:before{content:\"\\E634\"}.cubeic-sad:before{content:\"\\E636\"}.cubeic-email:before{content:\"\\E637\"}.cubeic-game:before{content:\"\\E638\"}.cubeic-wifi:before{content:\"\\E639\"}.cubeic-hot:before{content:\"\\E63B\"}.cubeic-notification:before{content:\"\\E63D\"}.cubeic-delete:before{content:\"\\E63E\"}.cubeic-vip:before{content:\"\\E63F\"}.cubeic-mute:before{content:\"\\E640\"}.cubeic-danger:before{content:\"\\E641\"}.cubeic-volume:before{content:\"\\E642\"}.cubeic-bad:before{content:\"\\E643\"}.cubeic-mobile-phone:before{content:\"\\E644\"}.cubeic-aim:before{content:\"\\E645\"}.cubeic-navigation:before{content:\"\\E64D\"}.cubeic-safe-pay:before{content:\"\\E64E\"}.cubeic-tag:before{content:\"\\E64F\"}.cubeic-lock:before{content:\"\\E651\"}.cubeic-unlock:before{content:\"\\E652\"}.cubeic-edit:before{content:\"\\E653\"}.cubeic-scan:before{content:\"\\E654\"}.cubeic-qr-code:before{content:\"\\E655\"}.cubeic-calendar:before{content:\"\\E659\"}.cubeic-time:before{content:\"\\E65F\"}.cubeic-red-packet:before{content:\"\\E664\"}.cubeic-star:before{content:\"\\E668\"}.cubeic-setting:before{content:\"\\E669\"}.cubeic-home:before{content:\"\\E66D\"}.cubeic-credit-card:before{content:\"\\E66E\"}.cubeic-mall:before{content:\"\\E670\"}.cubeic-microphone:before{content:\"\\E673\"}.cubeic-search:before{content:\"\\E674\"}.cubeic-good:before{content:\"\\E675\"}.cubeic-alert:before{content:\"\\E676\"}.cubeic-picture:before{content:\"\\E677\"}.cubeic-message:before{content:\"\\E678\"}.cubeic-phone:before{content:\"\\E67A\"}.cubeic-location:before{content:\"\\E67B\"}.cubeic-like:before{content:\"\\E67C\"}.cubeic-camera:before{content:\"\\E67E\"}.cubeic-person:before{content:\"\\E67F\"}.cubeic-round-border:before{content:\"\\E683\"}.cubeic-important:before{content:\"\\E68B\"}.cubeic-ok:before{content:\"\\E68C\"}.cubeic-square-border:before{content:\"\\E990\"}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-weight:400;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}a{color:#7e8c8d}li{list-style:none}body{-webkit-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{width:100%;height:100%;color:#333;background:#fff;font-family:-apple-system,Helvetica Neue,Helvetica,Arial,PingFang SC,Hiragino Sans GB,WenQuanYi Micro Hei,Microsoft Yahei,sans-serif;-webkit-font-smoothing:antialiased}input{outline:0}.md-body{font-size:14px;line-height:1.6;color:#666}.md-body p{margin:1.2em 0}.md-body p .anchor{display:inline-block}.md-body h2{margin-top:1.2em;margin-bottom:.8em;font-size:2em;font-weight:600;color:#333}.md-body h3{margin:1em 0;font-size:1.4em;font-weight:600}.md-body h4{margin:.8em 0;font-size:1.1em;font-weight:600}.md-body blockquote{padding:0 1em;color:#666;border-left:.25em solid #ccc}.md-body table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:separate;border:1px solid #e7e7e7;border-width:1px 0 0 1px;border-radius:4px}.md-body table td,.md-body table th{padding:6px 13px;border:1px solid #e7e7e7;border-width:0 1px 1px 0;vertical-align:middle;text-align:left;word-wrap:break-word;word-break:break-word}.md-body table tr th{font-weight:600;background-color:#f9f8f8}.md-body table tr th:first-child{border-top-left-radius:4px}.md-body table tr th:last-child{border-top-right-radius:4px}.md-body table tr:last-child td:first-child{border-bottom-left-radius:4px}.md-body table tr:last-child td:last-child{border-bottom-right-radius:4px}.md-body li,.md-body ol,.md-body ul{line-height:20px}.md-body li{list-style:inherit;margin:1em 0}.md-body ul{padding-left:20px}.md-body h1 .anchor,.md-body h2 .anchor,.md-body h3 .anchor,.md-body h4 .anchor{display:none}.md-body h1:hover .anchor,.md-body h2:hover .anchor,.md-body h3:hover .anchor,.md-body h4:hover .anchor{display:inline-block;float:left;margin-left:-20px;position:relative;top:6px;padding-right:4px;line-height:1}.md-body img{max-width:100%}.md-body .hljs{border:1px solid #e7e7e7;color:#666;background-color:#f9f8f8;border-radius:4px}.md-body .hljs-attribute,.md-body .hljs-link,.md-body .hljs-name,.md-body .hljs-regexp,.md-body .hljs-selector-class,.md-body .hljs-selector-id,.md-body .hljs-tag,.md-body .hljs-template-variable,.md-body .hljs-variable{color:#3ca0e6}.md-body .hljs-bullet,.md-body .hljs-string,.md-body .hljs-symbol{color:#3fb374}.md-body .hljs-tag{color:#666}.md-body .hljs-attr .hljs-tag,.md-body .hljs-attr .hljs-tag .hljs-attr{color:#fc9153}pre{margin:1em 0;font-size:12px}code{font-family:monaco;line-height:1.4;color:#c7254e;background:#f9f2f4;padding:2px 4px;box-sizing:border-box;font-size:.93em}strong{margin:1em 0;font-weight:700}a{text-decoration:none;color:#3ca0e6}a:hover{color:#137dc6}sup{position:absolute;margin:-10px 0 0 -4px;padding:2px;-webkit-transform:scale(.6) translateZ(0);transform:scale(.6) translateZ(0);border:1px solid #ccc;border-radius:4px}table i[class^=cubeic-]:before{font-size:20px}table i[class^=cubeic-]:after{content:attr(class);display:block;margin:-6px 0 8px}.hljs-comment,.hljs-quote{color:#7d7a68}.hljs-attribute,.hljs-link,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#d73737}.hljs-built_in,.hljs-builtin-name,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#b65611}.hljs-bullet,.hljs-string,.hljs-symbol{color:#60ac39}.hljs-section,.hljs-title{color:#6684e1}.hljs-keyword,.hljs-selector-tag{color:#b854d4}.hljs{display:block;overflow-x:auto;background:#fefbec;color:#6e6b5e;padding:.5em}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}"
  },
  {
    "path": "docs/example/css/app.2287833534700774c792800f69036dc8.css",
    "content": "a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-weight:400;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}a{color:#7e8c8d;text-decoration:none}li{list-style:none}body{-webkit-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{line-height:1;font-family:PingFang SC,STHeitiSC-Light,Helvetica-Light,arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.clear-fix:after{content:\"\";display:table;clear:both}.border-bottom-1px,.border-left-1px,.border-right-1px,.border-top-1px{position:relative}.border-bottom-1px:after,.border-bottom-1px:before,.border-left-1px:after,.border-left-1px:before,.border-right-1px:after,.border-right-1px:before,.border-top-1px:after,.border-top-1px:before{content:\"\";display:block;position:absolute;-webkit-transform-origin:0 0;transform-origin:0 0}.border-top-1px:before{border-top:1px solid #ebebeb;left:0;top:0;width:100%;-webkit-transform-origin:0 top;transform-origin:0 top}.border-right-1px:after{border-right:1px solid #f5f5f5;top:0;right:0;height:100%;-webkit-transform-origin:right 0;transform-origin:right 0}.border-bottom-1px:after{border-bottom:1px solid #ebebeb;left:0;bottom:0;width:100%;-webkit-transform-origin:0 bottom;transform-origin:0 bottom}.border-left-1px:before{border-left:1px solid #f5f5f5;top:0;left:0;height:100%;-webkit-transform-origin:left 0;transform-origin:left 0}.cube-safe-area-pb{padding-bottom:constant(safe-area-inset-bottom)!important;padding-bottom:env(safe-area-inset-bottom)!important}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.border-top-1px:before{width:200%}.border-right-1px:after,.border-top-1px:before{-webkit-transform:scale(.5);transform:scale(.5)}.border-right-1px:after{height:200%}.border-bottom-1px:after{width:200%;-webkit-transform:scale(.5);transform:scale(.5)}.border-left-1px:before{height:200%;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.border-top-1px:before{width:300%}.border-right-1px:after,.border-top-1px:before{-webkit-transform:scale(.333);transform:scale(.333)}.border-right-1px:after{height:300%}.border-bottom-1px:after{width:300%}.border-bottom-1px:after,.border-left-1px:before{-webkit-transform:scale(.333);transform:scale(.333)}.border-left-1px:before{height:300%}}@font-face{font-family:cube-icon;src:url(data:application/font-woff;base64,d09GRgABAAAAAB1cAAsAAAAAMLAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kuCY21hcAAAAYAAAAJIAAAFznTNepdnbHlmAAADyAAAFXoAACJ8UpoVEGhlYWQAABlEAAAALwAAADYRXoyBaGhlYQAAGXQAAAAcAAAAJAfeA8RobXR4AAAZkAAAABMAAAEMC+kAAGxvY2EAABmkAAAAiAAAAIgZwyI0bWF4cAAAGiwAAAAfAAAAIAFYAGVuYW1lAAAaTAAAAU4AAAJ5Hs+NonBvc3QAABucAAABvwAAAoA5w1OyeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKl5OYG7438AQw9zA0AAUZgTJAQDeJQwIeJzF1MlOFGEUhuG36RZkckQQxBkUZ0FkEBkVY0wQUVmwwgULTJSQgNrBgYXGDSy4BFde2pdwFfgdTm3cEhPrz9Ppru6/69QZCjgElO2mVaDmNyW/o/TLZ0v758s07J+vlNb9eYgL/t1pqqqoXo1qVos61Klu9alfwxrRtGY1rwUtaklvtaJVVbWp79re3dnb8z9UVVZdsbPVO7vU650D3jmqGc0VO5f13jvXtOGdW8XOgxwlRzzEA8aK9cTrKc+8Xni9YYl3xVph1WuDH14/93fWUsdh6p2jBhppopkjHOUYxzlBjfNykhZO0Uqb89FOB2fo5CznOO8cXeQSl+mimytcpYdrXOeGs3mL29zhLr30cY9+7jPAoCMcdowjPHRuRx3lOBNMMuUgag943//gKP2/S/99NMVLuaf45KxQLThElZOrhSrJdUMFVxAVXEtUiM5XY4oOV3MizrWkuLJaE/F9W3IfoNPJHYHak3sDdSR3CepM7hfUldw5qDvF5Kk3uZtQXyKu35/cYWggEbEMJiKWoUTEMpyIWEYSEctocneisUTENZ7csWgiuXfRZHIXo6nkfkaPkjsbPU7ucTSd3O1oJhH3+jwR9zqbPAtoLnkq0Mvk+UCvkicFvU6eGTSfPD1oIcXTSovJE4WWkmcLLSdPGXqbPG/ofSLyvZKIfK8mTyNaS0Tu15MnFH1IRB0+JqIOnxJRh2oi6rCRPNPocyJq8iV5ztHXFE9dfUtErTYTUavviajVViJqtZ38jGB3JzH1B0Vj++Z4nIVZC5QbV3me/17NQ6/Rc2ZW0mq1klYjr7W7tjV67CNee9d24pfwxjhZ2wFiJ7bkHJvQEAMB6tOFPEgIiYmBgkVyckzThAAhFIcESnqahj6A7BZoad2mKT0JsE4K9MAhhwPH0bj/vSNpH4RWZ3Tnzp07c//7P7//H0EUhMsv02dpjxAR1ggbhK3CjCCAVICMSpKQzpdGSAG0tKgZUZXms/m0nM2M0I1gZKSoXqyUTEOSpQCo0AdWuljJj5A8lEuTZAKKehIgloi/NZzrDdOPg6cn33envZN8DrRUtjcwOWzvGNoULfZHlPf5wuFYOPwxRRJFhRBXQIV3GrpbdHsk+xExENeeTQ2SFPhi+fjuA/7+RPjw3aWbkznDDTA3B5FEv/rYplA8hMcfx/VIOCYH/UpP3J8diML7fuLtifiS5o8F/LlYQz9I5gVJ0ISsUMWdGuURyEdlQ+sDQ68aUhYvK/kUbkjGkWLVqIKInagkG5NQxZsZ3oPfnYDx4bMlbDxqKTu46zCBL+9Rh6bDI/N37Nl563DrLIzgoKQczV8RWffCHblt6d3BDFw6Lg+PgytR7sETuEoaObxr8MczamZ/6eRpSLx7mDTuxaFg2n80s3fde+4nqne3IjGyOe2nyGcERYgK/Ui5Co4AKBKFpCGRKlCHbE4pXB4eH79ubGxk52FCDu/cxdpdd7wwMvLCHXeyFi7B+MFxPOyfw+Fduw6D036F3H/y5P2Et7gkQf14kT5KTSGAPBMgjSuEcIk0rhHCRfLIIYNe0bp7+AqAK4bJbfxs3/Ctne9v7aImDi2/1Xr33+L4zq4s7idXCkEhJGRQGkJOyuTBLFU3VIoG6FF5DFCpZMDRDTgKODoGxFJ0xf6yoiiaAm9V8C+DYj+BV4qM15r779tnWeaj8L6V8wVg65KvwouCB3djVqrpPgiAlIc9qHtQU0TxMbcbvi7HCInJp/EB/DnPPAP/xZ+ppECX5PQIVOG3bvdj+Jh9Hh+DC4py2nlM6MqrCRcFL8orIwiRPihWqus3jEBGElm/ZLY77UF5fR3GZ1ErWGPB2P4xPKC4NAZzQ2NjQ+3//qXuUJvGy4vkNRrH1ZDGYopx0I1NANpsJZ9WosoA8uU5mFaUASWi2B9VFBpm/ahiP20/ze4jS+fwzN/3OnmZ+lA67H1cIvgqfJEb3wZWwAzAdYGA/ecBsy8Ao/a3A6SlquwSx9S+XBBGYTSY6/KPDpEvIS+EiBvQcJG0vBs1UAQxb/8WlLx9yb6UR1H+lnxp5XWezeH8vLxIm7g/L2pijOt/V9VlmqUR3KZZqhT1KBGeeFUUX32Ct3cEKv5acE0wkBxK0nhnFNsn7YsQszf7fMHhZHJ4xfujwujK96OJ8TdLEXR2sgpJyJZLlWplE1TKJTNrypKWZdeGrkWlFcv/pZZMFpLJY761hiLJZVlUy0Z03Zpij1F5y44p01RX0NQ6Dmx2IQkJXz4a9IAvEAhK3tSIYaRM1JFE8cprAXKZjdoaoW2bHZrDqyiW0TDBWEHLvw48OPBekAdWLvkjk40qA6veZ/ze+/CN3NjlFS91D8ydGjjlHCtf/D+dYTyEVfwdXiU/xltUrUoky9oJKLfPRd0IWezmSqYGdb1f12fqPlX1xWKstXx+YJ2VImaz+nW7pBrqIv5V72UBT//XPiNpJmrmFFatKdlNtg7UVy9iXw3+Hj+wZrVM8qvendVUyJj5cpavYZUn2f406/fXOstfeZYtuNRdteqqu06Xr8/8Drko9Anj6FNxfdxSPoQUWGw1vM52/He5mpelfMbcyKhk16UKzkkRvYp6jO+YnbKFqVkCSX3Rx3boOw9rMzCfWQsN7dui6Al85II08cNrVK/ko0f3U0LPT80CzE7BRS0JjkzsBs7Gp45ff8s3KKje2cSH5M88lrrGE5DFt1/tAlHxCYLSpnlB8CEKiQlJpH0tYpG2FeY5n+QREJFGhBt45CsYdCwqZ1kILJfQNFTYBDjJzFfZvw+IcP3nt8xc+/1Xv3/tzJbP2+8pHB317Bg7HQ7sGR7bGKvH4hY6BH8sHvPPecaG9yjKP86M7fCMHiU1uKJSn965c/pIeeKzmRHfnFZ4v+KrZyOnoWafb6A9a2qPqvYcuitoNhTx4pHhyJxnPYtny/Q7ifS/uYanu6qOUrG4+7dUWCH+iOMz7Fd0fn5y98n4mH7NiWv0sfjJFUrwCm6he9gN2Ld1XbW6buu+NtZZRk+/MLiSHmA8ZYQADz0Oi6sZx4Gu1Eb7ro5TGtdGp0e1geSufbuSikPcSqX8mc6JsV/VYjGc19+fvOAQt6SXzwkixxEsKKVBL1ZRaqGOkpKwOqDaj5LX7cPBoRB8QISuDn7a64VB+1G/HyZ9XruGQ3gLvs73+Wvcpx95PiZMC7sYRinzTWkdrGJVWTy02oglq7F9b4SOq2FbTgL3MkaHAV1O0Lr9FLcx+ymchEsOnOnf23/G5GZh9zHPgmru91nYKXlV9VXHNV3rnMh93EXVIanZFj7ywVTqg4zsBS1pX1zxnJe/yUjpesqoOW5LQE517MKLPNMRRYzg7uQliYmOZZgZ2VhuCV2DwXm0ObPtsb9qm0Lr45Nnv3B2cubIL4+81NX/j5qHTxw29xijk6MG2XyksnFj5Qjq/w+KlUrxSK12savxX0lls6lGVIuG23jjJ/Qw6hfDorqEa+YREmF4lHQDO5UwQ6R9UMXxPqCD1f/UXLQ86nb19AxPF5QzN504eK9r3XavJ6VpQErrYd8/PE7E26qV28R0/6Y/ei8U7DtvBp9v8uTVN46Jytvl0qG2b23gmpJQQPYwC1IhpzFBZdNMZMynliv5KnNmjnftgxTTeiIUxmEexiHDmN2qs7YnATQVPDTL1Btm3xFOUVdfnDBI9c8KixaGqvgKCVn57qG7IyJqti5G7j703UCisGRfJaTFjbJJC2VENl1cDI6GMRXCvGmpD22Fq6Lhc5XDDGuBOcwSOk57zll0wTnZtaR+HnXHp57Xk60mqXEN4tpjc/IvrmwgpifjjpuOJ3VrKd9pktdRf3rRI125CoWu38CvRqGNP3Nch9ZvYMhUWx9hIYO2TZNajudABCAhT+ucZ6wh890u2E3H2hcD+/p3Wp6ZzXZz84zH2tm/L2DcKHk2bvRIN5L7GCf13l69c7Z4B//2omv/gD3XjiFzA/tdnrs8CE9D4Lmr6z9+jngU0UPEylV0LRSV8jmWsaGwxSoCc/bXA5jJIepdBzL+zU2QNx88CINaojdqXzio9wL0kv6w2713r9uNb9+7V1E6V7K8dy/CmxfD/sHWJwf94RfRcJtaMuHckFdMa18tYf3PkNcwehnMHnJVx60CZxbXiRIwjNrBkfQ0tc9JcTMu2Q8TBRIaWUDC7DOBUmDQ8aE3ieSakKaFWo+KPq8eRwZrbvgPjlkt7o+HE+11H+I84RGHc4W50y5XcjpLXdE4y2Y+wk4lHh01qXkABqOMF8iUAyxTT5KZAuiRQiAM2aeHYvHeWCGVdjFmBPLLmRGcvDp/ZdKITaSmK/bTxuChYuWGgrHhnVec5Pb5M+6L3UiPAKFsG3lAWtMZbs6b6yCE2MqIqADxOb6sTr5nL4Ac9RaDWnEMHpq6lmhkiPpt5jWhhEjCFpq9xZ5QKFM5fQ44Kvl2X6jN97YNBoQe1HCenWpdKyyZ0PXn6VCaCraAK7atLWn/t8PoZ3AhDJNISKvpGBipo8G1Y955WHRsfZ4+RUuI6CyhJEzhSpy/TphhkIol4wazEY2bVJnZziSUWHjtJuf5bB8pOkUEzNSbJd8z9/DQ8pFv+JwQsGrAvu7EA5Q+cMJpm7Bmx8yONSwGIfnNP/RQd8C+2H30xAOttVeuxYPvr5OPzVHK8qhIbhLtBQOFLFWlzAiUaQ7bUlWqNsnXIOb3SGRRdIESDWAsfATcQQXcJPwayF7VgNZ2jxuUoBvgbXUaiCrgWsLAH0K59Ag1XA51DvcsuVADNGQTi8iTLDCITDQF6KDildA/b06CjlEb5xksRbfak+lcNLjvwoZp+w09GKV9V7807Cn+++5+12WBxdM650Wdd3k7WpakaFTaZmyToh636Bod5ffIzcGkZO5xKUfdSm9447mZLzwue778uZlzL6DrrTE+1lhkxv8BT8QjeW691SO6pKhygI129vgUPYd7jDDNw5w4z7B2RCubOubKmBmauS6IeJv9Wty0P4XaFwRPDxjHGr+ygq1nHQgF34N4whVGBbQf9/lgstdePHbsNxsOXN+BTm09b3B+DgoVztEClLkeyVoWnXVH53NtXo44sEaTIlq6bJllRwVpHQODoxWWYwlNFnccgONVcTE4Zs9TylWMANpnw1GgRlK/LDjG4fBvVIoFmMvug9Faze93XHZb7keQzhyncgSybPWqs7ouW8tIlpdIdgIkkswjtkSPcLhEKJBrOR2um8gD72Q0axyBwVkctM+jIHwqDzuc0i4Vfn/8/yO6LT9k7L0UePwWkLxoAPLVii4bIMlZxsRSlbx2JhCovDQaGvzTl2zLpTyn+EAhv/p4MB8sXaiocNMFe5sLPMo3ZZ7CiCvyygT3FuiT2XZZxQAVXsuWuejQU6BPTBtRfQI07kqsNPcjZatY2QjN8w2v2oAk1Ruqt4Hx/40FWnpjHndUY8i3QRZwU7WajvC7PcFqP2E/U19AsfHbbCY+IbCqS5suiigyjpFiRChidrVV2ClcLexnflNLQ1lDOrJMPG0D1fJITm7VIBtDSWSrVsgKpcVlREM5rWU14BNDMm6qWrZIE4TL6G9oQp93vP18NEkb9TpmK8nuEJ5waKHRaC7U7QXCXPwcitRugrWAijA71WxY/VEEHefrcLY0Eol3noJ4ZKRRt5Zegyerflmo16FhW1bT4UDzsrBYnwOBXUJpgQ5Ty7FfJ2/IclTtCIYJKt3tLVdTzBwobpbBzHw5TetzqtfyqZcFTHO96pyTGxAnW96B+a5dwryX1MmjNZYA1JwWLTzexnCLuL1aLV0opJ9aWTPoXV0zcOL4HygUnPc5lYc3KxAgEFxky87zwoCj7w10JX7UTIzNnZyLxat2yQOTduY9aB3NyK6jOe362vzXWn+CIRoj4rZnfvjMNnjZ/kZ7B1eNb94MpsZ4rp3b+pa3bHVygp/Sh2iS1zvNyiYoViOVohHRLe7CJTmiM0iGPRNv5E9ILvfvZHpKDIqnqHzJ45K+6YKNRFUuKeIlxY9dGf5ODtKCAkRRbFsp0IDyRVGxf+Zxu26n9HbqUcBwd2POZeQhFXZzjTbzLOhUKyzymDLfFzvJEvohBkU0FosM3WDhCAeZ0laqnM8681eVvFll1+VJYorLC+ynwT2eUj0SyP171ipyT3W82iMra/f0y+BNpsZdkiR6l08RZfr7c1wSiPbx6naA7VXewgVFjJZio0lZSQ6pFN22FnGBOpRU5ImKpYEkRYa0ocLySeCK6HpEpP7hpEtpT9KGBoee77wT23ae9mv6Ya7njtQd32Yyq2YCLzCIEjIr1RxKSsRUbQ6li6ETVG/Tq6IS1ZnAgzmoeHrcMJaOwHP2Ag6pvvPtopBPZfpgRfsTv1GU38Qyndo3uch9a2p5ZkS7hb2oBJPskxEqdrreMZ5mk4XeJnrr1kEGDZlNvzFP4vbZdlbQsOtOekR42lBv58hPY46T4lWOtcznAgNbEmqyzLUAPZSZR1DGiluQZt8Ust0CfNb5iJKR6Fxo4tBL10+ENpBEzAhqwVIPQE8jqru3kc19YVfr+c0wUMnlKgPE3DxQHcADNm8fAxjbjglFJBzxK0CV3oSbhJQS5PytFxNs8kDCOS3hopNo5wn0v07+OgmMGZpj7+2SJya1TG3Rr5Y6oTsqo89ldaLT80kCETWtRhKfOHzDJxK8CyT+3dMz7/JSjN0nZ2dPEux43xWnX7yLsfPgLYTccpD17vriX8DR2qKkSrO3UnrrrN+/WDvawRcP0V7E0QlhCCmTMmimpU2d7wjU7JeloKH3VytBzAiZTypNEot/F6M3K1HltPMR4QFFefm4/Yvj9fpxiByvP5HZbzXuIeaW2WLjHmpisnXG+QTBTuQRnMXn3gSa/Z20Se5pWPu35Og9jeLskn/WEF8hBhLTIbTHCrdWLY1nJEPs1DVD5DW7PlbUQhu8URnAooOiQWZb7+a5nj7nh+a505VMKNRT7G1CMG5/i7vpdnJR78gljnJR2FoMx/GQXObhOr/M/NFxkDqMF1gxYb4wVNgA9OHbbnuYwvrBkaHa0BghY0OxWixGdhfzxybxBt6ePJYv7l5mEwGO4jDmrowuSzXwNPOcjPO8bIUWWW+VVgSY7zjA8QZbAOL+lDvgvnWz4hFPuAlZxBAjOKZCMNmZc5IYuxE1vH/m831gp9s9J4e4vH+JvA12a0odWixUREurdktlTqGaxZ2qU19JO0WxDkEW8fpf/ienGHbHAlOxBbTdv3EKFMCMmQaQpAbOeFRUxK9z+Iahb65bMz/rmHM7dnyWJlglJSfJEuc7P9ANW6wwjbLP67y+xCtLTnHJMNmlFkXJ0Ov15OTtm7bcVym/3dBcUaPo8gUjun/iSohNbaEub2TU6JnqjQzI6wfz7ndcpwao2wh4fRExYrytVP3Ytk23T04P0oA6ez01166XcuHe6R59LOwTXVu2JMRtG/16JOgL9XB9uUhrqC/BTryOomfRi5ug87moqzHQuu9ZWhq+gM7z30aKID17f/UqQq5yXDSNu57/5PZTIy95PD9ad2r7A8/b1eXe28nTPkv+mn2lyK2PlhlXNPYtr60dCFplYsmGFbEvTE1t++pVvb3YTE2ZAHJYNCiktj25dXq6t3d6euuT27o6+Dpq4ADmsQyh57PoIjFtNlgOuwTKl++ApV1OCYu7KtpEz3y6Iun2JSMII2eWqaZdd8ABb8Gn+vi3GWzIQTS1A26XGIEaQ/e7HR2NO8ks8LanPVf1LfnKOZ7bp5j9OziIwRT2EQNY7Yq5TFbKYul0rVVvpwfzXB1bP3A8IW9Zdt+uKyFUI/X2OPOBq7/ZGI5ffrMP6iug1xOPv+JyvfI4b5fjLjrQGcW2k2eQSfItbvcCprGVcqTCo68W4Us4AQh+kZY9fZhLvIOfjMRArpzLYUSR4WHZA+CR7cOywkMQRp5ODn8VOcq/9+bNjMwaRFbRFK+qV0p0c58UluzPP4JtnyT9QA5JcKeEsUyS7M89Jst9OPAvsgz3yqE2D35Kz9LYMn6H2vxG1ACssIK5e9tZ5emG1kNDEwATQ+TGoXFCxlu39A0O9pEb+9YArOmLw0SBHBliH66HWg8WJmgIB1sPOjfJETzjkv8L0s1XoQAAeJxjYGRgYADi3k8rFeL5bb4ycLMwgMB1+SV+CPr/FhYGZhMgl4OBCSQKACWiCcEAeJxjYGRgYG7438AQw8IAAkCSkQEVOAMAR0kCrHicY2FgYGB+ycDAwjCKAX3SAfUAAAAAAAB2ANQBEAE8AXgBkgGsAeQCDAIyAlQChALeAwYDNAN6A6gD6ARCBKQE7AU0BWAFzgYcBlYGnAbuB1QHogfeCCYIXgiSCPoJKgmcCdIKJgp8CqYK8gt8C8IL9AwmDGQM8A0qDWANtg4CDkwOgg60DvoPRA+aD84P9hBMEIIQsBDcEQQRPnicY2BkYGBwZohk4GYAASYg5gJCBob/YD4DABkJAb4AeJxtkbtOAkEUhv/lZliiBUZLnUYLDculMaGUBAo7C3pYZhfI3jI7S8Ij+Dw+g09gb+cz2PqzHCmQnczJ9//nsicZAG18wcH+u+Lds4Mm1Z4rOMONcJX+nXCN7AnX0cKTcIP+s7CLR7wIt3CJDSc4tSbVA96EHe7wLlzBBT6Eq/Q/hWvkb+E6rvEj3EDbORd2MXVuhVu4dwp3ZPTM6oWab9XKT5MgTazrF3Pd2alXHRbRzBz0Aaba5Ks0UX2vd/AmOtHmb1a+CQfWBiowaazGHKqjKFWZSdfat97S2mzY7Qbie34ac7URDDRmsIwLKMyxZVzBR4oEQRkt63wUzGl0DrlXqpBuxG5zIv/fmVIZ5NQ7pdDnM/VO1E2okrL2eK+cDxViQNdyN8Vr2BGTxrKp5j4RWSErc2s6Pn0Py7IrwxBdnuCo3iv/Hf8CUuVv1gAAeJxtUcd2GzEM1Hi5K1mW03vvfdN7T5wfgUh4xSeSkEmuFP99KNnH4MLBA2YwAAdbg6MYD/4fe9hCBYUaDYYYYRtj7GCCXZzASZzCaZzBWZzDeVzARVzCZVzBVVzDddzATdzCbdzBXdzDfTzAQzzCYzzBUzxDi+d4gZd4hdd4g7d4h/f4gI/4hM/4gq/4hu/4gZ/4hd/Yw58B/u7yIbc2LG2yU8c76+wYT9JBT5HbaLtZbhI71nm06J0zsgrNGvQL5SWympKe1xSjrGrtJLFaUQyjg55TthLqjUC9ihI6ZcO+NJG9LLkiY+o0KyOGQdqV3bd18tZxlcjU7Mk61ZEvYqVSzSRPguQCNa1FG1P8ZK6WtnjoMzeGQsexWYrrPVdTMhMv06LWLmYSyizrx4GWttuwR4n2S4UOq0ydcqLnTR/Wj2Jjs0qawvAgtloMjzQ5DoaiytbzOLIpPD3n0pUpDhPnbMteM/G8o+Oa3mqKRnlybuytjrIxUO5HUc9UJ2LqohjzcGF17svynlOijutN36i42FhUzs650eUAkZoFxyRhEqUPpp1KNBy3rV9IzBTylsx3j7/qqDQY/AOKiLF+AA==) format(\"woff\"),url(fonts/cubeic.dcc2b6f.ttf) format(\"truetype\")}[class*=\" cubeic-\"],[class^=cubeic-]{font-family:cube-icon!important;font-size:100%;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cubeic-eye-invisible:before{content:\"\\E624\"}.cubeic-eye-visible:before{content:\"\\E625\"}.cubeic-square-right:before{content:\"\\E67D\"}.cubeic-select:before{content:\"\\E609\"}.cubeic-pulldown:before{content:\"\\E603\"}.cubeic-pullup:before{content:\"\\E604\"}.cubeic-more:before{content:\"\\E607\"}.cubeic-back:before{content:\"\\E608\"}.cubeic-arrow:before{content:\"\\E60B\"}.cubeic-close:before{content:\"\\E60D\"}.cubeic-warn:before{content:\"\\E614\"}.cubeic-question:before{content:\"\\E616\"}.cubeic-right:before{content:\"\\E617\"}.cubeic-wrong:before{content:\"\\E618\"}.cubeic-info:before{content:\"\\E619\"}.cubeic-remove:before{content:\"\\E61A\"}.cubeic-add:before{content:\"\\E61C\"}.cubeic-share:before{content:\"\\E631\"}.cubeic-no-wifi:before{content:\"\\E632\"}.cubeic-smile:before{content:\"\\E634\"}.cubeic-sad:before{content:\"\\E636\"}.cubeic-email:before{content:\"\\E637\"}.cubeic-game:before{content:\"\\E638\"}.cubeic-wifi:before{content:\"\\E639\"}.cubeic-hot:before{content:\"\\E63B\"}.cubeic-notification:before{content:\"\\E63D\"}.cubeic-delete:before{content:\"\\E63E\"}.cubeic-vip:before{content:\"\\E63F\"}.cubeic-mute:before{content:\"\\E640\"}.cubeic-danger:before{content:\"\\E641\"}.cubeic-volume:before{content:\"\\E642\"}.cubeic-bad:before{content:\"\\E643\"}.cubeic-mobile-phone:before{content:\"\\E644\"}.cubeic-aim:before{content:\"\\E645\"}.cubeic-navigation:before{content:\"\\E64D\"}.cubeic-safe-pay:before{content:\"\\E64E\"}.cubeic-tag:before{content:\"\\E64F\"}.cubeic-lock:before{content:\"\\E651\"}.cubeic-unlock:before{content:\"\\E652\"}.cubeic-edit:before{content:\"\\E653\"}.cubeic-scan:before{content:\"\\E654\"}.cubeic-qr-code:before{content:\"\\E655\"}.cubeic-calendar:before{content:\"\\E659\"}.cubeic-time:before{content:\"\\E65F\"}.cubeic-red-packet:before{content:\"\\E664\"}.cubeic-star:before{content:\"\\E668\"}.cubeic-setting:before{content:\"\\E669\"}.cubeic-home:before{content:\"\\E66D\"}.cubeic-credit-card:before{content:\"\\E66E\"}.cubeic-mall:before{content:\"\\E670\"}.cubeic-microphone:before{content:\"\\E673\"}.cubeic-search:before{content:\"\\E674\"}.cubeic-good:before{content:\"\\E675\"}.cubeic-alert:before{content:\"\\E676\"}.cubeic-picture:before{content:\"\\E677\"}.cubeic-message:before{content:\"\\E678\"}.cubeic-phone:before{content:\"\\E67A\"}.cubeic-location:before{content:\"\\E67B\"}.cubeic-like:before{content:\"\\E67C\"}.cubeic-camera:before{content:\"\\E67E\"}.cubeic-person:before{content:\"\\E67F\"}.cubeic-round-border:before{content:\"\\E683\"}.cubeic-important:before{content:\"\\E68B\"}.cubeic-ok:before{content:\"\\E68C\"}.cubeic-square-border:before{content:\"\\E990\"}.cube-btn{display:block;margin:0;padding:17px 16px;width:100%;text-align:center;white-space:nowrap;cursor:pointer;font-size:16px;line-height:1;color:#fff;background:#4a4c5b;outline:none;border:none;border-radius:2px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.cube-btn.cube-btn_active,.cube-btn:active{background:#444654}.cube-btn>i{display:inline-block;margin-right:4px;font-size:100%;-webkit-transform:scale(1.13);transform:scale(1.13);-webkit-transform-origin:right center;transform-origin:right center}.cube-btn-inline{width:auto;display:inline-block;vertical-align:middle;padding:9px 10px;font-size:12px}.cube-btn-inline>i{margin-right:2px;-webkit-transform:scale(1.14);transform:scale(1.14)}.cube-btn-primary{color:#fff;background:#fc9153}.cube-btn-primary.cube-btn_active,.cube-btn-primary:active{background:#e8864c}.cube-btn-light{color:#666;background:#fcfcfc;box-shadow:0 1px 3px rgba(0,0,0,.1)}.cube-btn-light.cube-btn_active,.cube-btn-light:active{background:#e8e8e8}.cube-btn-outline{color:#666;background:transparent;position:relative}.cube-btn-outline:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline.cube-btn_active,.cube-btn-outline:active{background:rgba(0,0,0,.08);position:relative}.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary{color:#fc9153;background:transparent;position:relative}.cube-btn-outline-primary:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary.cube-btn_active,.cube-btn-outline-primary:active{background:rgba(252,145,83,.08);position:relative}.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e8864c;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled{color:#fff;background:#ccc;position:relative}.cube-btn_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled.cube-btn_active,.cube-btn_disabled:active{background:#ccc;position:relative}.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-tip{display:-webkit-box;display:-webkit-flex;display:flex;z-index:10;position:absolute;padding:10px 38px 10px 16px;max-height:60px;font-size:12px;color:#fff;background:rgba(74,76,91,.8);border-radius:2px;-webkit-transition:opacity .2s;transition:opacity .2s}.cube-tip[data-dir=bottom] .cube-tip-angle,.cube-tip[data-dir=top] .cube-tip-angle{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.cube-tip[data-dir=top] .cube-tip-angle{top:0}.cube-tip[data-dir=top] .cube-tip-angle:before{margin-top:-6px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.cube-tip[data-dir=bottom] .cube-tip-angle{bottom:0}.cube-tip[data-dir=bottom] .cube-tip-angle:before{margin-bottom:-6px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cube-tip[data-dir=left] .cube-tip-angle,.cube-tip[data-dir=right] .cube-tip-angle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.cube-tip[data-dir=left] .cube-tip-angle{left:0}.cube-tip[data-dir=left] .cube-tip-angle:before{margin-left:-9px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.cube-tip[data-dir=right] .cube-tip-angle{right:0}.cube-tip[data-dir=right] .cube-tip-angle:before{margin-right:-9px;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cube-tip-angle{position:absolute}.cube-tip-angle:before{content:\"\";display:block;border-width:0 6px 6px;border-style:solid;border-color:transparent transparent rgba(74,76,91,.8)}.cube-tip-close{position:absolute;right:14px;top:12px;width:12px;height:12px;padding:0;color:inherit;outline:none;border:none;background:none;-webkit-transform:scale(1.3);transform:scale(1.3)}.cube-tip-content{min-height:18px;line-height:18px;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;overflow:hidden}.cube-tip-zoom-enter-active{-webkit-animation:tip-in .4s;animation:tip-in .4s}.cube-tip-zoom-leave-active{-webkit-animation:tip-out .2s;animation:tip-out .2s}@-webkit-keyframes tip-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes tip-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes tip-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0);opacity:0}}@keyframes tip-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0);opacity:0}}.cube-checkbox{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-checkbox[data-pos=right] .cube-checkbox-ui{margin-right:0;position:absolute;right:0}.cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:1.42em}.cube-checkbox-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-checkbox-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-checkbox-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;border-radius:50%}.cube-checkbox-ui.cubeic-square-border{border-radius:2px}.cube-checkbox-ui:before,.cube-checkbox-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-checkbox-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-checkbox-ui i{position:absolute;top:0;left:0;color:transparent;-webkit-transform:scale(.4);transform:scale(.4)}.cube-checkbox_checked .cube-checkbox-ui:before{color:transparent}.cube-checkbox_checked .cube-checkbox-ui i{color:#fc9153;-webkit-transform:scale(1.23);transform:scale(1.23)}.cube-checkbox_disabled .cube-checkbox-ui{background-color:#eee}.cube-checkbox_disabled .cube-checkbox-ui:before,.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transition:none;transition:none}.cube-checkbox_disabled .cube-checkbox-ui:before{color:transparent}.cube-checkbox_disabled .cube-checkbox-ui i{color:#eee}.cube-checkbox_checked.cube-checkbox_disabled .cube-checkbox-ui{background-color:#fff}.cube-checkbox-hollow i{width:100%;height:100%}.cube-checkbox-hollow i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:currentColor;border-radius:2px}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui:before{color:#fc9153}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:#fc9153}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui{background-color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui:before{color:#eee}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled.cube-checkbox_checked .cube-checkbox-ui i{color:#eee}.cube-toolbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:2;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.cube-toolbar-group{display:-webkit-box;display:-webkit-flex;display:flex;height:44px;overflow:hidden;box-sizing:border-box;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.24);background-color:#fcfcfc}.cube-toolbar-group-more{margin-bottom:10px}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down{position:absolute;top:44px;right:9%;height:10px;color:#fcfcfc;font-size:24px;font-family:cube-icon;font-style:normal;text-shadow:0 1px 3px #e8e8e8;-webkit-transform:scale(1.3);transform:scale(1.3)}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down:before{content:\"\\E603\";position:relative;top:-10px}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down:after{content:\"\";display:block;position:absolute;left:30%;top:50%;margin-top:-6px;width:40%;height:2px;background-color:#fcfcfc}.cube-toolbar-group-more .cube-toolbar-item:last-child:active .cube-toolbar-down{color:#e8e8e8}.cube-toolbar-group-more .cube-toolbar-item:last-child:active .cube-toolbar-down:after{background-color:#e8e8e8}.cube-toolbar-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background-color:#fcfcfc}.cube-toolbar-item:last-child{position:static}.cube-toolbar-item:last-child:after{display:none}.cube-toolbar-item:active{background-color:#e8e8e8}.cube-toolbar-item:active:after{border-color:transparent}.cube-toolbar-item .cube-toolbar-chb{height:44px;padding:0;font-size:12px;background-color:transparent}.cube-toolbar-item .cube-toolbar-chb .cube-checkbox-wrap{padding:0;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-toolbar-item .cube-toolbar-chb .cube-checkbox-wrap .cube-checkbox-ui{position:relative;left:auto;margin-right:.42em}.cube-toolbar-item .cube-btn{position:relative;padding:0 5px;background-color:transparent;border:0 none;color:#666;font-size:12px}.cube-toolbar-item .cube-btn:active{background-color:transparent}.cube-toolbar-item .cube-btn:active:after{display:none}.cube-toolbar-item .cube-btn i{margin-right:0}.cube-toolbar-item .cube-btn i.cubeic-more{color:#999;font-size:16px}.cube-tab-bar{position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-tab-bar,.cube-tab-bar_inline .cube-tab{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-tab-bar_inline .cube-tab{-webkit-align-content:center;align-content:center}.cube-tab-bar-slider{position:absolute;left:0;bottom:0;height:2px;width:20px;background-color:#e8864c}.cube-tab{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:7px 0;color:#666;text-align:center}.cube-tab_active{color:#e8864c}.cube-tab-panels{position:relative;overflow:hidden}.cube-tab-panels-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:all .4s cubic-bezier(.86,0,.07,1);transition:all .4s cubic-bezier(.86,0,.07,1)}.cube-tab-panel{width:100%;-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.cube-checkbox-group{z-index:1;overflow:hidden;background-color:#fff}.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:after,.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:before{display:none}.cube-checkbox-group[data-col=true],.cube-checkbox-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checkbox-group[data-col=true] .cube-checkbox,.cube-checkbox-group[data-horz=true] .cube-checkbox{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-checkbox-group[data-col=true] .cube-checkbox:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:after{border-color:#ccc}.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:before,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:before{display:none}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-label,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:0}.cube-checkbox-group[data-col=true] .cube-checkbox-wrap,.cube-checkbox-group[data-horz=true] .cube-checkbox-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-checkbox-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-checkbox-group[data-col=true] .cube-checkbox{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-checkbox-group[data-col=true] .cube-checkbox:after{display:none}.cube-checker-item{display:inline-block;vertical-align:top;text-align:center;padding:8px 10px;margin-right:10px;color:#666;background:#fff;border-radius:4px;position:relative}.cube-checker-item:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fcfcfc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active{color:#fc9153;background:rgba(252,145,83,.04);position:relative}.cube-checker-item_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active.cube-checker-item_disabled{background:#eee;position:relative}.cube-checker-item_active.cube-checker-item_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_disabled{color:#ccc}.cube-radio-group{z-index:1;overflow:hidden;background-color:#fff}.cube-radio-group .cube-radio:last-child .cube-radio-wrap:after,.cube-radio-group .cube-radio:last-child .cube-radio-wrap:before{display:none}.cube-radio-group[data-col=true],.cube-radio-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-radio-group[data-col=true] .cube-radio,.cube-radio-group[data-horz=true] .cube-radio{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-radio-group[data-col=true] .cube-radio:after,.cube-radio-group[data-horz=true] .cube-radio:after{border-color:#ccc}.cube-radio-group[data-col=true] .cube-radio:last-child:after,.cube-radio-group[data-col=true] .cube-radio:last-child:before,.cube-radio-group[data-horz=true] .cube-radio:last-child:after,.cube-radio-group[data-horz=true] .cube-radio:last-child:before{display:none}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-ui,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-label,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-label{margin-right:0}.cube-radio-group[data-col=true] .cube-radio-wrap,.cube-radio-group[data-horz=true] .cube-radio-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-radio-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-radio-group[data-col=true] .cube-radio{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-radio-group[data-col=true] .cube-radio:after{display:none}.cube-radio{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-radio[data-pos=right] .cube-radio-ui{margin-right:0;position:absolute;right:0}.cube-radio[data-pos=right] .cube-radio-label{margin-right:1.42em}.cube-radio-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-radio-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-radio-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;color:transparent;background-color:transparent;border-radius:50%}.cube-radio-ui:before,.cube-radio-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-radio-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-radio-ui i{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(.4);transform:scale(.4)}.cube-radio-ui i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%) scale(.8);transform:translate(-50%,-50%) scale(.8);border-radius:50%}.cube-radio_selected .cube-radio-ui{background-color:#fc9153}.cube-radio_selected .cube-radio-ui:before{color:transparent}.cube-radio_selected .cube-radio-ui i{-webkit-transform:scale(1);transform:scale(1)}.cube-radio_selected .cube-radio-ui i:before{background-color:#fff}.cube-radio_disabled .cube-radio-ui{background-color:#eee}.cube-radio_disabled .cube-radio-ui:before,.cube-radio_disabled .cube-radio-ui i{-webkit-transition:none;transition:none}.cube-radio_disabled .cube-radio-ui:before{color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui,.cube-radio-hollow.cube-radio_selected .cube-radio-ui{background-color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui i:before,.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.cube-radio-hollow.cube-radio_selected .cube-radio-ui:before{color:#fc9153}.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{background-color:#fc9153}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui:before{color:#eee}.cube-radio-hollow.cube-radio_disabled.cube-radio_selected .cube-radio-ui i:before{background-color:#eee}.cube-input{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:14px;line-height:1.429;background-color:#fff;position:relative}.cube-input:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-input:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-input:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-input-field{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%;min-width:0;padding:10px;box-sizing:border-box;color:#666;line-height:inherit;background-color:inherit;border-radius:2px;outline:none}.cube-input-field::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-input-field+.cube-input-append .cube-input-clear:first-child,.cube-input-field+.cube-input-append .cube-input-eye:first-child{margin-left:-5px}.cube-input_active:after{border-color:#fc9153}.cube-input-append,.cube-input-prepend{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-input-clear,.cube-input-eye{width:1em;height:1em;line-height:1;padding:10px;box-sizing:content-box;color:#999}.cube-input-clear>i,.cube-input-eye>i{display:inline-block;-webkit-transform:scale(1.2);transform:scale(1.2)}.cube-input-eye>.cubeic-eye-invisible,.cube-input-eye>.cubeic-eye-visible{-webkit-transform:scale(1.4);transform:scale(1.4)}.cube-textarea-wrapper{-webkit-transition:height .2s;transition:height .2s;height:40px;font-size:14px;line-height:1.429;position:relative}.cube-textarea-wrapper textarea::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-textarea-wrapper:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea-wrapper:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea-wrapper:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea_expanded{height:80px}.cube-textarea_active{position:relative}.cube-textarea_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea-indicator{position:absolute;bottom:7px;right:10px;color:#ccc}.cube-textarea{width:100%;height:100%;text-align:left;padding:10px;box-sizing:border-box;font-size:100%;line-height:inherit;color:#666;background-color:#fff;border-radius:2px;resize:none;border:none;outline:none}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}.cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-select{box-sizing:border-box;padding:10px 20px 10px 10px;border-radius:2px;font-size:14px;line-height:1.429;color:#666;background-color:#fff;position:relative}.cube-select:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select>span{display:inline-block}.cube-select_active{position:relative}.cube-select_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select_active .cube-select-icon{-webkit-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.cube-select_disabled{color:#b8b8b8;background-color:rgba(0,0,0,.04);cursor:not-allowed}.cube-select-placeholder{color:#ccc}.cube-select-icon{position:absolute;right:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-style:solid;border-color:#999 transparent transparent;border-width:4px 4px 0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.cube-switch{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-switch .cube-switch-input{position:absolute;z-index:1;width:48px;height:28px;opacity:0}.cube-switch .cube-switch-input:checked+.cube-switch-ui{border-color:#fc9153;background-color:#fc9153}.cube-switch .cube-switch-input:checked+.cube-switch-ui:before{-webkit-transform:scale(0);transform:scale(0)}.cube-switch .cube-switch-input:checked+.cube-switch-ui:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.cube-switch .cube-switch-input:disabled+.cube-switch-ui{opacity:.3}.cube-switch .cube-switch-ui{position:relative;display:block;width:48px;height:28px;box-sizing:content-box;border:1px solid #e4e4e4;border-radius:28px;background-color:#e4e4e4}.cube-switch .cube-switch-ui:after,.cube-switch .cube-switch-ui:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:28px;background-color:#fff;-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28),-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28)}.cube-switch .cube-switch-ui:after{width:28px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cube-switch .cube-switch-label{display:block;margin-left:10px}.cube-switch .cube-switch-label:empty{margin-left:0}.cube-rate{list-style:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;vertical-align:top;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%}.cube-rate-justify{width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.cube-rate-item{position:relative;width:32px;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;margin-right:6px}.cube-rate-item:after{content:\"\";display:block;padding:50% 0}.cube-rate-item:last-child{margin-right:0}.cube-rate-item .cube-rate-item-def{position:absolute;width:100%;height:100%;background-size:100%;background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAsVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHx8cAAADt7e2ysrJ6enoAAADu7u7MzMzBwcGHh4cAAAAAAADa2trS0tLExMS+vr42NjYAAADv7+/r6+vq6uro6Ojm5ubKysq8vLwAAADr6+vf39/c3NzPz8+1tbWrq6vo6Ojm5ubOzs6vr6+RkZHj4+Pi4uLV1dW4uLienp6ampplZWVWVlbv7+8EiCYnAAAAOnRSTlMAPCsDJgsGOg4hNyMapgj3jGQX/K2eah4Sx7eim0ow/fHv6uGqlzTz0820j4Xo5LGJcNzYvZR7eFpV7G3f4gAAAcpJREFUSMeVVulyskAQdBZwWQ4F5FREjUeiMdd3JvP+DxZCUVskzMrSf+mu3pqZnmGigG1PxoGxcXw7DK1xBsvLKAsLcANjLMwXxNjU589gg7iAmb7BAWv4rr7BAmvMYapr4GODlabF9MugseB6Fu4KW5SZnsEcW2y5oSEQCUocNSwMfo8ST86wRVZiB4/ewPtzj++6gr3j2bSJYUcuc9Zvj3v8hl9BunaYG3VkhhWJmpq+xucdkrg7H16/ZCKyapmA8OoXdziIp8K/hiDqQQjuURPbwGwKHzzr8feBmDTw4EGH/wCyxhEUw/wCoolEDn+G+EvIv60V/nKbH3P7x55wDrf4vmP1cnlK1PzkNCPmqCpV/GNFRs+oLor3MMWQWyEt+FBF2wtowb9ctV6WiicJheC0V8xEpUgzII050IL8DRVQHJeM7px6FbBCOXj0qeDbDmfXzffziVzy753YHx3n2Mn5mmpddJXRLXlmGBkvZdj/U61z47aICRdGU2bBk3l7KajWVb+xxmIFrvSfurBqbsWZUW2rP238li4lJhw2tSsnbn+KGIM569XChJhsnff3AozsqMVgGfRbx1JJ77uztN860775syIFn72pvWujU85XAAAAAElFTkSuQmCC)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAvVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsbGQkJCenp4AAADu7u7i4uKVlZWIiIgAAADm5uajo6OTk5N1dXVlZWXn5+fc3Nza2trW1tbPz8+urq7t7e3j4+PT09PCwsJMTEzr6+vo6Ojh4eHf39/Ly8u/v7+5ubmqqqqamprr6+vR0dGnp6daWlrY2NjGxsaAgIArKyvp6em1tbXv7+8lBY1eAAAAPnRSTlMAPQI5EicFOwgLFzUeMiQsGw6LcHov+tl1ayHhfnJhWubNx7+ziPbdup9R8evW0ayblIV387aCVsKjZ0fujx+LC04AAAL3SURBVFjDrZjXcuJAFAXdGgkJZXIwYGywCc457c7/f9bKwFIEoxkJ9TPVdUo6dy6jEw0qlZNiiKJiPBUoFxMIrCI8ZSgmkkW1WkQkB26G4BQQ6FLKJ8ICAg2lnGCXjhSFPMmEHt2jA01kwu2xkUJ6ckEd/xhPyaa1FJ0jjCNE3STQijb+UYHu5IqLYyL5PMs1feK8HkNwLteM8Izcgdpygxpu7kAXm6LXvJFi+nKLDm7OQB/bonuCPCKXmtyhg5kjkMd0V/RJo4hACYPMkYyyx3hfNKNRNrQVpm95sAy0HwkCyzedVJ2TKAKWDP7KX6mescAOrNh09qfTjK2GzYKz3mx02pQHaU5GD/X/ukYYm6XVHo3DhmDB+/PDtJUodLhqTR/b7ywQia5yYtrAvP84vr2SmXm5HT/W5oBtJpFs6k15BM06orLYyYL2S37PdR9RXr0tj85NXs9NB89Zv7SAwTCfZzggKG28/gbvp3k8p3Mapa0+R3xPsntuv4mMncmw4Dyr5wKs/VkJYZTNU4Xu72c91Ywe/9AhzaW+5xLcw4cZT7qeN+yUQ8606emOReJJoSKoX2mMRftnLFIpC/rqPIuxUOB4zNTPORkLJSY1legMR2tTP6pEz1pbyVIXfKb1H9dDeaKcE6k9Jebqkx/b0HjWdalkQFkp6vKpM6+uUtTgTi16xVKufhuNETnFU98XB1IDUFXb1Tvc2pjKOr7qiGb4yjrur6VWK3slSyB3uP+Cr/vdfw+IjKM/7kAQQGe8cwAoKunzIDeY1iAwE38AtenWkaSoZLR5axj1wVv93vWg/7GRVHHvFlyv12gbhGusm+oKaK+X8YQg/S58JpfcPYOIja3SxwLqqwFqplfS5W35wusgfGNvfnwBvWUZaqmVDLn/maQe2N3Sr/Xo2vD2U7WH1EoGtOTwaa35VRUClzfyIq2SBvypAqGT+iAtoHqdVskKHcBaaFSqedpOigGrrPV1KgLclNGPlJp1+ojwsCjTd0JzS/QPzjyulaV+8pQAAAAASUVORK5CYII=)}}.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAilBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyoEd/G7AAAALXRSTlMA+fUzFQ/vioT9vJE9tqNmLRsL2KuYe005JiID6ebhoJtxbF/qzMSxWx9FQgn3q32nAAABYUlEQVRIx5XV2XKDMAwFUJt9h5BAyL5vbe///14zNMShWNg+T8wgwSAZiRGShJmJUrN4G7CNEm7AzCS+ABAuDBJmeMr04xchnvhSO2GHVqUbv+Ro8YlmQoUXXy9+wrsEy9FKiPEW6MQ7lkjwXKbm40Ot9wJh/aNMCNBzVDz+++ihZ5Mn8lK5TR5Ha0htojhvxOeX9slPt1Dapv7JLhnzQxgIfbbaw0C1EnVREp0/QNOBvZw4NPA7e5tbULLmvbnlQcFrWI+9xqhNMfgvR3s3fUh+tClIF0d6nK4gRC41UAkPJpeDMCfnF4EaN+RXX+XxLt3klTThCwRqudQgUKMgBYFaFR5IU+kWwafzGZ9kR+MOwavLsvYUrYtFFQO3LXNgjY7xSxcev9/vxLw7fsP48u8erya9M7/nVOuSdk5ly0EtsnbSFUwQs2ZWSLf8DUAu2eWpzQh2hB37L2vYiGTfXf0Cn7ynb0Flqc0AAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAApVBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uypACjwZAAAANnRSTlMA+/T4lygF8CQaCQPp39ShckQv2s63pz0RDe7lw6yPgX14aGJcTjMXyZxsILyyVFFJQIiFOYkbrXkuAAACJ0lEQVRYw62Y55KCMBSFQxMRxEKx17XvWrad93+03UFHRTC5Sfx+M9/AwD0nF0ag02GvIUle41kBq5eI9sDoFZ42AMNh+qT4p6HvcQz8Y7xrixrIsHU9VQMZlqcpsnFhrOfxLFww11qiMa5MdDxrE1fcnoboC3fM1D1dE3cENWXRBDl2qp6eixyDiqJohgfe1Dy1AA9EvpKoiQILpRsaoECoIpqjhKW8p1JHCRt50RtKacneTztCKUOnQlU4h8koMvAUK0ynx6rPTcPlLI0tkDDjxuxUDHKv1dxuTEhjbrbNlncp9p097EOL/tDeddjSwguwlox9utDG/cwOCQE0CdqXMq1Di3r1+tJCaBB7d+G8gTLDbi4zEiiyrz1MRgolGoXR820oMOaUjwhCZ+4gh/G0VRaG1Fgc2VNOptRYcPghB0GwEhyGB+SxEPAegUDoMSEtEKiqNLVqUY5A4JsgIoXTh9izptWHLxQdQaItFP2CxFwoGhJzSOTxidMWifdFIl3hOY3ISbjncaHvOBEytD/JHj3XfPnRj2OU4HBFUxQID4wdQkBun0gKSbjIHsFfFGZ5yxU9RPZgXrlW8XwgsQVU8/nezPV6rRnkWo23mi5ww50WruxNXeLZ3b4FznfpDHS/brM45YhinLHG66fBN7ZwJuFsVsb56W2PW1jb82V9zs+0TNMQdo2TZiqH20QjhxFo77mf5AjJihH5+eD8Cko7TIJWTvQHI0vKWTT1X7EAAAAASUVORK5CYII=)}}.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAIKUlEQVRoBcVZb1BUVRQ/d/8CIoIIrNJAhbkCRf79wExhmeIgqahBHxSdiWxsnAlNPzWjSTOV4+hoo31w1LJsmik/9EGnGRjFELOc0XAIWTUNAQnjnyCEC7v7br/zhA3Wfcsj39Zl7u7j3vvOPb97/t1zliiMTVbOXADyk8K4BZnCRVyefTKCfOYy0E9FD9s+YSNMnsiFYPsFMB+FHjYphAWAvPBEJAnT22QV5tLS0kwAcIRLCmEBQH2xL5KgPBpQaNOmTW/GxsYmAMBEdMOb4QDkzpcsRHIrmfGHlpiYOHf79u3z8DjFcO5B0HAA9EJbtqr7ilT5jYiIsObm5ubFxcVNxUC00SDUUzKKqLw010oPPGVkN80j70MAfyWtJ6hQMoDUnz59uhl79Ri1H9MxVgI97tkkRCENKn4epZRksVjs+fn5yyIjI9mYI/2TBjwYC0Chd8ksIujh4fvZ8/l85HA4srdu3ZqFwST/hAEPhgGQVc/PJrPMpX8O388eA4iOjo5cuXLlUqvVmogJjg2GNENsQO6EKibHvwfdX0Ce0cfvnlaiMqooCk2cODFZCFF7/vz5FgzeNwKBMRJYMGMGXGcx+32txgCioqKiV69enQdbYI8UobV2POPGAPBaSslqmhSo+4GMsCqlpKQsWL9+vRNzhsSFxwYgK51ORN2CYLofCMDr9bIaxRYXFy/FHNuCLXDNeP9/bADksxSTTTjIN1r3tRgZHByktLS03A0bNqRjTbzWOr3jCPvja7L6uTjyDCaCcb7fpENt3go03FAU2RZiYmImr1mzZsnhw4drsdaH7kYfRPcM/Y8vfU1oLZNn+U7TG0tu90z4mAwyKTOJxNPoyTDYZKjNVLJBgBy0Qhx+97wfH9nCZFIF33/u3Lkj+/bt+6G2trarp6fH7fF4+rH4AToDGv4ewDODDLqLUE900BtD0pRIUk5DJHWSIp8Dg3wNTgXDuBrLCLIIgSAFUqDDzobvOkFJYm5ECwaAp81mM7FRwy76oFYMoKmjo6Ph9u3bjU1NTa0NDQ1dFy9e7Kyrq7uH5X3oDIrBcGdJcfcKWZFejLv7zocnOhTmVQYxPXQhw5MuZtV1AR9aAHgZYoK/s1QYFH/39/f7BgYGOt1udweeO7q7u1uam5ubXC7X7TNnzrRWV1d34HVWuUYhT86NIrv7fbLIbSSFaRTTvMtjtlAAtEgziJGAWFJQL4mxgStXrpxYvnz5ZwDVgPebVRvAfUtQeSZ8Oe3Gk1WvR9FiYOT4vwEw8n1+Zsmw8YP5L9euXfv5nTt3rmH4Ls+pXgiShDZf3S8rMh5Az/eQSUQbLQne7N80lgRutB7Yw+dLliz5AjRuorcN0xoVB0Ru/SGc/htQ+HvIZ4fX/G/fNpuNDX2goqJiH5g/Akauo/uZZ8ZGAeABgDgBj7QOCcldeB4e+l8aM9/X19d66tSpjwoLC78GE3zynYHMPAKAF4hFdafwVQR3+TuibOA7Yf8f2Rv19vY27969e8e6deu+w4ZssOxOH2lBAfAqsai+mnzidRqUrv8ShN1up66urub9+/d/sHfv3p/Byu/omldvTQAqiNy6SySUAtjFRbKHXxJ88nCPt3bt2rUD/SfwwGrzF/Oi1UIC4JfEoms34AZeJ49SFU7DZp1va2u7VlZWtvPAgQPM/G/oHH1DtjEB8NviFVcjmXyvkZdOws3quECE3PORSaSZHH1b9+zZ8/GhQ4eY+VvoHGnHbLoAMBXx8o0OgNgLdfIi2BnaOFDB47QfO3aMjZXTTa/eDXQDUAl6zXPVSG2wDDjRgf5PWbZsmQP7jCvhHx8AQbPC4ZH4roN8OXHWrFnTwgZAns2MhjHP0HOF1iv+4XVc/EKib3E6nU9hjMuPupVUvwQeUAridqqaWgzvbOA3q1FqaqoTBs0AdOfK+gHYAMAikoy8qY7EzwASEhLS4+PjuQxvHzkX6lk/AIWy4EJ1izbUpsHm+LoMQ07Kzs7mcovumpEuAGq+IGT2cMU5GANaYxyg+HrA2ddYDe7UhsLX81inuwCsCwCdyI6AWc3WU/vxM8n8Ioe+fPny8fb29noGgCq1JhA2ZOi/afr06c4hAGMjxkJ9AGI64X1kErqfv5APD2+wXvIpP+Xk5Hy4atWqLeXl5btwz7mBBEWyRII1Tl4mT56cCo8Uh3ldhqwPgMk8H0cXmuDQifOp4wb7I8CW0D3Xi2DkOqRwuaio6DjSwW1VVVUHOJ/l60OgRDgeoIrtwG8JU/GeLjXSCUDMRw0IuV2wc8MYZ28MwCd/gZ0UU78vTyx2fSmK/E6XE5HrYP4Cou1hAClFTejg/fv37zAIBsONAeD0HVlZWRyRJ6iDY3yMWZmT32bacJrPBGWeT1tlnK4ihz5K/coRseJ6r8aeXJxiIN2VlZWd6I0FBQU/bN68OT8jIyNvwoQJjqGIbEXpEcUzFQBT1zo2TOmIePL7Z9PIqlRCNVL8MYBTTSbtkTcB7iD839cip6Zdpaj/g4+da6NJK1aseAa/3uQjEufjV82Empqa7+fMmbMDc7+ih7yVMhshmyxPz0Hp/AxOmF0IPAuW+6gRHukrsiufihxXa0gCY0+ybbHKTNm4cWN6SUlJIQw5Dcb/TktLyyWMa0lUpTw2gNOZmyhSHFRPf0D5A1W8oxDqEbH4apNKwbgPDl6qRLZs2TIbZZSOC2gYCylZHQAyjpPF9Cp5lW9QrfhELK5zGcdzUEp8nWYvxFL5E53TSs0W0oiHDPgujHOhWFpfo0nF2AmuUHNGxvUflggfsqYh/w0Dks+ZwQ7q7wAAAABJRU5ErkJggg==)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAJmUlEQVR4AeVcfUxW1xk/5wUjdBQESxdcxdExpSioLUQGo1IRSjNmjN1H3Wg2t8nWlWUjzRhrl7GMZFqzYGpMOs2M/uHHMlejCzpaa9Rtjm6tc5sC2rEVFG2sHco3KLx3v9/1Xnx5+bof73vv1T7J855z7j0fz/nxnI/nnOcihIdIeTM9H+LEekgk4fOSMEIRL0KeZC/J5BmAlNfTHgMwJeB48Me8ApJnABIRvpoAUB4KiLsa9QRASsPCxRhenw9A4kHEPaFFngAIM2G1Ds7BgwdXaXFPaJHrACmvZ6QJqXxBB2jZsmVf1eLUoij9uVuh6wAJn//H6HykDkBUVFTS/v37OVmTXNciVwHC3JMqhPKV21jc+c3JyXlGS30c4Yw7b5yPuQqQiFBeQJdHtUfvfkxMzMO7d+9+AmnK56oWuQaQ8saCOej8Oh2U4DA/P1/XIuZzTYtcA0jIyB+i4zODgdHTsbGxj+zcuZOmB2VM0p87HboCkPLmIswtyvrpOgstelrL8wmErsjqSqNCjFSiw9NuBGfPnv3o1q1bc5CX85Qrc5HjACn1GfFCkRXosCEqLi5eo2V0RYscB0hEjfwAHZ5We3T0EhMTc6BF2UhTixyfixwFSPnzgvuhPd/XO280XLFihW6ncUVzVGZHGxMDkc9jco4zCoyeLykpqWDz5s08DqHpkag/dyJ0DCDlLw9FAxxOzpYIWlSsFeSBmmNyO9aQ6I97Dh2jAWqJkpOTn9q4cWMmCjuqRY4ApGqPopoVlsDRCxUWFtL8IHFFc4QcAUj0xn4NveEEa4tSU1Of1rSIq2CCrcoMFg47QMo7j83AjPEjg/JMm2358uXcOJLm3g7C+xt2gMT1gWdxnPrJUHUjLS2trKqqCsck6vVQ2LUobABRc9SzZnHnODVUIJWWlj6u1UUt4nALWz+kXaHVIfS/m58SEf5FWMYzoC0LUSdXmxTwuLOe6dq7kXVquizq+w0bNnxj06ZNrQGZ+xAnD4B7wf3gm2A/2DKZAkg9AfSJdCHBiliMs+QFaDkdPOmxhVnJjALEek+ePPnLI0eOnNm+ffulSdohOASMwBE0xgncINgQTQiQepjl86HjvkzgjxCaIVXNoDqHlcwApAuiKMqtvr6+Sz09PRevXr3a2tbW9l5jY2PbNMARMF3jCFwP+JZepx5K9T5ckYsBAofGIhUIRb3d1PM4GloBaDIB/X7/AIHr6upqv3z58rutra3tp06dat+3b9/7k5QZxnNqmA5cj1TeWLgKQ+W3eBiyYTJJ44YehxKgyRocHh7u7e/vv9TZ2fkfaFx7S0tL67Fjx9rr6+s/DCjD4dmiDjHl6KICaNBBsGlDMqDCkESdAGgiQTlMDx069LN169b9Ce+pSU3gbnV5lEXnTgj/SCEefAD+yBE0qnvv3r3VAeD8CyB0E4jR/YN88vxp4Y9YjjmojS8+KjQ0NPThjh07XqyoqHgbfebqdgbMOUilUYCYkk+ePQ9NysMSTvW652lwcPD9urq6qurqamoMQfkHeMwWYAxAREQWX7gibkbkA6S/MX2v0sDAwMX169c/r202OZzOgsct8+MAIiCy9Ox1EdNdgGgD0/cadXd3txQVFZVrq9Z19G9CcNjvCQHiC5nbMSDio1fhDPk3TN8rdO3atbfmzZv37aamJu53uCg1gyc1RyYFiIDIrNO3xI2mMkR/xfTdTjRN5s+fX6X1owPhBfCk4DDflAAxg/ySGJFFzc9hdfs503crEZzVq1f/XpO/HeF7RvoyLUB6JXJlM3wI5ff09N0UHj9+/OUAcN6F7BeNym8YIFYoi5q2YnV7FlHuNO8KamhoqF2zZs1hCMuhxO3LVTOCmwKIFcvi5t0YmPQj5L7Bs0TTAf6OL61du/YohFTtKoSdZgU2DRAbkIXNfxDSX4R5iUuk50gzHV4KMB24ATQNDjtmCSAWlCvPN4ph+QSiV5j2ClFzNNPhLcg0znQwK6dlgNiQLGn6pxj25yH6b7MNhyv/iRMn6qYyHcy2awsgNiafOt+G86Tvmm04XPkxKdOuInEDOM50UN+Y+LEN0O22cDTrEcrKytLvy+4LhUihAUhRckMhTCjqwL1ZmlZPSA7/QgOQFHRN8QTNmTNH1+aQXDDYBkh1yAzhzaldlOPj4x/R6qAG2e6f7QpwwOaZ4UVgfD5ftHY1zb7BJ8ke2QdI+HLsiRD60rm5uelarTF2a7cPkPTOBK2DkZKSwjs+0qzbgfVfWwDhNi0CTS+13nx4SsIzVgco1m4LtgASsQvhsGDcpdeusEbLR0dHJ2t56a5n6zsPewD5lM8YFdrpfJqHPpu9307b9gCS0rMAZWZmhmSitgeQCL0GwUODJ362KWDDaGsesgyQ6jUvxKdt9ySoArj7fmvLli3fgSfGa0GvTCXj4uLmawVcGmKDvmWmJDaW+Qyy9dXU1DRnZ2e/sm3btgr4+tQbKzo2V2RkZEx5eTkNV3q5WTY7LGsQ9qyhm3941S3lF3F78ig683cwz477eK6zdOnSTbt27ars6Ojg0akpKikp0e0yyxtG6wCFwoKnowQvAW40L5Yrm34X0PtOxAkU56PBysrK0xkZGbV79ux5Af48dE8xRAEbRsvDTPUPMtRaUCZ4pnWic/w/G1boCsrWioToHerl5NQ18I+YCH4YrDqFcgmHdjzDD+6mKtrb2/vfuXPnfh15eMFAwE2TJYBUZ84Ixcox6wcYSi+L+7peVa+2zYlLoJLA3ASqQPGb1oKCgi/PmjVLH0pjauT5dEJCAv2eSDyjNn3CaG2I+RSTBqrsAjA/FdEjqRhKdRbAYQd5dXMZ/Fcwb0aHeWuBYVRx+PDhmom2B1LKGdpnVMhubcNoDSAp8tiiAerD1dAvxJAvBcDUys9eoCepXSJQF8HvgHm/7i8rKzvO7QEvCenWgmejtGTJEt0uszRRWxtiR9M5nqcyUoeEkK9CazbKledM3WSO9sx4hLbWPDCHn0oHDhz4HI48vjlz5swH6M2hOSzwDu+clsVwYBog9dOmvthutKDOA0Et8Ur610IZqVUdsYJehjlJw5RAPai3w/8kk5eXVw7rvhTPKFuj/s5oaB4g/p8xRfwxqAE0LveKEVGLu7LWoHdOJ8cAhe86HoDZEa05lb8NYXiZaJgm0oJpCstsuAsH5nkNzp8/Uf0bA5+6FycAF8Ccn1LgRRYoCc+pwwzQnQ1ig/D7AQy8Y71J3PtwzokFc2vAPRs3jKbmRPMapMhbwqc8Dn8hwztaCOUmcb4kUAkam5Ll/3eOxdjOBHY1AAAAAElFTkSuQmCC)}}.cube-validator .cube-checkbox,.cube-validator .cube-input input,.cube-validator .cube-radio,.cube-validator .cube-select,.cube-validator .cube-textarea{color:inherit}.cube-validator-msg-def{font-size:14px;color:#e64340}.cube-upload{position:relative}.cube-upload-def{margin-right:-10px}.cube-upload-def .cube-upload-btn,.cube-upload-def .cube-upload-file{float:left;margin:0 10px 10px 0}.cube-upload-btn{position:relative;overflow:hidden}.cube-upload-btn:active .cube-upload-btn-def{background-color:rgba(0,0,0,.04)}.cube-upload-input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;font-size:0;opacity:0}.cube-upload-btn-def{width:80px;height:80px;box-sizing:border-box;background-color:#fff;box-shadow:0 0 6px 2px rgba(0,0,0,.08);border-radius:2px;position:relative}.cube-upload-btn-def:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e5e5e5;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-upload-btn-def:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-upload-btn-def:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-upload-btn-def>i:after,.cube-upload-btn-def>i:before{content:\"\";position:absolute;top:50%;left:50%;width:20px;height:2px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#666}.cube-upload-btn-def>i:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.cube-upload-file{position:relative}.cube-upload-file-def{position:relative;width:80px;height:80px;box-sizing:border-box;background:#fff no-repeat 50%;background-size:cover;border-radius:2px}.cube-upload-file-def>.cubeic-wrong{position:absolute;z-index:2;top:-2px;right:-2px;color:rgba(0,0,0,.8);font-size:16px;background-color:#fff;border-radius:50%}.cube-upload-file-def>.cubeic-wrong:before{display:inline-block;-webkit-transform:scale(1.625);transform:scale(1.625);-webkit-transform-origin:center;transform-origin:center}.cube-upload-file-state{position:relative;width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden;opacity:0;background-color:rgba(37,38,45,.4);border-radius:2px;-webkit-transition:opacity .1s;transition:opacity .1s}.cube-upload-file-state:before{content:\".\";position:relative;left:-50%;display:block;width:1px;height:1px;margin-left:-1px;background-color:rgba(0,0,0,.1)}.cube-upload-file_stat{opacity:1}.cube-upload-file-status{position:relative;z-index:1;font-size:30px;display:none}.cube-upload-file-status.cubeic-right{display:block;color:#fc9153}.cube-upload-file-status.cubeic-warn{display:block;color:#f43530}.cube-upload-file-status.cubeic-right:after,.cube-upload-file-status.cubeic-warn:after{content:\"\";z-index:-1;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:.56em;height:.56em;border-radius:50%;background-color:#fff}.cube-upload-file-status.cubeic-right+.cube-upload-file-progress,.cube-upload-file-status.cubeic-warn+.cube-upload-file-progress{display:none}.cube-upload-file-progress{color:#fff;font-size:20px}.cube-form{position:relative;font-size:16px;line-height:1.429;color:#666;background-color:#fff}.cube-form_groups .cube-form-group-legend{padding:10px 15px}.cube-form_groups .cube-form-group-legend:empty{padding-top:5px;padding-bottom:5px}.cube-form_standard .cube-form-item{min-height:46px}.cube-form_standard .cube-form-field{-webkit-box-flex:1;-webkit-flex:1;flex:1;font-size:14px}.cube-form_standard .cube-validator{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:relative}.cube-form_standard .cube-validator_invalid{color:#e64340}.cube-form_standard .cube-validator-content{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-form_standard .cube-validator-msg-def{font-size:0}.cube-form_standard .cube-validator_invalid .cube-validator-msg:before{content:\"\\E614\";padding-left:5px;font-family:cube-icon!important;font-size:20px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cube-form_standard .cube-form-label{width:100px;padding-right:10px}.cube-form_standard .cube-checkbox-group:after,.cube-form_standard .cube-checkbox-group:before,.cube-form_standard .cube-radio-group:after,.cube-form_standard .cube-radio-group:before{display:none}.cube-form_standard .cube-input input{padding:13px 0;background-color:transparent}.cube-form_standard .cube-input:after{display:none}.cube-form_standard .cube-textarea-wrapper{padding:13px 0;height:20px}.cube-form_standard .cube-textarea-wrapper.cube-textarea_expanded{height:60px;padding-bottom:20px}.cube-form_standard .cube-textarea-wrapper.cube-textarea_expanded .cube-textarea-indicator{bottom:2px}.cube-form_standard .cube-textarea-wrapper .cube-textarea{padding:0;background-color:transparent}.cube-form_standard .cube-textarea-wrapper:after{display:none}.cube-form_standard .cube-select{padding-left:0;background-color:transparent}.cube-form_standard .cube-select:after{display:none}.cube-form_standard .cube-upload-def{padding:5px 0}.cube-form_standard .cube-upload-def .cube-upload-btn,.cube-form_standard .cube-upload-def .cube-upload-file{margin:5px 10px 5px 0}.cube-form_classic .cube-form-item{display:block;padding:15px}.cube-form_classic .cube-form-item:last-child{padding-bottom:30px}.cube-form_classic .cube-form-item:after{display:none}.cube-form_classic .cube-form-item .cube-validator-msg{position:absolute;margin-top:3px}.cube-form_classic .cube-form-item .cube-validator-msg:before{display:none}.cube-form_classic .cube-form-item .cube-validator-msg-def{font-size:12px}.cube-form_classic .cube-form-item_btn{padding-top:0;padding-bottom:0}.cube-form_classic .cube-form-item_btn:last-child{padding-bottom:0}.cube-form_classic .cube-form-label{padding-bottom:15px}.cube-form_fresh .cube-form-item{display:block;padding:2em 15px 10px}.cube-form_fresh .cube-form-item:after{display:none}.cube-form_fresh .cube-form-item .cube-validator-msg{position:absolute;top:1em;right:15px;bottom:auto;margin-top:-.4em;font-size:12px}.cube-form_fresh .cube-form-item .cube-validator-msg:before{display:none}.cube-form_fresh .cube-form-item .cube-validator-msg-def{font-size:100%}.cube-form_fresh .cube-form-item_btn{padding-top:0;padding-bottom:0}.cube-form_fresh .cube-form-item_btn:last-child{padding-bottom:0}.cube-form_fresh .cube-form-label{position:absolute;top:1em;margin-top:-.4em;font-size:12px}.cube-form-group{overflow:hidden}.cube-form-group-legend{font-size:14px;color:#999;background-color:#f3f4f5}.cube-form-item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 15px}.cube-form-item:last-child:after{display:none}.cube-form-item .cube-checkbox-group,.cube-form-item .cube-radio-group{background-color:transparent}.cube-form-item .cube-checkbox,.cube-form-item .cube-radio{padding-left:0;padding-right:0}.cube-form-item_btn{margin:15px 0}.cube-form-item_btn:after{display:none}.cube-form-label{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;word-wrap:break-word;word-break:break-word}.cube-form-item_required .cube-form-label:before{content:\"*\";display:block;margin-top:1px;margin-right:.3em;color:#e64340}.cube-toast.cube-popup{z-index:900}.cube-toast .cube-popup-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:13px 16px;color:#ccc;background-color:rgba(37,38,45,.9);border-radius:2px}.cube-toast-icon{width:24px;height:24px;font-size:24px}.cube-toast-tip{line-height:20px;font-size:14px;max-width:12em;max-height:40px;overflow:hidden}.cube-loading~.cube-toast-tip,.cube-toast-icon~.cube-toast-tip{margin-left:8px}.cube-toast-fade-enter-active{-webkit-animation:toast-in .2s;animation:toast-in .2s}.cube-toast-fade-leave-active{-webkit-animation:toast-out .2s;animation:toast-out .2s}@-webkit-keyframes toast-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes toast-out{0%{opacity:1}to{opacity:0}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.cube-dialog-main{width:270px;padding:0;text-align:center;overflow:hidden;border-radius:2px;background-color:#fff}.cube-dialog-alert,.cube-dialog-confirm{position:relative;overflow:hidden}.cube-dialog-icon{margin-top:20px;margin-bottom:16px;line-height:1;color:#4a4c5b;font-size:30px}.cube-dialog-icon i{display:inline-block;width:30px;height:30px;padding:10px;box-sizing:content-box;border-radius:50%;background-color:#f3f4f5}.cube-dialog-icon+.cube-dialog-title .cube-dialog-title-def{margin-top:0}.cube-dialog-icon+.cube-dialog-content{margin-top:-4px}.cube-dialog-title{color:#333;font-size:16px;line-height:1}.cube-dialog-title+.cube-dialog-content{margin-top:12px}.cube-dialog-title-def{margin:30px 16px 0;overflow:hidden;white-space:nowrap}.cube-dialog-content{margin:16px 0;text-align:left;color:#666;font-size:14px;line-height:22px}.cube-dialog-content-def{padding:0 16px}.cube-dialog-content-def>p{display:table;margin:auto}.cube-dialog-content-def>p+.cube-input{margin-top:12px}.cube-dialog-confirm .cube-dialog-btns .cube-dialog-btn,.cube-dialog-prompt .cube-dialog-btns .cube-dialog-btn{width:50%;float:left}.cube-dialog-confirm .cube-dialog-btns.border-right-1px:after,.cube-dialog-prompt .cube-dialog-btns.border-right-1px:after{right:50%;border-color:#ebebeb}.cube-dialog-close{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;z-index:1;position:absolute;top:0;right:0;width:32px;height:32px;color:#999;font-size:18px}.cube-dialog-btns{overflow:hidden;width:100%;font-size:0}.cube-dialog-btn{display:inline-block;width:100%;padding:17px 10px;margin:0;font-size:16px;line-height:1;text-align:center;text-decoration:none;color:#999;background-color:#fff;background-clip:padding-box;box-sizing:border-box}.cube-dialog-btn:active{background-color:rgba(0,0,0,.04)}.cube-dialog-btn_highlight{color:#fc9153}.cube-dialog-btn_highlight:active{background-color:rgba(252,145,83,.04)}.cube-dialog-btn_disabled{color:#999}.cube-dialog-btn_disabled:active{background-color:transparent}.cube-dialog-fade-enter-active{-webkit-animation:dialog-fadein .4s;animation:dialog-fadein .4s}.cube-dialog-fade-enter-active .cube-dialog-main{-webkit-animation:dialog-zoom .4s;animation:dialog-zoom .4s}@-webkit-keyframes dialog-fadein{0%{opacity:0}to{opacity:1}}@keyframes dialog-fadein{0%{opacity:0}to{opacity:1}}@-webkit-keyframes dialog-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes dialog-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}.cube-action-sheet-fade-enter,.cube-action-sheet-fade-leave-active{opacity:0}.cube-action-sheet-fade-enter-active,.cube-action-sheet-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-action-sheet-panel{text-align:center;font-size:14px;background-color:#fff}.cube-action-sheet-move-enter,.cube-action-sheet-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-action-sheet-move-enter-active,.cube-action-sheet-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-action-sheet-cancel{background-color:#fff}.cube-action-sheet-cancel span,.cube-action-sheet-item,.cube-action-sheet-title{display:block;padding:17px 16px;margin:0;text-align:center;overflow:hidden;white-space:nowrap;font-size:16px;font-weight:400;line-height:1;color:#666;background-color:#fff}.cube-action-sheet-cancel span:active,.cube-action-sheet-item:active{background-color:rgba(0,0,0,.04)}.cube-action-sheet-title{padding-top:16px;padding-bottom:16px;color:#333;font-size:18px}.cube-action-sheet-content{overflow:hidden;background:#fff}.cube-action-sheet-list{list-style:none}.cube-action-sheet-item{list-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cube-action-sheet-item:last-of-type:after,.cube-action-sheet-item:last-of-type:before{display:none}.cube-action-sheet-item[data-align=left]{text-align:left}.cube-action-sheet-item[data-align=right]{text-align:right}.cube-action-sheet-space{height:6px;background-color:rgba(37,38,45,.4)}.cube-action-sheet-item_active{color:#fc9153}.cube-action-sheet_picker .cube-action-sheet-space{height:0}.cube-action-sheet_picker .cube-action-sheet-title{height:1em;padding-top:21px;padding-bottom:21px}.cube-action-sheet_picker .cube-action-sheet-cancel{position:absolute;top:0;background-color:transparent}.cube-action-sheet_picker .cube-action-sheet-cancel span{padding-top:23px;padding-bottom:23px;color:#999;font-size:14px;background-color:transparent}.cube-action-sheet_picker .cube-action-sheet-cancel span:active{color:#ccc;background-color:transparent}.cube-drawer{z-index:5;right:0;left:0;color:#333}.cube-drawer,.cube-drawer-main{position:absolute;top:0;bottom:0;overflow:hidden}.cube-drawer-main{left:100%;max-width:90%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;box-shadow:-2px 0 2px rgba(0,0,0,.2)}.cube-drawer-title{position:relative;padding:0 20px;height:50px;line-height:50px;border-bottom:1px solid #eee;font-size:16px;background-color:#fff}.cube-drawer-panels{display:-webkit-box;display:-webkit-flex;display:flex}.cube-drawer-panel,.cube-drawer-panels{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-drawer-panel{position:relative;z-index:1;width:170px;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.cube-drawer-panel+.cube-drawer-panel{margin-left:-67px}.cube-drawer-panel:first-child{box-shadow:none}.cube-drawer-scroll-wrapper{position:absolute;top:0;left:0;width:100%;height:100%}.cube-drawer-move-enter,.cube-drawer-move-leave-to{-webkit-transform:translate(67px);transform:translate(67px)}.cube-drawer-move-enter-active,.cube-drawer-move-leave-active{-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-drawer-item{padding:0 20px;height:50px;line-height:50px;white-space:nowrap;overflow:hidden;font-size:15px}.cube-drawer-item:after{left:20px}.cube-drawer-item:last-child:after{display:none}.cube-drawer-item:first-child:after{display:block}.cube-drawer-item_active{background:rgba(0,0,0,.04)}.cube-image-preview-fade-enter,.cube-image-preview-fade-leave-active{opacity:0}.cube-image-preview-fade-enter-active,.cube-image-preview-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-image-preview .cube-popup-mask{opacity:.6}.cube-image-preview .cube-popup-content{width:100%;height:100%}.cube-image-preview .cube-slide-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden}.cube-image-preview-container{height:100%;margin:0 -10px}.cube-image-preview-footer,.cube-image-preview-header{position:absolute;left:0;right:0}.cube-image-preview-header{top:0}.cube-image-preview-footer{bottom:0}.cube-image-preview-counter{position:absolute;bottom:50px;width:100%;text-align:center;font-size:14px;color:#fff}.cube-image-preview-item{position:relative;padding:0 10px;width:100%;height:100%}.cube-image-preview-item .cube-scroll-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-image-preview-item .cube-image-preview-img{display:block;height:auto;max-width:100%;max-height:100%}.cube-slide{min-height:1px}.cube-slide,.cube-slide-group{position:relative;height:100%;overflow:hidden}.cube-slide-group{white-space:nowrap;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.cube-slide-dots{position:absolute;bottom:2px;right:0;left:0;padding:0 6px;font-size:0;text-align:center;-webkit-transform:translateZ(1px);transform:translateZ(1px)}.cube-slide-dots>span{display:inline-block;vertical-align:bottom;margin:0 1px;width:10px;height:1px;background:#ccc}.cube-slide-dots>span.active{background:#fc9153}.cube-slide-item{float:left;box-sizing:border-box;height:100%;width:100%}.cube-slide-item>a{overflow:hidden;text-decoration:none}.cube-slide-item>a,.cube-slide-item>a>img{display:block;height:100%}.cube-index-list{position:relative;height:100%;overflow:hidden}.cube-index-list .cube-scroll-wrapper{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}.cube-index-list-content{background:#fff;border-radius:2px}.cube-index-list-title{padding:14px 16px;font-size:14px;line-height:1.6;color:#333}.cube-index-list-anchor{padding:16px 16px 10px;line-height:1;font-size:14px;color:#999;background:#f7f7f7}.cube-index-list-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-index-list-nav{position:absolute;z-index:30;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-family:Helvetica}.cube-index-list-nav>ul{padding:0;margin:0}.cube-index-list-nav>ul>li{padding:6px 16px 0;line-height:1;text-align:center;font-size:12px;color:#666}.cube-index-list-nav>ul>li.active{color:#fc9153}@media (max-height:480px){.cube-index-list-nav>ul>li{padding-top:3px}}.cube-index-list-item-def{position:relative;height:50px;line-height:50px;padding:0 16px;font-size:14px;color:#333}.cube-index-list-item-def:last-child:after,.cube-index-list-item-def:last-child:before{display:none}.cube-index-list-item_active{background:rgba(0,0,0,.04)}.cube-swipe{overflow:hidden}.cube-swipe-enter-active,.cube-swipe-enter-active .cube-swipe-item-inner,.cube-swipe-leave-active,.cube-swipe-leave-active .cube-swipe-item-inner{-webkit-transition:all .3s;transition:all .3s}.cube-swipe-enter .cube-swipe-item-inner,.cube-swipe-leave-to .cube-swipe-item-inner{height:0}.cube-swipe-item{position:relative}.cube-swipe-item-inner{height:60px;line-height:60px;font-size:16px;padding-left:20px}.cube-swipe-btn{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;top:0;left:100%;height:100%;text-align:left;font-size:16px}.cube-swipe-btn .text{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:0 20px;white-space:nowrap;color:#fff}.cube-sticky{position:relative;height:100%;overflow:hidden}.cube-sticky-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-sticky-fixed-fade-enter,.cube-sticky-fixed-fade-leave-active{opacity:0}.cube-sticky-fixed-fade-enter-active,.cube-sticky-fixed-fade-leave-active{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.cube-scroll-nav,.cube-sticky-ele{position:relative}.cube-scroll-nav{height:100%;overflow:hidden}.cube-scroll-nav .cube-sticky-content{height:100%}.cube-scroll-nav-main{overflow:hidden}.cube-scroll-nav-main>.cube-sticky{position:static}.cube-scroll-nav_side>.cube-sticky{display:-webkit-box;display:-webkit-flex;display:flex}.cube-scroll-nav_side>.cube-sticky>.cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-scroll-nav_side>.cube-sticky>.cube-sticky-fixed{position:relative;height:100%;-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.cube-scroll-nav_side .cube-scroll-nav-main>.cube-sticky-ele{float:left}.cube-scroll-nav_side .cube-scroll-nav-main>.cube-sticky{overflow:hidden}.cube-scroll-nav-bar{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;color:#666;background-color:#fff}.cube-scroll-nav-bar_horizontal{-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-scroll-nav-bar_horizontal .cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}.cube-scroll-nav-bar_horizontal .cube-scroll-content{display:inline-block;vertical-align:top}.cube-scroll-nav-bar_horizontal .cube-scroll-nav-bar-items{white-space:nowrap}.cube-scroll-nav-bar_vertical{height:100%;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-scroll-nav-bar_vertical .cube-scroll-nav-bar-item{display:block}.cube-scroll-nav-bar-items{font-size:14px}.cube-scroll-nav-bar-item{display:inline-block;vertical-align:top;padding:20px 15px}.cube-scroll-nav-bar-item_active{color:#fc9153}.cube-recycle-list{position:relative;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.cube-recycle-list-main{min-height:100%}.cube-recycle-list-fake{height:1px}.cube-recycle-list-invisible{top:-1000px;visibility:hidden}.cube-recycle-list-item{width:100%;position:absolute;box-sizing:border-box}.cube-recycle-list-transition{position:absolute;opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:.5s;transition-duration:.5s}.cube-recycle-list-loading{overflow:hidden}.cube-recycle-list-loading-content{text-align:center}.cube-recycle-list-spinner{margin:10px auto;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}#app,body,html{height:100%}body{background-color:#fff;overflow:hidden}.cube-bar{z-index:10;position:absolute;right:0;left:0;height:44px;line-height:44px;text-align:center;background-color:#edf0f4;box-shadow:0 2px 1px #e9eaea;-webkit-backface-visibility:hidden;backface-visibility:hidden}.cube-bar h1{font-size:18px;font-weight:500}.cube-content{position:absolute;top:44px;left:0;right:0;bottom:0;overflow:scroll;-webkit-overflow-scrolling:touch}.cube-content .cube-list{padding-left:10px;z-index:1}.cube-content .cube-list .cube-index-list-group .cube-index-list-anchor{font-size:16px}.cube-content .cube-list .cube-index-list-group ul .cube-item{height:40px;line-height:40px;padding-left:16px}.cube-content .cube-list .cube-index-list-group ul .cube-item .link{display:block;position:relative;width:100%;color:#333;text-decoration:none;outline:0}.cube-content .cube-list .cube-index-list-group ul .cube-item .link .cubeic-arrow{position:absolute;right:0;padding:0 5px;color:#ccc}.cube-content .cube-list .cube-index-list-nav{margin-right:0;padding:8px 5px;border-radius:3px 0 0 3px;background:#f7f7f7;box-shadow:0 0 5px hsla(0,0%,50%,.278)}.cube-content .cube-list .cube-index-list-nav>ul>li{padding:8px 0}.cube-content .cube-list .cube-index-list-fixed{font-size:16px}.page-move-enter,.page-move-leave-active{-webkit-transform:translate(100%);transform:translate(100%)}.page-move-enter-active,.page-move-leave-active{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.cube-btn-group>button{margin:10px 0}.cube-btn-group.row>button{display:inline-block;width:auto;margin:10px 5px}.cube-btn-group.row>button:first-child{margin-left:0}.cube-btn-group.row>button:last-child{margin-right:0}.cube-page{position:absolute;z-index:10;top:0;left:0;width:100%;height:100%;background:#efeff4}.cube-page .header{position:relative;height:44px;line-height:44px;text-align:center;background-color:#edf0f4;box-shadow:0 1px 6px #ccc;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:5}.cube-page .header h1{font-size:16px;font-weight:700}.cube-page .header .cubeic-back{position:absolute;top:0;left:0;padding:0 15px;color:#fc9153}.cube-page>.wrapper{height:calc(100% - 44px);overflow-x:hidden;overflow-y:auto}.cube-page>.wrapper .desc{padding:10px;margin:10px 0;line-height:20px;font-size:14px}.cube-page>.wrapper .content{margin:10px}.cube-page.option-demo .wrapper{background-color:#fff}.cube-page.option-demo .title{font-size:16px;font-weight:500;color:#333;padding:15px;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:15px}.cube-page.option-demo .options{margin-bottom:15px}.cube-page.option-demo .option-list .group{margin-bottom:15px;border:1px solid rgba(0,0,0,.1);border-radius:5px}.cube-page.option-demo .option-list .item{height:52px;border-bottom:1px solid rgba(0,0,0,.1)}.cube-page.option-demo .option-list .item.sub{font-size:14px;background-color:rgba(0,0,0,.04)}.cube-page.option-demo .option-list .item.sub.first{box-shadow:inset 0 1px 1px 1px #eee}.cube-page.option-demo .option-list .item.sub.last{border-bottom:none}.cube-page.option-demo .demo{margin-bottom:15px}.cube-page.option-demo .methods .method-list .group{margin-bottom:15px;border:1px solid rgba(0,0,0,.1);border-radius:5px}.cube-page.option-demo .methods .method-list .item,.cube-page.option-demo .methods .method-list button{height:40px;font-size:16px}.cube-page.option-demo .methods .method-list .item{background-color:$color-active-light-gray;border-bottom:1px solid rgba(0,0,0,.1)}.cube-page.option-demo .methods .method-list button{width:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-color:#fc9153;box-shadow:0 0 0 1px #fc9153;border:none;outline:none;color:#fff}.checkbox-view .content>*{margin:10px 0}.checkbox-view .cube-checkbox{background-color:#fff}.checkbox-view .with-click .cube-checkbox-label a{position:relative;z-index:1}.checkbox-group-view .content>*,.radio-view .content>*{margin:10px 0}.radio-view img{width:100px}.switch-view .content>*{margin:10px 0}.switch-view .content .cube-switch{padding:10px;background-color:#fff}.tip-view .tip-eg{position:relative;width:300px;margin:70px auto;text-align:center}.tip-view .cube-btn{margin-bottom:10px}.popup-view .content>div{margin:10px 0}.cube-my-popup .cube-popup-center .cube-popup-content{padding:20px}.cube-my-popup .cube-popup-content{padding:80px 20px;color:#fff;background-color:rgba(0,0,0,.8)}.cube-extend-popup .cube-extend-popup-content{padding:20px;color:#fff;background-color:rgba(0,0,0,.8)}.cube-page.option-demo.input-view .wrapper{background-color:#efeff4}.cube-page.option-demo.input-view .wrapper .group{background-color:#fff}.cube-page.option-demo.input-view .wrapper .value{margin:15px 5px}.switch-option[data-v-4a2b2c8b]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;height:100%;padding:0 15px}.switch-option .name[data-v-4a2b2c8b]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.switch-option .switch-ellipse[data-v-4a2b2c8b]{-webkit-align-self:center;align-self:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;margin-top:5px;display:inline-block;position:relative;height:22px;width:36px;background-color:#fff;border-radius:1000px;border:2px solid rgba(0,0,0,.1);-webkit-transition:all .1s;transition:all .1s}.switch-option .switch-ellipse.active[data-v-4a2b2c8b]{background-color:#fc9153;border-color:transparent;-webkit-transition:all .2s ease .2s;transition:all .2s ease .2s}.switch-option .switch-ellipse .switch-circle[data-v-4a2b2c8b]{position:absolute;display:inline-block;height:20px;width:20px;background:#fff;border-radius:50%;border:1px solid rgba(0,0,0,.1);box-shadow:-1px 1px 1px #999;top:0;left:0;-webkit-transition:all .3s;transition:all .3s}.switch-option .switch-ellipse .switch-circle.active[data-v-4a2b2c8b]{left:14px;border:1px solid #fff;box-shadow:-1px 1px 1px #e8864c;-webkit-transition:all .3s ease .05s;transition:all .3s ease .05s}.textarea-wrapper{margin:30px 0}.component-desc{margin-top:15px;font-size:14px}.input-option[data-v-311953ea]{display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-transform:rotate(0deg);transform:rotate(0deg);overflow:hidden}.input-option .name[data-v-311953ea]{-webkit-box-flex:0;-webkit-flex:0 0 120px;flex:0 0 120px;padding-left:10px;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.input-option input[data-v-311953ea]{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;min-width:1px;padding:0 10px;background-color:#fff;border-left:1px solid rgba(0,0,0,.1);box-shadow:inset 0 0 1px 1px #eee;outline:none}.input-option input[data-v-311953ea]:focus{outline:1px solid #fc9153;outline-offset:-1px}.rate-wrapper{margin:30px 0}.rate-wrapper .rate-text{text-align:center;margin-top:25px;vertical-align:middle}.rate-wrapper .rate-item{width:100%;height:100%;background-size:100%;background-color:gray}.cube-rate-item.active .rate-item{background-color:orange}.select-option[data-v-c85e7c7a]{display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.select-option .name[data-v-c85e7c7a]{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:120px}.select-option .name[data-v-c85e7c7a],.select-option .select[data-v-c85e7c7a]{display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;padding-left:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.select-option .select[data-v-c85e7c7a]{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;border-left:1px solid rgba(0,0,0,.1);box-shadow:inset 0 0 1px 1px #eee}.select-option .select[data-v-c85e7c7a]:focus{border:1px solid #fc9153}.cube-json-view h3{margin-top:15px;font-size:16px}.hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496}.hljs-comment,.hljs-quote{color:#586e75}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#073642}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.form-custom .cube-form-item .cube-btn{padding-left:0;padding-right:0;text-align:left;color:inherit;background:none;border:none}.cube-page.page-questionnaire .wrapper .content{margin:0}.demo-questionnaire .cube-form{counter-reset:a}.demo-questionnaire .cube-form .cube-form-item{padding:20px}.demo-questionnaire .cube-form-item{counter-increment:a}.demo-questionnaire .cube-form-label:before{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2;margin-left:-14px;margin-right:4px}.demo-questionnaire .cube-form-label:after{content:counter(a) \".\";display:block;-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1;white-space:nowrap;margin-right:6px}.demo-questionnaire .cube-checkbox-group[data-col=true]:after,.demo-questionnaire .cube-checkbox-group[data-col=true]:before,.demo-questionnaire .cube-radio-group[data-col=true]:after,.demo-questionnaire .cube-radio-group[data-col=true]:before{display:none}.demo-questionnaire .cube-checkbox-group[data-col=true] .cube-checkbox,.demo-questionnaire .cube-checkbox-group[data-col=true] .cube-radio,.demo-questionnaire .cube-radio-group[data-col=true] .cube-checkbox,.demo-questionnaire .cube-radio-group[data-col=true] .cube-radio{padding-left:0;padding-right:0}.demo-questionnaire .cube-checkbox-group[data-col=true] .cube-checkbox-wrap,.demo-questionnaire .cube-checkbox-group[data-col=true] .cube-radio-wrap,.demo-questionnaire .cube-radio-group[data-col=true] .cube-checkbox-wrap,.demo-questionnaire .cube-radio-group[data-col=true] .cube-radio-wrap{-webkit-box-pack:initial;-webkit-justify-content:initial;justify-content:initial}.demo-questionnaire-tip{position:relative;padding:10px 15px 10px 30px;font-size:14px;line-height:1.5;color:#999;background:#f7f7f7}.demo-questionnaire-tip:before{position:absolute;margin-left:-15px;-webkit-transform:scale(1.1);transform:scale(1.1)}.demo-select .cube-input{pointer-events:none}.demo-select .cube-input-append{padding:10px}.demo-agreement{color:#666}.demo-agreement>p{line-height:1.5;margin-bottom:10px}.demo-agreement .cube-checkbox-label{font-weight:700}.demo-agreement .cube-checkbox-label a,.demo-agreement .cube-checkbox-label span{font-weight:inherit}.demo-agreement .cube-checkbox-label a{position:relative;z-index:1}.demo-agreement a{color:#fc9153}.my-title-img{height:120px;margin-bottom:16px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhYAAADwCAMAAABrG91XAAAC+lBMVEXz9fnz9Pr29v/y9PoAAADy9Pnk5+7/tFH////x8/iWlpnf39/v8vfV2eHj5u3x8fHw8vjO0tvx9Pnk5ORWVlba3eVZWVr/4Gri5ew6Ojo8PDzm5uYtLi7w8fbu8PaysrIsLS3h5OsvLzDf4+oxMTLn6fA9PT1bW1ve4ej3xsP/riXN0tswMDHZ3eXs7/Tc3+f+/v7c3NxYWFjX2+Pj5ezq7fPo6/L8/Pw7OzsjSXfn1b74+Pr6+vpMTEzt7e3r6+z/gDXw8PArLCwyMjPv8PTp6eri4uJSUlJAQEDg4+vc4Ofb3+a+vr//05j09fnt7vDm5eXOzs9oaGhUVFVDQ0NJSUnU1NW0tLZGRkUqKiq6urxQUFD29/n19fWmp6rv7+//7NLR0dLKysuYmJro6Oja2trX19ff397ExMT/6MnHx8j/1Jv//fj/xHbr7vScnJ7/wW7/t1jk4+Pd3d2/wML/+fP/8Nr/1p8oKCj5+fz/9ef/47z/uV3xaiGrrK6kpKf/2KSioqSRkZOEhIX/yH7/+Oz/8uG3t7n/zYj/v2f7u2X/vWLy6d/4zsz/3bCfn6H/z496env/4bivr7H/26uKi4x/gIH4229hYWH+t0Dl2Mf4eS11dXWljGvu5Nb52Nbp2cP/5cL+y4TntnXi2tDCxczAn3Pv1XL3u2vt28P/4LNicY3BtIZAXYLOvoAtT3r/4nXrt3Rvb3CwlG//fjPx7ebv3sjpza3/7qnty5+gnZX/05Gtoo3/5orMp3WZhWmBclxtYlP2cCft397wwb6+qaz52avLtZm5qo5seI30woGfkn79rHrjtHbyum/7jUDyqzTy5+fh3dfv4sv/9cn33Lb6zbT2uLT7wZ3wx5J3fpLuyon52IjeyXn67+7c3uP74+H15dT24cT51sTQyL/m0rmOj5n/6pbfsnX4wXSNemH+mVn8mUDju7yWpbj/8bfZtbfGqrLNsbGDhpbxlZDSq3VcVEr+qUn4sjrt4rjxyanjxZrtenNhWE3FMZ3eAAAABXRSTlPmpxztAEuvwscAACDOSURBVHja7NVBSgNhDIDRaTU/FFx4AWfXrbv2WHP/pdhUaWwERSyUeW+TA+QjmR63myng07TZPk7bh4DiYTttAr7YTD4IV1RBRxbIAlkgC2RBJQsasqAhCxqyoCELGrKgIQsasqAhCxqyoCELGrKgIQsasqAhCxqyoCELGrKgIYt/Mr++BGey+HAcx+BMFkkWhSySLApZJFkUskiyKGSRZFHIIsmikEWSRSGLJItCFkkWhSySLApZJFkUskiyKGSRZFHIIsmikEWSRSGLJItCFkkWhSwi9idjjPdxCCJkETEuOBknsvgmi+dljjWTRZvF69jHmq08i3lZxqX9suwiZHGTLJ5/YRe3tB9XniJkcYssduPnbruOeciisfYsjrLorDyLpyGLzv1mMY+TQ/zFQRatu83ijZ07SG0chsI4vsqjgUiUgEGrgngEtMlowEm6mQvYhp6gZ+j9lyPZceJpPZaHWB67+v4Lv8alq/xontM6OxZ1ZvNAewKL3tbKYkdTsPgAi/5WymJHk7A4gEV/62SxPTzK4vnF9UG9fdTfO1xedpt0WyELp+JRFi80oh+bdFshizOBRdzmZJF1k0RkMp+qmhNZVoLFYpqNhRTdPItS+DivhxLiCBaLCSzAoqfZWJDt5lkU1qeMP5bSWjM7C10UUhaFJndQ1ObPgEXsFrxy5kJoLUROVoiK2pQQAixiBxYrLGkWxlp1stYQW8vUJq0twSJ2C2aBlbM/sACLnhZwgapvF6hZkMX54juQT9bR5bz5524sTrKJ6kObfwQWsZvwfYvDNP/NhZUzEFiARU8zsiDuRi7FPqmbwaxnZ1FVlVJVZYmrylCbrKoMLGL3+Mo5/ufHLRpYOQOBBVj0BBZg0VPiLLBy9jcnC9XtfkLeB1gspjVcoEZjkeW5VnmekclzQ22nPD+CRewWzAK7RX9gARY9fbeV83Ae1wUshvpuLMZmwGKoRFnIDCyGSpQFH8FiqERZZGAxWKIsBFgMliYLBovh0mRxBIvhkmQhBVgMlyQLAxaBkmRxvLEwZXlSZWmIy5KpTbozYBG7pbGQwrHAH9aHWhELI4TQ1/uG2E3tpulM6WZJIzJgEWplLLjDgjssyuuTaWlExzuLgllKZk2KWVGbO8NgEbuJWBTWWuUZuKk9AzcLN6WbfJvBPB+snIFWxEJqreXAJDdPFK4Ei2ArYjHVi0gOFsHSY6EFWARLj0UJFuHSY5GDRbjkWGjRZcHNBSqTYta4QL21QBaX3ZeeyaWNMcpN1ZnaTfnHDGWdCbydFWqBLOKWg8WI/ut9IvbThyQdKXpagMWIFnj7UNQqsBhTaiwEWIxpRhZUdKuhFD6p/VG7B4piV0RgsR3bZk0ltXJmk7H49DS/vde9bca0BiIpsZBiChb3J3XbtN//err2+rb/S19/ZywaR0os+HEW22Z4C80XvtenWz/fwy8jtZGNb7k2frNzZrFtFGEAfrKzu1kcyyNkS5GDELJUgwi2SG0VWwmRmjxAME4eGily0ibNXSCQtkShNE2B0nIkBVqoShERFVIRR1shLnG80HJJSLSACiqnhAAh7kPifOD/598d7zqOk6w3PpJ+Xs9uDyUP8+1/jHe8krQ4P08tZBo9OABcDLLCQDynFuQEXelKlKIZhdPiQiP0BAWCI52WtOSkHGJdC5o8cEEMFDF0K64jcgUMMAHQL/lIbpRg0FhBDepFlrXQpfBwJWR98IgMMnaxxl1bwYscAUPXgp81KXAotZixgrS41LIWfPI8uheyeAO82nzlYsHBO+HPMXcmRjOEHjiQGp5SM6Poi98F08J1nmUtNCHICTpknGnV7Y6TFQYvNsxRX4AcqkoXZIf4Ufij8V1CYqycknOVNS1keutTiIMbDjG98eiei808OTtYqAgpofKRvEI8FDAwbpSMFCtJi8staCGk4LHCw8UgK1Q4VBVn/PDFmbyiZsMNcDlg5GLQQWbw41y0KCyUQxavhZACfUDc/KWCFDjPKkLVpplrslqhn2jAsKHqapBx+LtKJJWsGC1WZdECn+jxweC8aNUqwx5U/Bv6NkfwIS2Fm16kAwzEHVm0+E6dhd+fYQke+OO4HBQySkiMFaOFyCELf5bTIIVHmz91Lcxmoz7VONx718GDB0+dOnUQ+OvUqb/gdM+97gz8gMqZZYdML8JTKmLYq4WnNjL37WrEhetbdMXHq1x4vy4hrkuNXDX//9dGF+Grc7nguPDEzAn19Am1Rk3EoiFJsFNRsCVZpyg90pyEQtFoPBZLJOQMQWSVQhFkklIRw1Ytap3ZKY11i0XgIiVwEFL4wIvRqalg8vSMUCKLFjD18aqqGBAHotFQdkXGUzKJQekIrTCK4SmaGPZrEXEuDy1ICjiMUvjwajQYDE59PiUR8VTnF5esqq+vb+jr7+/tra5ONjePMmAg3MzSJKurm5oa6tdXdXbGokY14gk3xB2CehuZxOC9yXKJFpF5FhmNuDCr8KsLr8bxfN+ll17mLAmEFKSFzyWk8NWt/RK9CIakeGd9U5L99MyaNWue+amSNQ/09Xe39gwPtnTsHmZsM2jR397R0TI43NPava7PYEmyqb4qFkqrEUvo2QT7VhJDdlDT6ih8wLBfi1rncoGkIIQU4Ect3OszQeB0L2OVrYNPrSGe+UYxsIWxcJixVsXEyN4dXfvaO7YMr6tENxo703EjGkvU6M0JrpxqvSofCiyG/Vp4nMsBvahIOwEZhKRYPc5v76lg8MybfVu6FIVbQV4oBrrZaHgzY8PKXOyd6GgdADWq4obHNETXijVG8ZsSm7RYHsHCmD8EdVyKQIzKifoTZz71el9VgGNrBO8ogo3NrDk8wNigkpOdu3sqWW9jLP1cl6g/SYyi1J72axFxljuZRUWdJgXkEGcixKVogOTwidfrPQITe5aMyPSii4EWkChalPnYODEIZoiYEXUYxZCLIob9WjiXAYaiwkdVBZeizk9S1DPW3aW87AWehhxy7Jc3jq05dvYpcxrp0LTYrSyAjRf0M9bUqZWg4zKJ4Yazlkio9izjaOEsbzKLCtF+1PluiPL0X5Vkle0KcBS0OPCy8s7vweCv3/wYDGI7ckzR6YFqFDuPdmVhTHQzVl0V1VYz3CpAUrhFU1Ko2vOcFtmlSHtRJ/yIUJCPQfPRM6IgLx8ALz5Tzv4aJJ4yabFZ02JCWShdrYwlGzUxYnq7yhfbAcojhZDinBa5Kk1RVCCBlMQRoYLCBfA2BAriHWMS2cto2YJBq7IoMaqrQlpTQmKIkCG61aUPGedKzrkrTe6EVmnKNFXRBqgq9iqICBdHNoIRH/FoAS3J74rGBYyWLRishy9WjE69KaEP1sxNCR1AAcywUYsbnGWJK+vyFTgBRcXaqMRJVbPRlo0KIcLF0ZOgxUnU4uTZdCMyyGjZgo0oi6NrHWMNcWO36jY3JegGhQxxsh37tXA7yw6oJWZJUecUy1dxiWhkrI9SgiFcAKjFR0FkhyLoZ7RswUCjRbKvnyWrpLmaEpFIxP4S++2wX4tyCxdcCXLCIIWhqIhJRLRJ1JoZ4eKfoMZvho5zVOtPK5XFs3F3JWsISbOaEngT1JmgGmk37JeDtLCNgLM8cBnNgLfwwVBUOEKSSCDN7bMnEMPFp8HgH//9AVq8YWg3GRiBWvQpVhgZZk30m6kpMYjh1jOJ2HskzohdativhRyYcx5KA5dLXJEShljh41LwosLFiwqRQPp3KLN52gsEEbMWHUzrT9cp1mhh6yWdUMIghvioRNZsECc422oGaWEjq50lSoYQQgmRPzQpXKjFapRCJJBhKhKyhovZWrTqT1u0KhbpZlTTiKYk/TgGvhD0QWxmtX9nGmlhJ+rqUssk2YSgSCGcIC9QCiQSk3Q6q1nlBQqQNVwgb/2SUVsM8GWLUShHFIvso3AhxHD4a0gMVEMzw2PenUZq2CYGaWEzsmoPtfkIFqlRsfcn6FKc/QBd86PGX2PAb3hEZj2kgp1zlodHvMCRN8CKk/8e1SPKTqYvWwwqFtnJeiUT4w7Vn/bClE9EUrF1lwlpUbJELJeUNQ5CfA+FbNxlbtpDik/4y/rz/UYp4k0wtzjducNF8MVP+FI40c70ZYsWxSI7WLVkJhQjn93khkpb2rgchIcO+x7PKGktHBFrGQOtIAH4WQhBoz646aB9H24uRYKkEAlkn4Lc/myOcHHASzytcIaZvmzRYT2JJCXCLIaeSXAgKUgM03qXTV6UthZuayVEIHuAQBcI6vi07WHw4vgdUcM8YALRVrvb2m7PES4Q+kQV6WfasgVrVyzSkaGFaEr8lEtE2CA5cDQ9Mm6HF6WthSOwGCNETVmbTQjaPYpCCCnozkOgEpHHJY5IIGK1+5G2Z5WsQLgQUBoZYfqyBdunWKQnqxbikxJhBh5iY5omBnmRPyWuRWReJUxCuOjsF7FBG8TXDog37QIVgcLPiwpBZ5JtnlB0bm9re1DJxmdeI6/yxSyxG2Bi0UucI3t37ujqmuij2iKrGGoNhAy02LTFRN9kopnhyT9clLUW5IQwQnjhNwthjhIiBAMUJ1S/O2WUIlTPWOuIIritre0RJQtHvSaO4FoUaTEK445sM09TPzGxr719d0fLlsFhvl+gvy88ACYJGqQ5CUXHcVca9VJCDu65KD0d+fckJa5FYF4nyAUcxOiqNZUQ4owRgt5CCYwTcizjK9F62ahWL4os0nZbztKCeBuXooAw16L9Aph5nHqYeT71mytH2YKojkvzESI93KC0roZMoBXLvbZQc0vhMi1W4kBEKDiIt5BBw0+H351ImXcNUgLBj0tNPNjWdr+SyatUaR44cERvRj5tbeX3PPSniyYJO896e2HvWUND47xWmINHKuFIVxzkRd5ppLS1yJlDuA+khIC2gLlqsmUMgoSQE7HxTCFEAukZyUz4D91/O7/1BwfTQb/5/Wa6+//2EscfZZzmTC2S1TDlTTjlsC1xfWNjFdAJpGCbKu1SDUnWEXrIKkBt+PKuLVbnenJGeCGEENQ50QtNCLdZCMccQogEwvq0ue+nhJ+TZHXyAy/x2vMw5VVAbzjZmUppMw6/qlCEEtiv8rYcjvwoYS1qArkjhcEJ3EuO4MnH35Eagwx4DRkjMTtjzE4gguT8N/ktH7702nEv8e11kkZlOCUVlNCGj898NXTn1pBDtau+KK4Wcm0kYGl12/CUto90cNahED54Az48RIoJ3OBPYP85P/GF3OT8n3aREYKXQkKtcLNUYN597krOu7jsaUu4KKoW1h/nctGLwAsuBeHz8QNlQSHitobxz2dgw/qMMEJYIQl6w+ulAhN6T/Nird6QlHFtIQesW2GgDl9oAx0+nkickVo5ZX9e3zozFUS8GfxsmKKBzVGp0NxyiLR4lC96Ap48s0iRtCAr8tdClBUYIfg5sHqtI7ZEExPaOkNeeNMcf+3blz40lidhZu1nX7d11y133rxhw9Bj2x54cnr//snJyTFgE3DNHGzSGBt793WuxRlqUT2YRcpUi4glH7TRuEeUrkGIa/2J8aUt/ENfghZTU8Hj3IafP7x513VSBg3hemkeQACY/6HHHpjeP3bNfXvuuP7Gu269qSI/DvF48bGqh4tyXeWssWYFHRQl9K+owZoytbRCiHAx9WUIJ1aak2S402gAjwBD2x6YngQDDoMB99xasRT8uf05XnMCshvXwMu0E4lYrjXxEO1owA8ZowTAFIAZYNv74Wk9BNwDIaBgHMI08j23AqTId02rWFp4rFphXtB0hKSCohUAQ3j/75/cpM2/MQI8HgYZisB7PFz46Sv7gPxa1GJp4be+q5zjxH40Ym+goLIPph1ve63ymxzb9Mp9ezD6Q/jPOeFCC3CkGGzH6uJe8iJvK4qlRY3FYGH89lRH3v3mnRD1pyd50l9QyC9lLQ5tBy2+wsV+yiJl2YnUWl3ahLOPWyFCRWdqcSFh181DT07ed8eN91QsBQ+H764oCj9guPhYNWYR62KUW7TQKk3oPrSqItrXklxYaLh5aHrTnutnybBctKjY/jq2In635kVZdiKqxWAhiEmceE/LYDR3dLhlwwNje24sRCFIWjxRURwOQdH5vZ++QRyzSDl2Io6A1dLCx+144Y5tfPGgu6VlYM74sGHb2GHwoaBcUTQtfoBw8Z5f98Ih59OiFk2LGywEC0ohfG3zcEXF9ZBGGlpatsSlWezaMH3N9cUp/b4Of1dRJLZDuDitAuKDEcsUb/HbYoNKpcX/7J19bBNlGMD/qu3ZmhvlXHI3us1ZDxOnsedXo7bNVkYbM6Pr17o1OjcYTBQBmYYoEdlUPlyEiSwLAkFxBPwPCBqj4UMTNRow0ZhoTDR+JUb/1v9MfJ73uXvbrre2t3WObv052y0r8PTp7573ed9r7/0EsvA4DBAbOjsHp1WId60JsYi0eBOazl9ZtcBBZE5WLJwWHutaIKTFE1AsQILlUCzu46cR33rx7YKGcsuVP06cPXLhyNnzx/+f4v6+7wv7nDl5/DwL+sQfV7ZYGEWgXHznaqQpKlhRhTMR4DbLYwhf3Vy+nRWL+4Y6O9fh2uOzzz+40SR/e89flMNhLwPu00cuFz7oqtNiy+ULaS+P2itfPL+3/FHk4788FZmiohYLhcda20mlghWLb+32Pbc77oMhpHOMjDDh+EUvJLcVaGlpRSDN6tmCHF9dWuw9q3oxaB41qnHxeLmjyMdfjXn4Qmc1zkQYT91kaRbC312x2W5/w/EIWvGbfQaOX8L0tgAriBZMMxyGR+ZXjA98P8xBiiMgAQrBgwZQ50unyzqN+pXdvrkvO0WtwpmIjuBqtMBtjbcBT/0CKdh/dMPQ0NBvJ2fI7594yLHsNjc381vMcVg9b58nSIvv7bPlvBL2mgYNZlwo1+bdfIqKWsxWjKv3nd/5ZC9G4Tq3x16C4wnKbzPSvgKy2oIpbiYxvBdzU3zVaLH3opekgEAh6pbWcCt7ArrNieP28vg0p7lY9FqgF2RF32Z7CU5QfiG97eFoQFqJ1EeSagvmGFOcvmKfL773fWCfFVfSoDJKAcjpjMai1jJpGXVmNp8os2c9Z3hRlTMRS+iXosTPiX1qL8ERL8svZDMaQSEYTI1AuJlSrPCx+mrR4rSi17d2b1rLi1pK4JNBL87ay+JbWrmYy3pWdWhBV68VBBdY4dpcjhWY36hGySUoyRkQA1Msz5cXP8xOi9MyBd3ckqwviLo+3cKC9h6xl8N+fnK9Kieo5SNQa0HXMyo5glAtDkeM9EqRSCQuGWIkVrAUR+dpdesL3/uzGUFUXWVF0qPW4hi1pkctyVAvyh1HXsKeE1j0WlBnQa1Fm70ol3Ur/FQqpEBCVRVFUdVoOqKxFGdamRf/8CXyymuxZcv27a++umfz5s0bN2586aW3d+/ev//DB+Gd+y+++MYbr732+uvPP//WW48//thjjz377CuvPPfcWFqvFUkWtBZJJihoNRGI6zaTF+X0nXv03sK2+LWgq+OhFsHi7XyUrIiy/MbTKiYXwW+iATr0vOhF+IK9BPkv70sFL++7BS/vyy8/86OvwfqbBWNhZsWKAEatZRI8aHQjEWFRJ5kXib1lRE1azOUkatVogR0U6y3G7MX4M5y1QguoiqpwVJVSDF5gvfB6P8t7eR/Pf3mfefJJx2x4ZBZaNHm9rFYwK6Q0RspBnZMS9yL8p700faSFsBS0cLvpqnJFtbhMCZZZfhNMivSZkQO9u3aOrmQ5VgOY4QgdeaKj8txn/VNlYoINIe04gmgZciIyvqm7t2nNeIAFHWU2J0DmsoaRtqWihZDV4md7Ef6BBDc3eyW0IqoA0gvLQ20iEOxIjUYxxcnskXetA6i4Fk87LDLCKly7yqxAlf2Hh9YGRSS4tjemAOSFjDL/ay/FRteS08JVVIs/wuywC6xEK1TI5pq1bSAFAvfB1KSi6PVCxiNPnYdycb/l6xiIKqtwXmyIMyhFZDjEoxbFjqYAqBKN4+DXgl5cLrnMuaR6C5yMgBa/2GfmEh9CNGw2k51BkYM5bpjAepEBL+KsXOxwVJx7fE6HNXaSy0lskdGK2NY+MS/sVD22yxp4kW6GhfxL9hKM8ZMiS0ELmokU0+IkJRg79wB2FV1GfjkdB/HIkyDDUSwXmsOx8FpIXjz3EUaXEypY8bBIZG1eDV7Q4NeKMp8sNT9dKstZAK1bwHHwbbGVLLQCi4WE047eoFhAxxlFZRmOs0nqVkfF8Vn8Owf1fpNmTkp8vcjhXqRwThWhctFSak1rNysWS0gLXM8qpsUl6iwgwUk47A4GRROc2NtL1F20enc6Ks5Wn8MS+1ixWKFB1FEIbUObWEjbLly/AJk1lPlSCS3osr7uan13lhXcAoJPeOaWcztr6FmC4bALPC2a0Na2Q1FZ15nEDJ9xVJz1Pmsfl455MWqF+k3/eEg0oyMG5SJuyLy9nInIEjiDKtiMTZjqXJ49M55uwslpuwxWYIJHglwF57rBtaLBw1AuomwUgQwnHBXH6bP2gWmVjyFpiLpfNAgNpnzZetepT6HSKPPpUr0FWTGHU6hVowXc6FdpnvHE+t942PUkcAyBhn6dqLO6twkYCOqOBEchw3HIMDy6xdvnqDSrffc7LBBk/VBPnErcZIeo098NQXfzJ9EApuMoksETwH/bi/Eq1FT9SkmL/91Z1FzgysW5e2fgczwF2ROo17SEokhGgp+G/CJDos4uRVVwjirDWezWwYZK41z/cIMF1rFi0Y6nTLEf6jOsaCIML4LjILMGvXQ7aPH5vcX4nX98aEm8aQ9XtLBcuI45zfkID7ueDGgRhYXCkFF+m3QGRWKroihYj9V2KBfrnAtMqhVlDusjX7dIrDWC7g7qk5FNispqHLanHzmL8Q1dzNdWve/8toAAYuht51GnOV+iFtviWr2kZI+7jiaDDfoo0pBQ1CQceFE88PqdC0wXG/lQiwBEPSASKR61TyS6ocbhCngrRP2lswjH8AxBFX98yAq00yd72x7w3nqnGRfQim2SpkmK3z+ia/E0T/CwcSQmFTWNWvRAuehyLjAD0CajFhpo4ecdZxePOiUSw1DjMhB1uL25uZgWh4KsB6PGYtFPUHm5qEOOHnvHxIwv23tAi3g9asGrBS/HvLmAaqGQFpDhha8WWCy4Fl0F1WJQr3G9fkVFLVog6hm1WH/o1EMugbBV50eTrUHqczFcrlVjR987dexQrh4foRXbMlQtxoMi0ds0rXtz+v1KUtPq1R7I8ML3Fs1Y47y6FrsMdXlvEdK12OdXFFzVb4eoP3cW8PWhY6e+GfPUGVK4q/NKe1YhM2ijSn2DLiRPj896tgEBTZKifnllh2FBE9HZZvSgoEUAtAhvAy22OhcY3wqscT2apkVw6DOCHGgijFElOAFa4Pi4DaL+rECIc8Ze7HXZrSOq+VNl5YLPEJ4peYH/kxecOs/Yod+6kQnQIu2X/T5RZ7CbdRYhkeg7CFpE4GXY9Ciw2rnArMYoduyYhFdc9csxQ+Y28qKLL3PG/f6opNXHdsAud/c6Ge8cO/Xe0XPZDctoWx0qFVV7zW/rCDZjE1jaUZqbUcdODekJGZYkKeCX5U1tfL1wXVe/UzRYG5H9Khx3MfoTQecC44Ex0e0+CDIn/LIymF2N7e9KZddmB2S/PwlR78OoDzEh+lwcvo0d7W9Y7fuJWEHgXlCHAf/pNZP2AjUSco0GXoAWkQbRjLYDsuxPS5I2IhCrOpavBpwLxUMC0q2RzKNB0YzQYdAiA1FPCQg+ZSoQvFBQQrJOCNV57SzrCPSFT9vwAmoGQGLwhEyAFmkZykWfaMLDEdAiAg/Z4Ca98jYz8+TQyFi1apXHs2oGHnqI3QJ4Q3R04C0niIRC7LaADoBp4b6zHkJSZTmaMnV5CIyJwiMmG6la6ha4qP3OOTD0vZMX+YaXBV64qWRQzaBiQYMBT4i7E9IXwTSanaMOTYAwCXhETKCJDcsq98LjmgONeXjycHE8jbkbH/Od8w9CTEmIbXK5WIgTXJYD8Ig1VCsBF+3bSGaTJzwDi3wLOxMv0Ar6Yrjzb3GF3OaK6RkODBZ4Edwn68XiBX1iU0cVme9N/f9A/w69om5WAPslIArRjXeI02mIyVgsgJ9yR1EUA3DRD+6cHCzyfVBNvaAFPHYHt4hAR75xxrAb8hfHDEf6+6bVijWKftjF7qIRGAEr+G6p1qkrjskfIP/07ogvMuDYl/GjF9PqRZsTrVDQ5ZGcUsnJ7pbM7jBLi33X5JnEQAPytCAv3LRIfhiHERVymW4KiVn6nOMykJaAXrJCn/HyfZVLvsxCCVxlAEYwKxh8X3QfdhcBGZhMBXML3EAcKxy6PHknxMzXb9xcCuMnPSu2Rb/HurkXZAa9pwCheoFS0AOuW4lHniIDsaEOPceh1ZtY0hNx+OWoMd8lNXhJFixjtXpkyz6JgXaSz49KbPADoqODoT6qFKHUhEpWoMu8WKIZlAL4npfLbArmStVpkTUD1eCwrPDf7ZKoXiDx0QMDqf7hTYcTMpJGK2I3Cdkpry3v2KsrgVAR6nKKP1kBt6MSLbkAamyktyvVtWtkUkYUZsWIjR8S9OQFhJ473dkqJUU1akGFkhAILozOTgmIkwgcnt9JX2GbgqW4XNwmCBYgB2nUoy8Wz12HJSATlacTjUjAhMd4hgLd6ti4GPSrSlCdWpgmIO/nTZJJiv3pOLMiZSNIDLKCivLccZcBb4a4ERT8neAFkFTlXNSAhEzclX3a0/sqnoFKUb1alOAFicRIq4YT0WRcQs78lJtFoxq72Q+Vo4QV1BRMbxHvHpWQeADWwQklEaCoRzy2Yq++YKsoVarFXdeUZComEZFMIBkIZOIScfDma65idtZLZEYmgFFHJGLlgWvK5G5bJahOLW5YVgZdI/VSAbED+Q+65Rb+XXksqxA5fxnecYbHpUImppaVzR22ClCVWgjXlZehqZFJKY8zj9JLYKrG/EMylPq3d41rUi71o73LrNBomztVqYXt1rJfhhcOxjS9Do+vGS758LKomCEz6rxvwvA5Nrqja5k1bBWgOrVw3Xh9+dwxMNzbObXs+uriuqnh3uGp6663ygO32SpAdWpRowg1LWoY1LSoYUJNixom1LSoYUJNixom1LSoYUJNixom1LT4r106JAAAAGAY1L/1C0xfQQYIWhC0IGhB0IKgBUELghYELQhaELQgaMHDAGGDZSKaQRUzAAAAAElFTkSuQmCC\") no-repeat 50%;background-size:100%}.my-content{text-align:center}.scroll-example{display:inline-block;width:100px;margin:auto;text-align:left}.scroll-wrapper .cube-pulldown-wrapper .before-trigger{font-size:30px;line-height:30px;-webkit-align-self:flex-end;align-self:flex-end}.scroll-wrapper .cube-pulldown-wrapper .before-trigger span{display:inline-block;-webkit-transition:all .3s;transition:all .3s;color:#666}.scroll-wrapper .cube-pulldown-wrapper .before-trigger span.rotate{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.scroll-wrapper .cube-pulldown-wrapper .after-trigger .refresh-text{color:gray}.scroll-list-wrap{height:350px;border:1px solid rgba(0,0,0,.1);border-radius:5px;-webkit-transform:rotate(0deg);transform:rotate(0deg);overflow:hidden}.foods-wrapper .food-item{display:-webkit-box;display:-webkit-flex;display:flex;padding:18px;border-bottom:1px solid rgba(7,17,27,.1)}.foods-wrapper .food-item:last-child{margin-bottom:0}.foods-wrapper .food-item .icon{-webkit-box-flex:0;-webkit-flex:0 0 57px;flex:0 0 57px;margin-right:10px}.foods-wrapper .food-item .food-content{-webkit-box-flex:1;-webkit-flex:1;flex:1}.foods-wrapper .food-item .food-content .name{margin:2px 0 8px;height:14px;line-height:14px;font-size:14px;color:#07111b}.foods-wrapper .food-item .food-content .description,.foods-wrapper .food-item .food-content .extra{line-height:10px;font-size:10px;color:#93999f}.foods-wrapper .food-item .food-content .description{line-height:12px;margin-bottom:8px}.foods-wrapper .food-item .food-content .extra .count{margin-right:12px}.foods-wrapper .food-item .food-content .price{font-weight:700;line-height:24px}.foods-wrapper .food-item .food-content .price .now{margin-right:8px;font-size:14px;color:#f01414}.foods-wrapper .food-item .food-content .price .old{text-decoration:line-through;font-size:10px;color:#93999f}.foods-wrapper .food-item .food-content .cartcontrol-wrapper{position:absolute;right:0;bottom:12px}.jd .content{margin:0!important;height:100%}.jd .scroll-list-wrap{position:relative;height:100%;border:1px solid rgba(0,0,0,.1);border-radius:5px;-webkit-transform:rotate(0deg);transform:rotate(0deg);overflow:hidden}.jd .scroll-list-wrap footer,.jd .scroll-list-wrap header{position:absolute;left:0;z-index:32;line-height:0;width:100%}.jd .scroll-list-wrap header{top:0}.jd .scroll-list-wrap footer{bottom:0}.jd .scroll-list-wrap img{width:100%}.jd .scroll-list-wrap .ghostly-img{opacity:0}.jd .scroll-list-wrap .cube-pulldown-wrapper{-webkit-transform:translateY(-100%);transform:translateY(-100%);line-height:0}.jd .scroll-list-wrap .cube-pulldown-wrapper .pulldown-content{width:100%}.jd .scroll-list-wrap .cube-pulldown-wrapper .pulldown-content span{position:absolute;bottom:15px;left:0;right:0;margin:auto;width:200px;text-align:center;color:#eee;font-size:14px}.jd .surprise-page{position:absolute;top:0;bottom:0;right:0;left:0;z-index:33;line-height:0}.jd .surprise-page img{height:100%;width:100%}.jd .surprise-page-enter,.jd .surprise-page-leave-to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.jd .surprise-page-enter-active,.jd .surprise-page-leave-active{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.horizontal-scroll-list-wrap{border:1px solid rgba(0,0,0,.1);border-radius:5px}.horizontal-scroll-list-wrap .cube-scroll-content{display:inline-block}.horizontal-scroll-list-wrap .list-wrapper{padding:0 10px;line-height:60px;white-space:nowrap}.horizontal-scroll-list-wrap .list-item{display:inline-block}.toutiao .content{margin:0!important;height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column}.toutiao .content>header{line-height:0}.toutiao .content>header img{width:100%}.toutiao .content footer{line-height:0}.toutiao .content footer img{width:100%}.toutiao .nav-scroll-list-wrap{-webkit-transform:rotate(0deg);transform:rotate(0deg);position:relative;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.1);padding-right:30px}.toutiao .nav-scroll-list-wrap .cube-scroll-content{display:inline-block}.toutiao .nav-scroll-list-wrap .cube-scroll-content .nav-wrapper{display:inline-block;white-space:nowrap;line-height:36px;padding:0 5px}.toutiao .nav-scroll-list-wrap .cube-scroll-content .nav-wrapper .nav-item{display:inline-block;padding:0 5px}.toutiao .nav-scroll-list-wrap .cube-scroll-content .nav-wrapper .nav-item:nth-child(2){color:#fa7b7a}.toutiao .nav-scroll-list-wrap .more-wrapper{position:absolute;right:0;top:0;bottom:0;z-index:1;background-color:#fff;opacity:.95}.toutiao .nav-scroll-list-wrap .more-wrapper .more{display:inline-block;height:1px;width:20px;padding:5px 0;border:1px solid #000;border-right:transparent;border-left:transparent;background-color:#000;background-clip:content-box;margin:11px}.toutiao .content-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;position:relative}.toutiao .content-scroll-wrapper .content-scroll-list-wrap{height:100%;-webkit-transform:rotate(0deg);transform:rotate(0deg);position:absolute;top:0;bottom:0;overflow:hidden}.toutiao .content-scroll-wrapper .content-scroll-list-wrap .imgs-wrapper .imgs-item>img{width:100%}.toutiao .cube-pulldown-wrapper{text-align:center}.toutiao .cube-pulldown-wrapper .before-trigger{height:auto;font-size:30px;-webkit-align-self:flex-end;align-self:flex-end}.toutiao .cube-pulldown-wrapper .before-trigger span{display:inline-block;line-height:1;-webkit-transition:all .3s;transition:all .3s;color:#666;padding:15px 0}.toutiao .cube-pulldown-wrapper .before-trigger span.rotate{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.toutiao .cube-pulldown-wrapper .after-trigger{-webkit-box-flex:1;-webkit-flex:1;flex:1;margin:0}.toutiao .cube-pulldown-wrapper .after-trigger .text-wrapper{margin:0 auto;margin-top:14px;padding:5px 0;color:#498ec2;background-color:#d6eaf8}.toutiao .cube-pulldown-wrapper .after-trigger .cube-loading-spinners{margin:auto}.toutiao .success-enter-active,.toutiao .success-leave-active{-webkit-transition:width .5s;transition:width .5s}.toutiao .success-enter,.toutiao .success-leave-to{width:70%}.toutiao .success-enter-to,.toutiao .success-leave{width:100%}.scroll-list-inner-wrap,.scroll-list-outer-wrap{border:1px solid rgba(0,0,0,.1);border-radius:5px;-webkit-transform:rotate(0deg);transform:rotate(0deg);position:relative}.scroll-list-outer-wrap{height:500px}.scroll-list-inner-wrap{height:300px}.inner-horizontal-scroll{vertical-align:top;width:200px}.inner-horizontal-scroll,.outer-horizontal-scroll{border:1px solid rgba(0,0,0,.1);border-radius:5px;-webkit-transform:rotate(0deg);transform:rotate(0deg);position:relative}.inner-horizontal-scroll .cube-scroll-content,.outer-horizontal-scroll .cube-scroll-content{display:inline-block;vertical-align:top}.inner-horizontal-scroll .list-wrapper,.outer-horizontal-scroll .list-wrapper{padding:0 10px;line-height:60px;white-space:nowrap}.inner-horizontal-scroll .list-item,.outer-horizontal-scroll .list-item{display:inline-block}.scroll-textarea[data-v-1410244b]{background:#fff;text-align:center}.scroll-wrap[data-v-1410244b]{height:400px;padding:10px;margin-bottom:30px;line-height:1.2;text-align:left;color:#323233;letter-spacing:0;border-top:1px solid gray;border-bottom:1px solid gray}.cube-textarea-wrapper[data-v-1410244b],.editable-div-wrapper[data-v-1410244b]{position:relative;height:100px;width:80%;margin:10px auto;font-size:14px;border-radius:2px;border:1px solid #ebebeb}.cube-textarea_active[data-v-1410244b],.editable-div_active[data-v-1410244b]{border:1px solid #fc9153}.cube-textarea-indicator[data-v-1410244b],.editable-div-indicator[data-v-1410244b]{position:absolute;z-index:1;bottom:7px;right:10px;color:#ccc}.editable-div[data-v-1410244b]{min-height:80px;padding:10px;outline:none;color:#666;word-wrap:break-word;overflow-x:hidden;-webkit-user-modify:read-write-plaintext-only;-webkit-user-select:text}.cube-textarea[data-v-1410244b]{width:100%;height:100px;padding:10px;box-sizing:border-box;vertical-align:top;text-align:left;font-size:100%;line-height:inherit;color:#666;background-color:#fff;border-radius:2px;resize:none;border:none;outline:none}textarea[data-v-1410244b]::-webkit-input-placeholder{color:#ccc!important;text-overflow:ellipsis}.view-wrapper .index-list-wrapper.custom .cube-index-list-content{background-color:#222;color:#909090}.view-wrapper .index-list-wrapper.custom .cube-index-list-group{padding-bottom:30px}.view-wrapper .index-list-wrapper.custom .cube-index-list-anchor{background-color:#333;height:30px;line-height:30px;padding:0 0 0 20px}.view-wrapper .index-list-wrapper.custom .custom-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:20px 0 0 30px}.view-wrapper .index-list-wrapper.custom .custom-item .avatar{width:50px;height:50px;border-radius:50%}.view-wrapper .index-list-wrapper.custom .custom-item .name{margin-left:20px;color:$color-text-l;font-size:$font-size-medium}.view-wrapper .index-list-wrapper.custom .cube-index-list-nav{padding:20px 0;border-radius:10px;background:rgba(0,0,0,.3)}.view-wrapper .index-list-wrapper.custom .cube-index-list-nav>ul>li{padding:3px}.view-wrapper .index-list-wrapper.custom .cube-index-list-nav>ul>li.active .custom-nav-item{color:#ffcd32}.view-wrapper .index-list-wrapper.custom .custom-nav-item{font-size:12px;color:#909090}.view-wrapper .index-list-wrapper{height:98%;width:94%;margin:0 auto;overflow:hidden}.upload-view-def .content>div,.upload-view-def .content>p{margin:20px 0}.upload-view-def .content>div .cube-btn,.upload-view-def .content>div .cube-upload{margin:10px 0}.upload-view-compress .content>div,.upload-view-compress .content>p{margin:20px 0}.upload-view-compress .content>div .cube-btn,.upload-view-compress .content>div .cube-upload{margin:10px 0}.upload-view-custom .content>div,.upload-view-custom .content>p{margin:20px 0}.upload-view-custom-main{background-color:#fff}.upload-view-custom-main .cube-upload .cube-upload-btn,.upload-view-custom-main .cube-upload .cube-upload-file{margin:0;height:200px}.upload-view-custom-main .cube-upload .cube-upload-file{margin:0}.upload-view-custom-main .cube-upload .cube-upload-file+.cube-upload-btn{margin-top:-200px;opacity:0}.upload-view-custom-main .cube-upload .cube-upload-file-def{width:100%;height:100%}.upload-view-custom-main .cube-upload .cube-upload-file-def .cubeic-wrong{display:none}.upload-view-custom-main .cube-upload .cube-upload-btn{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.upload-view-custom-main .cube-upload .cube-upload-btn>div{text-align:center}.upload-view-custom-main .cube-upload .cube-upload-btn i{display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;width:50px;height:50px;margin-bottom:20px;font-size:32px;line-height:1;font-style:normal;color:#fff;background-color:#333;border-radius:50%}.validator-item{box-sizing:border-box;min-height:70px}.validator-item .custom-msg{color:orange}.swipe-view .swipe-wrapper{position:fixed;top:60px;left:10px;right:10px;bottom:0;background:#fff}.swipe-view .swipe-wrapper .swipe-item-wrapper{overflow:hidden}.swipe-view .swipe-wrapper .swipe-item-wrapper.swipe-enter-active,.swipe-view .swipe-wrapper .swipe-item-wrapper.swipe-enter-active .item-inner,.swipe-view .swipe-wrapper .swipe-item-wrapper.swipe-leave-active,.swipe-view .swipe-wrapper .swipe-item-wrapper.swipe-leave-active .item-inner{-webkit-transition:all .3s;transition:all .3s}.swipe-view .swipe-wrapper .swipe-item-wrapper.swipe-enter .item-inner,.swipe-view .swipe-wrapper .swipe-item-wrapper.swipe-leave-to .item-inner{height:0}.swipe-view .swipe-wrapper .item-inner{display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 20px;height:80px}.swipe-view .swipe-wrapper .item-inner .icon{-webkit-box-flex:0;-webkit-flex:0 0 60px;flex:0 0 60px;width:60px;padding-right:20px}.swipe-view .swipe-wrapper .item-inner .text{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-flex:1;-webkit-flex:1;flex:1;line-height:20px;overflow:hidden;font-size:14px}.swipe-view .swipe-wrapper .item-inner .text .item-name{margin-bottom:10px;color:#333}.swipe-view .swipe-wrapper .item-inner .text .item-desc{color:#666}.view-wrapper .cube-drawer-item_active{color:#fc9153;background-color:transparent}.slide-view .slide-container-v{height:265px;margin-bottom:15px;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:2px;overflow:hidden;box-shadow:0 2px 9px #ddd}.slide-view .slide-container-v .cube-slide-dots .my-dot{height:auto;font-size:12px;background:none}.slide-view .slide-container-v .cube-slide-dots .my-dot.active{color:#fc9153}.slide-view .cube-slide-item>a>img{width:100%;height:auto}.slide-container{height:75px;margin-bottom:15px;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:2px;overflow:hidden;box-shadow:0 2px 9px #ddd}.slide-container .cube-slide-dots .my-dot{height:auto;font-size:12px;background:none}.orange,.slide-container .cube-slide-dots .my-dot.active{color:#fc9153}.sticky-view-scroll .content>*{margin:10px 0}.sticky-view-scroll .sticky-view-container{position:absolute;top:45px;bottom:0;left:0;width:100%}.sticky-view-scroll .sticky-view-container li{padding:20px 10px}.sticky-view-scroll .sticky-view-container .sticky-header{background-color:#666}.sticky-view-scroll .sticky-view-container .cube-sticky{padding:0 10px}.sticky-view-scroll .sticky-view-container .cube-sticky .cube-scroll-wrapper{background-color:#fff}.sticky-view-scroll .sticky-view-container .cube-sticky-fixed .sticky-header{margin:0 10px}.sticky-view-native .content>*{margin:10px 0}.sticky-view-native .sticky-view-container{position:absolute;top:45px;bottom:0;left:0;width:100%}.sticky-view-native .sticky-view-container li{padding:20px 10px}.sticky-view-native .sticky-view-container .sticky-header{background-color:#666}.sticky-view-native .sticky-view-container .cube-sticky{padding:0 10px}.sticky-view-native .sticky-view-container .scroll-ele{height:100%;overflow:auto;-webkit-overflow-scrolling:touch;background-color:#fff}.sticky-view-native .sticky-view-container .cube-sticky-fixed .sticky-header{background-color:rgba(0,0,0,.6)}.sticky-view-wechat .content>*{margin:10px 0}.sticky-view-wechat .sticky-view-container{position:absolute;top:45px;bottom:0;left:0;width:100%}.sticky-view-wechat .sticky-view-container li{padding:20px 10px}.sticky-view-wechat .sticky-view-container .sticky-header{color:#fff;opacity:0;background-color:rgba(0,0,0,.6)}.sticky-view-wechat .sticky-view-container .cube-sticky .cube-scroll-wrapper{background-color:#fff}.sticky-view-wechat .sticky-view-container .cube-sticky img{vertical-align:top;height:250px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sticky-view-wechat .sticky-view-container .cube-sticky-ele{margin-top:-60px;margin-bottom:4px}.sticky-view-wechat .sticky-view-container .sticky-fixed-show-enter,.sticky-view-wechat .sticky-view-container .sticky-fixed-show-leave-active{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.sticky-view-wechat .sticky-view-container .sticky-fixed-show-enter-active,.sticky-view-wechat .sticky-view-container .sticky-fixed-show-leave-active{-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.sticky-view-complex .content>*{margin:10px 0}.sticky-view-complex .sticky-view-container{position:absolute;top:45px;bottom:0;left:0;width:100%}.sticky-view-complex .sticky-view-container li{padding:20px 10px}.sticky-view-complex .sticky-view-container .sticky-header{background-color:#666}.sticky-view-complex .sticky-view-container .cube-sticky{padding:0 10px}.sticky-view-complex .sticky-view-container .cube-sticky .cube-scroll-wrapper{background-color:#fff}.sticky-view-complex .sticky-view-container .cube-sticky-ele-on{visibility:hidden}.sticky-view-complex .sticky-view-container .cube-sticky-fixed .sticky-header{margin:0 10px;background-color:transparent}.sticky-view-complex .sticky-view-container .cube-sticky-fixed .sticky-header li{background-color:#666}.sticky-view-complex .sticky-view-container .cube-sticky-fixed .cube-tab-bar{margin:0 10px;background-color:#fff;box-shadow:0 3px 3px rgba(0,0,0,.1)}.side-container{height:300px;margin-top:20px}.scroll-nav-def{background-color:#fff}.scroll-nav-def .view-wrapper{position:fixed;top:44px;left:0;bottom:0;width:100%}.scroll-nav-def .cube-scroll-nav-bar{border-bottom:1px solid #f4f4f4}.scroll-nav-def .cube-scroll-nav-panel{width:90%;margin:auto}.scroll-nav-def .cube-scroll-nav-panel img{width:114px;height:114px}.scroll-nav-def .cube-scroll-nav-panel ul{overflow:hidden;font-size:14px;line-height:1.4;color:#666}.scroll-nav-def .cube-scroll-nav-panel li{float:left;width:50%}.scroll-nav-def .cube-scroll-nav-panel li div{width:114px;margin:0 auto 15px}.scroll-nav-def .cube-scroll-nav-panel li div p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.scroll-nav-def .cube-scroll-nav-panel-title{padding:15px;font-size:16px;text-align:center}.scroll-nav-side{background-color:#fff}.scroll-nav-side .view-wrapper{position:fixed;top:44px;left:0;bottom:0;width:100%}.scroll-nav-side .prepend-header{width:90%;margin:20px auto;text-align:center;font-size:20px;line-height:1.6;border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.2)}.scroll-nav-side .cube-scroll-nav-main,.scroll-nav-side .cube-sticky-fixed{background-color:#efeff4}.scroll-nav-side .cube-scroll-nav-bar{width:120px;background-color:transparent}.scroll-nav-side .cube-scroll-nav-bar-item{padding:15px}.scroll-nav-side .cube-scroll-nav-bar-item_active,.scroll-nav-side .cube-scroll-nav-panels{background-color:#fff}.scroll-nav-side .cube-scroll-nav-panel img{width:114px;height:114px}.scroll-nav-side .cube-scroll-nav-panel ul{overflow:hidden;font-size:14px;line-height:1.4;color:#666}.scroll-nav-side .cube-scroll-nav-panel li{float:left;width:50%}.scroll-nav-side .cube-scroll-nav-panel li div{width:114px;margin:auto}.scroll-nav-side .cube-scroll-nav-panel li div p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.scroll-nav-side .cube-scroll-nav-panel-title{padding:15px;font-size:16px;background-color:#fff}.image-preview-custom-header{padding:20px;text-align:center;color:#fff;background-color:#000}.view-wrapper .imgs-container{margin-top:50px}.view-wrapper .imgs-container>img{max-width:100px;height:67px;margin:0 10px 16px;border-radius:4px}.view-wrapper .tips{margin-top:50px;text-align:center;font-size:30px;color:#222}.tab-bar-view .section{margin-bottom:10px;background-color:#fff}.tab-bar-view .option-list .group{margin-bottom:15px}.tab-bar-view .option-list .item{height:52px;border:1px solid rgba(0,0,0,.1);background-color:#fff;border-radius:5px}.tab-bar-view .cube-tab-bar,.tabs-basic-view .cube-tab-bar,.tabs-basic-view .cube-tab-panels{background-color:#fff}.tabs-basic-view .tab-panel-li{padding:0 16px;height:40px;line-height:40px;border-top:1px solid #eee}.tabs-basic-view .tab-panel-li:last-child{border-bottom:1px solid #eee}.cube-page.tab-composite-view>.wrapper>.content{margin:0}.tab-composite-view .cube-tab-bar{background-color:#fff}.tab-composite-view .cube-tab,.tab-composite-view .cube-tab_active{color:#000}.tab-composite-view .cube-tab-bar-slider{background-color:#000}.tab-composite-view .tab-slide-container{position:fixed;top:74px;left:0;right:0;bottom:0}.tab-composite-view .list-wrapper{overflow:hidden}.tab-composite-view .list-wrapper li{padding:15px 10px;margin-top:10px;text-align:left;background-color:#fff;font-size:14px;color:#999;white-space:normal}.tab-composite-view .list-wrapper li .line-height{line-height:1.5}.tab-composite-view .list-wrapper li .is-black{color:#000}.tab-composite-view .list-wrapper li .is-grey{color:#999}.tab-composite-view .list-wrapper li .is-bold{font-weight:700}.tab-composite-view .list-wrapper li .top{display:-webkit-box;display:-webkit-flex;display:flex}.tab-composite-view .list-wrapper li .top .avatar{width:15px;height:15px;margin-right:2px;border-radius:100%}.tab-composite-view .list-wrapper li .top .time{-webkit-box-flex:1;-webkit-flex:1;flex:1}.tab-composite-view .list-wrapper li .middle{display:-webkit-box;display:-webkit-flex;display:flex;margin:10px 0;color:#000}.tab-composite-view .list-wrapper li .hot-title{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:12px}.tab-composite-view .list-wrapper li .hot-title .hot-sequence{display:inline-block;margin-right:2px;padding:3px 6px;border-radius:2px;background-color:#b8860b;color:#fff}.tab-composite-view .list-wrapper li .hot-content{margin-top:15px}.scroll-tab-view .cube-tab-bar{-webkit-flex-wrap:wrap;flex-wrap:wrap}.scroll-tab-view .cube-tab-bar .cube-tab{width:100%;-webkit-flex-basis:unset;flex-basis:unset;height:40px;line-height:40px;font-size:14px;color:#db8931;-webkit-transition:all .3s ease-in;transition:all .3s ease-in}.scroll-tab-view .cube-tab-bar .cube-tab.cube-tab_active{color:#fff;font-size:16px;background-color:#a74b00}.scroll-tab-view .left-panel{position:absolute;top:44px;left:0;bottom:0;width:80px;background-color:#2d2d2d}.scroll-tab-view .right-panel{position:absolute;top:44px;left:80px;right:0;bottom:0;background-color:#171819}.scroll-tab-view .right-panel li{height:102px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background-color:#171819}.scroll-tab-view .right-panel li img{width:102px;margin:0 10px 0 20px;border:1px solid #ff9f38;border-radius:3px;box-shadow:0 1px 5px 0 #000}.scroll-tab-view .right-panel li span{color:#db8931}.checker-group-view .content>*{margin:10px 0}.checker-item{display:inline-block;vertical-align:top;text-align:center;padding:8px 10px;margin-right:10px;color:#fff;border-radius:4px;position:relative;background:#fc9153}.checker-item:active{background:#e8864c}.orange{font-weight:700;color:#ff8000}.view-wrapper{position:absolute}.list{background:#eee}.view-wrapper{position:fixed;top:54px;left:0;bottom:0;width:100%}.list{width:375px;max-width:100%;height:100%;margin:0 auto;padding:0;border:1px solid #ddd;list-style-type:none;text-align:center}.list .item{display:-webkit-box;display:-webkit-flex;display:flex;padding:10px 0;width:100%;text-align:left}.list .item .avatar{border-radius:50%;margin-left:15px;margin-right:6px;min-width:48px;width:48px;height:48px;background-image:url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAb1BMVEU5bd5znu9ShueMtv9CeeeEqvdjku+cw/9Cded7pvdjju9SgueMsvdCcedaiu+cvv9Sfedzmu+ly/85cd5znvdaiueUuv9KfeeErvdrlu+lx/9ahueUtv9Keedrku+lw/+EpveMsv9Ccd57oveMrve5tZGnAAAPIUlEQVR4nO1cDXvaOAwOfWi9rbmHDh24NePYfPz/33hJbFmS7YBDnI7bQ7wVCAmx9OqV5M/mpP6M0vz2GlQqzW+vQaXyJyAy/Gv86/++/AmIDOXBkTsq6sGReywPjtxRUQ+O3GN5cOSOinpw5B7LgyN3VNSDI/dYHhy5o6IeHLnH8uDIHRX14Mg9lgdH7qioB0fusTw4ckdFPThyj+XBkYKijDLdsR2K6T4s9ZxFOdLX/NfPj93bF2ga+PK2+/jansxSsiyDyCDG/u+DbQBsf3wZ/trmr6fVfilZluBIV9d/ddMMlV935di/+KPRq5NRC9hAbUS6f2b/TwNOiGMvAf7rS49N89LBUvmZC3DEqJeGC3HE92sUx1p42VRHpSYivRhm5cRwVT72wBzdiXCyf9/8XZsrdTlifryBFRJo6/4c8awDx8Lbvq4ktRAZ/pivQIaknQTuDR6MNM2/23rPrsoRY3p2rMlF6fCKxbkA78bgW2delWSphYgT5NWTfBBBe0g0Q0Q74dAJ2FdVz3tV44hRmjwtcgM4JEyUo+f9270h0pc3iwT3YoCHBJw8ELDRdKWu8WRVlSOvZFaa/jJIHETs2wGT11q+qwYi3b/tN/D5SDChHgIILAdOFnzjGF9Hkjoc6cPg0XuroeYQAkgvIARbGyzNX+TcF6zqSDIfke6faZujp3nQOlICEXEfkS3Ikj6e/JgriarGEcPy24EGQJQYKo/2pgN3tHfE3Z3H2bqsg0gnx0fj0RA80ByZ/i9EFNGOJ/BRI5pU4Ij50bAGR6ABMj04L+3RsvTqzLHZV4jwcxHpBdnZ4HfRqDgl0JZin0Xh5DCPJaoORzqm94rlFWWUcD6YYsgQHgNVfDhp2vmeaz5HzMF6y9LoejklQPOgzhFhIB3ms2Q2R3qGhOQKbEyJUPPImwHzzR3f29ktxnmI9IJ8+PChebxDbVMUCSjQdxDyevsxx7ZUHY40zGMx00HP5M9o8mEURjx4/f0Gq/R7EOkAeYY1oweP4oQIYwN9B/6bge/N81wPPJcj6HsZIBADgu0sLfwXoddnaS+e7r8PkaPzvY6/lBESIgwOzp7wVpNt3VgHVYEjpgUrDwYIumAvYkgjgXtpl4mtYc+q9fmIKPNz8FnAGMIBSRGRAQXCiebnHClOszliXqx0WpwhkYFhq5cJPbgzl3IxB/wbEDmZJx8NGUN4WgUXISF3tu7avDdLoWpwJOqBywISPofGCDWBw+uad9d9PiLKGRZkGcLOphhYRpDBPOdIcZrNkQ1IbytcVgJIMD1qmgREYCNC4icjYvZw5HxmDUNLrBZ48I8U87u8cU8/O7EWqgJH2lDfBJAQYIgRrq3FDa73WV6YfVq9T0Vk7fVPvQqkb86Q0DrhiTBdugbRuJpel5kcEYhccFkRDKIR6e/bJ0nKZyKygTVpNQrqmRjCMANqRDq27OVPT6iFqsCRDZkQdi7mGCLcFgnDo4vNVePTEDltYSxKZGKIgCT6bm2TZvu0mszNtd4kCRKfy/NJaqP4fi+ea450y38WIuZFpvEkQZ4hvpFl0+92mSZiYS1UjVxrxbNZnklFDOFwAIvpgT2r7UjVPwWRpGElu+lSQDB5t/F30J5GlF1YZvdrYbsqdOcGpwWCIbwN767gaHVOa7xD6BMQOantThCE+hsyLkvmjjFFRipcUAdVo1/rtIo8rejPkgzhJga8NdaFw68XOx8WRkQNk+Qa3qIN4mQZYkchaTYXH1NQ5vf9PjEUqGfEsiHDlCMCkv797tp0jkURcX2/79QNF0IH5ewpJDYDCTzPkUJVGh/hLRJUNqu0AAWYSOS3rC4YVlgUkb6YZ05tTIJDpSNQROwMZ68OUV+vx2yOdP/iLqC4yuyd/86FGGosbou6sBdExEHyjgM7PG9kKAB/jXsmBobMsyxVa5zdOa4YENBZUBLWa3gqHlJYDBH/8xsx1pZLewNTMp7YtrOlOFWai2JWYEPPOwOE/4/lo5Ojee8kaSqMs3fFZVzcZaUHcBfgrhhi6Gv51Mbx09XmaylMzi8BIkM7njHZ/H2yNJXma5kNQN5lyYOliUiQSYOH419Vm9PYhp4tsAkz0q4hPNdub1JcWmrNaTTmzLqoM+7Khlk2JBPA++QpD/lTFec0KnNufNeWBEPwm+daepjwcNvD0lP1ZpmaobeOz3JIQdHYN9FfBB0/Kklxqjo3vhPlacCEd79LUIQ73qnthYpNlabq3HhlvgOMZlnB6Tqv9d3UkkJV5YgrpsXpWBwVhk/gfbulp9aQph5H3Ivp0hWOAwQ8cArUAMeK1vTUkOK0xBorcxrsKyEIc7qrjh0zhkKyNy2x6q1Dpatt0l7H2XQr1xdXTwq1AEe8JNtt+6EBWAjBMPK93Zrs3Ky50iyzMrTTt9m2zzvdI9MJNPzVH6tOimsVukmK02Jrdfs/pgNGte159bx6fm9bt8y1uGJTpVloZejwok5+rW7nokyfrS8khVqMI9ceu4Q0n7eefUkpTne3nv32m+5ph4FZt97dng+33nZPiNwuxenuOHK7NPeFyAwjvzuO3CrN8ogY5fbfKN2F48bHLMIRt41I92bTdsf5/H7uX1vlUpYSeaY/tC4igwTbtl2tdodXC03TJe6NO7ocuN8J4nW3Wz13GeQleW56dNX17KfN+2r3ljao4vZV37zarc6bmtLU6vs1pl3trN9DhPVj4XQg7VZXiC6Wxu5WeWxuqEQNjvRCHJgM2q8+1kIUko2tkeus7zAIk9fPpyEyYNF+HNkSJCu7qkOdsUcoiDXMI/eWtjurSJZbELnlNld6g/qwfv8QTTUPlQ6fmWzAzQ33GgD70ppZ00znIGI2K8TC7xcgZjXiEkTL++HdZRBgIiHBfhc72ExH5FY09m6GE9s6xNLAggcE4kl/AR4UynVMug1gYNfebGG3IdIz49A4McLkeM4IGzRPc1MAp0N4McVIil/W37w937gg5iaOGPPrqcF9jYRy+TQsseqbTYfgp5nBrT313+Qq0SURMZsd7uRyDMxAw0/H16S1sSkSwNbzaht242mefuAA6TREJsvx3fspJDhVXsu5itYDRZKJkXY5lK1pj6TmZfo2b9MQ6cXYH+FLcJsxw6NDW9qJAxca07iuZlfhe78/zJfz1I2FJnLEIBxEckClgzCidIgK60zw8Iuc78JNkmzzz0RMpnLkEPZronqFKEiGI4eoaFwhCJv3ycPhqAJ6MxWR8mL2BD5xFzhJkgF2LpXljBExMty0dqIMr5O2gpiCiGl7dgRXhc/nLKFDTgDWjEW8/uxHGD7I+Smj8BM4Yn41bHcsZioWkCXR9JOMqXkBvIkFivAhR8JkysYD5YgM0+ADx7nLDWlvOgdFzj7D6SqSJPF92mHSU6X5MQWRQjk2qKfIRIBBImudEcyykM8Gsji1gnaG/Kt4+8AyRFTYzyxUDuScJRnc2KY0KUdi9OTIPCrA7yNYvG1VKUfMR4N2FWyZz7Bm5GeRhCaV4iuL5DxLjgKPO9cbF6wK5xWUINLjsW8wq8vaC9aMKi5nMYusJQ4jMm+h2OSOTRkmhRwZdnE5JskU/sX4EE2YS0N7BEhgieA/rXpnC91rIDJsoLWOdw2JEclzm8MBPPbxQ3owAUhnXKooLpZxxHxj/iqGA5uCUss8SowBwqMkSgc8vvZRy7Pk6nTZIkQUd1hJJggXAJFVtiOr4UD4CmAXrP1eTyWIlFgW+J2nRBrFqkfZoKB2JF2GIeEnYvTw5u6xRfNvriOi3CK9aKOjtH7cZcmvJUPGMoAoC8Cz/T5iBZZVxhGkiJiKxYKIxRw4mQ4kaIItKxv/RORw3UW4hlQsEJ+DyMntqzNGAd4yH8GEG9lI5oKIxNY2fPlcwvYyjhxCb0nssESniAgiARwUbZQhIHotWHB3iDTnEv9bxpEn/qRI70Hf3BdxcMhJs/31MqDJBIcubd5LlF3GkYPPTmRzgzwNYMzPRn2CAc0ovs5a3F1TqMG6UFIJkZ4jB2EZ4oFYn8yEuaDsJMuii/lMx1xEnYLI9eI31sk4Gx0ZWGL8Ys2ruDTzGxll9F7rXBIRyzhycL8pYRf57YWDxRDmstjvoFRCQWR1tTkS9leMHjd4pRwUjACRy4pcG0kciehPVubIaOjOkEccCUPCF+wH3DXMa9HJ5TgSkcHa5JQkUgxIhKlUSNQR1rv1yhxhz4wwiZOLDCQkQuZgHsrGyuh3dXsvaSOWcoSqkqFjLr7wM4Os2SaLjDSp3xpOnGu12d2KSZsz7xSQHCi0MWsOEBH7Uy2tm1JECjiCkV0kEaTQhCASEwiJM2QBywcS7CgbvFalNrvLtXLPgRE9Jy6Uv4P0UvQKiYnaReIIapPDgnqOs2JBWPok8ZSxPWGIB7tiHHmKNSvVnjV9nvmlzfz4RCww+YmqceTg5pZAxmdl/FbMo3jVQoZGWUD8ueq51rg+x0I7XPo2YopQh7DKmnHkKWymntNmxNIEGJbw5hwfeq6MvA6kinFEIjIau0f0ngtA8ZAcZTKxgqrHkax1k85Bp4iFKKohuTvCxOYCu/9cPY6MaZysIu1HoXpexoQHdp78DBwpUfaEOHKNBTlMosGpcUwYADEgteKISr1WikvSpyWHrFIUE0yGy4TT8oCUZ78FHAleKxsmRCiLXgkQeWMCTApJ+HQ+XTeaSV4rk0EEvadY+AHrSxRhwOjQxRdrxxZ7reviIkdyqvQWniibKTptLqX3EyMSQBbItVJFckjCZ/5NCkkOnshhIEPAc6TE/KflWv4x0tgxu4iJgEmftTkUYoKMuKz+WC7XSjAZ90vcwDLx3BJF8v5j4EghItfFdV5rLA5Y1lJJWETDIRwGSRUQgxICkEHK2v1aib6ZhnXOHVnLOrUuHxAFVQbIEnFkFBMrzwoOJHlY1n8RJGmQrxRHVIYjUQcwxN3C7H1wWaPd9f6qxNTw8yJxJIcJZLQu/FbCnEyglw5DdnNU50hW4/7J8mwUScQZyF4ZzJMLXz+OPMWRPcIno/UcWrn7md8jO5NqWiSOJMMjQel5Tced+JnYH66SemEcKUTkurjjkZ18TsQaqetRbog2VGSnQU2L5FriCfRWp0jxGJO/N8Y0BHUhcNU4km2zM54k3cLcH/EsbAwTrotEKYvFkVT7OjrDmXC9fRhlW7FWyuLIfwTrhWTgURuSAAAAAElFTkSuQmCC);background-size:cover;outline:none}.list .item p{margin:0;word-wrap:break-word;font-size:14px}.list .item.tombstone p{width:100%;height:.5em;background-color:#ccc;margin:.5em 0}.list .item .bubble{padding:7px 10px;color:#333;background:#fff;box-shadow:0 3px 2px rgba(0,0,0,.1);position:relative;max-width:420px;min-width:80px;margin:0 20px 0 5px}.list .item .bubble:before{content:\"\";border-style:solid;border-width:0 10px 10px 0;border-color:transparent #fff transparent transparent;position:absolute;top:0;left:-10px}.list .item .meta{font-size:.8rem;color:#999;margin-top:3px}"
  },
  {
    "path": "docs/example/index.html",
    "content": "<!DOCTYPE html><html><head><meta charset=UTF-8><title>cube-ui lib</title><meta name=viewport content=\"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,viewport-fit=cover\"><link rel=\"shortcut icon\" type=images/x-icon href=//webapp.didistatic.com/static/webapp/shield/Cube-UI_logo.ico><link href=css/app.2287833534700774c792800f69036dc8.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=js/manifest.346dd10710fe9c0348bf.js></script><script type=text/javascript src=js/vendor.9655a2c38e3b841c4a21.js></script><script type=text/javascript src=js/app.3a3497c3c037f5ef7f1d.js></script></body></html>"
  },
  {
    "path": "docs/example/js/app.3a3497c3c037f5ef7f1d.js",
    "content": "webpackJsonp([0],{\"+//L\":function(t,e,a){function i(t){a(\"nowG\")}var n=a(\"VU/8\")(a(\"BQwy\"),a(\"yZl8\"),i,null,null);t.exports=n.exports},\"+8WV\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={components:{CubePage:l.default,CubeButtonGroup:c.default},methods:{showTimePicker:function(){this.timePicker||(this.timePicker=this.$createTimePicker({onSelect:this.selectHandler,onCancel:this.cancelHandler})),this.timePicker.show()},showConfigDayPicker:function(){this.configDayPicker||(this.configDayPicker=this.$createTimePicker({minuteStep:5,delay:10,day:{len:5,filter:[\"今天\",\"明天\"],format:\"M月D日\"},onSelect:this.selectHandler,onCancel:this.cancelHandler})),this.configDayPicker.show()},showFormatPicker:function(){this.formatPicker||(this.formatPicker=this.$createTimePicker({format:\"hh:mm\",onSelect:this.selectHandler,onCancel:this.cancelHandler})),this.formatPicker.show()},showMinuteStepPicker:function(){this.minuteStepPicker||(this.minuteStepPicker=this.$createTimePicker({minuteStep:{rule:\"ceil\",step:15},onSelect:this.selectHandler,onCancel:this.cancelHandler})),this.minuteStepPicker.show()},showMinPicker:function(){this.minPicker||(this.minPicker=this.$createTimePicker({min:+new Date-84e5,onSelect:this.selectHandler,onCancel:this.cancelHandler})),this.minPicker.show()},showMaxPicker:function(){this.maxPicker||(this.maxPicker=this.$createTimePicker({delay:0,max:+new Date+1812e5,onSelect:this.selectHandler,onCancel:this.cancelHandler})),this.maxPicker.show()},showSetTimePiker:function(){this.setTimePiker||(this.setTimePiker=this.$createTimePicker({onSelect:this.selectHandler,onCancel:this.cancelHandler}));var t=(new Date).valueOf()+864e5;this.setTimePiker.setTime(t),this.setTimePiker.show()},selectHandler:function(t,e,a){this.$createDialog({type:\"warn\",title:\"selected time: \"+t,content:\"selected text: \"+e+\"<br>format time: \"+a,icon:\"cubeic-alert\"}).show()},cancelHandler:function(){this.$createToast({type:\"correct\",txt:\"Picker canceled\",time:1e3}).show()}}},t.exports=e.default})},\"+Cpq\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"div\",{staticClass:\"cube-btn-group\",class:t.direction},[t._t(\"default\")],2)},staticRenderFns:[]}},\"+Ghj\":function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"UFDc\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.addType=t.types=void 0;var a=/^(1|2)\\d{3}[.\\-/]\\d{1,2}[.\\-/]\\d{1,2}$/,i={string:function(t){return\"string\"==typeof t},number:function(t){return!isNaN(Number(t))},array:function(t){return Array.isArray(t)},date:function(t){return!isNaN(Number(t))||a.test(t)},email:function(t){return\"string\"==typeof t&&/^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)+$/i.test(t)},tel:function(t){return\"string\"==typeof t&&/^(11|13|14|15|17|18|19)[0-9]{9}$/.test(t)},url:function(t){return\"string\"==typeof t&&/(https?|ftp|file):\\/\\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/.test(t)}},n=(0,e.createAddAPI)(i);t.types=i,t.addType=n})},\"+HHY\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"2DUa\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-index-list-group\",props:{group:{type:Object,default:function(){return{}}}},methods:{selectItem:function(t){this.$emit(\"select\",t)}},components:{CubeIndexListItem:i.default}},t.exports=e.default})},\"+HVL\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-drawer-item\",props:{item:{type:[String,Object],default:\"\"},index:{type:Number,default:-1}},computed:{itemClass:function(){return this.$parent.$parent.selectedIndex===this.index?\"cube-drawer-item_active\":\"\"}},methods:{clickItem:function(t){this.$parent.$parent.itemClickHandler(t,this.index)}}},t.exports=e.default})},\"+IZQ\":function(t,e){},\"+akI\":function(t,e){},\"+hyH\":function(t,e,a){function i(t){a(\"VvZZ\")}var n=a(\"VU/8\")(a(\"fidG\"),a(\"6u20\"),i,null,null);t.exports=n.exports},\"+iBg\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={data:function(){return{customIndex:1,imgs:[\"https://dpubstatic.udache.com/static/dpubimg/XsZT-Ium9K/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg\",\"https://dpubstatic.udache.com/static/dpubimg/jM0pARr01R/686d7361ly1fpha0ncnnej21hc0zetxo.jpg\",\"https://dpubstatic.udache.com/static/dpubimg/uesDMLn8ho/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg\",\"https://dpubstatic.udache.com/static/dpubimg/yGntxcSqhM/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg\"]}},methods:{showImagePreview:function(){this.$createImagePreview({imgs:this.imgs}).show()},showCustomImagePreview:function(){var t=this;this.$createImagePreview({imgs:this.imgs,initialIndex:this.customIndex,loop:!1,speed:500,onChange:function(e){t.customIndex=e},onHide:function(){console.log(\"hide\")}},function(e){return e(\"div\",{class:{\"image-preview-custom-header\":!0},slot:\"header\"},t.customIndex+1)}).show()},goTo:function(t){this.$router.push(\"/image-preview/\"+t)}},components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default}},t.exports=e.default})},\"+rJ6\":function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";function e(t,e,i,n){var l={year:\"(Y+)\",month:\"(M+)\",date:\"(D+)\",hour:\"(h+)\",minute:\"(m+)\",second:\"(s+)\",quarter:\"(q+)\",millisecond:\"(S)\"};if(new RegExp(l[t],n).test(e)){var c=\"year\"===t?i.toString().substr(4-RegExp.$1.length):1===RegExp.$1.length?i:a(i);e=e.replace(RegExp.$1,c)}return e}function a(t){return(\"00\"+t).substr((\"\"+t).length)}function i(t,a){var i={year:{value:t.getFullYear(),regExpAttributes:\"i\"},month:{value:t.getMonth()+1},date:{value:t.getDate(),regExpAttributes:\"i\"},hour:{value:t.getHours(),regExpAttributes:\"i\"},minute:{value:t.getMinutes()},second:{value:t.getSeconds()},quarter:{value:Math.floor((t.getMonth()+3)/3),regExpAttributes:\"i\"},millisecond:{value:t.getMilliseconds()}};for(var n in i)a=e(n,a,i[n].value,i[n].regExpAttributes);return a}function n(t){var e=t.getFullYear(),a=t.getMonth()+1,i=t.getDate();return+new Date(e+\"/\"+a+\"/\"+i+\" 00:00:00\")}function l(t,e){return Math.floor((n(t)-n(e))/o)}function c(){return window.performance&&window.performance.now?window.performance.now()+window.performance.timing.navigationStart:+new Date}function u(t,e){var a=30;return[1,3,5,7,8,10,12].indexOf(t)>-1?a=31:2===t&&(a=e&&e%400&&(e%4||!(e%100))?28:29),a}Object.defineProperty(t,\"__esModule\",{value:!0});var o=864e5;t.DAY_TIMESTAMP=o,t.HOUR_TIMESTAMP=36e5,t.MINUTE_TIMESTAMP=6e4,t.pad=a,t.formatType=e,t.formatDate=i,t.getZeroStamp=n,t.getDayDiff=l,t.getNow=c,t.computeNatureMaxDay=u})},\"+vzD\":function(t,e,a){var i=a(\"VU/8\")(a(\"eC/x\"),a(\"vuoK\"),null,null,null);t.exports=i.exports},\"/5me\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"fZjL\"),a(\"s0qb\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e,a){function n(e){clearTimeout(A),A=0,t.progress=1,t.status=e,a&&a(t)}function c(){var e=k.responseText||k.response;try{e=JSON.parse(e)}catch(t){}t.response=e,t.responseHeaders=k.getAllResponseHeaders()}var u=e.target,o=e.headers,s=void 0===o?{}:o,r=e.data,d=void 0===r?{}:r,v=e.fileName,p=void 0===v?\"file\":v,f=e.withCredentials,h=e.timeout,x=e.prop,y=void 0===x?\"file\":x,m=e.progressInterval,b=void 0===m?100:m,g=e.checkSuccess,_=void 0===g?function(){return!0}:g,w=(0,i.evalOpts)(u,t);t.progress=0,t.status=i.STATUS_UPLOADING;var k=new window.XMLHttpRequest;t._xhr=k;var A=0;if(k.upload){var C=Date.now();k.upload.onprogress=function(e){function a(){t.progress=e.loaded/e.total,C=Date.now()}if(e.total>0)if(A){clearTimeout(A);var i=Date.now(),n=i-C;n>=b?a():A=setTimeout(a,n)}else a(),A=1}}var T=new window.FormData,j=(0,i.evalOpts)(d,t);(0,l.default)(j).forEach(function(t){T.append(t,j[t])}),T.append(p,t[y]),k.onload=function(){if(k.status<200||k.status>=300)return void n(i.STATUS_ERROR);c();var e=t.response;if(_.length<=2){n(_(e,t)?i.STATUS_SUCCESS:i.STATUS_ERROR)}else _(e,t,function(t){n(t?i.STATUS_SUCCESS:i.STATUS_ERROR)})},k.onerror=function(){c(),n(i.STATUS_ERROR)},k.ontimeout=function(){c(),n(i.STATUS_ERROR)},k.open(\"POST\",w,!0),f&&(k.withCredentials=!0);var P=(0,i.evalOpts)(s,t);(0,l.default)(P).forEach(function(t){k.setRequestHeader(t,P[t])}),h>0&&(k.timeout=h),k.send(T)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},\"/Ca3\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"woOf\"),a(\"t7U9\"),a(\"UFDc\"),a(\"4Gmg\"),a(\"tJl4\"),a(\"M7O5\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(l),d=o(c),v=o(u);e.default={name:\"cube-form\",mixins:[v.default],props:{action:String,model:{type:Object,default:function(){return{}}},schema:{type:Object,default:function(){return{}}},options:{type:Object,default:function(){return{scrollToInvalidField:!1,layout:d.default.STANDARD}}},immediateValidate:{type:Boolean,default:!1},submitAlwaysValidate:{type:Boolean,default:!1}},data:function(){return{validatedCount:0,dirty:!1,firstInvalidField:null,firstInvalidFieldIndex:-1}},computed:{fieldsModel:function(){var t={};return this.fields.forEach(function(e){e.isBtnField||(t[e.fieldValue.modelKey]=e.modelValue)}),t},groups:function(){var t=this.schema,e=t.groups||[];return t.fields&&e.unshift({fields:t.fields}),e},fieldsData:function(){return this.groups.reduce(function(t,e){return e.fields.reduce(function(t,e){return t.push(e),t},t),t},[])},layout:function(){var t=this.options;return t&&t.layout||d.default.STANDARD},formClass:function(){var t=this.invalid,e=this.valid,a=this.layout;return{\"cube-form_standard\":a===d.default.STANDARD,\"cube-form_groups\":this.groups.length>1,\"cube-form_validating\":this.validating,\"cube-form_pending\":this.pending,\"cube-form_valid\":e,\"cube-form_invalid\":t,\"cube-form_classic\":a===d.default.CLASSIC,\"cube-form_fresh\":a===d.default.FRESH}}},watch:{validatedCount:function(){this.$emit(\"validate\",{validity:this.validity,valid:this.valid,invalid:this.invalid,dirty:this.dirty,firstInvalidFieldIndex:this.firstInvalidFieldIndex})}},beforeCreate:function(){this.form=this,this.fields=[],this.validity={}},mounted:function(){this.immediateValidate&&this.validate()},methods:{submit:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.skipValidate=t,(0,i.dispatchEvent)(this.$refs.form,\"submit\"),this.skipValidate=!1},reset:function(){(0,i.dispatchEvent)(this.$refs.form,\"reset\")},submitHandler:function(t){var e=this;if(this.syncValidatorValues(),this.skipValidate)return void this.$emit(\"submit\",t,this.model,this.fieldsModel);var a=function(a){a?(e.$emit(\"valid\",e.validity),e.$emit(\"submit\",t,e.model,e.fieldsModel)):(e.options.scrollToInvalidField&&e.firstInvalidField&&e.firstInvalidField.$el.scrollIntoView(),t.preventDefault(),e.$emit(\"invalid\",e.validity))};this.submitAlwaysValidate||void 0===this.valid?(this._submit(a),(this.validating||this.pending)&&t.preventDefault()):a(this.valid)},resetHandler:function(t){this._reset(),this.$emit(\"reset\",t)},_submit:function(t){var e=this;this.validate(function(){t&&t(e.valid)})},_reset:function(){this.fields.forEach(function(t){t.reset()}),this.setValidity(),this.setValidating(),this.setPending()},syncValidatorValues:function(){this.fields.forEach(function(t){t.syncValidatorValue()})},validate:function(t){var e=this,a=(0,n.cb2PromiseWithResolve)(t);a&&(t=a.resolve);var i=0,l=this.fields.length;return this.originValid=void 0,this.fields.forEach(function(a){a.validate(function(){++i===l&&t&&t(e.valid)})}),a},updateValidating:function(){var t=this.fields.some(function(t){return t.validating});this.setValidating(t)},updatePending:function(){var t=this.fields.some(function(t){return t.pending});this.setPending(t)},setValidating:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.validating=t},setPending:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.pending=t},updateValidity:function(t,e,a,i){var n=this.validity[t];n&&n.valid===e&&n.result===a&&n.dirty===i||this.setValidity(t,{valid:e,result:a,dirty:i})},setValidity:function(t,e){var a={};t&&((0,s.default)(a,this.validity),void 0===e?delete a[t]:a[t]=e);var i=!1,n=!1,l=!0,c=\"\";this.fields.forEach(function(t){var e=t.fieldValue.modelKey;if(e){var u=a[e];u?(u.dirty&&(i=!0),!1===u.valid?l=!1:l&&!u.valid&&(l=u.valid),n||!1!==u.valid||(n=!0,c=e)):t.hasRules&&(l&&(l=void 0),a[e]={valid:void 0,result:{},dirty:!1})}}),this.validity=a,this.dirty=i,this.originValid=l,this.setFirstInvalid(c),this.validatedCount++},setFirstInvalid:function(t){var e=this;if(!t)return this.firstInvalidField=null,void(this.firstInvalidFieldIndex=-1);this.fields.some(function(a,i){if(a.fieldValue.modelKey===t)return e.firstInvalidField=a,e.firstInvalidFieldIndex=i,!0})},addField:function(t){var e=this.fieldsData.indexOf(t.field);this.fields.splice(e,0,t);var a=t.fieldValue.modelKey;a&&this.setValidity(a)},destroyField:function(t){var e=this.fields.indexOf(t);this.fields.splice(e,1);var a=t.fieldValue.modelKey;a&&this.setValidity(a)}},beforeDestroy:function(){this.form=null,this.firstInvalidField=null},components:{CubeFormGroup:r.default}},t.exports=e.default})},\"/Pfp\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"N/gd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},\"/V0l\":function(t,e,a){function i(t){a(\"ee49\")}var n=a(\"VU/8\")(a(\"ISEw\"),a(\"BoHM\"),i,null,null);t.exports=n.exports},\"/W4T\":function(t,e){},\"/Yrh\":function(t,e,a){function i(t){a(\"js4V\")}var n=a(\"VU/8\")(a(\"0+e1\"),a(\"J1IR\"),i,null,null);t.exports=n.exports},\"/kdh\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"+//L\"),a(\"UFDc\"),a(\"t7U9\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(t){return t&&t.__esModule?t:{default:t}}(a),c=(0,n.prefixStyle)(\"transform\");e.default={name:\"cube-tab-panels\",props:{value:{type:[String,Number]},data:{type:Array,default:function(){return[]}}},created:function(){this.panels=[]},mounted:function(){this._move(this.value)},methods:{_move:function(t){var e=(0,i.findIndex)(this.panels,function(e){return e.value===t});if(-1!==e){var a=this.$refs.panelsGroup,n=-100*e;a.style[c]=\"translateX(\"+n+\"%)\"}},addPanel:function(t){this.panels.push(t)},removePanel:function(t){var e=this.panels.indexOf(t);e>-1&&this.panels.splice(e,1)}},watch:{value:function(t){this._move(t)}},components:{TabPanel:l.default}},t.exports=e.default})},\"/tRR\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"button-view\",title:\"Select\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-select\",{attrs:{title:t.title,options:t.options,placeholder:t.placeholder,\"auto-pop\":t.autoPop,disabled:t.disabled,cancelTxt:\"Cancel\",confirmTxt:\"Confirm\"},on:{change:t.change},model:{value:t.value,callback:function(e){t.value=e},expression:\"value\"}}),t._v(\" \"),a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.modify}},[t._v(\"modify\")])],1)],1)])},staticRenderFns:[]}},\"0+e1\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"t7U9\"),a(\"UFDc\"),a(\"Ct0e\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(t){return t&&t.__esModule?t:{default:t}}(n),c=(0,a.prefixStyle)(\"transform\"),u=(0,a.prefixStyle)(\"transition\");e.default={name:\"cube-tab-bar\",components:{CubeTab:l.default},props:{value:{type:[String,Number],required:!0},data:{type:Array,default:function(){return[]}},inline:{type:Boolean,default:!1},showSlider:{type:Boolean,default:!1},useTransition:{type:Boolean,default:!0}},watch:{value:function(){this._updateSliderStyle()}},created:function(){this.tabs=[]},mounted:function(){this._updateSliderStyle(),window.addEventListener(\"resize\",this._resizeHandler)},activated:function(){window.addEventListener(\"resize\",this._resizeHandler)},deactivated:function(){this._cleanUp()},beforeDestroy:function(){this._cleanUp()},methods:{addTab:function(t){this.tabs.push(t)},removeTab:function(t){var e=this.tabs.indexOf(t);e>-1&&this.tabs.splice(e,1)},trigger:function(t){var e=this;if(this.$emit(\"click\",t),t!==this.value){[\"input\",\"change\"].forEach(function(a){e.$emit(a,t)})}},_updateSliderStyle:function(){var t=this;if(this.showSlider){var e=this.$refs.slider;this.$nextTick(function(){var a=t._getSliderWidthAndIndex(),i=a.width,n=a.index;e.style.width=i+\"px\",t.setSliderTransform(t._getOffsetLeft(n))})}},setSliderTransform:function(t){var e=this.$refs.slider;\"number\"==typeof t&&(t+=\"px\"),e&&(this.useTransition&&(e.style[u]=c+\" 0.2s linear\"),e.style[c]=\"translateX(\"+t+\") translateZ(0)\")},_getSliderWidthAndIndex:function(){var t=this,e=0,a=0;return this.tabs.length>0&&(a=(0,i.findIndex)(this.tabs,function(e){return e.value===t.value}),e=this.tabs[a].$el.clientWidth),{width:e,index:a}},_getOffsetLeft:function(t){return this.tabs[t].$el.offsetLeft||0},_resizeHandler:function(){var t=this;clearTimeout(this._resizeTimer),this._resizeTimer=setTimeout(function(){t._updateSliderStyle()},60)},_cleanUp:function(){clearTimeout(this._resizeTimer),window.removeEventListener(\"resize\",this._resizeHandler)}}},t.exports=e.default})},\"07pW\":function(t,e,a){function i(t){a(\"W1tV\")}var n=a(\"VU/8\")(a(\"0ht6\"),a(\"O7AT\"),i,\"data-v-1410244b\",null);t.exports=n.exports},\"0Bfo\":function(t,e){},\"0I1X\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"t7U9\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=(0,a.prefixStyle)(\"flexBasis\");e.default={props:{colNum:{type:Number,default:1}},watch:{colNum:{immediate:!0,handler:function(t){var e=this;if(t<=1)return\"\";this.$nextTick(function(){var a=100/t+\"%\";Array.prototype.forEach.call(e.$refs.group.children,function(t){t.style[i]=a})})}}}},t.exports=e.default})},\"0MNC\":function(t,e,a){function i(t){a(\"ucs0\")}var n=a(\"VU/8\")(a(\"CIqy\"),a(\"jyim\"),i,null,null);t.exports=n.exports},\"0NVV\":function(t,e){t.exports=[{name:\"热门\",items:[{value:\"002J4UUk29y8BY\",name:\"薛之谦\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002J4UUk29y8BY.jpg?max_age=2592000\"},{value:\"0025NhlN2yWrP4\",name:\"周杰伦\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000025NhlN2yWrP4.jpg?max_age=2592000\"},{value:\"004AlfUb0cVkN1\",name:\"BIGBANG (빅뱅)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004AlfUb0cVkN1.jpg?max_age=2592000\"},{value:\"003Nz2So3XXYek\",name:\"陈奕迅\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003Nz2So3XXYek.jpg?max_age=2592000\"},{value:\"001BLpXF2DyJe2\",name:\"林俊杰\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001BLpXF2DyJe2.jpg?max_age=2592000\"},{value:\"0020PeOh4ZaCw1\",name:\"Alan Walker (艾伦·沃克)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000020PeOh4ZaCw1.jpg?max_age=2592000\"},{value:\"000aHmbL2aPXWH\",name:\"李荣浩\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000aHmbL2aPXWH.jpg?max_age=2592000\"},{value:\"000zmpju02bEBm\",name:\"TFBOYS\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000zmpju02bEBm.jpg?max_age=2592000\"},{value:\"001JuGrt372YIQ\",name:\"Maroon 5 (魔力红乐团)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001JuGrt372YIQ.jpg?max_age=2592000\"},{value:\"000CK5xN3yZDJt\",name:\"许嵩\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000CK5xN3yZDJt.jpg?max_age=2592000\"}]},{name:\"A\",items:[{value:\"0020PeOh4ZaCw1\",name:\"Alan Walker (艾伦·沃克)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000020PeOh4ZaCw1.jpg?max_age=2592000\"},{value:\"003ArN8Z0WpjTz\",name:\"A-Lin\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003ArN8Z0WpjTz.jpg?max_age=2592000\"},{value:\"003CoxJh1zFPpx\",name:\"Adele (阿黛尔)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003CoxJh1zFPpx.jpg?max_age=2592000\"}]},{name:\"B\",items:[{value:\"004AlfUb0cVkN1\",name:\"BIGBANG (빅뱅)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004AlfUb0cVkN1.jpg?max_age=2592000\"},{value:\"002pUZT93gF4Cu\",name:\"BEYOND\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002pUZT93gF4Cu.jpg?max_age=2592000\"},{value:\"003LaMHm42u7qS\",name:\"本兮\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003LaMHm42u7qS.jpg?max_age=2592000\"},{value:\"003DBAjk2MMfhR\",name:\"BLACKPINK\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003DBAjk2MMfhR.jpg?max_age=2592000\"}]},{name:\"C\",items:[{value:\"003Nz2So3XXYek\",name:\"陈奕迅\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003Nz2So3XXYek.jpg?max_age=2592000\"},{value:\"004DFS271osAwp\",name:\"陈小春\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004DFS271osAwp.jpg?max_age=2592000\"},{value:\"000jnR7q3pCzYG\",name:\"Charlie Puth (查理·普斯)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000jnR7q3pCzYG.jpg?max_age=2592000\"},{value:\"004EyqQS2hMS6V\",name:\"陈翔\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004EyqQS2hMS6V.jpg?max_age=2592000\"},{value:\"000hNnWC3kko2c\",name:\"蔡健雅\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000hNnWC3kko2c.jpg?max_age=2592000\"}]},{name:\"E\",items:[{value:\"000yDAjj2TE9j8\",name:\"Eminem (艾米纳姆)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000yDAjj2TE9j8.jpg?max_age=2592000\"}]},{name:\"F\",items:[{value:\"003CKb192ggBqi\",name:\"Fall Out Boy (打倒男孩)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003CKb192ggBqi.jpg?max_age=2592000\"},{value:\"003vyG9q2klWs4\",name:\"范玮琪\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003vyG9q2klWs4.jpg?max_age=2592000\"}]},{name:\"G\",items:[{value:\"001fNHEf1SFEFN\",name:\"G.E.M. 邓紫棋\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001fNHEf1SFEFN.jpg?max_age=2592000\"},{value:\"000t2qd13dLpae\",name:\"G-DRAGON (权志龙)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000t2qd13dLpae.jpg?max_age=2592000\"},{value:\"002OfR3n1vx75j\",name:\"葛林\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002OfR3n1vx75j.jpg?max_age=2592000\"},{value:\"0043Zxw10txf5O\",name:\"郭静\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000043Zxw10txf5O.jpg?max_age=2592000\"}]},{name:\"H\",items:[{value:\"002Vcz8F2hpBQj\",name:\"华晨宇\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002Vcz8F2hpBQj.jpg?max_age=2592000\"},{value:\"002mze3U0NYXOM\",name:\"胡夏\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002mze3U0NYXOM.jpg?max_age=2592000\"},{value:\"004QoDUs3jfOC6\",name:\"韩安旭\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004QoDUs3jfOC6.jpg?max_age=2592000\"}]},{name:\"J\",items:[{value:\"002DYpxl3hW3EP\",name:\"Justin Bieber (贾斯汀·比伯)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002DYpxl3hW3EP.jpg?max_age=2592000\"},{value:\"004YXxql1sSr2o\",name:\"金志文\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004YXxql1sSr2o.jpg?max_age=2592000\"},{value:\"0023ni2j3F9CpN\",name:\"Jam\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000023ni2j3F9CpN.jpg?max_age=2592000\"},{value:\"001m7JoC1IVL44\",name:\"金南玲\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001m7JoC1IVL44.jpg?max_age=2592000\"}]},{name:\"K\",items:[{value:\"002Sm9iK4RIsCr\",name:\"筷子兄弟\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002Sm9iK4RIsCr.jpg?max_age=2592000\"}]},{name:\"L\",items:[{value:\"001BLpXF2DyJe2\",name:\"林俊杰\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001BLpXF2DyJe2.jpg?max_age=2592000\"},{value:\"000aHmbL2aPXWH\",name:\"李荣浩\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000aHmbL2aPXWH.jpg?max_age=2592000\"},{value:\"001SqkF53OEhdO\",name:\"鹿晗\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001SqkF53OEhdO.jpg?max_age=2592000\"},{value:\"001f0VyZ1hmWZ1\",name:\"林宥嘉\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001f0VyZ1hmWZ1.jpg?max_age=2592000\"},{value:\"002xpOdd4Dh6pu\",name:\"李易峰\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002xpOdd4Dh6pu.jpg?max_age=2592000\"},{value:\"002ZOuVm3Qn20Y\",name:\"李宇春\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002ZOuVm3Qn20Y.jpg?max_age=2592000\"},{value:\"002seUhN1Akj7J\",name:\"李圣杰\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002seUhN1Akj7J.jpg?max_age=2592000\"},{value:\"003bQEFA3KrvLI\",name:\"刘瑞琦\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003bQEFA3KrvLI.jpg?max_age=2592000\"},{value:\"003aQYLo2x8izP\",name:\"刘德华\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003aQYLo2x8izP.jpg?max_age=2592000\"},{value:\"003nS2v740Lxcw\",name:\"李克勤\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003nS2v740Lxcw.jpg?max_age=2592000\"}]},{name:\"M\",items:[{value:\"001JuGrt372YIQ\",name:\"Maroon 5 (魔力红乐团)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001JuGrt372YIQ.jpg?max_age=2592000\"},{value:\"0035kILA0ydw3j\",name:\"MC天佑\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000035kILA0ydw3j.jpg?max_age=2592000\"},{value:\"000WbpKa3WokLD\",name:\"MC魏小然\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000WbpKa3WokLD.jpg?max_age=2592000\"},{value:\"000cISVf2QqLc6\",name:\"莫文蔚\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000cISVf2QqLc6.jpg?max_age=2592000\"},{value:\"003wWQBU0fHBcj\",name:\"马旭东\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003wWQBU0fHBcj.jpg?max_age=2592000\"},{value:\"003rJfMG3PPqWd\",name:\"萌萌哒天团\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003rJfMG3PPqWd.jpg?max_age=2592000\"}]},{name:\"N\",items:[{value:\"003LCFXH0eodXv\",name:\"那英\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003LCFXH0eodXv.jpg?max_age=2592000\"},{value:\"003ZQQb64D5317\",name:\"南征北战\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003ZQQb64D5317.jpg?max_age=2592000\"},{value:\"0012bj8d36Xkw1\",name:\"牛奶咖啡\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000012bj8d36Xkw1.jpg?max_age=2592000\"}]},{name:\"O\",items:[{value:\"002a1DuK4evNsR\",name:\"Owl City (猫头鹰之城)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002a1DuK4evNsR.jpg?max_age=2592000\"},{value:\"001FXn5P0kkWfV\",name:\"One Direction (单向组合)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001FXn5P0kkWfV.jpg?max_age=2592000\"}]},{name:\"P\",items:[{value:\"000mLAT42CFWNa\",name:\"朴树\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000mLAT42CFWNa.jpg?max_age=2592000\"},{value:\"003vSrlp0ujV6o\",name:\"鹏泊\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003vSrlp0ujV6o.jpg?max_age=2592000\"}]},{name:\"Q\",items:[{value:\"0030RkE50nmpWC\",name:\"曲婉婷\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000030RkE50nmpWC.jpg?max_age=2592000\"},{value:\"0020IaUo4Vgsjk\",name:\"齐一\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000020IaUo4Vgsjk.jpg?max_age=2592000\"},{value:\"000H4xDG3heHtr\",name:\"齐晨\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000H4xDG3heHtr.jpg?max_age=2592000\"}]},{name:\"R\",items:[{value:\"000f1b6W1wzyRN\",name:\"RADWIMPS (ラッドウィンプス)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000f1b6W1wzyRN.jpg?max_age=2592000\"},{value:\"002MiBdR19HQWx\",name:\"Rihanna (蕾哈娜)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002MiBdR19HQWx.jpg?max_age=2592000\"}]},{name:\"S\",items:[{value:\"000Q4W691sMvLG\",name:\"苏打绿\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000Q4W691sMvLG.jpg?max_age=2592000\"},{value:\"001oXbjs29oPul\",name:\"孙子涵\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001oXbjs29oPul.jpg?max_age=2592000\"},{value:\"004KKLWZ4320g1\",name:\"宋冬野\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004KKLWZ4320g1.jpg?max_age=2592000\"},{value:\"001pWERg3vFgg8\",name:\"孙燕姿\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001pWERg3vFgg8.jpg?max_age=2592000\"},{value:\"001t94rh4OpQn0\",name:\"双笙\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001t94rh4OpQn0.jpg?max_age=2592000\"}]},{name:\"T\",items:[{value:\"000zmpju02bEBm\",name:\"TFBOYS\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000zmpju02bEBm.jpg?max_age=2592000\"},{value:\"001ByAsv3XCdgm\",name:\"田馥甄\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001ByAsv3XCdgm.jpg?max_age=2592000\"},{value:\"004ABIFV1EZUAj\",name:\"The Chainsmokers (烟民二人组)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004ABIFV1EZUAj.jpg?max_age=2592000\"},{value:\"000ndQx82fsq8Z\",name:\"Tez Cadey\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000ndQx82fsq8Z.jpg?max_age=2592000\"},{value:\"001Yxpxc0OaUUX\",name:\"逃跑计划\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001Yxpxc0OaUUX.jpg?max_age=2592000\"},{value:\"000QG95i2rHlOf\",name:\"谭晶\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000QG95i2rHlOf.jpg?max_age=2592000\"}]},{name:\"W\",items:[{value:\"001JDzPT3JdvqK\",name:\"王力宏\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001JDzPT3JdvqK.jpg?max_age=2592000\"},{value:\"002yeznU3VAVEV\",name:\"吴亦凡\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002yeznU3VAVEV.jpg?max_age=2592000\"},{value:\"001z2JmX09LLgL\",name:\"汪苏泷\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001z2JmX09LLgL.jpg?max_age=2592000\"},{value:\"000GDDuQ3sGQiT\",name:\"王菲\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000GDDuQ3sGQiT.jpg?max_age=2592000\"},{value:\"000CQ06r24Naco\",name:\"Wiz Khalifa (维兹·卡利法)\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000CQ06r24Naco.jpg?max_age=2592000\"},{value:\"001adLDR1SS40P\",name:\"汪峰\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001adLDR1SS40P.jpg?max_age=2592000\"},{value:\"001WcO2V0TLCv3\",name:\"威仔\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001WcO2V0TLCv3.jpg?max_age=2592000\"}]},{name:\"X\",items:[{value:\"002J4UUk29y8BY\",name:\"薛之谦\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002J4UUk29y8BY.jpg?max_age=2592000\"},{value:\"000CK5xN3yZDJt\",name:\"许嵩\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000CK5xN3yZDJt.jpg?max_age=2592000\"},{value:\"004bsIDK0awMOv\",name:\"萧敬腾\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004bsIDK0awMOv.jpg?max_age=2592000\"},{value:\"00235pCx2tYjlq\",name:\"许巍\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M00000235pCx2tYjlq.jpg?max_age=2592000\"},{value:\"004aRKga0CXIPm\",name:\"徐良\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004aRKga0CXIPm.jpg?max_age=2592000\"},{value:\"001oNMzI3WznzG\",name:\"夏婉安\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001oNMzI3WznzG.jpg?max_age=2592000\"},{value:\"002LZVMH0zc8F4\",name:\"徐佳莹\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002LZVMH0zc8F4.jpg?max_age=2592000\"}]},{name:\"Y\",items:[{value:\"003tMm0y0TuewY\",name:\"杨宗纬\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003tMm0y0TuewY.jpg?max_age=2592000\"},{value:\"004coWV04C5FCV\",name:\"杨洋\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004coWV04C5FCV.jpg?max_age=2592000\"},{value:\"004FtTNW2b0tJi\",name:\"雨宗林\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004FtTNW2b0tJi.jpg?max_age=2592000\"},{value:\"001IoTZp19YMDG\",name:\"易烊千玺\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000001IoTZp19YMDG.jpg?max_age=2592000\"}]},{name:\"Z\",items:[{value:\"0025NhlN2yWrP4\",name:\"周杰伦\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000025NhlN2yWrP4.jpg?max_age=2592000\"},{value:\"002azErJ0UcDN6\",name:\"张杰\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002azErJ0UcDN6.jpg?max_age=2592000\"},{value:\"003Cn3Yh16q1MO\",name:\"庄心妍\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003Cn3Yh16q1MO.jpg?max_age=2592000\"},{value:\"0003ZpE43ypssl\",name:\"张碧晨\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000003ZpE43ypssl.jpg?max_age=2592000\"},{value:\"004Be55m1SJaLk\",name:\"张学友\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004Be55m1SJaLk.jpg?max_age=2592000\"},{value:\"000aw4WC2EQYTv\",name:\"张靓颖\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000aw4WC2EQYTv.jpg?max_age=2592000\"},{value:\"003JGrNQ3RjelA\",name:\"张惠妹\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003JGrNQ3RjelA.jpg?max_age=2592000\"},{value:\"004NMZuf2BLjg8\",name:\"周传雄\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004NMZuf2BLjg8.jpg?max_age=2592000\"},{value:\"0000mFvh1jtLcz\",name:\"张信哲\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000000mFvh1jtLcz.jpg?max_age=2592000\"},{value:\"0044wQXL0ElWF1\",name:\"张宇\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000044wQXL0ElWF1.jpg?max_age=2592000\"},{value:\"004eaDNU1nfRO0\",name:\"张磊\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000004eaDNU1nfRO0.jpg?max_age=2592000\"},{value:\"002raUWw3PXdkT\",name:\"张韶涵\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000002raUWw3PXdkT.jpg?max_age=2592000\"},{value:\"0042kZuh1dgLre\",name:\"周二珂\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M0000042kZuh1dgLre.jpg?max_age=2592000\"},{value:\"003AfDK34H82GU\",name:\"张敬轩\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000003AfDK34H82GU.jpg?max_age=2592000\"},{value:\"000SJp6n49rDgl\",name:\"张赫宣\",avatar:\"https://y.gtimg.cn/music/photo_new/T001R300x300M000000SJp6n49rDgl.jpg?max_age=2592000\"}]}]},\"0Oib\":function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"cL1+\"),a(\"UFDc\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.USE_TRANSITION=void 0;t.USE_TRANSITION=function(){var t=!0;if(e.isIOS){var i=(0,a.getIOSVersion)(e.ua);if(!i)return t;i.major>=13&&i.minor>=3&&(t=!1)}return t}()})},\"0PCq\":function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"Dd8w\"),a(\"Kjwe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function n(t){var e=(0,l.default)({},t);return(0,c.default)(e),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.processField=void 0;var l=i(e),c=i(a);t.processField=n})},\"0YF1\":function(t,e){},\"0ZfZ\":function(t,e){},\"0ht6\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"HelloWorld\",data:function(){return{msg:\"scroll - textarea demo\",options:{scrollbar:!0,preventDefaultException:{className:/(^|\\s)(editable-div|textarea-native)(\\s|$)/,tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/}},optionsOuter:{preventDefaultException:{className:/(^|\\s)(editable-div|textarea-native)(\\s|$)/,tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|P)$/}},placeholder:\"Please type here...\",divValue:\"\",textareaValue:\"\",isFocusNative:!1,isFocusDiv:!1}},computed:{textareaValueCount:function(){return this.textareaValue.length},divValueCount:function(){return this.divValue.length}},mounted:function(){this.textareaInitHeight=window.getComputedStyle(this.$refs.textarea).height,console.log(\"textareaInitHeight: \",this.textareaInitHeight)},methods:{onInputDiv:function(t){this.divValue=t.target.innerText;var e=this.$refs.divWrapScroll;this.oldHeightDiv!==e.$el.scrollHeight&&this.goToRightPositon(e,e.$el)},onInputNative:function(){var t=this.$refs.textarea,e=this.$refs.nativeWrapScroll;t.style.height=this.textareaInitHeight,t.style.height=t.scrollHeight+\"px\",this.oldHeightNative!==t.scrollHeight&&this.goToRightPositon(e,t)},goToRightPositon:function(t,e){var a=this;this.$nextTick(function(){var i=a.oldHeightDiv?e.scrollHeight-a.oldHeightDiv:0;a.oldHeightDiv=e.scrollHeight,t.refresh(),t.$el.scrollTop=0;var n=t.scroll.y,l=t.scroll.maxScrollY,c=n!==l?Math.max(Math.min(n-i,0),l):n;t.scrollTo(0,c,100)})},onFocusNative:function(){this.isFocusNative=!0},onBlurNative:function(){this.isFocusNative=!1},onFocusDiv:function(){this.isFocusDiv=!0},onBlurDiv:function(){this.isFocusDiv=!1}},components:{CubePage:i.default}},t.exports=e.default})},\"0l/c\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={methods:{showDefault:function(){var t=this;this.actionSheet=this.$createActionSheet({title:\"我是标题~~~\",data:[{content:\"<em>align - center</em>\",class:\"cube-foo\"},{content:\"align - left\",align:\"left\"},{content:\"align - right\",align:\"right\"}],onSelect:function(e,a){t.$createToast({txt:\"Clicked \"+e.content,type:\"correct\",time:1e3}).show()}}),this.actionSheet.show()},showActive:function(){var t=this;this.actionSheet=this.$createActionSheet({title:\"我是标题~~~\",active:0,data:[{content:\"舒适型\"},{content:\"七座商务\"},{content:\"豪华型\"}],onSelect:function(e,a){t.$createToast({txt:\"Clicked \"+e.content,type:\"correct\",time:1e3}).show()},onCancel:function(){t.$createToast({txt:\"Clicked canceled\",type:\"warn\",time:1e3}).show()}}),this.actionSheet.show()},showPickerStyle:function(){var t=this;this.actionSheet=this.$createActionSheet({title:\"我是标题~~~\",pickerStyle:!0,data:[{content:\"舒适型\"},{content:\"七座商务\"},{content:\"豪华型\"}],onSelect:function(e,a){t.$createToast({txt:\"Clicked \"+e.content,type:\"correct\",time:1e3}).show()},onCancel:function(){t.$createToast({txt:\"Clicked canceled\",type:\"warn\",time:1e3}).show()}}),this.actionSheet.show()}},components:{CubePage:l.default,CubeButtonGroup:c.default}},t.exports=e.default})},\"0oyY\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"cube-cascade-picker\",{ref:\"cascadePicker\",attrs:{title:\"Date Picker\",data:t.data,selectedIndex:t.selectedIndex},on:{select:t.select,cancel:t.cancel}})},staticRenderFns:[]}},\"0wrK\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"/Yrh\"),a(\"Ct0e\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Tab=c.default,e.default=l.default,t.exports=e.default})},\"1/C+\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-toolbar\"},[t.moreActions?a(\"ul\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showMore,expression:\"showMore\"}],staticClass:\"cube-toolbar-group cube-toolbar-group-more\"},t._l(t.moreActions,function(e,i){return a(\"cube-toolbar-item\",{key:i,attrs:{action:e},nativeOn:{click:function(a){t.itemClick(e)}}})})):t._e(),t._v(\" \"),a(\"ul\",{staticClass:\"cube-toolbar-group\"},t._l(t.basicActions,function(e,i){return a(\"cube-toolbar-item\",{key:i,attrs:{action:e},nativeOn:{click:function(a){t.itemClick(e)}}})}))])},staticRenderFns:[]}},\"12+A\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-index-list\"},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{\"scroll-events\":t.scrollEvents,options:t.scrollOptions,data:t.data},on:{scroll:t.scroll,\"pulling-down\":t.onPullingDown,\"pulling-up\":t.onPullingUp},scopedSlots:t._u([{key:\"pullup\",fn:function(e){return t.$slots.pullup||t.$scopedSlots.pullup?[t._t(\"pullup\",null,{pullUpLoad:e.pullUpLoad,isPullUpLoad:e.isPullUpLoad})]:void 0}},{key:\"pulldown\",fn:function(e){return t.$slots.pulldown||t.$scopedSlots.pulldown?[t._t(\"pulldown\",null,{pullDownRefresh:e.pullDownRefresh,pullDownStyle:e.pullDownStyle,beforePullDown:e.beforePullDown,isPullingDown:e.isPullingDown,bubbleY:e.bubbleY})]:void 0}}])},[a(\"div\",{ref:\"content\",staticClass:\"cube-index-list-content\"},[t.hasTitle?a(\"h1\",{ref:\"title\",staticClass:\"cube-index-list-title\",on:{click:t.titleClick}},[t._t(\"title\",[t._v(t._s(t.title))])],2):t._e(),t._v(\" \"),a(\"ul\",[t._t(\"default\",t._l(t.data,function(e,i){return a(\"cube-index-list-group\",{key:i,attrs:{group:e},on:{select:t.selectItem}})}))],2)])]),t._v(\" \"),t.navbar?a(\"div\",{staticClass:\"cube-index-list-nav\",on:{touchstart:t.onShortcutTouchStart,touchmove:function(e){return e.stopPropagation(),e.preventDefault(),t.onShortcutTouchMove(e)}}},[a(\"ul\",{staticClass:\"cube-index-list-nav-list\"},t._l(t.shortcutList,function(e,i){return a(\"li\",{key:i,staticClass:\"cube-index-list-nav-item\",class:{active:t.currentIndex===i},attrs:{\"data-index\":i}},[t._t(\"nav-item\",[t._v(t._s(e))],{item:e})],2)}))]):t._e(),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.fixedTitle,expression:\"fixedTitle\"}],ref:\"fixed\",staticClass:\"cube-index-list-fixed cube-index-list-anchor\",domProps:{innerHTML:t._s(t.fixedTitle)}})],1)},staticRenderFns:[]}},\"1BqV\":function(t,e,a){function i(t){a(\"R0L0\")}var n=a(\"VU/8\")(a(\"qgol\"),a(\"Kf6+\"),i,null,null);t.exports=n.exports},\"1H2N\":function(t,e,a){function i(t){a(\"Bi/D\")}var n=a(\"VU/8\")(a(\"5D5k\"),a(\"2/BF\"),i,null,null);t.exports=n.exports},\"1Vb/\":function(t,e,a){function i(t){a(\"FSTv\")}var n=a(\"VU/8\")(a(\"RkVv\"),a(\"WL1h\"),i,\"data-v-4a2b2c8b\",null);t.exports=n.exports},\"1Zrt\":function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var e=function(t,e,a){var i=t.rules&&t.rules[e];\"custom\"!==e&&i&&\"function\"!=typeof i&&(t.rules[e]=a)},a=function(t){return function(a,i){return e(a,t,i)}}(\"required\"),i=function(t){return a(t,function(t){return!1!==t})},n=function(t){return a(t,function(t){return t>0})};t.boolRequiredHandler=i,t.numberGT0RequiredHandler=n})},\"1adm\":function(t,e){},\"1btU\":function(t,e,a){function i(t){a(\"Y4Q7\")}var n=a(\"VU/8\")(a(\"ulou\"),a(\"90kD\"),i,null,null);t.exports=n.exports},\"1fgG\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"drawer\",title:\"Drawer\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"custom\")}}},[t._v(\"Custom\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},\"1ftA\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"action-sheet-view\",title:\"ActionSheet（操作列表）\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showDefault}},[t._v(\"ActionSheet\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showActive}},[t._v(\"ActionSheet - active\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showPickerStyle}},[t._v(\"ActionSheet - picker style\")])],1)],1)])},staticRenderFns:[]}},\"1j+8\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"1Vb/\"),a(\"6SSl\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n),s={url:\"http://www.didichuxing.com/\",image:\"//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png\"};e.default={data:function(){return{items:[{image:\"//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png\"},{image:\"//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png\"}],loop:!0,autoPlay:!0,interval:4e3,threshold:.3,speed:400,allowVertical:!1,initialIndex:1,dotsSlot:!1,addItem3:!1}},computed:{options:function(){return{eventPassthrough:this.allowVertical?\"vertical\":\"\"}}},watch:{addItem3:function(t){t?this.items.push(s):this.items.pop()}},methods:{changePage:function(t){console.log(\"当前轮播图序号为:\"+t)},clickPage:function(t,e){console.log(t,e)},updateItem3:function(t){this.addItem3=t},updateLoop:function(t){this.loop=t},updateDotsSlot:function(t){this.dotsSlot=t},updateAutoPlay:function(t){this.autoPlay=t},updateInterval:function(t){(t=+t)&&(this.interval=t)},updateThreshold:function(t){(t=+t)&&(this.threshold=t)},updateSpeed:function(t){(t=+t)&&(this.speed=t)},updateAllowVertical:function(t){this.allowVertical=t},updateInitialIndex:function(t){t&&(this.initialIndex=+t)}},components:{CubePage:c.default,SwitchOption:u.default,InputOption:o.default}},t.exports=e.default})},\"1j7+\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"tab-bar-view\",title:\"TabBar\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"section\"},[a(\"cube-tab-bar\",{attrs:{data:t.tabs},on:{click:t.clickHandler,change:t.changeHandler},model:{value:t.selectedLabelDefault,callback:function(e){t.selectedLabelDefault=e},expression:\"selectedLabelDefault\"}})],1),t._v(\" \"),a(\"div\",{staticClass:\"section\"},[a(\"cube-tab-bar\",{attrs:{\"show-slider\":\"\"},on:{click:t.clickHandler,change:t.changeHandler},model:{value:t.selectedLabelSlots,callback:function(e){t.selectedLabelSlots=e},expression:\"selectedLabelSlots\"}},t._l(t.tabs,function(t,e){return a(\"cube-tab\",{key:t.label,attrs:{icon:t.icon,label:t.label}})}))],1),t._v(\" \"),a(\"div\",{staticClass:\"section\"},[a(\"cube-tab-bar\",{attrs:{\"show-slider\":\"\",inline:\"\"},on:{click:t.clickHandler,change:t.changeHandler},model:{value:t.selectedLabelInline,callback:function(e){t.selectedLabelInline=e},expression:\"selectedLabelInline\"}},t._l(t.tabs,function(t,e){return a(\"cube-tab\",{key:t.label,attrs:{icon:t.icon,label:t.label}})}))],1),t._v(\" \"),a(\"div\",{staticClass:\"section\"},[a(\"cube-tab-bar\",{on:{click:t.clickHandler},model:{value:t.selectedLabelSlotsOnly,callback:function(e){t.selectedLabelSlotsOnly=e},expression:\"selectedLabelSlotsOnly\"}},t._l(t.tabs,function(e,i){return a(\"cube-tab\",{key:e.label,attrs:{label:e.label}},[a(\"i\",{class:e.icon,attrs:{slot:\"icon\"},slot:\"icon\"}),t._v(\" \"),a(\"span\")])}))],1)])])},staticRenderFns:[]}},\"1peF\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"pFYg\"),a(\"fZjL\"),a(\"UFDc\"),a(\"aDIA\"),a(\"4KJe\"),a(\"E61+\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(i),d=o(c),v=o(u);e.default={name:\"cube-validator\",mixins:[d.default],props:{model:{required:!0},modelKey:{type:String,default:\"\"},rules:{type:Object,default:function(){return{}}},messages:{type:[Object,String],default:function(){return{}}},value:{},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!1}},data:function(){return{valid:this.value,validated:!1,msg:\"\",dirty:!1,validating:!1,result:{}}},computed:{targetModel:function(){var t=this.modelKey,e=this.model;return t?e[t]:e},invalid:function(){var t=this.valid;return(0,n.isUndef)(t)?void 0:!t},isDisabled:function(){var t=this.disabled,e=(0,r.default)(this.rules).length<=0;return t||e},dirtyOrValidated:function(){return(this.dirty||this.validated)&&!this.validating},containerClass:function(){if(!this.isDisabled)return{\"cube-validator_invalid\":this.invalid,\"cube-validator_valid\":this.valid,\"cube-validator_validating\":this.validating}}},watch:{value:function(t){this.valid=t},targetModel:{handler:function(){this.isDisabled||(this.dirty||(this.dirty=!0),this.validate())},sync:!0},rules:function(){this.validate()},isDisabled:function(t){t||!this.trigger||this.validated||this.validate()}},created:function(){this._validateCount=0,!this.isDisabled&&this.immediate&&this.validate()},methods:{validate:function(t){var e=(0,n.cb2PromiseWithResolve)(t);if(e&&(t=e.resolve),this.isDisabled)return t&&t(this.valid),e;this._validateCount++;var a=this._validateCount,i=this.targetModel,c=this.rules,u=c.type,o=[],r=!0;if(c.required||(r=l.rules.required(i,!0,u)),r){for(var d in c)!function(t){var e=c[t],a=void 0;a=(0,n.isFunc)(e)?e(i,c[t],u):!l.rules[t]||l.rules[t](i,c[t],u),o.push(function(e){var i=function(a){e({key:t,valid:!0===a,ret:a})},l=function(a){e({key:t,valid:!1,ret:a})};\"object\"===(void 0===a?\"undefined\":(0,s.default)(a))&&(0,n.isFunc)(a.then)?a.then(i).catch(l):(0,n.isFunc)(a)?a(i,l):e({key:t,valid:!0===a,ret:a})})}(d)}return this._checkTasks(o,a,t),e},_checkTasks:function(t,e,a){var i=this,l=this.rules,c=!0,u={},o=!0;this.validating=!0;var s=this.targetModel;(0,n.parallel)(t,function(t){i._validateCount===e&&(i.validating=!1,t.forEach(function(t){var e=t.key,a=t.valid,o=t.ret,r=i.messages[e]?(0,n.isFunc)(i.messages[e])?i.messages[e](o,a):i.messages[e]:i.findMessage(e,l[e],l.type,s);c&&!a&&(c=!1,i.msg=r),u[e]={valid:a,invalid:!a,message:r}}),o||i.$emit(\"validated\",c),i._updateModel(c,u),a&&a(i.valid))}),this.validating&&(o=!1,this.$emit(\"validating\"),this.valid=void 0,this.$emit(\"input\",this.valid))},_updateModel:function(t,e){this.validated=!0,this.result=e,e.required&&e.required.invalid&&(this.msg=e.required.message),t&&(this.msg=\"\"),this.valid=t,this.$emit(\"input\",this.valid)},reset:function(){this._validateCount++,this.validating=!1,this.dirty=!1,this.result={},this.msg=\"\",this.validated=!1,this.valid=void 0,this.$emit(\"input\",this.valid)},msgClickHandler:function(){this.$emit(\"msg-click\")},findMessage:function(t,e,a,i){var l=this.$cubeMessages,c=this.$cubeLang,u=l[c].validator[t];return u?(0,n.isString)(u)?u:(0,n.isFunc)(u)?u(e):(u[a]||(a=(0,n.isArray)(i)?\"array\":void 0===i?\"undefined\":(0,s.default)(i)),\"function\"==typeof u[a]?u[a](e):(0,v.default)(u[a],e)):\"\"}}},t.exports=e.default})},\"2/BF\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"input-view\",title:\"Input\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-input\",{attrs:{type:t.type,placeholder:\"please type here...\",disabled:t.disabled,readonly:t.readonly,clearable:t.clearable,autocomplete:!0,eye:t.eye},model:{value:t.value,callback:function(e){t.value=e},expression:\"value\"}}),t._v(\" \"),a(\"div\",{staticClass:\"value\"},[t._v(\"value: \"+t._s(t.value))]),t._v(\" \"),a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"option-list\"},[a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"disabled\",value:t.disabled},on:{\"update:value\":t.updateDisabled}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"readonly\",value:t.readonly},on:{\"update:value\":t.updateReadonly}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"maxlength:10\",value:t.maxlength10},on:{\"update:value\":t.updateMaxLength}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"clearable\",value:t.useClear},on:{\"update:value\":t.updateUseClear}}),t._v(\" \"),t.useClear?a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"blur hiden\",value:t.clearBlurHidden},on:{\"update:value\":t.updateBlurHidden}}):t._e()],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"password\",value:t.isPwd},on:{\"update:value\":t.updatePwd}}),t._v(\" \"),t.isPwd?a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"show eye\",value:t.showEye},on:{\"update:value\":t.updateShowEye}}):t._e(),t._v(\" \"),t.isPwd&&t.showEye?a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"reverse\",value:t.reverse},on:{\"update:value\":t.updateReverse}}):t._e(),t._v(\" \"),t.isPwd&&t.showEye?a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"password visible\",value:t.pwdVisible},on:{\"update:value\":t.updatePwdVisible}}):t._e()],1)])])],1)])},staticRenderFns:[]}},\"2DUa\":function(t,e,a){function i(t){a(\"KkmI\")}var n=a(\"VU/8\")(a(\"3SPU\"),a(\"pvDH\"),i,null,null);t.exports=n.exports},\"2G9e\":function(t,e){},\"2Q9x\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"input-option\"},[a(\"span\",{staticClass:\"name\"},[t._v(t._s(t.name))]),t._v(\" \"),a(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.inputValue,expression:\"inputValue\"}],attrs:{type:\"text\"},domProps:{value:t.inputValue},on:{input:function(e){e.target.composing||(t.inputValue=e.target.value)}}})])},staticRenderFns:[]}},\"2iSa\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"O6S8\"),a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={methods:{showAlert:function(){this.dialog=this.$createDialog({type:\"alert\",title:\"我是标题\",content:\"我是内容\",icon:\"cubeic-alert\"}),this.dialog.show()},showPrompt:function(){var t=this;this.dialog=this.$createDialog({type:\"prompt\",title:\"我是标题\",prompt:{placeholder:\"请输入\"},onConfirm:function(e,a){t.$createToast({type:\"warn\",time:1e3,txt:\"Prompt value: \"+(a||\"\")}).show()}}),this.dialog.show()},showBtn:function(){var t=this;this.dialog=this.$createDialog({type:\"confirm\",icon:\"cubeic-alert\",title:\"我是标题\",content:\"我是内容\",confirmBtn:{text:\"确定按钮\",active:!0,disabled:!1,href:\"javascript:;\"},cancelBtn:{text:\"取消按钮\",active:!1,disabled:!1,href:\"javascript:;\"},onConfirm:function(){t.$createToast({type:\"warn\",time:1e3,txt:\"点击确认按钮\"}).show()},onCancel:function(){t.$createToast({type:\"warn\",time:1e3,txt:\"点击取消按钮\"}).show()}}),this.dialog.show()},showClose:function(){var t=this;this.dialog=this.$createDialog({type:\"alert\",icon:\"cubeic-alert\",showClose:!0,title:\"标题\",onClose:function(){t.$createToast({type:\"warn\",time:1e3,txt:\"点击关闭按钮\"}).show()}}),this.dialog.show()},showSlot:function(){this.dialog=this.$createDialog({type:\"alert\",confirmBtn:{text:\"我知道了\",active:!0}},function(t){return[t(\"div\",{class:{\"my-title\":!0},slot:\"title\"},[t(\"div\",{class:{\"my-title-img\":!0}}),t(\"p\",\"附近车少,优选出租车将来接您\")]),t(\"p\",{class:{\"my-content\":!0},slot:\"content\"},\"价格仍按快车计算\")]}),this.dialog.show()}},components:{CubeButtonGroup:l.default,CubePage:c.default}},t.exports=e.default})},\"2nzE\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"toutiao\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"template\",{slot:\"content\"},[a(\"header\",{ref:\"topHeader\"},[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/0K9-YvWB-Q/toutiao_header2.png\"}})]),t._v(\" \"),a(\"div\",{staticClass:\"nav-scroll-list-wrap\"},[a(\"cube-scroll\",{ref:\"navScroll\",attrs:{direction:\"horizontal\"}},[a(\"ul\",{staticClass:\"nav-wrapper\"},t._l(t.navTxts,function(e,i){return a(\"li\",{key:i,staticClass:\"nav-item\"},[t._v(t._s(e))])}))]),t._v(\" \"),a(\"div\",{staticClass:\"more-wrapper\"},[a(\"span\",{staticClass:\"more\"})])],1),t._v(\" \"),a(\"div\",{staticClass:\"content-scroll-wrapper\"},[a(\"div\",{ref:\"scrollWrapper\",staticClass:\"content-scroll-list-wrap\"},[a(\"cube-scroll\",{ref:\"contentScroll\",attrs:{data:t.content,options:t.options},on:{\"pulling-down\":t.onPullingDown,\"pulling-up\":t.onPullingUp},scopedSlots:t._u([{key:\"pulldown\",fn:function(e){return[e.pullDownRefresh?a(\"div\",{staticClass:\"cube-pulldown-wrapper\",style:e.pullDownStyle},[e.beforePullDown?a(\"div\",{staticClass:\"before-trigger\",style:{paddingTop:e.bubbleY+\"px\"}},[a(\"span\",{class:{rotate:e.bubbleY>0}},[t._v(\"↓\")])]):a(\"div\",{staticClass:\"after-trigger\"},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isPullingDown,expression:\"props.isPullingDown\"}],staticClass:\"loading\"},[a(\"cube-loading\")],1),t._v(\" \"),a(\"transition\",{attrs:{name:\"success\"}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.isPullingDown,expression:\"!props.isPullingDown\"}],staticClass:\"text-wrapper\"},[a(\"span\",{staticClass:\"refresh-text\"},[t._v(\"今日头条推荐引擎有x条更新\")])])])],1)]):t._e()]}}])},[a(\"ul\",{staticClass:\"imgs-wrapper\"},t._l(t.content,function(e,i){return a(\"li\",{key:i,staticClass:\"imgs-item\"},[a(\"img\",{attrs:{src:e.url},on:{load:t.onImgLoad}})])}))])],1)]),t._v(\" \"),a(\"footer\",{ref:\"footer\"},[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/1KRE2YnAim/toutiao_footer2.png\"}})])])],2)},staticRenderFns:[]}},\"2zcT\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"tTMC\"),a(\"EzE1\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function l(t,e){var a=o[t.type]||t.type;e[\"string\"==typeof a?\"type\":\"component\"]=a}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=l;var c=n(a),u=n(i),o={switch:\"radio-group\",date:c.default,time:c.default,select:c.default,city:c.default,radio:\"radio-group\",checkbox:\"checkbox-group\",tel:\"input\",agreement:u.default};t.exports=e.default})},\"34AZ\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",{ref:\"rateContainer\",staticClass:\"cube-rate\",class:t.rateClass,on:{touchstart:function(e){return e.stopPropagation(),t.handleStart(e)},touchmove:function(e){return e.stopPropagation(),e.preventDefault(),t.handleMove(e)},touchend:function(e){return e.stopPropagation(),t.handleEnd(e)},mousedown:function(e){return e.stopPropagation(),t.handleStart(e)},mousemove:function(e){return e.stopPropagation(),t.handleMove(e)},mouseup:function(e){return e.stopPropagation(),t.handleEnd(e)}}},[t._t(\"default\",t._l(t.max,function(t){return a(\"cube-rate-item\",{key:t,attrs:{index:t}})}))],2)},staticRenderFns:[]}},\"34KM\":function(t,e){},\"37es\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-dialog-fade\"}},[a(\"cube-popup\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],attrs:{type:\"dialog\",\"z-index\":t.zIndex,mask:!0,center:!0},on:{\"mask-click\":t.maskClick}},[a(\"div\",{staticClass:\"cube-dialog-main\"},[a(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showClose,expression:\"showClose\"}],staticClass:\"cube-dialog-close\",on:{click:t.close}},[a(\"i\",{staticClass:\"cubeic-close\"})]),t._v(\" \"),a(\"div\",{class:t.containerClass},[t.icon?a(\"p\",{staticClass:\"cube-dialog-icon\"},[a(\"i\",{class:t.icon})]):t._e(),t._v(\" \"),t.title||t.$slots.title?a(\"h2\",{staticClass:\"cube-dialog-title\"},[t._t(\"title\",[a(\"p\",{staticClass:\"cube-dialog-title-def\"},[t._v(t._s(t.title))])])],2):t._e(),t._v(\" \"),a(\"div\",{staticClass:\"cube-dialog-content\"},[t._t(\"content\",[a(\"div\",{staticClass:\"cube-dialog-content-def\"},[t.content?a(\"p\",{domProps:{innerHTML:t._s(t.content)}}):t._e(),t._v(\" \"),t.isPrompt?a(\"cube-input\",t._b({model:{value:t.promptValue,callback:function(e){t.promptValue=e},expression:\"promptValue\"}},\"cube-input\",t.prompt,!1)):t._e()],1)])],2),t._v(\" \"),a(\"div\",{staticClass:\"cube-dialog-btns\",class:{\"border-right-1px\":t.isConfirm||t.isPrompt}},[t._t(\"btns\",[t.isConfirm||t.isPrompt?a(\"a\",{staticClass:\"cube-dialog-btn border-top-1px\",class:{\"cube-dialog-btn_highlight\":t._cancelBtn.active,\"cube-dialog-btn_disabled\":t._cancelBtn.disabled},attrs:{href:t._cancelBtn.href},on:{click:t.cancel}},[t._v(t._s(t._cancelBtn.text))]):t._e(),t._v(\" \"),a(\"a\",{staticClass:\"cube-dialog-btn border-top-1px\",class:{\"cube-dialog-btn_highlight\":t._confirmBtn.active,\"cube-dialog-btn_disabled\":t._confirmBtn.disabled},attrs:{href:t._confirmBtn.href},on:{click:t.confirm}},[t._v(t._s(t._confirmBtn.text))])])],2)])])])],1)},staticRenderFns:[]}},\"3BKo\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{multiple:{type:Boolean,default:!0},accept:{type:String,default:\"image/*\"}}},t.exports=e.default})},\"3K1Q\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"drawer-def\",title:\"Drawer\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-button\",{on:{click:t.showDrawer}},[t._v(\"Show Drawer\")]),t._v(\" \"),a(\"cube-drawer\",{ref:\"drawer\",attrs:{title:\"请选择\",data:t.data,\"selected-index\":t.selectedIndex},on:{change:t.changeHandler,select:t.selectHandler,cancel:t.cancelHandler}})],1)])])},staticRenderFns:[]}},\"3SPU\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"t7U9\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=\"cube-index-list-item_active\";e.default={name:\"cube-index-list-item\",props:{item:{type:Object,default:function(){return{}}}},computed:{itemClass:function(){return this.item.active?i:\"\"}},methods:{addActiveCls:function(t){(0,a.addClass)(t.currentTarget,i)},removeActiveCls:function(t){(0,a.removeClass)(t.currentTarget,i)},selectItem:function(){this.$emit(\"select\",this.item)}}},t.exports=e.default})},\"3eik\":function(t,e){},\"3jWI\":function(t,e,a){function i(t){a(\"DsfM\")}var n=a(\"VU/8\")(a(\"X4T+\"),a(\"Pt9a\"),i,null,null);t.exports=n.exports},\"3kPI\":function(t,e,a){function i(t){a(\"7k5H\")}var n=a(\"VU/8\")(a(\"Lg4b\"),a(\"56tM\"),i,null,null);t.exports=n.exports},\"3ubT\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"5/tf\"),a(\"agqa\"),a(\"5KkG\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);c.default.install=function(t){t.component(c.default.name,c.default),t.component(u.default.name,u.default),t.component(o.default.name,o.default)},c.default.Panel=u.default,c.default.Item=o.default,e.default=c.default,t.exports=e.default})},\"41pN\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"yjF1\"),a(\"0I1X\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={name:\"cube-checkbox-group\",mixins:[c.default],props:{value:{type:Array},horizontal:{type:Boolean,default:!1},shape:{type:String,default:\"circle\"},position:{type:String,default:\"left\"},hollowStyle:{type:Boolean,default:!1},options:{type:Array,default:function(){return[]}},min:{type:Number,default:0},max:{type:Number,default:1/0}},data:function(){return{_value:[],_checkboxGroup:!0}},computed:{groupClass:function(){if(!this.horizontal||this.colNum>1)return\"border-top-1px border-bottom-1px\"}},watch:{value:{immediate:!0,handler:function(t,e){this._value=this.value.concat()}}},mounted:function(){var t=this;this.$on(\"checked\",function(e){t._value.length<t.max&&-1===t._value.indexOf(e)&&t._value.push(e),t.$emit(\"input\",t._value)}),this.$on(\"cancel-checked\",function(e){var a=t._value.indexOf(e);t._value.length>t.min&&a>-1&&t._value.splice(a,1),t.$emit(\"input\",t._value)})},components:{CubeCheckbox:l.default}},t.exports=e.default})},\"44h6\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"div\",{staticClass:\"scroll-wrapper\",attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"demo\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"horizontal Demo\")]),t._v(\" \"),a(\"cube-scroll\",{ref:\"scroll\",staticClass:\"horizontal-scroll-list-wrap\",attrs:{data:t.items,direction:\"horizontal\"}},[a(\"ul\",{staticClass:\"list-wrapper\"},t._l(t.items,function(e){return a(\"li\",{staticClass:\"list-item\"},[t._v(t._s(e))])}))])],1)])])},staticRenderFns:[]}},4840:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"sticky-view-wechat\",title:\"Sticky\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"sticky-view-container\"},[a(\"cube-sticky\",{attrs:{pos:t.scrollY,\"check-top\":t.checkTop,\"fixed-show-ani\":\"sticky-fixed-show\"},on:{\"diff-change\":t.diffChange}},[a(\"cube-scroll\",{attrs:{\"scroll-events\":t.scrollEvents},on:{scroll:t.scrollHandler}},[a(\"img\",{attrs:{src:\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/6.jpg\"}}),t._v(\" \"),a(\"cube-sticky-ele\",[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"111\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items,function(e){return a(\"li\",[t._v(t._s(e))])})),t._v(\" \"),a(\"ul\",t._l(t.items2,function(e){return a(\"li\",[t._v(t._s(e))])})),t._v(\" \"),a(\"ul\",t._l(t.items3,function(e){return a(\"li\",[t._v(t._s(e))])}))],1),t._v(\" \"),a(\"ul\",{ref:\"stickyHeader\",staticClass:\"sticky-header\",attrs:{slot:\"fixed\"},slot:\"fixed\"},[a(\"li\",[t._v(\"header\")])])],1)],1)])],2)},staticRenderFns:[]}},\"4BV0\":function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.easeOutBack=\"cubic-bezier(0.18, 0.89, 0.32, 1.28)\",t.easeOutQuart=\"cubic-bezier(0.165, 0.84, 0.44, 1)\",t.easeOutCubic=\"cubic-bezier(0.22, 0.61, 0.36, 1)\"})},\"4BmD\":function(t,e,a){function i(t){a(\"NPLC\")}var n=a(\"VU/8\")(a(\"xIPZ\"),a(\"iS0c\"),i,null,null);t.exports=n.exports},\"4Gmg\":function(t,e,a){function i(t){a(\"mLUJ\")}var n=a(\"VU/8\")(a(\"f/6s\"),a(\"G4Tv\"),i,null,null);t.exports=n.exports},\"4KJe\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"j9ag\"),a(\"UFDc\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={computed:{$t:function(){var t=this.$cubeLang,e=this.$cubeMessages[t];return(0,i.isUndef)(e)?((0,n.warn)(\"Translation is not registered correctly, you can call Locale.use() to install it.\"),\"\"):function(t){return(0,i.parsePath)(e,t)}}},beforeCreate:function(){l.default.install(this.$root.constructor)}},t.exports=e.default})},\"4Kqh\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){(0,n.default)(t,e,[\"timeout\"],!0)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var n=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},\"4gT0\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={methods:{changeHander:function(t){this.$emit(\"change\",t)},focus:function(){this.$refs.input.focus()},blur:function(){this.$refs.input.blur()}}},t.exports=e.default})},\"4jua\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll-nav\",title:\"ScrollNav\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"side\")}}},[t._v(\"Side Style\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},\"4sRm\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"3BKo\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-upload-btn\",mixins:[i.default],methods:{changeHandler:function(t){var e=t.currentTarget,a=e.files;a&&(this.$parent.addFiles(a),e.value=null)}}},t.exports=e.default})},\"4xIg\":function(t,e,a){function i(t){a(\"byy8\")}var n=a(\"VU/8\")(a(\"XlLO\"),a(\"yVfC\"),i,null,null);t.exports=n.exports},\"5/tf\":function(t,e,a){function i(t){a(\"HNkC\")}var n=a(\"VU/8\")(a(\"kLzu\"),a(\"7uMP\"),i,null,null);t.exports=n.exports},\"56tM\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-select\",class:{\"cube-select_active\":t.active,\"cube-select_disabled\":t.disabled},on:{click:t.showPicker}},[t.selectedText?a(\"span\",{staticClass:\"cube-select-text\"},[t._v(t._s(t.selectedText))]):a(\"span\",{staticClass:\"cube-select-placeholder\"},[t._v(t._s(t._placeholder))]),t._v(\" \"),a(\"i\",{staticClass:\"cube-select-icon\"})])},staticRenderFns:[]}},\"58Ml\":function(t,e,a){function i(t){a(\"lzDd\")}var n=a(\"VU/8\")(a(\"jnfQ\"),a(\"wlGF\"),i,null,null);t.exports=n.exports},\"5D5k\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"1Vb/\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={data:function(){return{type:\"password\",value:\"\",disabled:!1,useClear:!0,maxlength10:!1,clearBlurHidden:!0,readonly:!1,isPwd:!0,showEye:!0,pwdVisible:!0,reverse:!1}},computed:{clearable:function(){return{visible:this.useClear,blurHidden:this.clearBlurHidden}},eye:function(){return!(!this.isPwd||!this.showEye)&&{open:this.reverse?!this.pwdVisible:this.pwdVisible,reverse:this.reverse}}},watch:{value:function(t){var e=this;this.maxlength10&&t.length>10&&(t=t.slice(0,10),this.$nextTick(function(){e.value=t}))}},methods:{updateDisabled:function(t){this.disabled=t},updateReadonly:function(t){this.readonly=t},updateUseClear:function(t){this.useClear=t},updateBlurHidden:function(t){this.clearBlurHidden=t},updateMaxLength:function(t){this.maxlength10=t},updatePwd:function(t){this.isPwd=t,this.type=this.isPwd?\"password\":\"text\"},updateShowEye:function(t){this.showEye=t},updatePwdVisible:function(t){this.pwdVisible=t},updateReverse:function(t){this.reverse=t}},components:{CubePage:l.default,SwitchOption:c.default}},t.exports=e.default})},\"5Fev\":function(t,e,a){function i(t){a(\"mz/u\")}var n=a(\"VU/8\")(a(\"Dw/u\"),a(\"x1YM\"),i,\"data-v-c85e7c7a\",null);t.exports=n.exports},\"5HTY\":function(t,e,a){var i=a(\"VU/8\")(a(\"eWUu\"),a(\"BIY4\"),null,null,null);t.exports=i.exports},\"5KkG\":function(t,e,a){function i(t){a(\"jWap\")}var n=a(\"VU/8\")(a(\"+HVL\"),a(\"M6zF\"),i,null,null);t.exports=n.exports},\"5VLA\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/scroll-nav/\"+t)}}},t.exports=e.default})},\"5Vnx\":function(t,e){},\"5e0o\":function(t,e,a){function i(t){a(\"5Vnx\")}var n=a(\"VU/8\")(a(\"DLo4\"),a(\"a8SH\"),i,null,null);t.exports=n.exports},\"5gCL\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"button-view\",title:\"Button\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"form\",{attrs:{action:\"/\"}},[a(\"cube-button-group\",[a(\"cube-button\",[t._v(\"Button\")]),t._v(\" \"),a(\"cube-button\",{attrs:{type:\"submit\"}},[t._v(\"Submit Button\")])],1),t._v(\" \"),a(\"cube-button-group\",[a(\"cube-button\",{attrs:{active:!0}},[t._v(\"Active Button\")]),t._v(\" \"),a(\"cube-button\",{attrs:{disabled:!0}},[t._v(\"Disabled Button\")])],1),t._v(\" \"),a(\"cube-button-group\",[a(\"cube-button\",{attrs:{icon:\"cubeic-right\"}},[t._v(\"Button With Icon\")])],1),t._v(\" \"),a(\"cube-button-group\",[a(\"cube-button\",{attrs:{light:!0}},[t._v(\"Light Button\")]),t._v(\" \"),a(\"cube-button\",{attrs:{inline:!0}},[t._v(\"Inline Button\")]),t._v(\" \"),a(\"cube-button\",{attrs:{outline:!0}},[t._v(\"Outline Button\")]),t._v(\" \"),a(\"cube-button\",{attrs:{primary:!0}},[t._v(\"Primary Button\")])],1),t._v(\" \"),a(\"div\",[a(\"cube-checkbox-group\",{attrs:{horizontal:!0},model:{value:t.buttonStyle,callback:function(e){t.buttonStyle=e},expression:\"buttonStyle\"}},[a(\"cube-checkbox\",{attrs:{label:\"inline\"}},[t._v(\"Inline\")]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{label:\"outline\"}},[t._v(\"Outline\")]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{label:\"primary\"}},[t._v(\"Primary\")])],1),t._v(\" \"),a(\"cube-button-group\",[a(\"cube-button\",{attrs:{inline:t.inlineStyle,outline:t.outlineStyle,primary:t.primaryStyle}},[t._v(\"Demo Button\")])],1)],1)],1)])])},staticRenderFns:[]}},\"5qoB\":function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"fZjL\"),a(\"pFYg\"),a(\"UFDc\"),a(\"+Ghj\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.addRule=t.rules=void 0;var c=l(e),u=l(a),o={required:function(t,e,a){return a=a||(Array.isArray(t)?\"array\":void 0===t?\"undefined\":(0,u.default)(t)),\"array\"===a&&Array.isArray(t)?t.length>0:\"\"!==t&&void 0!==t&&null!==t},type:function(t,e){return!n.types[e]||n.types[e](t)},min:function(t,e,a){return a=a||(void 0===t?\"undefined\":(0,u.default)(t)),\"number\"===a||\"date\"===a?Number(t)>=e:t.length>=e},max:function(t,e,a){return a=a||(void 0===t?\"undefined\":(0,u.default)(t)),\"number\"===a||\"date\"===a?Number(t)<=e:t.length<=e},len:function(t,e,a){a=a||(void 0===t?\"undefined\":(0,u.default)(t));var i=t;return void 0===i.length&&(i=\"object\"===a?(0,c.default)(i):String(i)),i.length===e},notWhitespace:function(t,e,a){return!/^\\s+$/.test(t)},pattern:function(t,e,a){return e.test(t)},custom:function(t,e,a){return e(t)}},s=(0,i.createAddAPI)(o);t.rules=o,t.addRule=s})},\"5zRN\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-page\",class:t.type},[a(\"header\",{staticClass:\"header\"},[a(\"h1\",[t._v(t._s(t.title))]),t._v(\" \"),a(\"i\",{staticClass:\"cubeic-back\",on:{click:t.back}})]),t._v(\" \"),a(\"div\",{staticClass:\"wrapper\"},[a(\"section\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.desc,expression:\"desc\"}],staticClass:\"desc\"},[t._t(\"desc\",[t._v(t._s(t.desc))])],2),t._v(\" \"),a(\"main\",{staticClass:\"content\"},[t._t(\"content\",[t._v(t._s(t.content))])],2)])])},staticRenderFns:[]}},\"64cm\":function(t,e){},\"6G1g\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"piyO\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},\"6HwX\":function(t,e){},\"6KDq\":function(t,e,a){function i(t){a(\"DVMH\")}var n=a(\"VU/8\")(a(\"I7KL\"),a(\"oIl+\"),i,null,null);t.exports=n.exports},\"6MTa\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"recycle-list\",title:\"RecycleList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-recycle-list\",{staticClass:\"list\",attrs:{infinite:t.infinite,size:t.size,\"on-fetch\":t.onFetch},scopedSlots:t._u([{key:\"tombstone\",fn:function(e){return[a(\"div\",{staticClass:\"item tombstone\"},[a(\"div\",{staticClass:\"avatar\"}),t._v(\" \"),a(\"div\",{staticClass:\"bubble\"},[a(\"p\"),t._v(\" \"),a(\"p\"),t._v(\" \"),a(\"p\"),t._v(\" \"),a(\"div\",{staticClass:\"meta\"},[a(\"time\",{staticClass:\"posted-date\"})])])])]}},{key:\"item\",fn:function(e){var i=e.data;return[a(\"div\",{staticClass:\"item\",attrs:{id:i.id},on:{click:function(e){t.handleClick(i)}}},[a(\"div\",{staticClass:\"avatar\",style:{backgroundImage:\"url(\"+(i.avatar||\"\")+\")\"}}),t._v(\" \"),a(\"div\",{staticClass:\"bubble\"},[a(\"p\",[t._v(t._s(i.msg))]),t._v(\" \"),a(\"div\",{staticClass:\"meta\"},[a(\"time\",{staticClass:\"posted-date\"},[t._v(t._s(i.time))])])])])]}}])},[a(\"div\",{attrs:{slot:\"noMore\"},slot:\"noMore\"},[t._v(\"没有更多数据了\")])])],1)])])},staticRenderFns:[]}},\"6SSl\":function(t,e,a){function i(t){a(\"ETXl\")}var n=a(\"VU/8\")(a(\"eAlP\"),a(\"2Q9x\"),i,\"data-v-311953ea\",null);t.exports=n.exports},\"6WIs\":function(t,e,a){function i(t){return a(n(t))}function n(t){var e=l[t];if(!(e+1))throw new Error(\"Cannot find module '\"+t+\"'.\");return e}var l={\"./avatar0.png\":\"Uz7t\",\"./avatar1.png\":\"bJvT\",\"./avatar2.png\":\"j/9N\",\"./avatar3.png\":\"kl+Y\",\"./avatar4.png\":\"E37f\",\"./avatar5.png\":\"F7um\"};i.keys=function(){return Object.keys(l)},i.resolve=n,t.exports=i,i.id=\"6WIs\"},\"6boj\":function(t,e,a){function i(t){a(\"6HwX\")}var n=a(\"VU/8\")(a(\"TdZF\"),a(\"pegF\"),i,null,null);t.exports=n.exports},\"6liq\":function(t,e,a){var i=a(\"VU/8\")(a(\"+HHY\"),a(\"97e9\"),null,null,null);t.exports=i.exports},\"6u20\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-textarea-wrapper\",class:{\"cube-textarea_expanded\":t.expanded,\"cube-textarea_active\":t.isFocus}},[a(\"textarea\",t._b({directives:[{name:\"model\",rawName:\"v-model\",value:t.textareaValue,expression:\"textareaValue\"}],ref:\"input\",staticClass:\"cube-textarea\",attrs:{placeholder:t.placeholder,maxlength:t.maxlength,disabled:t.disabled},domProps:{value:t.textareaValue},on:{focus:t.handleFocus,blur:t.handleBlur,change:t.changeHander,input:function(e){e.target.composing||(t.textareaValue=e.target.value)}}},\"textarea\",t.$props,!1)),t._v(\" \"),t._t(\"indicator\",[t.indicator?a(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.expanded,expression:\"expanded\"}],staticClass:\"cube-textarea-indicator\"},[t._v(t._s(t.indicatorConf.remain?t.remain:t.count))]):t._e()],{remain:t.remain,count:t.count})],2)},staticRenderFns:[]}},\"72CF\":function(t,e){},\"7ErG\":function(t,e,a){function i(t){a(\"lS1B\")}var n=a(\"VU/8\")(a(\"kZnE\"),a(\"zzMN\"),i,null,null);t.exports=n.exports},\"7JW3\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"form\",title:\"Form\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"custom\")}}},[t._v(\"Custom\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"classic\")}}},[t._v(\"Classic style\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"fresh\")}}},[t._v(\"Fresh style\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"questionnaire\")}}},[t._v(\"Questionnaire\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},\"7Jhx\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"cube-picker\",{ref:\"picker\",attrs:{data:t.pickerData,\"selected-index\":t.pickerSelectedIndex,pending:t.pending,title:t.title,subtitle:t.subtitle,\"z-index\":t.zIndex,\"cancel-txt\":t._cancelTxt,\"confirm-txt\":t._confirmTxt,\"swipe-time\":t.swipeTime,\"mask-closable\":t.maskClosable},on:{select:t._pickerSelect,cancel:t._pickerCancel,change:t._pickerChange},model:{value:t.isVisible,callback:function(e){t.isVisible=e},expression:\"isVisible\"}})},staticRenderFns:[]}},\"7MyF\":function(t,e){},\"7Sku\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"+hyH\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},\"7brH\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"QMhb\"),a(\"5e0o\"),a(\"1BqV\"),a(\"bh5B\"),a(\"qefm\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l),v=u(c);e.default={name:\"cube-scroll-nav\",provide:function(){return{scrollNav:this}},mixins:[o.default],props:{data:{type:Array},speed:{type:Number,default:300},side:{type:Boolean,default:!1},current:{type:[String,Number],default:\"\"}},data:function(){return{scrollEvents:[\"scroll\",\"scroll-end\"],scrollY:0,panels:[],active:this.current,pageStickyOffset:0}},computed:{labels:function(){return this.panels.map(function(t){return t.label})},barTxts:function(){return this.panels.map(function(t){return t.title})},barDirection:function(){return this.side?\"vertical\":\"horizontal\"}},watch:{current:function(t){this.stickyCurrent=t,this.active=t,this.jumpTo(t)},active:function(t){this.$emit(\"change\",t)}},created:function(){this.navBar=null,this.stickyCurrent=this.current},mounted:function(){var t=this;this.$nextTick(function(){if(t.side){var e=t.$refs.pageSticky.$refs.fixedEle;t.$refs.scroll.$el.appendChild(e)}t.current||(t.active=t.stickyCurrent=t.labels[0]),t.refresh(),t.jumpTo(t.current)})},methods:{scrollTo:function(){this.$refs.scroll&&this.$refs.scroll.scrollTo.apply(this.$refs.scroll,arguments)},refresh:function(){this.navBar&&this.navBar.refresh(),this.$refs.sticky.refresh(),this.$refs.pageSticky.refresh(),this.pageStickyOffset=this.side?0:this.$refs.navBarEle.$el.offsetHeight,this.$refs.scroll.refresh()},setBar:function(t){this.navBar=t},barChange:function(t){var e=this;this.active=t,setTimeout(function(){e.jumpTo(t)})},jumpTo:function(t){if(t){var e=this.getPanel(t);if(e){this._jumping=!0;var a=this.pageStickyOffset;this.$refs.scroll.scrollToElement(e.$el,this.speed,0,this.side?a:-a)}}},getPanel:function(t){var e=null;return this.panels.some(function(a){if(a.label===t)return e=a,!0}),e},pageStickyChangeHandler:function(t){\"\"===t&&(t=this.labels[0]),this.stickyCurrent=t,this._jumping||(this.active=t)},stickyChangeHandler:function(t){var e=this;this.$nextTick(function(){e.navBar&&e.navBar.refresh()}),this.$emit(\"sticky-change\",t)},scrollHandler:function(t){this.scrollY=-t.y,this._jumping||(this.active=this.stickyCurrent)},scrollEndHandler:function(){this._jumping=!1},addPanel:function(t){this.panels.push(t)},removePanel:function(t){var e=this.panels.indexOf(t);this.panels.splice(e,1)}},components:{CubeSticky:s.default,CubeStickyEle:r.default,CubeScroll:d.default,CubeScrollNavBar:v.default}},t.exports=e.default})},\"7jsq\":function(t,e){},\"7k5H\":function(t,e){},\"7lCl\":function(t,e,a){function i(t){a(\"Msz6\")}var n=a(\"VU/8\")(a(\"41pN\"),a(\"pjpa\"),i,null,null);t.exports=n.exports},\"7tZM\":function(t,e,a){function i(t){a(\"QRXK\")}var n=a(\"VU/8\")(a(\"Fth0\"),a(\"QtPY\"),i,null,null);t.exports=n.exports},\"7uMP\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],staticClass:\"cube-drawer\",on:{click:t.drawerClick}},[a(\"div\",{staticClass:\"cube-drawer-main\",style:t.slideStyle,on:{click:function(t){t.stopPropagation()},transitionend:t.transitionend}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.$slots.title||t.title,expression:\"$slots.title || title\"}],staticClass:\"cube-drawer-title\"},[t._t(\"title\",[t._v(t._s(t.title))])],2),t._v(\" \"),a(\"div\",{staticClass:\"cube-drawer-panels\",on:{transitionend:function(t){t.stopPropagation()}}},[t._t(\"default\",t._l(t.data,function(t,e){return a(\"cube-drawer-panel\",{key:e,attrs:{index:e,data:t}})}))],2)])])},staticRenderFns:[]}},\"7wV/\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"swipe\",title:\"Swipe\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"custom\")}}},[t._v(\"Custom\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},\"8F4S\":function(t,e,a){function i(t){a(\"/W4T\")}var n=a(\"VU/8\")(a(\"Uo7j\"),a(\"jdO8\"),i,null,null);t.exports=n.exports},\"8Fl7\":function(t,e){},\"8GE+\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-switch\"},[a(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.checkboxValue,expression:\"checkboxValue\"}],staticClass:\"cube-switch-input\",attrs:{type:\"checkbox\",disabled:t.disabled},domProps:{checked:Array.isArray(t.checkboxValue)?t._i(t.checkboxValue,null)>-1:t.checkboxValue},on:{change:function(e){var a=t.checkboxValue,i=e.target,n=!!i.checked;if(Array.isArray(a)){var l=t._i(a,null);i.checked?l<0&&(t.checkboxValue=a.concat([null])):l>-1&&(t.checkboxValue=a.slice(0,l).concat(a.slice(l+1)))}else t.checkboxValue=n}}}),t._v(\" \"),a(\"i\",{staticClass:\"cube-switch-ui\"}),t._v(\" \"),a(\"span\",{staticClass:\"cube-switch-label\"},[t._t(\"default\")],2)])},staticRenderFns:[]}},\"8YJ/\":function(t,e,a){function i(t){a(\"VbyH\")}var n=a(\"VU/8\")(a(\"pWL+\"),a(\"Nv3z\"),i,null,null);t.exports=n.exports},\"8cJp\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"jbJ7\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e){var a=u[t.type];if(a){var n=a(t),l=n.rules,c=n.messages;(0,i.setRules)(e,t.model,l),(0,i.setMessages)(e,c)}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a),c=function(t,e){return{rules:{custom:t},messages:{custom:e}}},u={tel:function(t){var e=function(t){return\"string\"==typeof t&&/^1[0-9]{10}$/.test(t)},a=t.errMsg||\"请输入正确的手机号码\";return c(e,a)},upload:function(t){var e=function(t){return!t.length||l.default.all(t.map(function(t){return new l.default(function(e,a){!function i(){\"error\"===t.status?a(t):\"success\"===t.status?e(t):setTimeout(i,100)}()})})).then(function(){return!0})},a=t.errMsg||\"上传失败\";return c(e,a)}};t.exports=e.default})},\"8cOd\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"NTtZ\"),a(\"4Gmg\"),a(\"zuie\"),a(\"j9ag\"),a(\"xYoV\"),a(\"aDIA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(i),d=o(n),v=o(l),p=o(c);s.default.install=function(t){t.component(s.default.name,s.default),t.component(r.default.name,r.default),t.component(d.default.name,d.default),t.component(p.default.name,p.default),v.default.install(t),p.default._base=t},s.default.Group=r.default,s.default.Item=d.default,s.default.Validator=p.default,p.default.addRule=u.addRule,p.default.addMessage=u.addMessage,p.default.addType=u.addType,p.default.addHelper=v.default.addHelper,e.default=s.default,t.exports=e.default})},\"8jxs\":function(t,e,a){function i(t){a(\"fK3K\")}var n=a(\"VU/8\")(a(\"l+e5\"),a(\"9w0G\"),i,null,null);t.exports=n.exports},\"8nmV\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"R4Zp\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},\"8xmU\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";function a(t,e){e.modelKey=t.model,e.key=t.model}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=a,t.exports=e.default})},\"90kD\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"index-list\",title:\"IndexList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"div\",{staticClass:\"index-list-wrapper\"},[a(\"cube-index-list\",{attrs:{data:t.cityData,title:t.title},on:{select:t.selectItem,\"title-click\":t.clickTitle}})],1)])])])},staticRenderFns:[]}},\"91me\":function(t,e,a){function i(t){a(\"Yx6s\")}var n=a(\"VU/8\")(a(\"nPBw\"),a(\"RQH8\"),i,null,null);t.exports=n.exports},\"97e9\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"li\",{staticClass:\"cube-index-list-group\"},[a(\"h2\",{staticClass:\"cube-index-list-anchor\",domProps:{innerHTML:t._s(t.group.name)}}),t._v(\" \"),a(\"ul\",[t._t(\"default\",t._l(t.group.items,function(e,i){return a(\"cube-index-list-item\",{key:i,attrs:{item:e},on:{select:t.selectItem}})}))],2)])},staticRenderFns:[]}},\"9I0H\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"form\",{ref:\"form\",staticClass:\"cube-form\",class:t.formClass,attrs:{action:t.action},on:{submit:t.submitHandler,reset:t.resetHandler}},[t._t(\"default\",t._l(t.groups,function(t,e){return a(\"cube-form-group\",{key:t.key||e,attrs:{fields:t.fields,legend:t.legend}})}))],2)},staticRenderFns:[]}},\"9IQh\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{direction:{type:String,default:\"column\"}}},t.exports=e.default})},\"9O6X\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"qqiS\"),a(\"XRNA\"),a(\"UFDc\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-recycle-list\",data:function(){return{items:[],heights:0,startIndex:0,loadings:[],noMore:!1}},props:{infinite:{type:Boolean,default:!1},size:{type:Number,default:20},offset:{type:Number,default:100},onFetch:{type:Function,required:!0}},computed:{visibleItems:function(){return this.items.slice(Math.max(0,this.startIndex-this.size),Math.min(this.items.length,this.startIndex+this.size))},tombHeight:function(){return this.infinite?this.$refs.tomb&&this.$refs.tomb.offsetHeight:0},loading:function(){return this.loadings.length}},created:function(){this.list=[],this.promiseStack=[]},mounted:function(){this.checkPromiseCompatibility(),this.$el.addEventListener(\"scroll\",this._onScroll),window.addEventListener(\"resize\",this._onResize),this.load()},beforeDestroy:function(){this.$el.removeEventListener(\"scroll\",this._onScroll),window.removeEventListener(\"resize\",this._onResize)},methods:{checkPromiseCompatibility:function(){(0,n.isUndef)(window.Promise)&&(0,i.warn)(\"requires a Promise polyfill in this browser.\")},load:function(){if(this.infinite){var t=this.items,e=t.length;t.length+=this.size;var a=t.length;this.loadItems(e,a),this.getItems()}else this.loading||this.getItems()},getItems:function(){var t=this,e=this.promiseStack.length,a=this.onFetch();this.loadings.push(\"pending\"),this.promiseStack.push(a),a.then(function(a){t.loadings.pop(),a?(t.setList(e,a),t.loadItemsByIndex(e),a.length<t.size&&t.stopScroll(e)):t.stopScroll(e)})},removeUnusedTombs:function(t,e){var a=void 0,i=this.size,n=e*i,l=(e+1)*i;for(a=n;a<l&&(!t[a]||!t[a].isTombstone);a++);this.items=t.slice(0,a)},stopScroll:function(t){this.noMore=!0,this.removeUnusedTombs(this.items.slice(0),t),this.updateItemTop(),this.updateStartIndex()},setList:function(t,e){for(var a=this.list,i=t*this.size,n=0;n<e.length;n++)a[i+n]=e[n]},loadItemsByIndex:function(t){var e=this.size,a=t*e,i=(t+1)*e;this.loadItems(a,i)},loadItems:function(t,e){for(var a=this,i=this.items,n=[],l=void 0,c=t;c<e;c++){(function(t){if((l=i[t])&&l.loaded)return\"continue\";a.setItem(t,a.list[t]),n.push(a.$nextTick().then(function(){a.updateItemHeight(t)}))})(c)}window.Promise.all(n).then(function(){a.updateItemTop(),a.updateStartIndex()})},setItem:function(t,e){this.$set(this.items,t,{data:e||{},height:0,top:-1e3,isTombstone:!e,loaded:e?1:0})},updateItemHeight:function(t){var e=this.items[t],a=this.$refs[\"preloads\"+t];a&&a[0]?e.height=a[0].offsetHeight:e&&(e.height=this.tombHeight)},updateItemTop:function(){for(var t=0,e=this.items,a=void 0,i=void 0,n=0;n<e.length;n++)a=e[n-1],i=e[n],e[n]?(i.top=a?a.top+a.height:0,t+=i.height):t+=0;this.heights=t},updateStartIndex:function(){for(var t=this.$el.scrollTop,e=void 0,a=this.items,i=0;i<a.length;i++)if(!(e=a[i])||e.top>t){this.startIndex=Math.max(0,i-1);break}},reset:function(){var t=this;[{key:\"items\",value:[]},{key:\"heights\",value:0},{key:\"startIndex\",value:0},{key:\"loadings\",value:[]},{key:\"noMore\",value:!1},{key:\"list\",value:[]},{key:\"promiseStack\",value:[]}].forEach(function(e){var a=e.key,i=e.value;t[a]=i}),this.$el.scrollTop=0,this.load()},_onScroll:function(){!this.noMore&&this.$el.scrollTop+this.$el.offsetHeight>this.heights-this.offset&&this.load(),this.updateStartIndex()},_onResize:function(){var t=this.items;t.forEach(function(t){t.loaded=!1}),this.loadItems(0,t.length)}},components:{CubeLoading:l.default}},t.exports=e.default})},\"9ZJD\":function(t,e){},\"9ZU5\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=3;e.default={data:function(){return{options:{pullDownRefresh:{threshold:60,stop:40,txt:\"更新成功\"}},pullDownY:0,pullDownStyle:\"\",opacityStyle:\"\",triggerSurpriseFlag:!1,triggerSurprise:!1}},components:{CubePage:i.default},computed:{pullDownTip:function(){return this.pullDownY<=60?\"下拉刷新...\":this.pullDownY<=90?\"继续下拉有惊喜...\":\"松手得惊喜！\"},headerStyle:function(){return Math.min(1,Math.max(0,1-this.pullDownY/40))}},methods:{onScrollHandle:function(t){this.pullDownY=t.y,t.y>0&&(this.pullDownStyle=\"top:\"+t.y+\"px\",this.triggerSurpriseFlag=!1,this.pullDownY>90&&(this.triggerSurpriseFlag=!0)),this.$refs.topHeader.style.opacity=this.headerStyle},onPullingDown:function(){var t=this;if(this.triggerSurpriseFlag)return this.triggerSurprise=!0,void this.$refs.scroll.forceUpdate();setTimeout(function(){t.$refs.scroll.forceUpdate()},1e3)},surpriseHandle:function(){this.triggerSurpriseFlag=!1,this.triggerSurprise=!1,this.$refs.topHeader.style.opacity=1},onImgLoad:function(){0==--n&&this.$refs.scroll.refresh()}}},t.exports=e.default})},\"9ofc\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"recycle-list\",title:\"RecycleList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"tombstone\")}}},[t._v(\"Infinite\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},\"9w0G\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"tip-view\",title:\"Tip\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"p\",{staticClass:\"tip-eg\"},[a(\"cube-button\",{attrs:{inline:!0,outline:!0,primary:!0},on:{click:function(e){t.$refs.tip.show()}}},[t._v(\"Show tip\")]),t._v(\" \"),a(\"cube-tip\",{ref:\"tip\",staticStyle:{left:\"115px\",top:\"-50px\"},attrs:{direction:\"bottom\"}},[t._v(\"Tip\")])],1),t._v(\" \"),a(\"p\",{staticClass:\"tip-eg\"},[a(\"cube-button\",{attrs:{inline:!0,outline:!0,primary:!0},on:{click:function(e){t.showTip(\"bottom\")}}},[t._v(\"cube-ui\")]),t._v(\" \"),a(\"cube-tip\",{ref:\"tip2\",style:t.tipStyle,attrs:{direction:t.direction},on:{close:t.close,click:t.clickHandler}},[a(\"div\",[t._v(\"Awesome!\")])])],1),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showTip(\"bottom\")}}},[t._v(\"top\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showTip(\"top\")}}},[t._v(\"bottom\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showTip(\"right\")}}},[t._v(\"left\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showTip(\"left\")}}},[t._v(\"right\")])],1)])},staticRenderFns:[]}},\"9xqn\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"a/uE\"),a(\"yjF1\"),a(\"7lCl\"),a(\"ZrYO\"),a(\"N/gd\"),a(\"mkLW\"),a(\"yb46\"),a(\"g9J/\"),a(\"3kPI\"),a(\"R4Zp\"),a(\"+hyH\"),a(\"BD2p\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r,d,v,p){\"use strict\";function f(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var h=f(a),x=f(i),y=f(n),m=f(l),b=f(c),g=f(u),_=f(o),w=f(s),k=f(r),A=f(d),C=f(v),T=f(p),j=[h.default,x.default,y.default,m.default,b.default,g.default,_.default,w.default,k.default,A.default,C.default,T.default],P={};j.forEach(function(t){P[t.name]=t}),e.default=P,t.exports=e.default})},\"9zBd\":function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.provinceList=[{text:\"北京市\",value:\"110000\"},{text:\"天津市\",value:\"120000\"},{text:\"河北省\",value:\"130000\"},{text:\"山西省\",value:\"140000\"},{text:\"内蒙古自治区\",value:\"150000\"},{text:\"辽宁省\",value:\"210000\"},{text:\"吉林省\",value:\"220000\"},{text:\"黑龙江省\",value:\"230000\"},{text:\"上海市\",value:\"310000\"},{text:\"江苏省\",value:\"320000\"},{text:\"浙江省\",value:\"330000\"},{text:\"安徽省\",value:\"340000\"},{text:\"福建省\",value:\"350000\"},{text:\"江西省\",value:\"360000\"},{text:\"山东省\",value:\"370000\"},{text:\"河南省\",value:\"410000\"},{text:\"湖北省\",value:\"420000\"},{text:\"湖南省\",value:\"430000\"},{text:\"广东省\",value:\"440000\"},{text:\"广西壮族自治区\",value:\"450000\"},{text:\"海南省\",value:\"460000\"},{text:\"重庆市\",value:\"500000\"},{text:\"四川省\",value:\"510000\"},{text:\"贵州省\",value:\"520000\"},{text:\"云南省\",value:\"530000\"},{text:\"西藏自治区\",value:\"540000\"},{text:\"陕西省\",value:\"610000\"},{text:\"甘肃省\",value:\"620000\"},{text:\"青海省\",value:\"630000\"},{text:\"宁夏回族自治区\",value:\"640000\"},{text:\"新疆维吾尔自治区\",value:\"650000\"}],t.cityList={110000:[{province:\"北京市\",text:\"北京市\",value:\"110100\"}],120000:[{province:\"天津市\",text:\"天津市\",value:\"120100\"}],130000:[{province:\"河北省\",text:\"石家庄市\",value:\"130100\"},{province:\"河北省\",text:\"唐山市\",value:\"130200\"},{province:\"河北省\",text:\"秦皇岛市\",value:\"130300\"},{province:\"河北省\",text:\"邯郸市\",value:\"130400\"},{province:\"河北省\",text:\"邢台市\",value:\"130500\"},{province:\"河北省\",text:\"保定市\",value:\"130600\"},{province:\"河北省\",text:\"张家口市\",value:\"130700\"},{province:\"河北省\",text:\"承德市\",value:\"130800\"},{province:\"河北省\",text:\"沧州市\",value:\"130900\"},{province:\"河北省\",text:\"廊坊市\",value:\"131000\"},{province:\"河北省\",text:\"衡水市\",value:\"131100\"},{province:\"河北省\",text:\"省直辖县级行政区划\",value:\"139000\"}],140000:[{province:\"山西省\",text:\"太原市\",value:\"140100\"},{province:\"山西省\",text:\"大同市\",value:\"140200\"},{province:\"山西省\",text:\"阳泉市\",value:\"140300\"},{province:\"山西省\",text:\"长治市\",value:\"140400\"},{province:\"山西省\",text:\"晋城市\",value:\"140500\"},{province:\"山西省\",text:\"朔州市\",value:\"140600\"},{province:\"山西省\",text:\"晋中市\",value:\"140700\"},{province:\"山西省\",text:\"运城市\",value:\"140800\"},{province:\"山西省\",text:\"忻州市\",value:\"140900\"},{province:\"山西省\",text:\"临汾市\",value:\"141000\"},{province:\"山西省\",text:\"吕梁市\",value:\"141100\"}],150000:[{province:\"内蒙古自治区\",text:\"呼和浩特市\",value:\"150100\"},{province:\"内蒙古自治区\",text:\"包头市\",value:\"150200\"},{province:\"内蒙古自治区\",text:\"乌海市\",value:\"150300\"},{province:\"内蒙古自治区\",text:\"赤峰市\",value:\"150400\"},{province:\"内蒙古自治区\",text:\"通辽市\",value:\"150500\"},{province:\"内蒙古自治区\",text:\"鄂尔多斯市\",value:\"150600\"},{province:\"内蒙古自治区\",text:\"呼伦贝尔市\",value:\"150700\"},{province:\"内蒙古自治区\",text:\"巴彦淖尔市\",value:\"150800\"},{province:\"内蒙古自治区\",text:\"乌兰察布市\",value:\"150900\"},{province:\"内蒙古自治区\",text:\"兴安盟\",value:\"152200\"},{province:\"内蒙古自治区\",text:\"锡林郭勒盟\",value:\"152500\"},{province:\"内蒙古自治区\",text:\"阿拉善盟\",value:\"152900\"}],210000:[{province:\"辽宁省\",text:\"沈阳市\",value:\"210100\"},{province:\"辽宁省\",text:\"大连市\",value:\"210200\"},{province:\"辽宁省\",text:\"鞍山市\",value:\"210300\"},{province:\"辽宁省\",text:\"抚顺市\",value:\"210400\"},{province:\"辽宁省\",text:\"本溪市\",value:\"210500\"},{province:\"辽宁省\",text:\"丹东市\",value:\"210600\"},{province:\"辽宁省\",text:\"锦州市\",value:\"210700\"},{province:\"辽宁省\",text:\"营口市\",value:\"210800\"},{province:\"辽宁省\",text:\"阜新市\",value:\"210900\"},{province:\"辽宁省\",text:\"辽阳市\",value:\"211000\"},{province:\"辽宁省\",text:\"盘锦市\",value:\"211100\"},{province:\"辽宁省\",text:\"铁岭市\",value:\"211200\"},{province:\"辽宁省\",text:\"朝阳市\",value:\"211300\"},{province:\"辽宁省\",text:\"葫芦岛市\",value:\"211400\"}],220000:[{province:\"吉林省\",text:\"长春市\",value:\"220100\"},{province:\"吉林省\",text:\"吉林市\",value:\"220200\"},{province:\"吉林省\",text:\"四平市\",value:\"220300\"},{province:\"吉林省\",text:\"辽源市\",value:\"220400\"},{province:\"吉林省\",text:\"通化市\",value:\"220500\"},{province:\"吉林省\",text:\"白山市\",value:\"220600\"},{province:\"吉林省\",text:\"松原市\",value:\"220700\"},{province:\"吉林省\",text:\"白城市\",value:\"220800\"},{province:\"吉林省\",text:\"延边朝鲜族自治州\",value:\"222400\"}],230000:[{province:\"黑龙江省\",text:\"哈尔滨市\",value:\"230100\"},{province:\"黑龙江省\",text:\"齐齐哈尔市\",value:\"230200\"},{province:\"黑龙江省\",text:\"鸡西市\",value:\"230300\"},{province:\"黑龙江省\",text:\"鹤岗市\",value:\"230400\"},{province:\"黑龙江省\",text:\"双鸭山市\",value:\"230500\"},{province:\"黑龙江省\",text:\"大庆市\",value:\"230600\"},{province:\"黑龙江省\",text:\"伊春市\",value:\"230700\"},{province:\"黑龙江省\",text:\"佳木斯市\",value:\"230800\"},{province:\"黑龙江省\",text:\"七台河市\",value:\"230900\"},{province:\"黑龙江省\",text:\"牡丹江市\",value:\"231000\"},{province:\"黑龙江省\",text:\"黑河市\",value:\"231100\"},{province:\"黑龙江省\",text:\"绥化市\",value:\"231200\"},{province:\"黑龙江省\",text:\"大兴安岭地区\",value:\"232700\"}],310000:[{province:\"上海市\",text:\"上海市\",value:\"310100\"}],320000:[{province:\"江苏省\",text:\"南京市\",value:\"320100\"},{province:\"江苏省\",text:\"无锡市\",value:\"320200\"},{province:\"江苏省\",text:\"徐州市\",value:\"320300\"},{province:\"江苏省\",text:\"常州市\",value:\"320400\"},{province:\"江苏省\",text:\"苏州市\",value:\"320500\"},{province:\"江苏省\",text:\"南通市\",value:\"320600\"},{province:\"江苏省\",text:\"连云港市\",value:\"320700\"},{province:\"江苏省\",text:\"淮安市\",value:\"320800\"},{province:\"江苏省\",text:\"盐城市\",value:\"320900\"},{province:\"江苏省\",text:\"扬州市\",value:\"321000\"},{province:\"江苏省\",text:\"镇江市\",value:\"321100\"},{province:\"江苏省\",text:\"泰州市\",value:\"321200\"},{province:\"江苏省\",text:\"宿迁市\",value:\"321300\"}],330000:[{province:\"浙江省\",text:\"杭州市\",value:\"330100\"},{province:\"浙江省\",text:\"宁波市\",value:\"330200\"},{province:\"浙江省\",text:\"温州市\",value:\"330300\"},{province:\"浙江省\",text:\"嘉兴市\",value:\"330400\"},{province:\"浙江省\",text:\"湖州市\",value:\"330500\"},{province:\"浙江省\",text:\"绍兴市\",value:\"330600\"},{province:\"浙江省\",text:\"金华市\",value:\"330700\"},{province:\"浙江省\",text:\"衢州市\",value:\"330800\"},{province:\"浙江省\",text:\"舟山市\",value:\"330900\"},{province:\"浙江省\",text:\"台州市\",value:\"331000\"},{province:\"浙江省\",text:\"丽水市\",value:\"331100\"}],340000:[{province:\"安徽省\",text:\"合肥市\",value:\"340100\"},{province:\"安徽省\",text:\"芜湖市\",value:\"340200\"},{province:\"安徽省\",text:\"蚌埠市\",value:\"340300\"},{province:\"安徽省\",text:\"淮南市\",value:\"340400\"},{province:\"安徽省\",text:\"马鞍山市\",value:\"340500\"},{province:\"安徽省\",text:\"淮北市\",value:\"340600\"},{province:\"安徽省\",text:\"铜陵市\",value:\"340700\"},{province:\"安徽省\",text:\"安庆市\",value:\"340800\"},{province:\"安徽省\",text:\"黄山市\",value:\"341000\"},{province:\"安徽省\",text:\"滁州市\",value:\"341100\"},{province:\"安徽省\",text:\"阜阳市\",value:\"341200\"},{province:\"安徽省\",text:\"宿州市\",value:\"341300\"},{province:\"安徽省\",text:\"六安市\",value:\"341500\"},{province:\"安徽省\",text:\"亳州市\",value:\"341600\"},{province:\"安徽省\",text:\"池州市\",value:\"341700\"},{province:\"安徽省\",text:\"宣城市\",value:\"341800\"}],350000:[{province:\"福建省\",text:\"福州市\",value:\"350100\"},{province:\"福建省\",text:\"厦门市\",value:\"350200\"},{province:\"福建省\",text:\"莆田市\",value:\"350300\"},{province:\"福建省\",text:\"三明市\",value:\"350400\"},{province:\"福建省\",text:\"泉州市\",value:\"350500\"},{province:\"福建省\",text:\"漳州市\",value:\"350600\"},{province:\"福建省\",text:\"南平市\",value:\"350700\"},{province:\"福建省\",text:\"龙岩市\",value:\"350800\"},{province:\"福建省\",text:\"宁德市\",value:\"350900\"}],360000:[{province:\"江西省\",text:\"南昌市\",value:\"360100\"},{province:\"江西省\",text:\"景德镇市\",value:\"360200\"},{province:\"江西省\",text:\"萍乡市\",value:\"360300\"},{province:\"江西省\",text:\"九江市\",value:\"360400\"},{province:\"江西省\",text:\"新余市\",value:\"360500\"},{province:\"江西省\",text:\"鹰潭市\",value:\"360600\"},{province:\"江西省\",text:\"赣州市\",value:\"360700\"},{province:\"江西省\",text:\"吉安市\",value:\"360800\"},{province:\"江西省\",text:\"宜春市\",value:\"360900\"},{province:\"江西省\",text:\"抚州市\",value:\"361000\"},{province:\"江西省\",text:\"上饶市\",value:\"361100\"}],370000:[{province:\"山东省\",text:\"济南市\",value:\"370100\"},{province:\"山东省\",text:\"青岛市\",value:\"370200\"},{province:\"山东省\",text:\"淄博市\",value:\"370300\"},{province:\"山东省\",text:\"枣庄市\",value:\"370400\"},{province:\"山东省\",text:\"东营市\",value:\"370500\"},{province:\"山东省\",text:\"烟台市\",value:\"370600\"},{province:\"山东省\",text:\"潍坊市\",value:\"370700\"},{province:\"山东省\",text:\"济宁市\",value:\"370800\"},{province:\"山东省\",text:\"泰安市\",value:\"370900\"},{province:\"山东省\",text:\"威海市\",value:\"371000\"},{province:\"山东省\",text:\"日照市\",value:\"371100\"},{province:\"山东省\",text:\"莱芜市\",value:\"371200\"},{province:\"山东省\",text:\"临沂市\",value:\"371300\"},{province:\"山东省\",text:\"德州市\",value:\"371400\"},{province:\"山东省\",text:\"聊城市\",value:\"371500\"},{province:\"山东省\",text:\"滨州市\",value:\"371600\"},{province:\"山东省\",text:\"菏泽市\",value:\"371700\"}],410000:[{province:\"河南省\",text:\"郑州市\",value:\"410100\"},{province:\"河南省\",text:\"开封市\",value:\"410200\"},{province:\"河南省\",text:\"洛阳市\",value:\"410300\"},{province:\"河南省\",text:\"平顶山市\",value:\"410400\"},{province:\"河南省\",text:\"安阳市\",value:\"410500\"},{province:\"河南省\",text:\"鹤壁市\",value:\"410600\"},{province:\"河南省\",text:\"新乡市\",value:\"410700\"},{province:\"河南省\",text:\"焦作市\",value:\"410800\"},{province:\"河南省\",text:\"濮阳市\",value:\"410900\"},{province:\"河南省\",text:\"许昌市\",value:\"411000\"},{province:\"河南省\",text:\"漯河市\",value:\"411100\"},{province:\"河南省\",text:\"三门峡市\",value:\"411200\"},{province:\"河南省\",text:\"南阳市\",value:\"411300\"},{province:\"河南省\",text:\"商丘市\",value:\"411400\"},{province:\"河南省\",text:\"信阳市\",value:\"411500\"},{province:\"河南省\",text:\"周口市\",value:\"411600\"},{province:\"河南省\",text:\"驻马店市\",value:\"411700\"},{province:\"河南省\",text:\"省直辖县级行政区划\",value:\"419000\"}],420000:[{province:\"湖北省\",text:\"武汉市\",value:\"420100\"},{province:\"湖北省\",text:\"黄石市\",value:\"420200\"},{province:\"湖北省\",text:\"十堰市\",value:\"420300\"},{province:\"湖北省\",text:\"宜昌市\",value:\"420500\"},{province:\"湖北省\",text:\"襄阳市\",value:\"420600\"},{province:\"湖北省\",text:\"鄂州市\",value:\"420700\"},{province:\"湖北省\",text:\"荆门市\",value:\"420800\"},{province:\"湖北省\",text:\"孝感市\",value:\"420900\"},{province:\"湖北省\",text:\"荆州市\",value:\"421000\"},{province:\"湖北省\",text:\"黄冈市\",value:\"421100\"},{province:\"湖北省\",text:\"咸宁市\",value:\"421200\"},{province:\"湖北省\",text:\"随州市\",value:\"421300\"},{province:\"湖北省\",text:\"恩施土家族苗族自治州\",value:\"422800\"},{province:\"湖北省\",text:\"省直辖县级行政区划\",value:\"429000\"}],430000:[{province:\"湖南省\",text:\"长沙市\",value:\"430100\"},{province:\"湖南省\",text:\"株洲市\",value:\"430200\"},{province:\"湖南省\",text:\"湘潭市\",value:\"430300\"},{province:\"湖南省\",text:\"衡阳市\",value:\"430400\"},{province:\"湖南省\",text:\"邵阳市\",value:\"430500\"},{province:\"湖南省\",text:\"岳阳市\",value:\"430600\"},{province:\"湖南省\",text:\"常德市\",value:\"430700\"},{province:\"湖南省\",text:\"张家界市\",value:\"430800\"},{province:\"湖南省\",text:\"益阳市\",value:\"430900\"},{province:\"湖南省\",text:\"郴州市\",value:\"431000\"},{province:\"湖南省\",text:\"永州市\",value:\"431100\"},{province:\"湖南省\",text:\"怀化市\",value:\"431200\"},{province:\"湖南省\",text:\"娄底市\",value:\"431300\"},{province:\"湖南省\",text:\"湘西土家族苗族自治州\",value:\"433100\"}],440000:[{province:\"广东省\",text:\"广州市\",value:\"440100\"},{province:\"广东省\",text:\"韶关市\",value:\"440200\"},{province:\"广东省\",text:\"深圳市\",value:\"440300\"},{province:\"广东省\",text:\"珠海市\",value:\"440400\"},{province:\"广东省\",text:\"汕头市\",value:\"440500\"},{province:\"广东省\",text:\"佛山市\",value:\"440600\"},{province:\"广东省\",text:\"江门市\",value:\"440700\"},{province:\"广东省\",text:\"湛江市\",value:\"440800\"},{province:\"广东省\",text:\"茂名市\",value:\"440900\"},{province:\"广东省\",text:\"肇庆市\",value:\"441200\"},{province:\"广东省\",text:\"惠州市\",value:\"441300\"},{province:\"广东省\",text:\"梅州市\",value:\"441400\"},{province:\"广东省\",text:\"汕尾市\",value:\"441500\"},{province:\"广东省\",text:\"河源市\",value:\"441600\"},{province:\"广东省\",text:\"阳江市\",value:\"441700\"},{province:\"广东省\",text:\"清远市\",value:\"441800\"},{province:\"广东省\",text:\"东莞市\",value:\"441900\"},{province:\"广东省\",text:\"中山市\",value:\"442000\"},{province:\"广东省\",text:\"潮州市\",value:\"445100\"},{province:\"广东省\",text:\"揭阳市\",value:\"445200\"},{province:\"广东省\",text:\"云浮市\",value:\"445300\"}],450000:[{province:\"广西壮族自治区\",text:\"南宁市\",value:\"450100\"},{province:\"广西壮族自治区\",text:\"柳州市\",value:\"450200\"},{province:\"广西壮族自治区\",text:\"桂林市\",value:\"450300\"},{province:\"广西壮族自治区\",text:\"梧州市\",value:\"450400\"},{province:\"广西壮族自治区\",text:\"北海市\",value:\"450500\"},{province:\"广西壮族自治区\",text:\"防城港市\",value:\"450600\"},{province:\"广西壮族自治区\",text:\"钦州市\",value:\"450700\"},{province:\"广西壮族自治区\",text:\"贵港市\",value:\"450800\"},{province:\"广西壮族自治区\",text:\"玉林市\",value:\"450900\"},{province:\"广西壮族自治区\",text:\"百色市\",value:\"451000\"},{province:\"广西壮族自治区\",text:\"贺州市\",value:\"451100\"},{province:\"广西壮族自治区\",text:\"河池市\",value:\"451200\"},{province:\"广西壮族自治区\",text:\"来宾市\",value:\"451300\"},{province:\"广西壮族自治区\",text:\"崇左市\",value:\"451400\"}],460000:[{province:\"海南省\",text:\"海口市\",value:\"460100\"},{province:\"海南省\",text:\"三亚市\",value:\"460200\"},{province:\"海南省\",text:\"三沙市\",value:\"460300\"},{province:\"海南省\",text:\"儋州市\",value:\"460400\"},{province:\"海南省\",text:\"省直辖县级行政区划\",value:\"469000\"}],500000:[{province:\"重庆市\",text:\"重庆市\",value:\"500100\"},{province:\"重庆市\",text:\"县\",value:\"500200\"}],510000:[{province:\"四川省\",text:\"成都市\",value:\"510100\"},{province:\"四川省\",text:\"自贡市\",value:\"510300\"},{province:\"四川省\",text:\"攀枝花市\",value:\"510400\"},{province:\"四川省\",text:\"泸州市\",value:\"510500\"},{province:\"四川省\",text:\"德阳市\",value:\"510600\"},{province:\"四川省\",text:\"绵阳市\",value:\"510700\"},{province:\"四川省\",text:\"广元市\",value:\"510800\"},{province:\"四川省\",text:\"遂宁市\",value:\"510900\"},{province:\"四川省\",text:\"内江市\",value:\"511000\"},{province:\"四川省\",text:\"乐山市\",value:\"511100\"},{province:\"四川省\",text:\"南充市\",value:\"511300\"},{province:\"四川省\",text:\"眉山市\",value:\"511400\"},{province:\"四川省\",text:\"宜宾市\",value:\"511500\"},{province:\"四川省\",text:\"广安市\",value:\"511600\"},{province:\"四川省\",text:\"达州市\",value:\"511700\"},{province:\"四川省\",text:\"雅安市\",value:\"511800\"},{province:\"四川省\",text:\"巴中市\",value:\"511900\"},{province:\"四川省\",text:\"资阳市\",value:\"512000\"},{province:\"四川省\",text:\"阿坝藏族羌族自治州\",value:\"513200\"},{province:\"四川省\",text:\"甘孜藏族自治州\",value:\"513300\"},{province:\"四川省\",text:\"凉山彝族自治州\",value:\"513400\"}],520000:[{province:\"贵州省\",text:\"贵阳市\",value:\"520100\"},{province:\"贵州省\",text:\"六盘水市\",value:\"520200\"},{province:\"贵州省\",text:\"遵义市\",value:\"520300\"},{province:\"贵州省\",text:\"安顺市\",value:\"520400\"},{province:\"贵州省\",text:\"毕节市\",value:\"520500\"},{province:\"贵州省\",text:\"铜仁市\",value:\"520600\"},{province:\"贵州省\",text:\"黔西南布依族苗族自治州\",value:\"522300\"},{province:\"贵州省\",text:\"黔东南苗族侗族自治州\",value:\"522600\"},{province:\"贵州省\",text:\"黔南布依族苗族自治州\",value:\"522700\"}],530000:[{province:\"云南省\",text:\"昆明市\",value:\"530100\"},{province:\"云南省\",text:\"曲靖市\",value:\"530300\"},{province:\"云南省\",text:\"玉溪市\",value:\"530400\"},{province:\"云南省\",text:\"保山市\",value:\"530500\"},{province:\"云南省\",text:\"昭通市\",value:\"530600\"},{province:\"云南省\",text:\"丽江市\",value:\"530700\"},{province:\"云南省\",text:\"普洱市\",value:\"530800\"},{province:\"云南省\",text:\"临沧市\",value:\"530900\"},{province:\"云南省\",text:\"楚雄彝族自治州\",value:\"532300\"},{province:\"云南省\",text:\"红河哈尼族彝族自治州\",value:\"532500\"},{province:\"云南省\",text:\"文山壮族苗族自治州\",value:\"532600\"},{province:\"云南省\",text:\"西双版纳傣族自治州\",value:\"532800\"},{province:\"云南省\",text:\"大理白族自治州\",value:\"532900\"},{province:\"云南省\",text:\"德宏傣族景颇族自治州\",value:\"533100\"},{province:\"云南省\",text:\"怒江傈僳族自治州\",value:\"533300\"},{province:\"云南省\",text:\"迪庆藏族自治州\",value:\"533400\"}],540000:[{province:\"西藏自治区\",text:\"拉萨市\",value:\"540100\"},{province:\"西藏自治区\",text:\"日喀则市\",value:\"540200\"},{province:\"西藏自治区\",text:\"昌都市\",value:\"540300\"},{province:\"西藏自治区\",text:\"林芝市\",value:\"540400\"},{province:\"西藏自治区\",text:\"山南市\",value:\"540500\"},{province:\"西藏自治区\",text:\"那曲地区\",value:\"542400\"},{province:\"西藏自治区\",text:\"阿里地区\",value:\"542500\"}],610000:[{province:\"陕西省\",text:\"西安市\",value:\"610100\"},{province:\"陕西省\",text:\"铜川市\",value:\"610200\"},{province:\"陕西省\",text:\"宝鸡市\",value:\"610300\"},{province:\"陕西省\",text:\"咸阳市\",value:\"610400\"},{province:\"陕西省\",text:\"渭南市\",value:\"610500\"},{province:\"陕西省\",text:\"延安市\",value:\"610600\"},{province:\"陕西省\",text:\"汉中市\",value:\"610700\"},{province:\"陕西省\",text:\"榆林市\",value:\"610800\"},{province:\"陕西省\",text:\"安康市\",value:\"610900\"},{province:\"陕西省\",text:\"商洛市\",value:\"611000\"}],620000:[{province:\"甘肃省\",text:\"兰州市\",value:\"620100\"},{province:\"甘肃省\",text:\"嘉峪关市\",value:\"620200\"},{province:\"甘肃省\",text:\"金昌市\",value:\"620300\"},{province:\"甘肃省\",text:\"白银市\",value:\"620400\"},{province:\"甘肃省\",text:\"天水市\",value:\"620500\"},{province:\"甘肃省\",text:\"武威市\",value:\"620600\"},{province:\"甘肃省\",text:\"张掖市\",value:\"620700\"},{province:\"甘肃省\",text:\"平凉市\",value:\"620800\"},{province:\"甘肃省\",text:\"酒泉市\",value:\"620900\"},{province:\"甘肃省\",text:\"庆阳市\",value:\"621000\"},{province:\"甘肃省\",text:\"定西市\",value:\"621100\"},{province:\"甘肃省\",text:\"陇南市\",value:\"621200\"},{province:\"甘肃省\",text:\"临夏回族自治州\",value:\"622900\"},{province:\"甘肃省\",text:\"甘南藏族自治州\",value:\"623000\"}],630000:[{province:\"青海省\",text:\"西宁市\",value:\"630100\"},{province:\"青海省\",text:\"海东市\",value:\"630200\"},{province:\"青海省\",text:\"海北藏族自治州\",value:\"632200\"},{province:\"青海省\",text:\"黄南藏族自治州\",value:\"632300\"},{province:\"青海省\",text:\"海南藏族自治州\",value:\"632500\"},{province:\"青海省\",text:\"果洛藏族自治州\",value:\"632600\"},{province:\"青海省\",text:\"玉树藏族自治州\",value:\"632700\"},{province:\"青海省\",text:\"海西蒙古族藏族自治州\",value:\"632800\"}],640000:[{province:\"宁夏回族自治区\",text:\"银川市\",value:\"640100\"},{province:\"宁夏回族自治区\",text:\"石嘴山市\",value:\"640200\"},{province:\"宁夏回族自治区\",text:\"吴忠市\",value:\"640300\"},{province:\"宁夏回族自治区\",text:\"固原市\",value:\"640400\"},{province:\"宁夏回族自治区\",text:\"中卫市\",value:\"640500\"}],650000:[{province:\"新疆维吾尔自治区\",text:\"乌鲁木齐市\",value:\"650100\"},{province:\"新疆维吾尔自治区\",text:\"克拉玛依市\",value:\"650200\"},{province:\"新疆维吾尔自治区\",text:\"吐鲁番市\",value:\"650400\"},{province:\"新疆维吾尔自治区\",text:\"哈密市\",value:\"650500\"},{province:\"新疆维吾尔自治区\",text:\"昌吉回族自治州\",value:\"652300\"},{province:\"新疆维吾尔自治区\",text:\"博尔塔拉蒙古自治州\",value:\"652700\"},{province:\"新疆维吾尔自治区\",text:\"巴音郭楞蒙古自治州\",value:\"652800\"},{province:\"新疆维吾尔自治区\",text:\"阿克苏地区\",value:\"652900\"},{province:\"新疆维吾尔自治区\",text:\"克孜勒苏柯尔克孜自治州\",value:\"653000\"},{province:\"新疆维吾尔自治区\",text:\"喀什地区\",value:\"653100\"},{province:\"新疆维吾尔自治区\",text:\"和田地区\",value:\"653200\"},{province:\"新疆维吾尔自治区\",text:\"伊犁哈萨克自治州\",value:\"654000\"},{province:\"新疆维吾尔自治区\",text:\"塔城地区\",value:\"654200\"},{province:\"新疆维吾尔自治区\",text:\"阿勒泰地区\",value:\"654300\"},{province:\"新疆维吾尔自治区\",text:\"自治区直辖县级行政区划\",value:\"659000\"}]},t.areaList={110100:[{city:\"市辖区\",text:\"东城区\",value:\"110101\"},{city:\"市辖区\",text:\"西城区\",value:\"110102\"},{city:\"市辖区\",text:\"朝阳区\",value:\"110105\"},{city:\"市辖区\",text:\"丰台区\",value:\"110106\"},{city:\"市辖区\",text:\"石景山区\",value:\"110107\"},{city:\"市辖区\",text:\"海淀区\",value:\"110108\"},{city:\"市辖区\",text:\"门头沟区\",value:\"110109\"},{city:\"市辖区\",text:\"房山区\",value:\"110111\"},{city:\"市辖区\",text:\"通州区\",value:\"110112\"},{city:\"市辖区\",text:\"顺义区\",value:\"110113\"},{city:\"市辖区\",text:\"昌平区\",value:\"110114\"},{city:\"市辖区\",text:\"大兴区\",value:\"110115\"},{city:\"市辖区\",text:\"怀柔区\",value:\"110116\"},{city:\"市辖区\",text:\"平谷区\",value:\"110117\"},{city:\"市辖区\",text:\"密云区\",value:\"110118\"},{city:\"市辖区\",text:\"延庆区\",value:\"110119\"}],120100:[{city:\"市辖区\",text:\"和平区\",value:\"120101\"},{city:\"市辖区\",text:\"河东区\",value:\"120102\"},{city:\"市辖区\",text:\"河西区\",value:\"120103\"},{city:\"市辖区\",text:\"南开区\",value:\"120104\"},{city:\"市辖区\",text:\"河北区\",value:\"120105\"},{city:\"市辖区\",text:\"红桥区\",value:\"120106\"},{city:\"市辖区\",text:\"东丽区\",value:\"120110\"},{city:\"市辖区\",text:\"西青区\",value:\"120111\"},{city:\"市辖区\",text:\"津南区\",value:\"120112\"},{city:\"市辖区\",text:\"北辰区\",value:\"120113\"},{city:\"市辖区\",text:\"武清区\",value:\"120114\"},{city:\"市辖区\",text:\"宝坻区\",value:\"120115\"},{city:\"市辖区\",text:\"滨海新区\",value:\"120116\"},{city:\"市辖区\",text:\"宁河区\",value:\"120117\"},{city:\"市辖区\",text:\"静海区\",value:\"120118\"},{city:\"市辖区\",text:\"蓟州区\",value:\"120119\"}],130100:[{city:\"石家庄市\",text:\"市辖区\",value:\"130101\"},{city:\"石家庄市\",text:\"长安区\",value:\"130102\"},{city:\"石家庄市\",text:\"桥西区\",value:\"130104\"},{city:\"石家庄市\",text:\"新华区\",value:\"130105\"},{city:\"石家庄市\",text:\"井陉矿区\",value:\"130107\"},{city:\"石家庄市\",text:\"裕华区\",value:\"130108\"},{city:\"石家庄市\",text:\"藁城区\",value:\"130109\"},{city:\"石家庄市\",text:\"鹿泉区\",value:\"130110\"},{city:\"石家庄市\",text:\"栾城区\",value:\"130111\"},{city:\"石家庄市\",text:\"井陉县\",value:\"130121\"},{city:\"石家庄市\",text:\"正定县\",value:\"130123\"},{city:\"石家庄市\",text:\"行唐县\",value:\"130125\"},{city:\"石家庄市\",text:\"灵寿县\",value:\"130126\"},{city:\"石家庄市\",text:\"高邑县\",value:\"130127\"},{city:\"石家庄市\",text:\"深泽县\",value:\"130128\"},{city:\"石家庄市\",text:\"赞皇县\",value:\"130129\"},{city:\"石家庄市\",text:\"无极县\",value:\"130130\"},{city:\"石家庄市\",text:\"平山县\",value:\"130131\"},{city:\"石家庄市\",text:\"元氏县\",value:\"130132\"},{city:\"石家庄市\",text:\"赵县\",value:\"130133\"},{city:\"石家庄市\",text:\"晋州市\",value:\"130183\"},{city:\"石家庄市\",text:\"新乐市\",value:\"130184\"}],130200:[{city:\"唐山市\",text:\"市辖区\",value:\"130201\"},{city:\"唐山市\",text:\"路南区\",value:\"130202\"},{city:\"唐山市\",text:\"路北区\",value:\"130203\"},{city:\"唐山市\",text:\"古冶区\",value:\"130204\"},{city:\"唐山市\",text:\"开平区\",value:\"130205\"},{city:\"唐山市\",text:\"丰南区\",value:\"130207\"},{city:\"唐山市\",text:\"丰润区\",value:\"130208\"},{city:\"唐山市\",text:\"曹妃甸区\",value:\"130209\"},{city:\"唐山市\",text:\"滦县\",value:\"130223\"},{city:\"唐山市\",text:\"滦南县\",value:\"130224\"},{city:\"唐山市\",text:\"乐亭县\",value:\"130225\"},{city:\"唐山市\",text:\"迁西县\",value:\"130227\"},{city:\"唐山市\",text:\"玉田县\",value:\"130229\"},{city:\"唐山市\",text:\"遵化市\",value:\"130281\"},{city:\"唐山市\",text:\"迁安市\",value:\"130283\"}],130300:[{city:\"秦皇岛市\",text:\"市辖区\",value:\"130301\"},{city:\"秦皇岛市\",text:\"海港区\",value:\"130302\"},{city:\"秦皇岛市\",text:\"山海关区\",value:\"130303\"},{city:\"秦皇岛市\",text:\"北戴河区\",value:\"130304\"},{city:\"秦皇岛市\",text:\"抚宁区\",value:\"130306\"},{city:\"秦皇岛市\",text:\"青龙满族自治县\",value:\"130321\"},{city:\"秦皇岛市\",text:\"昌黎县\",value:\"130322\"},{city:\"秦皇岛市\",text:\"卢龙县\",value:\"130324\"}],130400:[{city:\"邯郸市\",text:\"市辖区\",value:\"130401\"},{city:\"邯郸市\",text:\"邯山区\",value:\"130402\"},{city:\"邯郸市\",text:\"丛台区\",value:\"130403\"},{city:\"邯郸市\",text:\"复兴区\",value:\"130404\"},{city:\"邯郸市\",text:\"峰峰矿区\",value:\"130406\"},{city:\"邯郸市\",text:\"邯郸县\",value:\"130421\"},{city:\"邯郸市\",text:\"临漳县\",value:\"130423\"},{city:\"邯郸市\",text:\"成安县\",value:\"130424\"},{city:\"邯郸市\",text:\"大名县\",value:\"130425\"},{city:\"邯郸市\",text:\"涉县\",value:\"130426\"},{city:\"邯郸市\",text:\"磁县\",value:\"130427\"},{city:\"邯郸市\",text:\"肥乡县\",value:\"130428\"},{city:\"邯郸市\",text:\"永年县\",value:\"130429\"},{city:\"邯郸市\",text:\"邱县\",value:\"130430\"},{city:\"邯郸市\",text:\"鸡泽县\",value:\"130431\"},{city:\"邯郸市\",text:\"广平县\",value:\"130432\"},{city:\"邯郸市\",text:\"馆陶县\",value:\"130433\"},{city:\"邯郸市\",text:\"魏县\",value:\"130434\"},{city:\"邯郸市\",text:\"曲周县\",value:\"130435\"},{city:\"邯郸市\",text:\"武安市\",value:\"130481\"}],130500:[{city:\"邢台市\",text:\"市辖区\",value:\"130501\"},{city:\"邢台市\",text:\"桥东区\",value:\"130502\"},{city:\"邢台市\",text:\"桥西区\",value:\"130503\"},{city:\"邢台市\",text:\"邢台县\",value:\"130521\"},{city:\"邢台市\",text:\"临城县\",value:\"130522\"},{city:\"邢台市\",text:\"内丘县\",value:\"130523\"},{city:\"邢台市\",text:\"柏乡县\",value:\"130524\"},{city:\"邢台市\",text:\"隆尧县\",value:\"130525\"},{city:\"邢台市\",text:\"任县\",value:\"130526\"},{city:\"邢台市\",text:\"南和县\",value:\"130527\"},{city:\"邢台市\",text:\"宁晋县\",value:\"130528\"},{city:\"邢台市\",text:\"巨鹿县\",value:\"130529\"},{city:\"邢台市\",text:\"新河县\",value:\"130530\"},{city:\"邢台市\",text:\"广宗县\",value:\"130531\"},{city:\"邢台市\",text:\"平乡县\",value:\"130532\"},{city:\"邢台市\",text:\"威县\",value:\"130533\"},{city:\"邢台市\",text:\"清河县\",value:\"130534\"},{city:\"邢台市\",text:\"临西县\",value:\"130535\"},{city:\"邢台市\",text:\"南宫市\",value:\"130581\"},{city:\"邢台市\",text:\"沙河市\",value:\"130582\"}],130600:[{city:\"保定市\",text:\"市辖区\",value:\"130601\"},{city:\"保定市\",text:\"竞秀区\",value:\"130602\"},{city:\"保定市\",text:\"莲池区\",value:\"130606\"},{city:\"保定市\",text:\"满城区\",value:\"130607\"},{city:\"保定市\",text:\"清苑区\",value:\"130608\"},{city:\"保定市\",text:\"徐水区\",value:\"130609\"},{city:\"保定市\",text:\"涞水县\",value:\"130623\"},{city:\"保定市\",text:\"阜平县\",value:\"130624\"},{city:\"保定市\",text:\"定兴县\",value:\"130626\"},{city:\"保定市\",text:\"唐县\",value:\"130627\"},{city:\"保定市\",text:\"高阳县\",value:\"130628\"},{city:\"保定市\",text:\"容城县\",value:\"130629\"},{city:\"保定市\",text:\"涞源县\",value:\"130630\"},{city:\"保定市\",text:\"望都县\",value:\"130631\"},{city:\"保定市\",text:\"安新县\",value:\"130632\"},{city:\"保定市\",text:\"易县\",value:\"130633\"},{city:\"保定市\",text:\"曲阳县\",value:\"130634\"},{city:\"保定市\",text:\"蠡县\",value:\"130635\"},{city:\"保定市\",text:\"顺平县\",value:\"130636\"},{city:\"保定市\",text:\"博野县\",value:\"130637\"},{city:\"保定市\",text:\"雄县\",value:\"130638\"},{city:\"保定市\",text:\"涿州市\",value:\"130681\"},{city:\"保定市\",text:\"安国市\",value:\"130683\"},{city:\"保定市\",text:\"高碑店市\",value:\"130684\"}],130700:[{city:\"张家口市\",text:\"市辖区\",value:\"130701\"},{city:\"张家口市\",text:\"桥东区\",value:\"130702\"},{city:\"张家口市\",text:\"桥西区\",value:\"130703\"},{city:\"张家口市\",text:\"宣化区\",value:\"130705\"},{city:\"张家口市\",text:\"下花园区\",value:\"130706\"},{city:\"张家口市\",text:\"万全区\",value:\"130708\"},{city:\"张家口市\",text:\"崇礼区\",value:\"130709\"},{city:\"张家口市\",text:\"张北县\",value:\"130722\"},{city:\"张家口市\",text:\"康保县\",value:\"130723\"},{city:\"张家口市\",text:\"沽源县\",value:\"130724\"},{city:\"张家口市\",text:\"尚义县\",value:\"130725\"},{city:\"张家口市\",text:\"蔚县\",value:\"130726\"},{city:\"张家口市\",text:\"阳原县\",value:\"130727\"},{city:\"张家口市\",text:\"怀安县\",value:\"130728\"},{city:\"张家口市\",text:\"怀来县\",value:\"130730\"},{city:\"张家口市\",text:\"涿鹿县\",value:\"130731\"},{city:\"张家口市\",text:\"赤城县\",value:\"130732\"}],130800:[{city:\"承德市\",text:\"市辖区\",value:\"130801\"},{city:\"承德市\",text:\"双桥区\",value:\"130802\"},{city:\"承德市\",text:\"双滦区\",value:\"130803\"},{city:\"承德市\",text:\"鹰手营子矿区\",value:\"130804\"},{city:\"承德市\",text:\"承德县\",value:\"130821\"},{city:\"承德市\",text:\"兴隆县\",value:\"130822\"},{city:\"承德市\",text:\"平泉县\",value:\"130823\"},{city:\"承德市\",text:\"滦平县\",value:\"130824\"},{city:\"承德市\",text:\"隆化县\",value:\"130825\"},{city:\"承德市\",text:\"丰宁满族自治县\",value:\"130826\"},{city:\"承德市\",text:\"宽城满族自治县\",value:\"130827\"},{city:\"承德市\",text:\"围场满族蒙古族自治县\",value:\"130828\"}],130900:[{city:\"沧州市\",text:\"市辖区\",value:\"130901\"},{city:\"沧州市\",text:\"新华区\",value:\"130902\"},{city:\"沧州市\",text:\"运河区\",value:\"130903\"},{city:\"沧州市\",text:\"沧县\",value:\"130921\"},{city:\"沧州市\",text:\"青县\",value:\"130922\"},{city:\"沧州市\",text:\"东光县\",value:\"130923\"},{city:\"沧州市\",text:\"海兴县\",value:\"130924\"},{city:\"沧州市\",text:\"盐山县\",value:\"130925\"},{city:\"沧州市\",text:\"肃宁县\",value:\"130926\"},{city:\"沧州市\",text:\"南皮县\",value:\"130927\"},{city:\"沧州市\",text:\"吴桥县\",value:\"130928\"},{city:\"沧州市\",text:\"献县\",value:\"130929\"},{city:\"沧州市\",text:\"孟村回族自治县\",value:\"130930\"},{city:\"沧州市\",text:\"泊头市\",value:\"130981\"},{city:\"沧州市\",text:\"任丘市\",value:\"130982\"},{city:\"沧州市\",text:\"黄骅市\",value:\"130983\"},{city:\"沧州市\",text:\"河间市\",value:\"130984\"}],131000:[{city:\"廊坊市\",text:\"市辖区\",value:\"131001\"},{city:\"廊坊市\",text:\"安次区\",value:\"131002\"},{city:\"廊坊市\",text:\"广阳区\",value:\"131003\"},{city:\"廊坊市\",text:\"固安县\",value:\"131022\"},{city:\"廊坊市\",text:\"永清县\",value:\"131023\"},{city:\"廊坊市\",text:\"香河县\",value:\"131024\"},{city:\"廊坊市\",text:\"大城县\",value:\"131025\"},{city:\"廊坊市\",text:\"文安县\",value:\"131026\"},{city:\"廊坊市\",text:\"大厂回族自治县\",value:\"131028\"},{city:\"廊坊市\",text:\"霸州市\",value:\"131081\"},{city:\"廊坊市\",text:\"三河市\",value:\"131082\"}],131100:[{city:\"衡水市\",text:\"市辖区\",value:\"131101\"},{city:\"衡水市\",text:\"桃城区\",value:\"131102\"},{city:\"衡水市\",text:\"冀州区\",value:\"131103\"},{city:\"衡水市\",text:\"枣强县\",value:\"131121\"},{city:\"衡水市\",text:\"武邑县\",value:\"131122\"},{city:\"衡水市\",text:\"武强县\",value:\"131123\"},{city:\"衡水市\",text:\"饶阳县\",value:\"131124\"},{city:\"衡水市\",text:\"安平县\",value:\"131125\"},{city:\"衡水市\",text:\"故城县\",value:\"131126\"},{city:\"衡水市\",text:\"景县\",value:\"131127\"},{city:\"衡水市\",text:\"阜城县\",value:\"131128\"},{city:\"衡水市\",text:\"深州市\",value:\"131182\"}],139000:[{city:\"省直辖县级行政区划\",text:\"定州市\",value:\"139001\"},{city:\"省直辖县级行政区划\",text:\"辛集市\",value:\"139002\"}],140100:[{city:\"太原市\",text:\"市辖区\",value:\"140101\"},{city:\"太原市\",text:\"小店区\",value:\"140105\"},{city:\"太原市\",text:\"迎泽区\",value:\"140106\"},{city:\"太原市\",text:\"杏花岭区\",value:\"140107\"},{city:\"太原市\",text:\"尖草坪区\",value:\"140108\"},{city:\"太原市\",text:\"万柏林区\",value:\"140109\"},{city:\"太原市\",text:\"晋源区\",value:\"140110\"},{city:\"太原市\",text:\"清徐县\",value:\"140121\"},{city:\"太原市\",text:\"阳曲县\",value:\"140122\"},{city:\"太原市\",text:\"娄烦县\",value:\"140123\"},{city:\"太原市\",text:\"古交市\",value:\"140181\"}],140200:[{city:\"大同市\",text:\"市辖区\",value:\"140201\"},{city:\"大同市\",text:\"城区\",value:\"140202\"},{city:\"大同市\",text:\"矿区\",value:\"140203\"},{city:\"大同市\",text:\"南郊区\",value:\"140211\"},{city:\"大同市\",text:\"新荣区\",value:\"140212\"},{city:\"大同市\",text:\"阳高县\",value:\"140221\"},{city:\"大同市\",text:\"天镇县\",value:\"140222\"},{city:\"大同市\",text:\"广灵县\",value:\"140223\"},{city:\"大同市\",text:\"灵丘县\",value:\"140224\"},{city:\"大同市\",text:\"浑源县\",value:\"140225\"},{city:\"大同市\",text:\"左云县\",value:\"140226\"},{city:\"大同市\",text:\"大同县\",value:\"140227\"}],140300:[{city:\"阳泉市\",text:\"市辖区\",value:\"140301\"},{city:\"阳泉市\",text:\"城区\",value:\"140302\"},{city:\"阳泉市\",text:\"矿区\",value:\"140303\"},{city:\"阳泉市\",text:\"郊区\",value:\"140311\"},{city:\"阳泉市\",text:\"平定县\",value:\"140321\"},{city:\"阳泉市\",text:\"盂县\",value:\"140322\"}],140400:[{city:\"长治市\",text:\"市辖区\",value:\"140401\"},{city:\"长治市\",text:\"城区\",value:\"140402\"},{city:\"长治市\",text:\"郊区\",value:\"140411\"},{city:\"长治市\",text:\"长治县\",value:\"140421\"},{city:\"长治市\",text:\"襄垣县\",value:\"140423\"},{city:\"长治市\",text:\"屯留县\",value:\"140424\"},{city:\"长治市\",text:\"平顺县\",value:\"140425\"},{city:\"长治市\",text:\"黎城县\",value:\"140426\"},{city:\"长治市\",text:\"壶关县\",value:\"140427\"},{city:\"长治市\",text:\"长子县\",value:\"140428\"},{city:\"长治市\",text:\"武乡县\",value:\"140429\"},{city:\"长治市\",text:\"沁县\",value:\"140430\"},{city:\"长治市\",text:\"沁源县\",value:\"140431\"},{city:\"长治市\",text:\"潞城市\",value:\"140481\"}],140500:[{city:\"晋城市\",text:\"市辖区\",value:\"140501\"},{city:\"晋城市\",text:\"城区\",value:\"140502\"},{city:\"晋城市\",text:\"沁水县\",value:\"140521\"},{city:\"晋城市\",text:\"阳城县\",value:\"140522\"},{city:\"晋城市\",text:\"陵川县\",value:\"140524\"},{city:\"晋城市\",text:\"泽州县\",value:\"140525\"},{city:\"晋城市\",text:\"高平市\",value:\"140581\"}],140600:[{city:\"朔州市\",text:\"市辖区\",value:\"140601\"},{city:\"朔州市\",text:\"朔城区\",value:\"140602\"},{city:\"朔州市\",text:\"平鲁区\",value:\"140603\"},{city:\"朔州市\",text:\"山阴县\",value:\"140621\"},{city:\"朔州市\",text:\"应县\",value:\"140622\"},{city:\"朔州市\",text:\"右玉县\",value:\"140623\"},{city:\"朔州市\",text:\"怀仁县\",value:\"140624\"}],140700:[{city:\"晋中市\",text:\"市辖区\",value:\"140701\"},{city:\"晋中市\",text:\"榆次区\",value:\"140702\"},{city:\"晋中市\",text:\"榆社县\",value:\"140721\"},{city:\"晋中市\",text:\"左权县\",value:\"140722\"},{city:\"晋中市\",text:\"和顺县\",value:\"140723\"},{city:\"晋中市\",text:\"昔阳县\",value:\"140724\"},{city:\"晋中市\",text:\"寿阳县\",value:\"140725\"},{city:\"晋中市\",text:\"太谷县\",value:\"140726\"},{city:\"晋中市\",text:\"祁县\",value:\"140727\"},{city:\"晋中市\",text:\"平遥县\",value:\"140728\"},{city:\"晋中市\",text:\"灵石县\",value:\"140729\"},{city:\"晋中市\",text:\"介休市\",value:\"140781\"}],140800:[{city:\"运城市\",text:\"市辖区\",value:\"140801\"},{city:\"运城市\",text:\"盐湖区\",value:\"140802\"},{city:\"运城市\",text:\"临猗县\",value:\"140821\"},{city:\"运城市\",text:\"万荣县\",value:\"140822\"},{city:\"运城市\",text:\"闻喜县\",value:\"140823\"},{city:\"运城市\",text:\"稷山县\",value:\"140824\"},{city:\"运城市\",text:\"新绛县\",value:\"140825\"},{city:\"运城市\",text:\"绛县\",value:\"140826\"},{city:\"运城市\",text:\"垣曲县\",value:\"140827\"},{city:\"运城市\",text:\"夏县\",value:\"140828\"},{city:\"运城市\",text:\"平陆县\",value:\"140829\"},{city:\"运城市\",text:\"芮城县\",value:\"140830\"},{city:\"运城市\",text:\"永济市\",value:\"140881\"},{city:\"运城市\",text:\"河津市\",value:\"140882\"}],140900:[{city:\"忻州市\",text:\"市辖区\",value:\"140901\"},{city:\"忻州市\",text:\"忻府区\",value:\"140902\"},{city:\"忻州市\",text:\"定襄县\",value:\"140921\"},{city:\"忻州市\",text:\"五台县\",value:\"140922\"},{city:\"忻州市\",text:\"代县\",value:\"140923\"},{city:\"忻州市\",text:\"繁峙县\",value:\"140924\"},{city:\"忻州市\",text:\"宁武县\",value:\"140925\"},{city:\"忻州市\",text:\"静乐县\",value:\"140926\"},{city:\"忻州市\",text:\"神池县\",value:\"140927\"},{city:\"忻州市\",text:\"五寨县\",value:\"140928\"},{city:\"忻州市\",text:\"岢岚县\",value:\"140929\"},{city:\"忻州市\",text:\"河曲县\",value:\"140930\"},{city:\"忻州市\",text:\"保德县\",value:\"140931\"},{city:\"忻州市\",text:\"偏关县\",value:\"140932\"},{city:\"忻州市\",text:\"原平市\",value:\"140981\"}],141000:[{city:\"临汾市\",text:\"市辖区\",value:\"141001\"},{city:\"临汾市\",text:\"尧都区\",value:\"141002\"},{city:\"临汾市\",text:\"曲沃县\",value:\"141021\"},{city:\"临汾市\",text:\"翼城县\",value:\"141022\"},{city:\"临汾市\",text:\"襄汾县\",value:\"141023\"},{city:\"临汾市\",text:\"洪洞县\",value:\"141024\"},{city:\"临汾市\",text:\"古县\",value:\"141025\"},{city:\"临汾市\",text:\"安泽县\",value:\"141026\"},{city:\"临汾市\",text:\"浮山县\",value:\"141027\"},{city:\"临汾市\",text:\"吉县\",value:\"141028\"},{city:\"临汾市\",text:\"乡宁县\",value:\"141029\"},{city:\"临汾市\",text:\"大宁县\",value:\"141030\"},{city:\"临汾市\",text:\"隰县\",value:\"141031\"},{city:\"临汾市\",text:\"永和县\",value:\"141032\"},{city:\"临汾市\",text:\"蒲县\",value:\"141033\"},{city:\"临汾市\",text:\"汾西县\",value:\"141034\"},{city:\"临汾市\",text:\"侯马市\",value:\"141081\"},{city:\"临汾市\",text:\"霍州市\",value:\"141082\"}],141100:[{city:\"吕梁市\",text:\"市辖区\",value:\"141101\"},{city:\"吕梁市\",text:\"离石区\",value:\"141102\"},{city:\"吕梁市\",text:\"文水县\",value:\"141121\"},{city:\"吕梁市\",text:\"交城县\",value:\"141122\"},{city:\"吕梁市\",text:\"兴县\",value:\"141123\"},{city:\"吕梁市\",text:\"临县\",value:\"141124\"},{city:\"吕梁市\",text:\"柳林县\",value:\"141125\"},{city:\"吕梁市\",text:\"石楼县\",value:\"141126\"},{city:\"吕梁市\",text:\"岚县\",value:\"141127\"},{city:\"吕梁市\",text:\"方山县\",value:\"141128\"},{city:\"吕梁市\",text:\"中阳县\",value:\"141129\"},{city:\"吕梁市\",text:\"交口县\",value:\"141130\"},{city:\"吕梁市\",text:\"孝义市\",value:\"141181\"},{city:\"吕梁市\",text:\"汾阳市\",value:\"141182\"}],150100:[{city:\"呼和浩特市\",text:\"市辖区\",value:\"150101\"},{city:\"呼和浩特市\",text:\"新城区\",value:\"150102\"},{city:\"呼和浩特市\",text:\"回民区\",value:\"150103\"},{city:\"呼和浩特市\",text:\"玉泉区\",value:\"150104\"},{city:\"呼和浩特市\",text:\"赛罕区\",value:\"150105\"},{city:\"呼和浩特市\",text:\"土默特左旗\",value:\"150121\"},{city:\"呼和浩特市\",text:\"托克托县\",value:\"150122\"},{city:\"呼和浩特市\",text:\"和林格尔县\",value:\"150123\"},{city:\"呼和浩特市\",text:\"清水河县\",value:\"150124\"},{city:\"呼和浩特市\",text:\"武川县\",value:\"150125\"}],150200:[{city:\"包头市\",text:\"市辖区\",value:\"150201\"},{city:\"包头市\",text:\"东河区\",value:\"150202\"},{city:\"包头市\",text:\"昆都仑区\",value:\"150203\"},{city:\"包头市\",text:\"青山区\",value:\"150204\"},{city:\"包头市\",text:\"石拐区\",value:\"150205\"},{city:\"包头市\",text:\"白云鄂博矿区\",value:\"150206\"},{city:\"包头市\",text:\"九原区\",value:\"150207\"},{city:\"包头市\",text:\"土默特右旗\",value:\"150221\"},{city:\"包头市\",text:\"固阳县\",value:\"150222\"},{city:\"包头市\",text:\"达尔罕茂明安联合旗\",value:\"150223\"}],150300:[{city:\"乌海市\",text:\"市辖区\",value:\"150301\"},{city:\"乌海市\",text:\"海勃湾区\",value:\"150302\"},{city:\"乌海市\",text:\"海南区\",value:\"150303\"},{city:\"乌海市\",text:\"乌达区\",value:\"150304\"}],150400:[{city:\"赤峰市\",text:\"市辖区\",value:\"150401\"},{city:\"赤峰市\",text:\"红山区\",value:\"150402\"},{city:\"赤峰市\",text:\"元宝山区\",value:\"150403\"},{city:\"赤峰市\",text:\"松山区\",value:\"150404\"},{city:\"赤峰市\",text:\"阿鲁科尔沁旗\",value:\"150421\"},{city:\"赤峰市\",text:\"巴林左旗\",value:\"150422\"},{city:\"赤峰市\",text:\"巴林右旗\",value:\"150423\"},{city:\"赤峰市\",text:\"林西县\",value:\"150424\"},{city:\"赤峰市\",text:\"克什克腾旗\",value:\"150425\"},{city:\"赤峰市\",text:\"翁牛特旗\",value:\"150426\"},{city:\"赤峰市\",text:\"喀喇沁旗\",value:\"150428\"},{city:\"赤峰市\",text:\"宁城县\",value:\"150429\"},{city:\"赤峰市\",text:\"敖汉旗\",value:\"150430\"}],150500:[{city:\"通辽市\",text:\"市辖区\",value:\"150501\"},{city:\"通辽市\",text:\"科尔沁区\",value:\"150502\"},{city:\"通辽市\",text:\"科尔沁左翼中旗\",value:\"150521\"},{city:\"通辽市\",text:\"科尔沁左翼后旗\",value:\"150522\"},{city:\"通辽市\",text:\"开鲁县\",value:\"150523\"},{city:\"通辽市\",text:\"库伦旗\",value:\"150524\"},{city:\"通辽市\",text:\"奈曼旗\",value:\"150525\"},{city:\"通辽市\",text:\"扎鲁特旗\",value:\"150526\"},{city:\"通辽市\",text:\"霍林郭勒市\",value:\"150581\"}],150600:[{city:\"鄂尔多斯市\",text:\"市辖区\",value:\"150601\"},{city:\"鄂尔多斯市\",text:\"东胜区\",value:\"150602\"},{city:\"鄂尔多斯市\",text:\"康巴什区\",value:\"150603\"},{city:\"鄂尔多斯市\",text:\"达拉特旗\",value:\"150621\"},{city:\"鄂尔多斯市\",text:\"准格尔旗\",value:\"150622\"},{city:\"鄂尔多斯市\",text:\"鄂托克前旗\",value:\"150623\"},{city:\"鄂尔多斯市\",text:\"鄂托克旗\",value:\"150624\"},{city:\"鄂尔多斯市\",text:\"杭锦旗\",value:\"150625\"},{city:\"鄂尔多斯市\",text:\"乌审旗\",value:\"150626\"},{city:\"鄂尔多斯市\",text:\"伊金霍洛旗\",value:\"150627\"}],150700:[{city:\"呼伦贝尔市\",text:\"市辖区\",value:\"150701\"},{city:\"呼伦贝尔市\",text:\"海拉尔区\",value:\"150702\"},{city:\"呼伦贝尔市\",text:\"扎赉诺尔区\",value:\"150703\"},{city:\"呼伦贝尔市\",text:\"阿荣旗\",value:\"150721\"},{city:\"呼伦贝尔市\",text:\"莫力达瓦达斡尔族自治旗\",value:\"150722\"},{city:\"呼伦贝尔市\",text:\"鄂伦春自治旗\",value:\"150723\"},{city:\"呼伦贝尔市\",text:\"鄂温克族自治旗\",value:\"150724\"},{city:\"呼伦贝尔市\",text:\"陈巴尔虎旗\",value:\"150725\"},{city:\"呼伦贝尔市\",text:\"新巴尔虎左旗\",value:\"150726\"},{city:\"呼伦贝尔市\",text:\"新巴尔虎右旗\",value:\"150727\"},{city:\"呼伦贝尔市\",text:\"满洲里市\",value:\"150781\"},{city:\"呼伦贝尔市\",text:\"牙克石市\",value:\"150782\"},{city:\"呼伦贝尔市\",text:\"扎兰屯市\",value:\"150783\"},{city:\"呼伦贝尔市\",text:\"额尔古纳市\",value:\"150784\"},{city:\"呼伦贝尔市\",text:\"根河市\",value:\"150785\"}],150800:[{city:\"巴彦淖尔市\",text:\"市辖区\",value:\"150801\"},{city:\"巴彦淖尔市\",text:\"临河区\",value:\"150802\"},{city:\"巴彦淖尔市\",text:\"五原县\",value:\"150821\"},{city:\"巴彦淖尔市\",text:\"磴口县\",value:\"150822\"},{city:\"巴彦淖尔市\",text:\"乌拉特前旗\",value:\"150823\"},{city:\"巴彦淖尔市\",text:\"乌拉特中旗\",value:\"150824\"},{city:\"巴彦淖尔市\",text:\"乌拉特后旗\",value:\"150825\"},{city:\"巴彦淖尔市\",text:\"杭锦后旗\",value:\"150826\"}],150900:[{city:\"乌兰察布市\",text:\"市辖区\",value:\"150901\"},{city:\"乌兰察布市\",text:\"集宁区\",value:\"150902\"},{city:\"乌兰察布市\",text:\"卓资县\",value:\"150921\"},{city:\"乌兰察布市\",text:\"化德县\",value:\"150922\"},{city:\"乌兰察布市\",text:\"商都县\",value:\"150923\"},{city:\"乌兰察布市\",text:\"兴和县\",value:\"150924\"},{city:\"乌兰察布市\",text:\"凉城县\",value:\"150925\"},{city:\"乌兰察布市\",text:\"察哈尔右翼前旗\",value:\"150926\"},{city:\"乌兰察布市\",text:\"察哈尔右翼中旗\",value:\"150927\"},{city:\"乌兰察布市\",text:\"察哈尔右翼后旗\",value:\"150928\"},{city:\"乌兰察布市\",text:\"四子王旗\",value:\"150929\"},{city:\"乌兰察布市\",text:\"丰镇市\",value:\"150981\"}],152200:[{city:\"兴安盟\",text:\"乌兰浩特市\",value:\"152201\"},{city:\"兴安盟\",text:\"阿尔山市\",value:\"152202\"},{city:\"兴安盟\",text:\"科尔沁右翼前旗\",value:\"152221\"},{city:\"兴安盟\",text:\"科尔沁右翼中旗\",value:\"152222\"},{city:\"兴安盟\",text:\"扎赉特旗\",value:\"152223\"},{city:\"兴安盟\",text:\"突泉县\",value:\"152224\"}],152500:[{city:\"锡林郭勒盟\",text:\"二连浩特市\",value:\"152501\"},{city:\"锡林郭勒盟\",text:\"锡林浩特市\",value:\"152502\"},{city:\"锡林郭勒盟\",text:\"阿巴嘎旗\",value:\"152522\"},{city:\"锡林郭勒盟\",text:\"苏尼特左旗\",value:\"152523\"},{city:\"锡林郭勒盟\",text:\"苏尼特右旗\",value:\"152524\"},{city:\"锡林郭勒盟\",text:\"东乌珠穆沁旗\",value:\"152525\"},{city:\"锡林郭勒盟\",text:\"西乌珠穆沁旗\",value:\"152526\"},{city:\"锡林郭勒盟\",text:\"太仆寺旗\",value:\"152527\"},{city:\"锡林郭勒盟\",text:\"镶黄旗\",value:\"152528\"},{city:\"锡林郭勒盟\",text:\"正镶白旗\",value:\"152529\"},{city:\"锡林郭勒盟\",text:\"正蓝旗\",value:\"152530\"},{city:\"锡林郭勒盟\",text:\"多伦县\",value:\"152531\"}],152900:[{city:\"阿拉善盟\",text:\"阿拉善左旗\",value:\"152921\"},{city:\"阿拉善盟\",text:\"阿拉善右旗\",value:\"152922\"},{city:\"阿拉善盟\",text:\"额济纳旗\",value:\"152923\"}],210100:[{city:\"沈阳市\",text:\"市辖区\",value:\"210101\"},{city:\"沈阳市\",text:\"和平区\",value:\"210102\"},{city:\"沈阳市\",text:\"沈河区\",value:\"210103\"},{city:\"沈阳市\",text:\"大东区\",value:\"210104\"},{city:\"沈阳市\",text:\"皇姑区\",value:\"210105\"},{city:\"沈阳市\",text:\"铁西区\",value:\"210106\"},{city:\"沈阳市\",text:\"苏家屯区\",value:\"210111\"},{city:\"沈阳市\",text:\"浑南区\",value:\"210112\"},{city:\"沈阳市\",text:\"沈北新区\",value:\"210113\"},{city:\"沈阳市\",text:\"于洪区\",value:\"210114\"},{city:\"沈阳市\",text:\"辽中区\",value:\"210115\"},{city:\"沈阳市\",text:\"康平县\",value:\"210123\"},{city:\"沈阳市\",text:\"法库县\",value:\"210124\"},{city:\"沈阳市\",text:\"新民市\",value:\"210181\"}],210200:[{city:\"大连市\",text:\"市辖区\",value:\"210201\"},{city:\"大连市\",text:\"中山区\",value:\"210202\"},{city:\"大连市\",text:\"西岗区\",value:\"210203\"},{city:\"大连市\",text:\"沙河口区\",value:\"210204\"},{city:\"大连市\",text:\"甘井子区\",value:\"210211\"},{city:\"大连市\",text:\"旅顺口区\",value:\"210212\"},{city:\"大连市\",text:\"金州区\",value:\"210213\"},{city:\"大连市\",text:\"普兰店区\",value:\"210214\"},{city:\"大连市\",text:\"长海县\",value:\"210224\"},{city:\"大连市\",text:\"瓦房店市\",value:\"210281\"},{city:\"大连市\",text:\"庄河市\",value:\"210283\"}],210300:[{city:\"鞍山市\",text:\"市辖区\",value:\"210301\"},{city:\"鞍山市\",text:\"铁东区\",value:\"210302\"},{city:\"鞍山市\",text:\"铁西区\",value:\"210303\"},{city:\"鞍山市\",text:\"立山区\",value:\"210304\"},{city:\"鞍山市\",text:\"千山区\",value:\"210311\"},{city:\"鞍山市\",text:\"台安县\",value:\"210321\"},{city:\"鞍山市\",text:\"岫岩满族自治县\",value:\"210323\"},{city:\"鞍山市\",text:\"海城市\",value:\"210381\"}],210400:[{city:\"抚顺市\",text:\"市辖区\",value:\"210401\"},{city:\"抚顺市\",text:\"新抚区\",value:\"210402\"},{city:\"抚顺市\",text:\"东洲区\",value:\"210403\"},{city:\"抚顺市\",text:\"望花区\",value:\"210404\"},{city:\"抚顺市\",text:\"顺城区\",value:\"210411\"},{city:\"抚顺市\",text:\"抚顺县\",value:\"210421\"},{city:\"抚顺市\",text:\"新宾满族自治县\",value:\"210422\"},{city:\"抚顺市\",text:\"清原满族自治县\",value:\"210423\"}],210500:[{city:\"本溪市\",text:\"市辖区\",value:\"210501\"},{city:\"本溪市\",text:\"平山区\",value:\"210502\"},{city:\"本溪市\",text:\"溪湖区\",value:\"210503\"},{city:\"本溪市\",text:\"明山区\",value:\"210504\"},{city:\"本溪市\",text:\"南芬区\",value:\"210505\"},{city:\"本溪市\",text:\"本溪满族自治县\",value:\"210521\"},{city:\"本溪市\",text:\"桓仁满族自治县\",value:\"210522\"}],210600:[{city:\"丹东市\",text:\"市辖区\",value:\"210601\"},{city:\"丹东市\",text:\"元宝区\",value:\"210602\"},{city:\"丹东市\",text:\"振兴区\",value:\"210603\"},{city:\"丹东市\",text:\"振安区\",value:\"210604\"},{city:\"丹东市\",text:\"宽甸满族自治县\",value:\"210624\"},{city:\"丹东市\",text:\"东港市\",value:\"210681\"},{city:\"丹东市\",text:\"凤城市\",value:\"210682\"}],210700:[{city:\"锦州市\",text:\"市辖区\",value:\"210701\"},{city:\"锦州市\",text:\"古塔区\",value:\"210702\"},{city:\"锦州市\",text:\"凌河区\",value:\"210703\"},{city:\"锦州市\",text:\"太和区\",value:\"210711\"},{city:\"锦州市\",text:\"黑山县\",value:\"210726\"},{city:\"锦州市\",text:\"义县\",value:\"210727\"},{city:\"锦州市\",text:\"凌海市\",value:\"210781\"},{city:\"锦州市\",text:\"北镇市\",value:\"210782\"}],210800:[{city:\"营口市\",text:\"市辖区\",value:\"210801\"},{city:\"营口市\",text:\"站前区\",value:\"210802\"},{city:\"营口市\",text:\"西市区\",value:\"210803\"},{city:\"营口市\",text:\"鲅鱼圈区\",value:\"210804\"},{city:\"营口市\",text:\"老边区\",value:\"210811\"},{city:\"营口市\",text:\"盖州市\",value:\"210881\"},{city:\"营口市\",text:\"大石桥市\",value:\"210882\"}],210900:[{city:\"阜新市\",text:\"市辖区\",value:\"210901\"},{city:\"阜新市\",text:\"海州区\",value:\"210902\"},{city:\"阜新市\",text:\"新邱区\",value:\"210903\"},{city:\"阜新市\",text:\"太平区\",value:\"210904\"},{city:\"阜新市\",text:\"清河门区\",value:\"210905\"},{city:\"阜新市\",text:\"细河区\",value:\"210911\"},{city:\"阜新市\",text:\"阜新蒙古族自治县\",value:\"210921\"},{city:\"阜新市\",text:\"彰武县\",value:\"210922\"}],211000:[{city:\"辽阳市\",text:\"市辖区\",value:\"211001\"},{city:\"辽阳市\",text:\"白塔区\",value:\"211002\"},{city:\"辽阳市\",text:\"文圣区\",value:\"211003\"},{city:\"辽阳市\",text:\"宏伟区\",value:\"211004\"},{city:\"辽阳市\",text:\"弓长岭区\",value:\"211005\"},{city:\"辽阳市\",text:\"太子河区\",value:\"211011\"},{city:\"辽阳市\",text:\"辽阳县\",value:\"211021\"},{city:\"辽阳市\",text:\"灯塔市\",value:\"211081\"}],211100:[{city:\"盘锦市\",text:\"市辖区\",value:\"211101\"},{city:\"盘锦市\",text:\"双台子区\",value:\"211102\"},{city:\"盘锦市\",text:\"兴隆台区\",value:\"211103\"},{city:\"盘锦市\",text:\"大洼区\",value:\"211104\"},{city:\"盘锦市\",text:\"盘山县\",value:\"211122\"}],211200:[{city:\"铁岭市\",text:\"市辖区\",value:\"211201\"},{city:\"铁岭市\",text:\"银州区\",value:\"211202\"},{city:\"铁岭市\",text:\"清河区\",value:\"211204\"},{city:\"铁岭市\",text:\"铁岭县\",value:\"211221\"},{city:\"铁岭市\",text:\"西丰县\",value:\"211223\"},{city:\"铁岭市\",text:\"昌图县\",value:\"211224\"},{city:\"铁岭市\",text:\"调兵山市\",value:\"211281\"},{city:\"铁岭市\",text:\"开原市\",value:\"211282\"}],211300:[{city:\"朝阳市\",text:\"市辖区\",value:\"211301\"},{city:\"朝阳市\",text:\"双塔区\",value:\"211302\"},{city:\"朝阳市\",text:\"龙城区\",value:\"211303\"},{city:\"朝阳市\",text:\"朝阳县\",value:\"211321\"},{city:\"朝阳市\",text:\"建平县\",value:\"211322\"},{city:\"朝阳市\",text:\"喀喇沁左翼蒙古族自治县\",value:\"211324\"},{city:\"朝阳市\",text:\"北票市\",value:\"211381\"},{city:\"朝阳市\",text:\"凌源市\",value:\"211382\"}],211400:[{city:\"葫芦岛市\",text:\"市辖区\",value:\"211401\"},{city:\"葫芦岛市\",text:\"连山区\",value:\"211402\"},{city:\"葫芦岛市\",text:\"龙港区\",value:\"211403\"},{city:\"葫芦岛市\",text:\"南票区\",value:\"211404\"},{city:\"葫芦岛市\",text:\"绥中县\",value:\"211421\"},{city:\"葫芦岛市\",text:\"建昌县\",value:\"211422\"},{city:\"葫芦岛市\",text:\"兴城市\",value:\"211481\"}],220100:[{city:\"长春市\",text:\"市辖区\",value:\"220101\"},{city:\"长春市\",text:\"南关区\",value:\"220102\"},{city:\"长春市\",text:\"宽城区\",value:\"220103\"},{city:\"长春市\",text:\"朝阳区\",value:\"220104\"},{city:\"长春市\",text:\"二道区\",value:\"220105\"},{city:\"长春市\",text:\"绿园区\",value:\"220106\"},{city:\"长春市\",text:\"双阳区\",value:\"220112\"},{city:\"长春市\",text:\"九台区\",value:\"220113\"},{city:\"长春市\",text:\"农安县\",value:\"220122\"},{city:\"长春市\",text:\"榆树市\",value:\"220182\"},{city:\"长春市\",text:\"德惠市\",value:\"220183\"}],220200:[{city:\"吉林市\",text:\"市辖区\",value:\"220201\"},{city:\"吉林市\",text:\"昌邑区\",value:\"220202\"},{city:\"吉林市\",text:\"龙潭区\",value:\"220203\"},{city:\"吉林市\",text:\"船营区\",value:\"220204\"},{city:\"吉林市\",text:\"丰满区\",value:\"220211\"},{city:\"吉林市\",text:\"永吉县\",value:\"220221\"},{city:\"吉林市\",text:\"蛟河市\",value:\"220281\"},{city:\"吉林市\",text:\"桦甸市\",value:\"220282\"},{city:\"吉林市\",text:\"舒兰市\",value:\"220283\"},{city:\"吉林市\",text:\"磐石市\",value:\"220284\"}],220300:[{city:\"四平市\",text:\"市辖区\",value:\"220301\"},{city:\"四平市\",text:\"铁西区\",value:\"220302\"},{city:\"四平市\",text:\"铁东区\",value:\"220303\"},{city:\"四平市\",text:\"梨树县\",value:\"220322\"},{city:\"四平市\",text:\"伊通满族自治县\",value:\"220323\"},{city:\"四平市\",text:\"公主岭市\",value:\"220381\"},{city:\"四平市\",text:\"双辽市\",value:\"220382\"}],220400:[{city:\"辽源市\",text:\"市辖区\",value:\"220401\"},{city:\"辽源市\",text:\"龙山区\",value:\"220402\"},{city:\"辽源市\",text:\"西安区\",value:\"220403\"},{city:\"辽源市\",text:\"东丰县\",value:\"220421\"},{city:\"辽源市\",text:\"东辽县\",value:\"220422\"}],220500:[{city:\"通化市\",text:\"市辖区\",value:\"220501\"},{city:\"通化市\",text:\"东昌区\",value:\"220502\"},{city:\"通化市\",text:\"二道江区\",value:\"220503\"},{city:\"通化市\",text:\"通化县\",value:\"220521\"},{city:\"通化市\",text:\"辉南县\",value:\"220523\"},{city:\"通化市\",text:\"柳河县\",value:\"220524\"},{city:\"通化市\",text:\"梅河口市\",value:\"220581\"},{city:\"通化市\",text:\"集安市\",value:\"220582\"}],220600:[{city:\"白山市\",text:\"市辖区\",value:\"220601\"},{city:\"白山市\",text:\"浑江区\",value:\"220602\"},{city:\"白山市\",text:\"江源区\",value:\"220605\"},{city:\"白山市\",text:\"抚松县\",value:\"220621\"},{city:\"白山市\",text:\"靖宇县\",value:\"220622\"},{city:\"白山市\",text:\"长白朝鲜族自治县\",value:\"220623\"},{city:\"白山市\",text:\"临江市\",value:\"220681\"}],220700:[{city:\"松原市\",text:\"市辖区\",value:\"220701\"},{city:\"松原市\",text:\"宁江区\",value:\"220702\"},{city:\"松原市\",text:\"前郭尔罗斯蒙古族自治县\",value:\"220721\"},{city:\"松原市\",text:\"长岭县\",value:\"220722\"},{city:\"松原市\",text:\"乾安县\",value:\"220723\"},{city:\"松原市\",text:\"扶余市\",value:\"220781\"}],220800:[{city:\"白城市\",text:\"市辖区\",value:\"220801\"},{city:\"白城市\",text:\"洮北区\",value:\"220802\"},{city:\"白城市\",text:\"镇赉县\",value:\"220821\"},{city:\"白城市\",text:\"通榆县\",value:\"220822\"},{city:\"白城市\",text:\"洮南市\",value:\"220881\"},{city:\"白城市\",text:\"大安市\",value:\"220882\"}],222400:[{city:\"延边朝鲜族自治州\",text:\"延吉市\",value:\"222401\"},{city:\"延边朝鲜族自治州\",text:\"图们市\",value:\"222402\"},{city:\"延边朝鲜族自治州\",text:\"敦化市\",value:\"222403\"},{city:\"延边朝鲜族自治州\",text:\"珲春市\",value:\"222404\"},{city:\"延边朝鲜族自治州\",text:\"龙井市\",value:\"222405\"},{city:\"延边朝鲜族自治州\",text:\"和龙市\",value:\"222406\"},{city:\"延边朝鲜族自治州\",text:\"汪清县\",value:\"222424\"},{city:\"延边朝鲜族自治州\",text:\"安图县\",value:\"222426\"}],230100:[{city:\"哈尔滨市\",text:\"市辖区\",value:\"230101\"},{city:\"哈尔滨市\",text:\"道里区\",value:\"230102\"},{city:\"哈尔滨市\",text:\"南岗区\",value:\"230103\"},{city:\"哈尔滨市\",text:\"道外区\",value:\"230104\"},{city:\"哈尔滨市\",text:\"平房区\",value:\"230108\"},{city:\"哈尔滨市\",text:\"松北区\",value:\"230109\"},{city:\"哈尔滨市\",text:\"香坊区\",value:\"230110\"},{city:\"哈尔滨市\",text:\"呼兰区\",value:\"230111\"},{city:\"哈尔滨市\",text:\"阿城区\",value:\"230112\"},{city:\"哈尔滨市\",text:\"双城区\",value:\"230113\"},{city:\"哈尔滨市\",text:\"依兰县\",value:\"230123\"},{city:\"哈尔滨市\",text:\"方正县\",value:\"230124\"},{city:\"哈尔滨市\",text:\"宾县\",value:\"230125\"},{city:\"哈尔滨市\",text:\"巴彦县\",value:\"230126\"},{city:\"哈尔滨市\",text:\"木兰县\",value:\"230127\"},{city:\"哈尔滨市\",text:\"通河县\",value:\"230128\"},{city:\"哈尔滨市\",text:\"延寿县\",value:\"230129\"},{city:\"哈尔滨市\",text:\"尚志市\",value:\"230183\"},{city:\"哈尔滨市\",text:\"五常市\",value:\"230184\"}],230200:[{city:\"齐齐哈尔市\",text:\"市辖区\",value:\"230201\"},{city:\"齐齐哈尔市\",text:\"龙沙区\",value:\"230202\"},{city:\"齐齐哈尔市\",text:\"建华区\",value:\"230203\"},{city:\"齐齐哈尔市\",text:\"铁锋区\",value:\"230204\"},{city:\"齐齐哈尔市\",text:\"昂昂溪区\",value:\"230205\"},{city:\"齐齐哈尔市\",text:\"富拉尔基区\",value:\"230206\"},{city:\"齐齐哈尔市\",text:\"碾子山区\",value:\"230207\"},{city:\"齐齐哈尔市\",text:\"梅里斯达斡尔族区\",value:\"230208\"},{city:\"齐齐哈尔市\",text:\"龙江县\",value:\"230221\"},{city:\"齐齐哈尔市\",text:\"依安县\",value:\"230223\"},{city:\"齐齐哈尔市\",text:\"泰来县\",value:\"230224\"},{city:\"齐齐哈尔市\",text:\"甘南县\",value:\"230225\"},{city:\"齐齐哈尔市\",text:\"富裕县\",value:\"230227\"},{city:\"齐齐哈尔市\",text:\"克山县\",value:\"230229\"},{city:\"齐齐哈尔市\",text:\"克东县\",value:\"230230\"},{city:\"齐齐哈尔市\",text:\"拜泉县\",value:\"230231\"},{city:\"齐齐哈尔市\",text:\"讷河市\",value:\"230281\"}],230300:[{city:\"鸡西市\",text:\"市辖区\",value:\"230301\"},{city:\"鸡西市\",text:\"鸡冠区\",value:\"230302\"},{city:\"鸡西市\",text:\"恒山区\",value:\"230303\"},{city:\"鸡西市\",text:\"滴道区\",value:\"230304\"},{city:\"鸡西市\",text:\"梨树区\",value:\"230305\"},{city:\"鸡西市\",text:\"城子河区\",value:\"230306\"},{city:\"鸡西市\",text:\"麻山区\",value:\"230307\"},{city:\"鸡西市\",text:\"鸡东县\",value:\"230321\"},{city:\"鸡西市\",text:\"虎林市\",value:\"230381\"},{city:\"鸡西市\",text:\"密山市\",value:\"230382\"}],230400:[{city:\"鹤岗市\",text:\"市辖区\",value:\"230401\"},{city:\"鹤岗市\",text:\"向阳区\",value:\"230402\"},{city:\"鹤岗市\",text:\"工农区\",value:\"230403\"},{city:\"鹤岗市\",text:\"南山区\",value:\"230404\"},{city:\"鹤岗市\",text:\"兴安区\",value:\"230405\"},{city:\"鹤岗市\",text:\"东山区\",value:\"230406\"},{city:\"鹤岗市\",text:\"兴山区\",value:\"230407\"},{city:\"鹤岗市\",text:\"萝北县\",value:\"230421\"},{city:\"鹤岗市\",text:\"绥滨县\",value:\"230422\"}],230500:[{city:\"双鸭山市\",text:\"市辖区\",value:\"230501\"},{city:\"双鸭山市\",text:\"尖山区\",value:\"230502\"},{city:\"双鸭山市\",text:\"岭东区\",value:\"230503\"},{city:\"双鸭山市\",text:\"四方台区\",value:\"230505\"},{city:\"双鸭山市\",text:\"宝山区\",value:\"230506\"},{city:\"双鸭山市\",text:\"集贤县\",value:\"230521\"},{city:\"双鸭山市\",text:\"友谊县\",value:\"230522\"},{city:\"双鸭山市\",text:\"宝清县\",value:\"230523\"},{city:\"双鸭山市\",text:\"饶河县\",value:\"230524\"}],230600:[{city:\"大庆市\",text:\"市辖区\",value:\"230601\"},{city:\"大庆市\",text:\"萨尔图区\",value:\"230602\"},{city:\"大庆市\",text:\"龙凤区\",value:\"230603\"},{city:\"大庆市\",text:\"让胡路区\",value:\"230604\"},{city:\"大庆市\",text:\"红岗区\",value:\"230605\"},{city:\"大庆市\",text:\"大同区\",value:\"230606\"},{city:\"大庆市\",text:\"肇州县\",value:\"230621\"},{city:\"大庆市\",text:\"肇源县\",value:\"230622\"},{city:\"大庆市\",text:\"林甸县\",value:\"230623\"},{city:\"大庆市\",text:\"杜尔伯特蒙古族自治县\",value:\"230624\"}],230700:[{city:\"伊春市\",text:\"市辖区\",value:\"230701\"},{city:\"伊春市\",text:\"伊春区\",value:\"230702\"},{city:\"伊春市\",text:\"南岔区\",value:\"230703\"},{city:\"伊春市\",text:\"友好区\",value:\"230704\"},{city:\"伊春市\",text:\"西林区\",value:\"230705\"},{city:\"伊春市\",text:\"翠峦区\",value:\"230706\"},{city:\"伊春市\",text:\"新青区\",value:\"230707\"},{city:\"伊春市\",text:\"美溪区\",value:\"230708\"},{city:\"伊春市\",text:\"金山屯区\",value:\"230709\"},{city:\"伊春市\",text:\"五营区\",value:\"230710\"},{city:\"伊春市\",text:\"乌马河区\",value:\"230711\"},{city:\"伊春市\",text:\"汤旺河区\",value:\"230712\"},{city:\"伊春市\",text:\"带岭区\",value:\"230713\"},{city:\"伊春市\",text:\"乌伊岭区\",value:\"230714\"},{city:\"伊春市\",text:\"红星区\",value:\"230715\"},{city:\"伊春市\",text:\"上甘岭区\",value:\"230716\"},{city:\"伊春市\",text:\"嘉荫县\",value:\"230722\"},{city:\"伊春市\",text:\"铁力市\",value:\"230781\"}],230800:[{city:\"佳木斯市\",text:\"市辖区\",value:\"230801\"},{city:\"佳木斯市\",text:\"向阳区\",value:\"230803\"},{city:\"佳木斯市\",text:\"前进区\",value:\"230804\"},{city:\"佳木斯市\",text:\"东风区\",value:\"230805\"},{city:\"佳木斯市\",text:\"郊区\",value:\"230811\"},{city:\"佳木斯市\",text:\"桦南县\",value:\"230822\"},{city:\"佳木斯市\",text:\"桦川县\",value:\"230826\"},{city:\"佳木斯市\",text:\"汤原县\",value:\"230828\"},{city:\"佳木斯市\",text:\"同江市\",value:\"230881\"},{city:\"佳木斯市\",text:\"富锦市\",value:\"230882\"},{city:\"佳木斯市\",text:\"抚远市\",value:\"230883\"}],230900:[{city:\"七台河市\",text:\"市辖区\",value:\"230901\"},{city:\"七台河市\",text:\"新兴区\",value:\"230902\"},{city:\"七台河市\",text:\"桃山区\",value:\"230903\"},{city:\"七台河市\",text:\"茄子河区\",value:\"230904\"},{city:\"七台河市\",text:\"勃利县\",value:\"230921\"}],231000:[{city:\"牡丹江市\",text:\"市辖区\",value:\"231001\"},{city:\"牡丹江市\",text:\"东安区\",value:\"231002\"},{city:\"牡丹江市\",text:\"阳明区\",value:\"231003\"},{city:\"牡丹江市\",text:\"爱民区\",value:\"231004\"},{city:\"牡丹江市\",text:\"西安区\",value:\"231005\"},{city:\"牡丹江市\",text:\"林口县\",value:\"231025\"},{city:\"牡丹江市\",text:\"绥芬河市\",value:\"231081\"},{city:\"牡丹江市\",text:\"海林市\",value:\"231083\"},{city:\"牡丹江市\",text:\"宁安市\",value:\"231084\"},{city:\"牡丹江市\",text:\"穆棱市\",value:\"231085\"},{city:\"牡丹江市\",text:\"东宁市\",value:\"231086\"}],231100:[{city:\"黑河市\",text:\"市辖区\",value:\"231101\"},{city:\"黑河市\",text:\"爱辉区\",value:\"231102\"},{city:\"黑河市\",text:\"嫩江县\",value:\"231121\"},{city:\"黑河市\",text:\"逊克县\",value:\"231123\"},{city:\"黑河市\",text:\"孙吴县\",value:\"231124\"},{city:\"黑河市\",text:\"北安市\",value:\"231181\"},{city:\"黑河市\",text:\"五大连池市\",value:\"231182\"}],231200:[{city:\"绥化市\",text:\"市辖区\",value:\"231201\"},{city:\"绥化市\",text:\"北林区\",value:\"231202\"},{city:\"绥化市\",text:\"望奎县\",value:\"231221\"},{city:\"绥化市\",text:\"兰西县\",value:\"231222\"},{city:\"绥化市\",text:\"青冈县\",value:\"231223\"},{city:\"绥化市\",text:\"庆安县\",value:\"231224\"},{city:\"绥化市\",text:\"明水县\",value:\"231225\"},{city:\"绥化市\",text:\"绥棱县\",value:\"231226\"},{city:\"绥化市\",text:\"安达市\",value:\"231281\"},{city:\"绥化市\",text:\"肇东市\",value:\"231282\"},{city:\"绥化市\",text:\"海伦市\",value:\"231283\"}],232700:[{city:\"大兴安岭地区\",text:\"呼玛县\",value:\"232721\"},{city:\"大兴安岭地区\",text:\"塔河县\",value:\"232722\"},{city:\"大兴安岭地区\",text:\"漠河县\",value:\"232723\"}],310100:[{city:\"市辖区\",text:\"黄浦区\",value:\"310101\"},{city:\"市辖区\",text:\"徐汇区\",value:\"310104\"},{city:\"市辖区\",text:\"长宁区\",value:\"310105\"},{city:\"市辖区\",text:\"静安区\",value:\"310106\"},{city:\"市辖区\",text:\"普陀区\",value:\"310107\"},{city:\"市辖区\",text:\"虹口区\",value:\"310109\"},{city:\"市辖区\",text:\"杨浦区\",value:\"310110\"},{city:\"市辖区\",text:\"闵行区\",value:\"310112\"},{city:\"市辖区\",text:\"宝山区\",value:\"310113\"},{city:\"市辖区\",text:\"嘉定区\",value:\"310114\"},{city:\"市辖区\",text:\"浦东新区\",value:\"310115\"},{city:\"市辖区\",text:\"金山区\",value:\"310116\"},{city:\"市辖区\",text:\"松江区\",value:\"310117\"},{city:\"市辖区\",text:\"青浦区\",value:\"310118\"},{city:\"市辖区\",text:\"奉贤区\",value:\"310120\"},{city:\"市辖区\",text:\"崇明区\",value:\"310151\"}],320100:[{city:\"南京市\",text:\"市辖区\",value:\"320101\"},{city:\"南京市\",text:\"玄武区\",value:\"320102\"},{city:\"南京市\",text:\"秦淮区\",value:\"320104\"},{city:\"南京市\",text:\"建邺区\",value:\"320105\"},{city:\"南京市\",text:\"鼓楼区\",value:\"320106\"},{city:\"南京市\",text:\"浦口区\",value:\"320111\"},{city:\"南京市\",text:\"栖霞区\",value:\"320113\"},{city:\"南京市\",text:\"雨花台区\",value:\"320114\"},{city:\"南京市\",text:\"江宁区\",value:\"320115\"},{city:\"南京市\",text:\"六合区\",value:\"320116\"},{city:\"南京市\",text:\"溧水区\",value:\"320117\"},{city:\"南京市\",text:\"高淳区\",value:\"320118\"}],320200:[{city:\"无锡市\",text:\"市辖区\",value:\"320201\"},{city:\"无锡市\",text:\"锡山区\",value:\"320205\"},{city:\"无锡市\",text:\"惠山区\",value:\"320206\"},{city:\"无锡市\",text:\"滨湖区\",value:\"320211\"},{city:\"无锡市\",text:\"梁溪区\",value:\"320213\"},{city:\"无锡市\",text:\"新吴区\",value:\"320214\"},{city:\"无锡市\",text:\"江阴市\",value:\"320281\"},{city:\"无锡市\",text:\"宜兴市\",value:\"320282\"}],320300:[{city:\"徐州市\",text:\"市辖区\",value:\"320301\"},{city:\"徐州市\",text:\"鼓楼区\",value:\"320302\"},{city:\"徐州市\",text:\"云龙区\",value:\"320303\"},{city:\"徐州市\",text:\"贾汪区\",value:\"320305\"},{city:\"徐州市\",text:\"泉山区\",value:\"320311\"},{city:\"徐州市\",text:\"铜山区\",value:\"320312\"},{city:\"徐州市\",text:\"丰县\",value:\"320321\"},{city:\"徐州市\",text:\"沛县\",value:\"320322\"},{city:\"徐州市\",text:\"睢宁县\",value:\"320324\"},{city:\"徐州市\",text:\"新沂市\",value:\"320381\"},{city:\"徐州市\",text:\"邳州市\",value:\"320382\"}],320400:[{city:\"常州市\",text:\"市辖区\",value:\"320401\"},{city:\"常州市\",text:\"天宁区\",value:\"320402\"},{city:\"常州市\",text:\"钟楼区\",value:\"320404\"},{city:\"常州市\",text:\"新北区\",value:\"320411\"},{city:\"常州市\",text:\"武进区\",value:\"320412\"},{city:\"常州市\",text:\"金坛区\",value:\"320413\"},{city:\"常州市\",text:\"溧阳市\",value:\"320481\"}],320500:[{city:\"苏州市\",text:\"市辖区\",value:\"320501\"},{city:\"苏州市\",text:\"虎丘区\",value:\"320505\"},{city:\"苏州市\",text:\"吴中区\",value:\"320506\"},{city:\"苏州市\",text:\"相城区\",value:\"320507\"},{city:\"苏州市\",text:\"姑苏区\",value:\"320508\"},{city:\"苏州市\",text:\"吴江区\",value:\"320509\"},{city:\"苏州市\",text:\"常熟市\",value:\"320581\"},{city:\"苏州市\",text:\"张家港市\",value:\"320582\"},{city:\"苏州市\",text:\"昆山市\",value:\"320583\"},{city:\"苏州市\",text:\"太仓市\",value:\"320585\"}],320600:[{city:\"南通市\",text:\"市辖区\",value:\"320601\"},{city:\"南通市\",text:\"崇川区\",value:\"320602\"},{city:\"南通市\",text:\"港闸区\",value:\"320611\"},{city:\"南通市\",text:\"通州区\",value:\"320612\"},{city:\"南通市\",text:\"海安县\",value:\"320621\"},{city:\"南通市\",text:\"如东县\",value:\"320623\"},{city:\"南通市\",text:\"启东市\",value:\"320681\"},{city:\"南通市\",text:\"如皋市\",value:\"320682\"},{city:\"南通市\",text:\"海门市\",value:\"320684\"}],320700:[{city:\"连云港市\",text:\"市辖区\",value:\"320701\"},{city:\"连云港市\",text:\"连云区\",value:\"320703\"},{city:\"连云港市\",text:\"海州区\",value:\"320706\"},{city:\"连云港市\",text:\"赣榆区\",value:\"320707\"},{city:\"连云港市\",text:\"东海县\",value:\"320722\"},{city:\"连云港市\",text:\"灌云县\",value:\"320723\"},{city:\"连云港市\",text:\"灌南县\",value:\"320724\"}],320800:[{city:\"淮安市\",text:\"市辖区\",value:\"320801\"},{city:\"淮安市\",text:\"淮安区\",value:\"320803\"},{city:\"淮安市\",text:\"淮阴区\",value:\"320804\"},{city:\"淮安市\",text:\"清江浦区\",value:\"320812\"},{city:\"淮安市\",text:\"洪泽区\",value:\"320813\"},{city:\"淮安市\",text:\"涟水县\",value:\"320826\"},{city:\"淮安市\",text:\"盱眙县\",value:\"320830\"},{city:\"淮安市\",text:\"金湖县\",value:\"320831\"}],320900:[{city:\"盐城市\",text:\"市辖区\",value:\"320901\"},{city:\"盐城市\",text:\"亭湖区\",value:\"320902\"},{city:\"盐城市\",text:\"盐都区\",value:\"320903\"},{city:\"盐城市\",text:\"大丰区\",value:\"320904\"},{city:\"盐城市\",text:\"响水县\",value:\"320921\"},{city:\"盐城市\",text:\"滨海县\",value:\"320922\"},{city:\"盐城市\",text:\"阜宁县\",value:\"320923\"},{city:\"盐城市\",text:\"射阳县\",value:\"320924\"},{city:\"盐城市\",text:\"建湖县\",value:\"320925\"},{city:\"盐城市\",text:\"东台市\",value:\"320981\"}],321000:[{city:\"扬州市\",text:\"市辖区\",value:\"321001\"},{city:\"扬州市\",text:\"广陵区\",value:\"321002\"},{city:\"扬州市\",text:\"邗江区\",value:\"321003\"},{city:\"扬州市\",text:\"江都区\",value:\"321012\"},{city:\"扬州市\",text:\"宝应县\",value:\"321023\"},{city:\"扬州市\",text:\"仪征市\",value:\"321081\"},{city:\"扬州市\",text:\"高邮市\",value:\"321084\"}],321100:[{city:\"镇江市\",text:\"市辖区\",value:\"321101\"},{city:\"镇江市\",text:\"京口区\",value:\"321102\"},{city:\"镇江市\",text:\"润州区\",value:\"321111\"},{city:\"镇江市\",text:\"丹徒区\",value:\"321112\"},{city:\"镇江市\",text:\"丹阳市\",value:\"321181\"},{city:\"镇江市\",text:\"扬中市\",value:\"321182\"},{city:\"镇江市\",text:\"句容市\",value:\"321183\"}],321200:[{city:\"泰州市\",text:\"市辖区\",value:\"321201\"},{city:\"泰州市\",text:\"海陵区\",value:\"321202\"},{city:\"泰州市\",text:\"高港区\",value:\"321203\"},{city:\"泰州市\",text:\"姜堰区\",value:\"321204\"},{city:\"泰州市\",text:\"兴化市\",value:\"321281\"},{city:\"泰州市\",text:\"靖江市\",value:\"321282\"},{city:\"泰州市\",text:\"泰兴市\",value:\"321283\"}],321300:[{city:\"宿迁市\",text:\"市辖区\",value:\"321301\"},{city:\"宿迁市\",text:\"宿城区\",value:\"321302\"},{city:\"宿迁市\",text:\"宿豫区\",value:\"321311\"},{city:\"宿迁市\",text:\"沭阳县\",value:\"321322\"},{city:\"宿迁市\",text:\"泗阳县\",value:\"321323\"},{city:\"宿迁市\",text:\"泗洪县\",value:\"321324\"}],330100:[{city:\"杭州市\",text:\"市辖区\",value:\"330101\"},{city:\"杭州市\",text:\"上城区\",value:\"330102\"},{city:\"杭州市\",text:\"下城区\",value:\"330103\"},{city:\"杭州市\",text:\"江干区\",value:\"330104\"},{city:\"杭州市\",text:\"拱墅区\",value:\"330105\"},{city:\"杭州市\",text:\"西湖区\",value:\"330106\"},{city:\"杭州市\",text:\"滨江区\",value:\"330108\"},{city:\"杭州市\",text:\"萧山区\",value:\"330109\"},{city:\"杭州市\",text:\"余杭区\",value:\"330110\"},{city:\"杭州市\",text:\"富阳区\",value:\"330111\"},{city:\"杭州市\",text:\"桐庐县\",value:\"330122\"},{city:\"杭州市\",text:\"淳安县\",value:\"330127\"},{city:\"杭州市\",text:\"建德市\",value:\"330182\"},{city:\"杭州市\",text:\"临安市\",value:\"330185\"}],330200:[{city:\"宁波市\",text:\"市辖区\",value:\"330201\"},{city:\"宁波市\",text:\"海曙区\",value:\"330203\"},{city:\"宁波市\",text:\"江东区\",value:\"330204\"},{city:\"宁波市\",text:\"江北区\",value:\"330205\"},{city:\"宁波市\",text:\"北仑区\",value:\"330206\"},{city:\"宁波市\",text:\"镇海区\",value:\"330211\"},{city:\"宁波市\",text:\"鄞州区\",value:\"330212\"},{city:\"宁波市\",text:\"象山县\",value:\"330225\"},{city:\"宁波市\",text:\"宁海县\",value:\"330226\"},{city:\"宁波市\",text:\"余姚市\",value:\"330281\"},{city:\"宁波市\",text:\"慈溪市\",value:\"330282\"},{city:\"宁波市\",text:\"奉化市\",value:\"330283\"}],330300:[{city:\"温州市\",text:\"市辖区\",value:\"330301\"},{city:\"温州市\",text:\"鹿城区\",value:\"330302\"},{city:\"温州市\",text:\"龙湾区\",value:\"330303\"},{city:\"温州市\",text:\"瓯海区\",value:\"330304\"},{city:\"温州市\",text:\"洞头区\",value:\"330305\"},{city:\"温州市\",text:\"永嘉县\",value:\"330324\"},{city:\"温州市\",text:\"平阳县\",value:\"330326\"},{city:\"温州市\",text:\"苍南县\",value:\"330327\"},{city:\"温州市\",text:\"文成县\",value:\"330328\"},{city:\"温州市\",text:\"泰顺县\",value:\"330329\"},{city:\"温州市\",text:\"瑞安市\",value:\"330381\"},{city:\"温州市\",text:\"乐清市\",value:\"330382\"}],330400:[{city:\"嘉兴市\",text:\"市辖区\",value:\"330401\"},{city:\"嘉兴市\",text:\"南湖区\",value:\"330402\"},{city:\"嘉兴市\",text:\"秀洲区\",value:\"330411\"},{city:\"嘉兴市\",text:\"嘉善县\",value:\"330421\"},{city:\"嘉兴市\",text:\"海盐县\",value:\"330424\"},{city:\"嘉兴市\",text:\"海宁市\",value:\"330481\"},{city:\"嘉兴市\",text:\"平湖市\",value:\"330482\"},{city:\"嘉兴市\",text:\"桐乡市\",value:\"330483\"}],330500:[{city:\"湖州市\",text:\"市辖区\",value:\"330501\"},{city:\"湖州市\",text:\"吴兴区\",value:\"330502\"},{city:\"湖州市\",text:\"南浔区\",value:\"330503\"},{city:\"湖州市\",text:\"德清县\",value:\"330521\"},{city:\"湖州市\",text:\"长兴县\",value:\"330522\"},{city:\"湖州市\",text:\"安吉县\",value:\"330523\"}],330600:[{city:\"绍兴市\",text:\"市辖区\",value:\"330601\"},{city:\"绍兴市\",text:\"越城区\",value:\"330602\"},{city:\"绍兴市\",text:\"柯桥区\",value:\"330603\"},{city:\"绍兴市\",text:\"上虞区\",value:\"330604\"},{city:\"绍兴市\",text:\"新昌县\",value:\"330624\"},{city:\"绍兴市\",text:\"诸暨市\",value:\"330681\"},{city:\"绍兴市\",text:\"嵊州市\",value:\"330683\"}],330700:[{city:\"金华市\",text:\"市辖区\",value:\"330701\"},{city:\"金华市\",text:\"婺城区\",value:\"330702\"},{city:\"金华市\",text:\"金东区\",value:\"330703\"},{city:\"金华市\",text:\"武义县\",value:\"330723\"},{city:\"金华市\",text:\"浦江县\",value:\"330726\"},{city:\"金华市\",text:\"磐安县\",value:\"330727\"},{city:\"金华市\",text:\"兰溪市\",value:\"330781\"},{city:\"金华市\",text:\"义乌市\",value:\"330782\"},{city:\"金华市\",text:\"东阳市\",value:\"330783\"},{city:\"金华市\",text:\"永康市\",value:\"330784\"}],330800:[{city:\"衢州市\",text:\"市辖区\",value:\"330801\"},{city:\"衢州市\",text:\"柯城区\",value:\"330802\"},{city:\"衢州市\",text:\"衢江区\",value:\"330803\"},{city:\"衢州市\",text:\"常山县\",value:\"330822\"},{city:\"衢州市\",text:\"开化县\",value:\"330824\"},{city:\"衢州市\",text:\"龙游县\",value:\"330825\"},{city:\"衢州市\",text:\"江山市\",value:\"330881\"}],330900:[{city:\"舟山市\",text:\"市辖区\",value:\"330901\"},{city:\"舟山市\",text:\"定海区\",value:\"330902\"},{city:\"舟山市\",text:\"普陀区\",value:\"330903\"},{city:\"舟山市\",text:\"岱山县\",value:\"330921\"},{city:\"舟山市\",text:\"嵊泗县\",value:\"330922\"}],331000:[{city:\"台州市\",text:\"市辖区\",value:\"331001\"},{city:\"台州市\",text:\"椒江区\",value:\"331002\"},{city:\"台州市\",text:\"黄岩区\",value:\"331003\"},{city:\"台州市\",text:\"路桥区\",value:\"331004\"},{city:\"台州市\",text:\"玉环县\",value:\"331021\"},{city:\"台州市\",text:\"三门县\",value:\"331022\"},{city:\"台州市\",text:\"天台县\",value:\"331023\"},{city:\"台州市\",text:\"仙居县\",value:\"331024\"},{city:\"台州市\",text:\"温岭市\",value:\"331081\"},{city:\"台州市\",text:\"临海市\",value:\"331082\"}],331100:[{city:\"丽水市\",text:\"市辖区\",value:\"331101\"},{city:\"丽水市\",text:\"莲都区\",value:\"331102\"},{city:\"丽水市\",text:\"青田县\",value:\"331121\"},{city:\"丽水市\",text:\"缙云县\",value:\"331122\"},{city:\"丽水市\",text:\"遂昌县\",value:\"331123\"},{city:\"丽水市\",text:\"松阳县\",value:\"331124\"},{city:\"丽水市\",text:\"云和县\",value:\"331125\"},{city:\"丽水市\",text:\"庆元县\",value:\"331126\"},{city:\"丽水市\",text:\"景宁畲族自治县\",value:\"331127\"},{city:\"丽水市\",text:\"龙泉市\",value:\"331181\"}],340100:[{city:\"合肥市\",text:\"市辖区\",value:\"340101\"},{city:\"合肥市\",text:\"瑶海区\",value:\"340102\"},{city:\"合肥市\",text:\"庐阳区\",value:\"340103\"},{city:\"合肥市\",text:\"蜀山区\",value:\"340104\"},{city:\"合肥市\",text:\"包河区\",value:\"340111\"},{city:\"合肥市\",text:\"长丰县\",value:\"340121\"},{city:\"合肥市\",text:\"肥东县\",value:\"340122\"},{city:\"合肥市\",text:\"肥西县\",value:\"340123\"},{city:\"合肥市\",text:\"庐江县\",value:\"340124\"},{city:\"合肥市\",text:\"巢湖市\",value:\"340181\"}],340200:[{city:\"芜湖市\",text:\"市辖区\",value:\"340201\"},{city:\"芜湖市\",text:\"镜湖区\",value:\"340202\"},{city:\"芜湖市\",text:\"弋江区\",value:\"340203\"},{city:\"芜湖市\",text:\"鸠江区\",value:\"340207\"},{city:\"芜湖市\",text:\"三山区\",value:\"340208\"},{city:\"芜湖市\",text:\"芜湖县\",value:\"340221\"},{city:\"芜湖市\",text:\"繁昌县\",value:\"340222\"},{city:\"芜湖市\",text:\"南陵县\",value:\"340223\"},{city:\"芜湖市\",text:\"无为县\",value:\"340225\"}],340300:[{city:\"蚌埠市\",text:\"市辖区\",value:\"340301\"},{city:\"蚌埠市\",text:\"龙子湖区\",value:\"340302\"},{city:\"蚌埠市\",text:\"蚌山区\",value:\"340303\"},{city:\"蚌埠市\",text:\"禹会区\",value:\"340304\"},{city:\"蚌埠市\",text:\"淮上区\",value:\"340311\"},{city:\"蚌埠市\",text:\"怀远县\",value:\"340321\"},{city:\"蚌埠市\",text:\"五河县\",value:\"340322\"},{city:\"蚌埠市\",text:\"固镇县\",value:\"340323\"}],340400:[{city:\"淮南市\",text:\"市辖区\",value:\"340401\"},{city:\"淮南市\",text:\"大通区\",value:\"340402\"},{city:\"淮南市\",text:\"田家庵区\",value:\"340403\"},{city:\"淮南市\",text:\"谢家集区\",value:\"340404\"},{city:\"淮南市\",text:\"八公山区\",value:\"340405\"},{city:\"淮南市\",text:\"潘集区\",value:\"340406\"},{city:\"淮南市\",text:\"凤台县\",value:\"340421\"},{city:\"淮南市\",text:\"寿县\",value:\"340422\"}],340500:[{city:\"马鞍山市\",text:\"市辖区\",value:\"340501\"},{city:\"马鞍山市\",text:\"花山区\",value:\"340503\"},{city:\"马鞍山市\",text:\"雨山区\",value:\"340504\"},{city:\"马鞍山市\",text:\"博望区\",value:\"340506\"},{city:\"马鞍山市\",text:\"当涂县\",value:\"340521\"},{city:\"马鞍山市\",text:\"含山县\",value:\"340522\"},{city:\"马鞍山市\",text:\"和县\",value:\"340523\"}],340600:[{city:\"淮北市\",text:\"市辖区\",value:\"340601\"},{city:\"淮北市\",text:\"杜集区\",value:\"340602\"},{city:\"淮北市\",text:\"相山区\",value:\"340603\"},{city:\"淮北市\",text:\"烈山区\",value:\"340604\"},{city:\"淮北市\",text:\"濉溪县\",value:\"340621\"}],340700:[{city:\"铜陵市\",text:\"市辖区\",value:\"340701\"},{city:\"铜陵市\",text:\"铜官区\",value:\"340705\"},{city:\"铜陵市\",text:\"义安区\",value:\"340706\"},{city:\"铜陵市\",text:\"郊区\",value:\"340711\"},{city:\"铜陵市\",text:\"枞阳县\",value:\"340722\"}],340800:[{city:\"安庆市\",text:\"市辖区\",value:\"340801\"},{city:\"安庆市\",text:\"迎江区\",value:\"340802\"},{city:\"安庆市\",text:\"大观区\",value:\"340803\"},{city:\"安庆市\",text:\"宜秀区\",value:\"340811\"},{city:\"安庆市\",text:\"怀宁县\",value:\"340822\"},{city:\"安庆市\",text:\"潜山县\",value:\"340824\"},{city:\"安庆市\",text:\"太湖县\",value:\"340825\"},{city:\"安庆市\",text:\"宿松县\",value:\"340826\"},{city:\"安庆市\",text:\"望江县\",value:\"340827\"},{city:\"安庆市\",text:\"岳西县\",value:\"340828\"},{city:\"安庆市\",text:\"桐城市\",value:\"340881\"}],341000:[{city:\"黄山市\",text:\"市辖区\",value:\"341001\"},{city:\"黄山市\",text:\"屯溪区\",value:\"341002\"},{city:\"黄山市\",text:\"黄山区\",value:\"341003\"},{city:\"黄山市\",text:\"徽州区\",value:\"341004\"},{city:\"黄山市\",text:\"歙县\",value:\"341021\"},{city:\"黄山市\",text:\"休宁县\",value:\"341022\"},{city:\"黄山市\",text:\"黟县\",value:\"341023\"},{city:\"黄山市\",text:\"祁门县\",value:\"341024\"}],341100:[{city:\"滁州市\",text:\"市辖区\",value:\"341101\"},{city:\"滁州市\",text:\"琅琊区\",value:\"341102\"},{city:\"滁州市\",text:\"南谯区\",value:\"341103\"},{city:\"滁州市\",text:\"来安县\",value:\"341122\"},{city:\"滁州市\",text:\"全椒县\",value:\"341124\"},{city:\"滁州市\",text:\"定远县\",value:\"341125\"},{city:\"滁州市\",text:\"凤阳县\",value:\"341126\"},{city:\"滁州市\",text:\"天长市\",value:\"341181\"},{city:\"滁州市\",text:\"明光市\",value:\"341182\"}],341200:[{city:\"阜阳市\",text:\"市辖区\",value:\"341201\"},{city:\"阜阳市\",text:\"颍州区\",value:\"341202\"},{city:\"阜阳市\",text:\"颍东区\",value:\"341203\"},{city:\"阜阳市\",text:\"颍泉区\",value:\"341204\"},{city:\"阜阳市\",text:\"临泉县\",value:\"341221\"},{city:\"阜阳市\",text:\"太和县\",value:\"341222\"},{city:\"阜阳市\",text:\"阜南县\",value:\"341225\"},{city:\"阜阳市\",text:\"颍上县\",value:\"341226\"},{city:\"阜阳市\",text:\"界首市\",value:\"341282\"}],341300:[{city:\"宿州市\",text:\"市辖区\",value:\"341301\"},{city:\"宿州市\",text:\"埇桥区\",value:\"341302\"},{city:\"宿州市\",text:\"砀山县\",value:\"341321\"},{city:\"宿州市\",text:\"萧县\",value:\"341322\"},{city:\"宿州市\",text:\"灵璧县\",value:\"341323\"},{city:\"宿州市\",text:\"泗县\",value:\"341324\"}],341500:[{city:\"六安市\",text:\"市辖区\",value:\"341501\"},{city:\"六安市\",text:\"金安区\",value:\"341502\"},{city:\"六安市\",text:\"裕安区\",value:\"341503\"},{city:\"六安市\",text:\"叶集区\",value:\"341504\"},{city:\"六安市\",text:\"霍邱县\",value:\"341522\"},{city:\"六安市\",text:\"舒城县\",value:\"341523\"},{city:\"六安市\",text:\"金寨县\",value:\"341524\"},{city:\"六安市\",text:\"霍山县\",value:\"341525\"}],341600:[{city:\"亳州市\",text:\"市辖区\",value:\"341601\"},{city:\"亳州市\",text:\"谯城区\",value:\"341602\"},{city:\"亳州市\",text:\"涡阳县\",value:\"341621\"},{city:\"亳州市\",text:\"蒙城县\",value:\"341622\"},{city:\"亳州市\",text:\"利辛县\",value:\"341623\"}],341700:[{city:\"池州市\",text:\"市辖区\",value:\"341701\"},{city:\"池州市\",text:\"贵池区\",value:\"341702\"},{city:\"池州市\",text:\"东至县\",value:\"341721\"},{city:\"池州市\",text:\"石台县\",value:\"341722\"},{city:\"池州市\",text:\"青阳县\",value:\"341723\"}],341800:[{city:\"宣城市\",text:\"市辖区\",value:\"341801\"},{city:\"宣城市\",text:\"宣州区\",value:\"341802\"},{city:\"宣城市\",text:\"郎溪县\",value:\"341821\"},{city:\"宣城市\",text:\"广德县\",value:\"341822\"},{city:\"宣城市\",text:\"泾县\",value:\"341823\"},{city:\"宣城市\",text:\"绩溪县\",value:\"341824\"},{city:\"宣城市\",text:\"旌德县\",value:\"341825\"},{city:\"宣城市\",text:\"宁国市\",value:\"341881\"}],350100:[{city:\"福州市\",text:\"市辖区\",value:\"350101\"},{city:\"福州市\",text:\"鼓楼区\",value:\"350102\"},{city:\"福州市\",text:\"台江区\",value:\"350103\"},{city:\"福州市\",text:\"仓山区\",value:\"350104\"},{city:\"福州市\",text:\"马尾区\",value:\"350105\"},{city:\"福州市\",text:\"晋安区\",value:\"350111\"},{city:\"福州市\",text:\"闽侯县\",value:\"350121\"},{city:\"福州市\",text:\"连江县\",value:\"350122\"},{city:\"福州市\",text:\"罗源县\",value:\"350123\"},{city:\"福州市\",text:\"闽清县\",value:\"350124\"},{city:\"福州市\",text:\"永泰县\",value:\"350125\"},{city:\"福州市\",text:\"平潭县\",value:\"350128\"},{city:\"福州市\",text:\"福清市\",value:\"350181\"},{city:\"福州市\",text:\"长乐市\",value:\"350182\"}],350200:[{city:\"厦门市\",text:\"市辖区\",value:\"350201\"},{city:\"厦门市\",text:\"思明区\",value:\"350203\"},{city:\"厦门市\",text:\"海沧区\",value:\"350205\"},{city:\"厦门市\",text:\"湖里区\",value:\"350206\"},{city:\"厦门市\",text:\"集美区\",value:\"350211\"},{city:\"厦门市\",text:\"同安区\",value:\"350212\"},{city:\"厦门市\",text:\"翔安区\",value:\"350213\"}],350300:[{city:\"莆田市\",text:\"市辖区\",value:\"350301\"},{city:\"莆田市\",text:\"城厢区\",value:\"350302\"},{city:\"莆田市\",text:\"涵江区\",value:\"350303\"},{city:\"莆田市\",text:\"荔城区\",value:\"350304\"},{city:\"莆田市\",text:\"秀屿区\",value:\"350305\"},{city:\"莆田市\",text:\"仙游县\",value:\"350322\"}],350400:[{city:\"三明市\",text:\"市辖区\",value:\"350401\"},{city:\"三明市\",text:\"梅列区\",value:\"350402\"},{city:\"三明市\",text:\"三元区\",value:\"350403\"},{city:\"三明市\",text:\"明溪县\",value:\"350421\"},{city:\"三明市\",text:\"清流县\",value:\"350423\"},{city:\"三明市\",text:\"宁化县\",value:\"350424\"},{city:\"三明市\",text:\"大田县\",value:\"350425\"},{city:\"三明市\",text:\"尤溪县\",value:\"350426\"},{city:\"三明市\",text:\"沙县\",value:\"350427\"},{city:\"三明市\",text:\"将乐县\",value:\"350428\"},{city:\"三明市\",text:\"泰宁县\",value:\"350429\"},{city:\"三明市\",text:\"建宁县\",value:\"350430\"},{city:\"三明市\",text:\"永安市\",value:\"350481\"}],350500:[{city:\"泉州市\",text:\"市辖区\",value:\"350501\"},{city:\"泉州市\",text:\"鲤城区\",value:\"350502\"},{city:\"泉州市\",text:\"丰泽区\",value:\"350503\"},{city:\"泉州市\",text:\"洛江区\",value:\"350504\"},{city:\"泉州市\",text:\"泉港区\",value:\"350505\"},{city:\"泉州市\",text:\"惠安县\",value:\"350521\"},{city:\"泉州市\",text:\"安溪县\",value:\"350524\"},{city:\"泉州市\",text:\"永春县\",value:\"350525\"},{city:\"泉州市\",text:\"德化县\",value:\"350526\"},{city:\"泉州市\",text:\"金门县\",value:\"350527\"},{city:\"泉州市\",text:\"石狮市\",value:\"350581\"},{city:\"泉州市\",text:\"晋江市\",value:\"350582\"},{city:\"泉州市\",text:\"南安市\",value:\"350583\"}],350600:[{city:\"漳州市\",text:\"市辖区\",value:\"350601\"},{city:\"漳州市\",text:\"芗城区\",value:\"350602\"},{city:\"漳州市\",text:\"龙文区\",value:\"350603\"},{city:\"漳州市\",text:\"云霄县\",value:\"350622\"},{city:\"漳州市\",text:\"漳浦县\",value:\"350623\"},{city:\"漳州市\",text:\"诏安县\",value:\"350624\"},{city:\"漳州市\",text:\"长泰县\",value:\"350625\"},{city:\"漳州市\",text:\"东山县\",value:\"350626\"},{city:\"漳州市\",text:\"南靖县\",value:\"350627\"},{city:\"漳州市\",text:\"平和县\",value:\"350628\"},{city:\"漳州市\",text:\"华安县\",value:\"350629\"},{city:\"漳州市\",text:\"龙海市\",value:\"350681\"}],350700:[{city:\"南平市\",text:\"市辖区\",value:\"350701\"},{city:\"南平市\",text:\"延平区\",value:\"350702\"},{city:\"南平市\",text:\"建阳区\",value:\"350703\"},{city:\"南平市\",text:\"顺昌县\",value:\"350721\"},{city:\"南平市\",text:\"浦城县\",value:\"350722\"},{city:\"南平市\",text:\"光泽县\",value:\"350723\"},{city:\"南平市\",text:\"松溪县\",value:\"350724\"},{city:\"南平市\",text:\"政和县\",value:\"350725\"},{city:\"南平市\",text:\"邵武市\",value:\"350781\"},{city:\"南平市\",text:\"武夷山市\",value:\"350782\"},{city:\"南平市\",text:\"建瓯市\",value:\"350783\"}],350800:[{city:\"龙岩市\",text:\"市辖区\",value:\"350801\"},{city:\"龙岩市\",text:\"新罗区\",value:\"350802\"},{city:\"龙岩市\",text:\"永定区\",value:\"350803\"},{city:\"龙岩市\",text:\"长汀县\",value:\"350821\"},{city:\"龙岩市\",text:\"上杭县\",value:\"350823\"},{city:\"龙岩市\",text:\"武平县\",value:\"350824\"},{city:\"龙岩市\",text:\"连城县\",value:\"350825\"},{city:\"龙岩市\",text:\"漳平市\",value:\"350881\"}],350900:[{city:\"宁德市\",text:\"市辖区\",value:\"350901\"},{city:\"宁德市\",text:\"蕉城区\",value:\"350902\"},{city:\"宁德市\",text:\"霞浦县\",value:\"350921\"},{city:\"宁德市\",text:\"古田县\",value:\"350922\"},{city:\"宁德市\",text:\"屏南县\",value:\"350923\"},{city:\"宁德市\",text:\"寿宁县\",value:\"350924\"},{city:\"宁德市\",text:\"周宁县\",value:\"350925\"},{city:\"宁德市\",text:\"柘荣县\",value:\"350926\"},{city:\"宁德市\",text:\"福安市\",value:\"350981\"},{city:\"宁德市\",text:\"福鼎市\",value:\"350982\"}],360100:[{city:\"南昌市\",text:\"市辖区\",value:\"360101\"},{city:\"南昌市\",text:\"东湖区\",value:\"360102\"},{city:\"南昌市\",text:\"西湖区\",value:\"360103\"},{city:\"南昌市\",text:\"青云谱区\",value:\"360104\"},{city:\"南昌市\",text:\"湾里区\",value:\"360105\"},{city:\"南昌市\",text:\"青山湖区\",value:\"360111\"},{city:\"南昌市\",text:\"新建区\",value:\"360112\"},{city:\"南昌市\",text:\"南昌县\",value:\"360121\"},{city:\"南昌市\",text:\"安义县\",value:\"360123\"},{city:\"南昌市\",text:\"进贤县\",value:\"360124\"}],360200:[{city:\"景德镇市\",text:\"市辖区\",value:\"360201\"},{city:\"景德镇市\",text:\"昌江区\",value:\"360202\"},{city:\"景德镇市\",text:\"珠山区\",value:\"360203\"},{city:\"景德镇市\",text:\"浮梁县\",value:\"360222\"},{city:\"景德镇市\",text:\"乐平市\",value:\"360281\"}],360300:[{city:\"萍乡市\",text:\"市辖区\",value:\"360301\"},{city:\"萍乡市\",text:\"安源区\",value:\"360302\"},{city:\"萍乡市\",text:\"湘东区\",value:\"360313\"},{city:\"萍乡市\",text:\"莲花县\",value:\"360321\"},{city:\"萍乡市\",text:\"上栗县\",value:\"360322\"},{city:\"萍乡市\",text:\"芦溪县\",value:\"360323\"}],360400:[{city:\"九江市\",text:\"市辖区\",value:\"360401\"},{city:\"九江市\",text:\"濂溪区\",value:\"360402\"},{city:\"九江市\",text:\"浔阳区\",value:\"360403\"},{city:\"九江市\",text:\"九江县\",value:\"360421\"},{city:\"九江市\",text:\"武宁县\",value:\"360423\"},{city:\"九江市\",text:\"修水县\",value:\"360424\"},{city:\"九江市\",text:\"永修县\",value:\"360425\"},{city:\"九江市\",text:\"德安县\",value:\"360426\"},{city:\"九江市\",text:\"都昌县\",value:\"360428\"},{city:\"九江市\",text:\"湖口县\",value:\"360429\"},{city:\"九江市\",text:\"彭泽县\",value:\"360430\"},{city:\"九江市\",text:\"瑞昌市\",value:\"360481\"},{city:\"九江市\",text:\"共青城市\",value:\"360482\"},{city:\"九江市\",text:\"庐山市\",value:\"360483\"}],360500:[{city:\"新余市\",text:\"市辖区\",value:\"360501\"},{city:\"新余市\",text:\"渝水区\",value:\"360502\"},{city:\"新余市\",text:\"分宜县\",value:\"360521\"}],360600:[{city:\"鹰潭市\",text:\"市辖区\",value:\"360601\"},{city:\"鹰潭市\",text:\"月湖区\",value:\"360602\"},{city:\"鹰潭市\",text:\"余江县\",value:\"360622\"},{city:\"鹰潭市\",text:\"贵溪市\",value:\"360681\"}],360700:[{city:\"赣州市\",text:\"市辖区\",value:\"360701\"},{city:\"赣州市\",text:\"章贡区\",value:\"360702\"},{city:\"赣州市\",text:\"南康区\",value:\"360703\"},{city:\"赣州市\",text:\"赣县\",value:\"360721\"},{city:\"赣州市\",text:\"信丰县\",value:\"360722\"},{city:\"赣州市\",text:\"大余县\",value:\"360723\"},{city:\"赣州市\",text:\"上犹县\",value:\"360724\"},{city:\"赣州市\",text:\"崇义县\",value:\"360725\"},{city:\"赣州市\",text:\"安远县\",value:\"360726\"},{city:\"赣州市\",text:\"龙南县\",value:\"360727\"},{city:\"赣州市\",text:\"定南县\",value:\"360728\"},{city:\"赣州市\",text:\"全南县\",value:\"360729\"},{city:\"赣州市\",text:\"宁都县\",value:\"360730\"},{city:\"赣州市\",text:\"于都县\",value:\"360731\"},{city:\"赣州市\",text:\"兴国县\",value:\"360732\"},{city:\"赣州市\",text:\"会昌县\",value:\"360733\"},{city:\"赣州市\",text:\"寻乌县\",value:\"360734\"},{city:\"赣州市\",text:\"石城县\",value:\"360735\"},{city:\"赣州市\",text:\"瑞金市\",value:\"360781\"}],360800:[{city:\"吉安市\",text:\"市辖区\",value:\"360801\"},{city:\"吉安市\",text:\"吉州区\",value:\"360802\"},{city:\"吉安市\",text:\"青原区\",value:\"360803\"},{city:\"吉安市\",text:\"吉安县\",value:\"360821\"},{city:\"吉安市\",text:\"吉水县\",value:\"360822\"},{city:\"吉安市\",text:\"峡江县\",value:\"360823\"},{city:\"吉安市\",text:\"新干县\",value:\"360824\"},{city:\"吉安市\",text:\"永丰县\",value:\"360825\"},{city:\"吉安市\",text:\"泰和县\",value:\"360826\"},{city:\"吉安市\",text:\"遂川县\",value:\"360827\"},{city:\"吉安市\",text:\"万安县\",value:\"360828\"},{city:\"吉安市\",text:\"安福县\",value:\"360829\"},{city:\"吉安市\",text:\"永新县\",value:\"360830\"},{city:\"吉安市\",text:\"井冈山市\",value:\"360881\"}],360900:[{city:\"宜春市\",text:\"市辖区\",value:\"360901\"},{city:\"宜春市\",text:\"袁州区\",value:\"360902\"},{city:\"宜春市\",text:\"奉新县\",value:\"360921\"},{city:\"宜春市\",text:\"万载县\",value:\"360922\"},{city:\"宜春市\",text:\"上高县\",value:\"360923\"},{city:\"宜春市\",text:\"宜丰县\",value:\"360924\"},{city:\"宜春市\",text:\"靖安县\",value:\"360925\"},{city:\"宜春市\",text:\"铜鼓县\",value:\"360926\"},{city:\"宜春市\",text:\"丰城市\",value:\"360981\"},{city:\"宜春市\",text:\"樟树市\",value:\"360982\"},{city:\"宜春市\",text:\"高安市\",value:\"360983\"}],361000:[{city:\"抚州市\",text:\"市辖区\",value:\"361001\"},{city:\"抚州市\",text:\"临川区\",value:\"361002\"},{city:\"抚州市\",text:\"南城县\",value:\"361021\"},{city:\"抚州市\",text:\"黎川县\",value:\"361022\"},{city:\"抚州市\",text:\"南丰县\",value:\"361023\"},{city:\"抚州市\",text:\"崇仁县\",value:\"361024\"},{city:\"抚州市\",text:\"乐安县\",value:\"361025\"},{city:\"抚州市\",text:\"宜黄县\",value:\"361026\"},{city:\"抚州市\",text:\"金溪县\",value:\"361027\"},{city:\"抚州市\",text:\"资溪县\",value:\"361028\"},{city:\"抚州市\",text:\"东乡县\",value:\"361029\"},{city:\"抚州市\",text:\"广昌县\",value:\"361030\"}],361100:[{city:\"上饶市\",text:\"市辖区\",value:\"361101\"},{city:\"上饶市\",text:\"信州区\",value:\"361102\"},{city:\"上饶市\",text:\"广丰区\",value:\"361103\"},{city:\"上饶市\",text:\"上饶县\",value:\"361121\"},{city:\"上饶市\",text:\"玉山县\",value:\"361123\"},{city:\"上饶市\",text:\"铅山县\",value:\"361124\"},{city:\"上饶市\",text:\"横峰县\",value:\"361125\"},{city:\"上饶市\",text:\"弋阳县\",value:\"361126\"},{city:\"上饶市\",text:\"余干县\",value:\"361127\"},{city:\"上饶市\",text:\"鄱阳县\",value:\"361128\"},{city:\"上饶市\",text:\"万年县\",value:\"361129\"},{city:\"上饶市\",text:\"婺源县\",value:\"361130\"},{city:\"上饶市\",text:\"德兴市\",value:\"361181\"}],370100:[{city:\"济南市\",text:\"市辖区\",value:\"370101\"},{city:\"济南市\",text:\"历下区\",value:\"370102\"},{city:\"济南市\",text:\"市中区\",value:\"370103\"},{city:\"济南市\",text:\"槐荫区\",value:\"370104\"},{city:\"济南市\",text:\"天桥区\",value:\"370105\"},{city:\"济南市\",text:\"历城区\",value:\"370112\"},{city:\"济南市\",text:\"长清区\",value:\"370113\"},{city:\"济南市\",text:\"平阴县\",value:\"370124\"},{city:\"济南市\",text:\"济阳县\",value:\"370125\"},{city:\"济南市\",text:\"商河县\",value:\"370126\"},{city:\"济南市\",text:\"章丘市\",value:\"370181\"}],370200:[{city:\"青岛市\",text:\"市辖区\",value:\"370201\"},{city:\"青岛市\",text:\"市南区\",value:\"370202\"},{city:\"青岛市\",text:\"市北区\",value:\"370203\"},{city:\"青岛市\",text:\"黄岛区\",value:\"370211\"},{city:\"青岛市\",text:\"崂山区\",value:\"370212\"},{city:\"青岛市\",text:\"李沧区\",value:\"370213\"},{city:\"青岛市\",text:\"城阳区\",value:\"370214\"},{city:\"青岛市\",text:\"胶州市\",value:\"370281\"},{city:\"青岛市\",text:\"即墨市\",value:\"370282\"},{city:\"青岛市\",text:\"平度市\",value:\"370283\"},{city:\"青岛市\",text:\"莱西市\",value:\"370285\"}],370300:[{city:\"淄博市\",text:\"市辖区\",value:\"370301\"},{city:\"淄博市\",text:\"淄川区\",value:\"370302\"},{city:\"淄博市\",text:\"张店区\",value:\"370303\"},{city:\"淄博市\",text:\"博山区\",value:\"370304\"},{city:\"淄博市\",text:\"临淄区\",value:\"370305\"},{city:\"淄博市\",text:\"周村区\",value:\"370306\"},{city:\"淄博市\",text:\"桓台县\",value:\"370321\"},{city:\"淄博市\",text:\"高青县\",value:\"370322\"},{city:\"淄博市\",text:\"沂源县\",value:\"370323\"}],370400:[{city:\"枣庄市\",text:\"市辖区\",value:\"370401\"},{city:\"枣庄市\",text:\"市中区\",value:\"370402\"},{city:\"枣庄市\",text:\"薛城区\",value:\"370403\"},{city:\"枣庄市\",text:\"峄城区\",value:\"370404\"},{city:\"枣庄市\",text:\"台儿庄区\",value:\"370405\"},{city:\"枣庄市\",text:\"山亭区\",value:\"370406\"},{city:\"枣庄市\",text:\"滕州市\",value:\"370481\"}],370500:[{city:\"东营市\",text:\"市辖区\",value:\"370501\"},{city:\"东营市\",text:\"东营区\",value:\"370502\"},{city:\"东营市\",text:\"河口区\",value:\"370503\"},{city:\"东营市\",text:\"垦利区\",value:\"370505\"},{city:\"东营市\",text:\"利津县\",value:\"370522\"},{city:\"东营市\",text:\"广饶县\",value:\"370523\"}],370600:[{city:\"烟台市\",text:\"市辖区\",value:\"370601\"},{city:\"烟台市\",text:\"芝罘区\",value:\"370602\"},{city:\"烟台市\",text:\"福山区\",value:\"370611\"},{city:\"烟台市\",text:\"牟平区\",value:\"370612\"},{city:\"烟台市\",text:\"莱山区\",value:\"370613\"},{city:\"烟台市\",text:\"长岛县\",value:\"370634\"},{city:\"烟台市\",text:\"龙口市\",value:\"370681\"},{city:\"烟台市\",text:\"莱阳市\",value:\"370682\"},{city:\"烟台市\",text:\"莱州市\",value:\"370683\"},{city:\"烟台市\",text:\"蓬莱市\",value:\"370684\"},{city:\"烟台市\",text:\"招远市\",value:\"370685\"},{city:\"烟台市\",text:\"栖霞市\",value:\"370686\"},{city:\"烟台市\",text:\"海阳市\",value:\"370687\"}],370700:[{city:\"潍坊市\",text:\"市辖区\",value:\"370701\"},{city:\"潍坊市\",text:\"潍城区\",value:\"370702\"},{city:\"潍坊市\",text:\"寒亭区\",value:\"370703\"},{city:\"潍坊市\",text:\"坊子区\",value:\"370704\"},{city:\"潍坊市\",text:\"奎文区\",value:\"370705\"},{city:\"潍坊市\",text:\"临朐县\",value:\"370724\"},{city:\"潍坊市\",text:\"昌乐县\",value:\"370725\"},{city:\"潍坊市\",text:\"青州市\",value:\"370781\"},{city:\"潍坊市\",text:\"诸城市\",value:\"370782\"},{city:\"潍坊市\",text:\"寿光市\",value:\"370783\"},{city:\"潍坊市\",text:\"安丘市\",value:\"370784\"},{city:\"潍坊市\",text:\"高密市\",value:\"370785\"},{city:\"潍坊市\",text:\"昌邑市\",value:\"370786\"}],370800:[{city:\"济宁市\",text:\"市辖区\",value:\"370801\"},{city:\"济宁市\",text:\"任城区\",value:\"370811\"},{city:\"济宁市\",text:\"兖州区\",value:\"370812\"},{city:\"济宁市\",text:\"微山县\",value:\"370826\"},{city:\"济宁市\",text:\"鱼台县\",value:\"370827\"},{city:\"济宁市\",text:\"金乡县\",value:\"370828\"},{city:\"济宁市\",text:\"嘉祥县\",value:\"370829\"},{city:\"济宁市\",text:\"汶上县\",value:\"370830\"},{city:\"济宁市\",text:\"泗水县\",value:\"370831\"},{city:\"济宁市\",text:\"梁山县\",value:\"370832\"},{city:\"济宁市\",text:\"曲阜市\",value:\"370881\"},{city:\"济宁市\",text:\"邹城市\",value:\"370883\"}],370900:[{city:\"泰安市\",text:\"市辖区\",value:\"370901\"},{city:\"泰安市\",text:\"泰山区\",value:\"370902\"},{city:\"泰安市\",text:\"岱岳区\",value:\"370911\"},{city:\"泰安市\",text:\"宁阳县\",value:\"370921\"},{city:\"泰安市\",text:\"东平县\",value:\"370923\"},{city:\"泰安市\",text:\"新泰市\",value:\"370982\"},{city:\"泰安市\",text:\"肥城市\",value:\"370983\"}],371000:[{city:\"威海市\",text:\"市辖区\",value:\"371001\"},{city:\"威海市\",text:\"环翠区\",value:\"371002\"},{city:\"威海市\",text:\"文登区\",value:\"371003\"},{city:\"威海市\",text:\"荣成市\",value:\"371082\"},{city:\"威海市\",text:\"乳山市\",value:\"371083\"}],371100:[{city:\"日照市\",text:\"市辖区\",value:\"371101\"},{city:\"日照市\",text:\"东港区\",value:\"371102\"},{city:\"日照市\",text:\"岚山区\",value:\"371103\"},{city:\"日照市\",text:\"五莲县\",value:\"371121\"},{city:\"日照市\",text:\"莒县\",value:\"371122\"}],371200:[{city:\"莱芜市\",text:\"市辖区\",value:\"371201\"},{city:\"莱芜市\",text:\"莱城区\",value:\"371202\"},{city:\"莱芜市\",text:\"钢城区\",value:\"371203\"}],371300:[{city:\"临沂市\",text:\"市辖区\",value:\"371301\"},{city:\"临沂市\",text:\"兰山区\",value:\"371302\"},{city:\"临沂市\",text:\"罗庄区\",value:\"371311\"},{city:\"临沂市\",text:\"河东区\",value:\"371312\"},{city:\"临沂市\",text:\"沂南县\",value:\"371321\"},{city:\"临沂市\",text:\"郯城县\",value:\"371322\"},{city:\"临沂市\",text:\"沂水县\",value:\"371323\"},{city:\"临沂市\",text:\"兰陵县\",value:\"371324\"},{city:\"临沂市\",text:\"费县\",value:\"371325\"},{city:\"临沂市\",text:\"平邑县\",value:\"371326\"},{city:\"临沂市\",text:\"莒南县\",value:\"371327\"},{city:\"临沂市\",text:\"蒙阴县\",value:\"371328\"},{city:\"临沂市\",text:\"临沭县\",value:\"371329\"}],371400:[{city:\"德州市\",text:\"市辖区\",value:\"371401\"},{city:\"德州市\",text:\"德城区\",value:\"371402\"},{city:\"德州市\",text:\"陵城区\",value:\"371403\"},{city:\"德州市\",text:\"宁津县\",value:\"371422\"},{city:\"德州市\",text:\"庆云县\",value:\"371423\"},{city:\"德州市\",text:\"临邑县\",value:\"371424\"},{city:\"德州市\",text:\"齐河县\",value:\"371425\"},{city:\"德州市\",text:\"平原县\",value:\"371426\"},{city:\"德州市\",text:\"夏津县\",value:\"371427\"},{city:\"德州市\",text:\"武城县\",value:\"371428\"},{city:\"德州市\",text:\"乐陵市\",value:\"371481\"},{city:\"德州市\",text:\"禹城市\",value:\"371482\"}],371500:[{city:\"聊城市\",text:\"市辖区\",value:\"371501\"},{city:\"聊城市\",text:\"东昌府区\",value:\"371502\"},{city:\"聊城市\",text:\"阳谷县\",value:\"371521\"},{city:\"聊城市\",text:\"莘县\",value:\"371522\"},{city:\"聊城市\",text:\"茌平县\",value:\"371523\"},{city:\"聊城市\",text:\"东阿县\",value:\"371524\"},{city:\"聊城市\",text:\"冠县\",value:\"371525\"},{city:\"聊城市\",text:\"高唐县\",value:\"371526\"},{city:\"聊城市\",text:\"临清市\",value:\"371581\"}],371600:[{city:\"滨州市\",text:\"市辖区\",value:\"371601\"},{city:\"滨州市\",text:\"滨城区\",value:\"371602\"},{city:\"滨州市\",text:\"沾化区\",value:\"371603\"},{city:\"滨州市\",text:\"惠民县\",value:\"371621\"},{city:\"滨州市\",text:\"阳信县\",value:\"371622\"},{city:\"滨州市\",text:\"无棣县\",value:\"371623\"},{city:\"滨州市\",text:\"博兴县\",value:\"371625\"},{city:\"滨州市\",text:\"邹平县\",value:\"371626\"}],371700:[{city:\"菏泽市\",text:\"市辖区\",value:\"371701\"},{city:\"菏泽市\",text:\"牡丹区\",value:\"371702\"},{city:\"菏泽市\",text:\"定陶区\",value:\"371703\"},{city:\"菏泽市\",text:\"曹县\",value:\"371721\"},{city:\"菏泽市\",text:\"单县\",value:\"371722\"},{city:\"菏泽市\",text:\"成武县\",value:\"371723\"},{city:\"菏泽市\",text:\"巨野县\",value:\"371724\"},{city:\"菏泽市\",text:\"郓城县\",value:\"371725\"},{city:\"菏泽市\",text:\"鄄城县\",value:\"371726\"},{city:\"菏泽市\",text:\"东明县\",value:\"371728\"}],410100:[{city:\"郑州市\",text:\"市辖区\",value:\"410101\"},{city:\"郑州市\",text:\"中原区\",value:\"410102\"},{city:\"郑州市\",text:\"二七区\",value:\"410103\"},{city:\"郑州市\",text:\"管城回族区\",value:\"410104\"},{city:\"郑州市\",text:\"金水区\",value:\"410105\"},{city:\"郑州市\",text:\"上街区\",value:\"410106\"},{city:\"郑州市\",text:\"惠济区\",value:\"410108\"},{city:\"郑州市\",text:\"中牟县\",value:\"410122\"},{city:\"郑州市\",text:\"巩义市\",value:\"410181\"},{city:\"郑州市\",text:\"荥阳市\",value:\"410182\"},{city:\"郑州市\",text:\"新密市\",value:\"410183\"},{city:\"郑州市\",text:\"新郑市\",value:\"410184\"},{city:\"郑州市\",text:\"登封市\",value:\"410185\"}],410200:[{city:\"开封市\",text:\"市辖区\",value:\"410201\"},{city:\"开封市\",text:\"龙亭区\",value:\"410202\"},{city:\"开封市\",text:\"顺河回族区\",value:\"410203\"},{city:\"开封市\",text:\"鼓楼区\",value:\"410204\"},{city:\"开封市\",text:\"禹王台区\",value:\"410205\"},{city:\"开封市\",text:\"金明区\",value:\"410211\"},{city:\"开封市\",text:\"祥符区\",value:\"410212\"},{city:\"开封市\",text:\"杞县\",value:\"410221\"},{city:\"开封市\",text:\"通许县\",value:\"410222\"},{city:\"开封市\",text:\"尉氏县\",value:\"410223\"},{city:\"开封市\",text:\"兰考县\",value:\"410225\"}],410300:[{city:\"洛阳市\",text:\"市辖区\",value:\"410301\"},{city:\"洛阳市\",text:\"老城区\",value:\"410302\"},{city:\"洛阳市\",text:\"西工区\",value:\"410303\"},{city:\"洛阳市\",text:\"瀍河回族区\",value:\"410304\"},{city:\"洛阳市\",text:\"涧西区\",value:\"410305\"},{city:\"洛阳市\",text:\"吉利区\",value:\"410306\"},{city:\"洛阳市\",text:\"洛龙区\",value:\"410311\"},{city:\"洛阳市\",text:\"孟津县\",value:\"410322\"},{city:\"洛阳市\",text:\"新安县\",value:\"410323\"},{city:\"洛阳市\",text:\"栾川县\",value:\"410324\"},{city:\"洛阳市\",text:\"嵩县\",value:\"410325\"},{city:\"洛阳市\",text:\"汝阳县\",value:\"410326\"},{city:\"洛阳市\",text:\"宜阳县\",value:\"410327\"},{city:\"洛阳市\",text:\"洛宁县\",value:\"410328\"},{city:\"洛阳市\",text:\"伊川县\",value:\"410329\"},{city:\"洛阳市\",text:\"偃师市\",value:\"410381\"}],410400:[{city:\"平顶山市\",text:\"市辖区\",value:\"410401\"},{city:\"平顶山市\",text:\"新华区\",value:\"410402\"},{city:\"平顶山市\",text:\"卫东区\",value:\"410403\"},{city:\"平顶山市\",text:\"石龙区\",value:\"410404\"},{city:\"平顶山市\",text:\"湛河区\",value:\"410411\"},{city:\"平顶山市\",text:\"宝丰县\",value:\"410421\"},{city:\"平顶山市\",text:\"叶县\",value:\"410422\"},{city:\"平顶山市\",text:\"鲁山县\",value:\"410423\"},{city:\"平顶山市\",text:\"郏县\",value:\"410425\"},{city:\"平顶山市\",text:\"舞钢市\",value:\"410481\"},{city:\"平顶山市\",text:\"汝州市\",value:\"410482\"}],410500:[{city:\"安阳市\",text:\"市辖区\",value:\"410501\"},{city:\"安阳市\",text:\"文峰区\",value:\"410502\"},{city:\"安阳市\",text:\"北关区\",value:\"410503\"},{city:\"安阳市\",text:\"殷都区\",value:\"410505\"},{city:\"安阳市\",text:\"龙安区\",value:\"410506\"},{city:\"安阳市\",text:\"安阳县\",value:\"410522\"},{city:\"安阳市\",text:\"汤阴县\",value:\"410523\"},{city:\"安阳市\",text:\"滑县\",value:\"410526\"},{city:\"安阳市\",text:\"内黄县\",value:\"410527\"},{city:\"安阳市\",text:\"林州市\",value:\"410581\"}],410600:[{city:\"鹤壁市\",text:\"市辖区\",value:\"410601\"},{city:\"鹤壁市\",text:\"鹤山区\",value:\"410602\"},{city:\"鹤壁市\",text:\"山城区\",value:\"410603\"},{city:\"鹤壁市\",text:\"淇滨区\",value:\"410611\"},{city:\"鹤壁市\",text:\"浚县\",value:\"410621\"},{city:\"鹤壁市\",text:\"淇县\",value:\"410622\"}],410700:[{city:\"新乡市\",text:\"市辖区\",value:\"410701\"},{city:\"新乡市\",text:\"红旗区\",value:\"410702\"},{city:\"新乡市\",text:\"卫滨区\",value:\"410703\"},{city:\"新乡市\",text:\"凤泉区\",value:\"410704\"},{city:\"新乡市\",text:\"牧野区\",value:\"410711\"},{city:\"新乡市\",text:\"新乡县\",value:\"410721\"},{city:\"新乡市\",text:\"获嘉县\",value:\"410724\"},{city:\"新乡市\",text:\"原阳县\",value:\"410725\"},{city:\"新乡市\",text:\"延津县\",value:\"410726\"},{city:\"新乡市\",text:\"封丘县\",value:\"410727\"},{city:\"新乡市\",text:\"长垣县\",value:\"410728\"},{city:\"新乡市\",text:\"卫辉市\",value:\"410781\"},{city:\"新乡市\",text:\"辉县市\",value:\"410782\"}],410800:[{city:\"焦作市\",text:\"市辖区\",value:\"410801\"},{city:\"焦作市\",text:\"解放区\",value:\"410802\"},{city:\"焦作市\",text:\"中站区\",value:\"410803\"},{city:\"焦作市\",text:\"马村区\",value:\"410804\"},{city:\"焦作市\",text:\"山阳区\",value:\"410811\"},{city:\"焦作市\",text:\"修武县\",value:\"410821\"},{city:\"焦作市\",text:\"博爱县\",value:\"410822\"},{city:\"焦作市\",text:\"武陟县\",value:\"410823\"},{city:\"焦作市\",text:\"温县\",value:\"410825\"},{city:\"焦作市\",text:\"沁阳市\",value:\"410882\"},{city:\"焦作市\",text:\"孟州市\",value:\"410883\"}],410900:[{city:\"濮阳市\",text:\"市辖区\",value:\"410901\"},{city:\"濮阳市\",text:\"华龙区\",value:\"410902\"},{city:\"濮阳市\",text:\"清丰县\",value:\"410922\"},{city:\"濮阳市\",text:\"南乐县\",value:\"410923\"},{city:\"濮阳市\",text:\"范县\",value:\"410926\"},{city:\"濮阳市\",text:\"台前县\",value:\"410927\"},{city:\"濮阳市\",text:\"濮阳县\",value:\"410928\"}],411000:[{city:\"许昌市\",text:\"市辖区\",value:\"411001\"},{city:\"许昌市\",text:\"魏都区\",value:\"411002\"},{city:\"许昌市\",text:\"许昌县\",value:\"411023\"},{city:\"许昌市\",text:\"鄢陵县\",value:\"411024\"},{city:\"许昌市\",text:\"襄城县\",value:\"411025\"},{city:\"许昌市\",text:\"禹州市\",value:\"411081\"},{city:\"许昌市\",text:\"长葛市\",value:\"411082\"}],411100:[{city:\"漯河市\",text:\"市辖区\",value:\"411101\"},{city:\"漯河市\",text:\"源汇区\",value:\"411102\"},{city:\"漯河市\",text:\"郾城区\",value:\"411103\"},{city:\"漯河市\",text:\"召陵区\",value:\"411104\"},{city:\"漯河市\",text:\"舞阳县\",value:\"411121\"},{city:\"漯河市\",text:\"临颍县\",value:\"411122\"}],411200:[{city:\"三门峡市\",text:\"市辖区\",value:\"411201\"},{city:\"三门峡市\",text:\"湖滨区\",value:\"411202\"},{city:\"三门峡市\",text:\"陕州区\",value:\"411203\"},{city:\"三门峡市\",text:\"渑池县\",value:\"411221\"},{city:\"三门峡市\",text:\"卢氏县\",value:\"411224\"},{city:\"三门峡市\",text:\"义马市\",value:\"411281\"},{city:\"三门峡市\",text:\"灵宝市\",value:\"411282\"}],411300:[{city:\"南阳市\",text:\"市辖区\",value:\"411301\"},{city:\"南阳市\",text:\"宛城区\",value:\"411302\"},{city:\"南阳市\",text:\"卧龙区\",value:\"411303\"},{city:\"南阳市\",text:\"南召县\",value:\"411321\"},{city:\"南阳市\",text:\"方城县\",value:\"411322\"},{city:\"南阳市\",text:\"西峡县\",value:\"411323\"},{city:\"南阳市\",text:\"镇平县\",value:\"411324\"},{city:\"南阳市\",text:\"内乡县\",value:\"411325\"},{city:\"南阳市\",text:\"淅川县\",value:\"411326\"},{city:\"南阳市\",text:\"社旗县\",value:\"411327\"},{city:\"南阳市\",text:\"唐河县\",value:\"411328\"},{city:\"南阳市\",text:\"新野县\",value:\"411329\"},{city:\"南阳市\",text:\"桐柏县\",value:\"411330\"},{city:\"南阳市\",text:\"邓州市\",value:\"411381\"}],411400:[{city:\"商丘市\",text:\"市辖区\",value:\"411401\"},{city:\"商丘市\",text:\"梁园区\",value:\"411402\"},{city:\"商丘市\",text:\"睢阳区\",value:\"411403\"},{city:\"商丘市\",text:\"民权县\",value:\"411421\"},{city:\"商丘市\",text:\"睢县\",value:\"411422\"},{city:\"商丘市\",text:\"宁陵县\",value:\"411423\"},{city:\"商丘市\",text:\"柘城县\",value:\"411424\"},{city:\"商丘市\",text:\"虞城县\",value:\"411425\"},{city:\"商丘市\",text:\"夏邑县\",value:\"411426\"},{city:\"商丘市\",text:\"永城市\",value:\"411481\"}],411500:[{city:\"信阳市\",text:\"市辖区\",value:\"411501\"},{city:\"信阳市\",text:\"浉河区\",value:\"411502\"},{city:\"信阳市\",text:\"平桥区\",value:\"411503\"},{city:\"信阳市\",text:\"罗山县\",value:\"411521\"},{city:\"信阳市\",text:\"光山县\",value:\"411522\"},{city:\"信阳市\",text:\"新县\",value:\"411523\"},{city:\"信阳市\",text:\"商城县\",value:\"411524\"},{city:\"信阳市\",text:\"固始县\",value:\"411525\"},{city:\"信阳市\",text:\"潢川县\",value:\"411526\"},{city:\"信阳市\",text:\"淮滨县\",value:\"411527\"},{city:\"信阳市\",text:\"息县\",value:\"411528\"}],411600:[{city:\"周口市\",text:\"市辖区\",value:\"411601\"},{city:\"周口市\",text:\"川汇区\",value:\"411602\"},{city:\"周口市\",text:\"扶沟县\",value:\"411621\"},{city:\"周口市\",text:\"西华县\",value:\"411622\"},{city:\"周口市\",text:\"商水县\",value:\"411623\"},{city:\"周口市\",text:\"沈丘县\",value:\"411624\"},{city:\"周口市\",text:\"郸城县\",value:\"411625\"},{city:\"周口市\",text:\"淮阳县\",value:\"411626\"},{city:\"周口市\",text:\"太康县\",value:\"411627\"},{city:\"周口市\",text:\"鹿邑县\",value:\"411628\"},{city:\"周口市\",text:\"项城市\",value:\"411681\"}],411700:[{city:\"驻马店市\",text:\"市辖区\",value:\"411701\"},{city:\"驻马店市\",text:\"驿城区\",value:\"411702\"},{city:\"驻马店市\",text:\"西平县\",value:\"411721\"},{city:\"驻马店市\",text:\"上蔡县\",value:\"411722\"},{city:\"驻马店市\",text:\"平舆县\",value:\"411723\"},{city:\"驻马店市\",text:\"正阳县\",value:\"411724\"},{city:\"驻马店市\",text:\"确山县\",value:\"411725\"},{city:\"驻马店市\",text:\"泌阳县\",value:\"411726\"},{city:\"驻马店市\",text:\"汝南县\",value:\"411727\"},{city:\"驻马店市\",text:\"遂平县\",value:\"411728\"},{city:\"驻马店市\",text:\"新蔡县\",value:\"411729\"}],419000:[{city:\"省直辖县级行政区划\",text:\"济源市\",value:\"419001\"}],420100:[{city:\"武汉市\",text:\"市辖区\",value:\"420101\"},{city:\"武汉市\",text:\"江岸区\",value:\"420102\"},{city:\"武汉市\",text:\"江汉区\",value:\"420103\"},{city:\"武汉市\",text:\"硚口区\",value:\"420104\"},{city:\"武汉市\",text:\"汉阳区\",value:\"420105\"},{city:\"武汉市\",text:\"武昌区\",value:\"420106\"},{city:\"武汉市\",text:\"青山区\",value:\"420107\"},{city:\"武汉市\",text:\"洪山区\",value:\"420111\"},{city:\"武汉市\",text:\"东西湖区\",value:\"420112\"},{city:\"武汉市\",text:\"汉南区\",value:\"420113\"},{city:\"武汉市\",text:\"蔡甸区\",value:\"420114\"},{city:\"武汉市\",text:\"江夏区\",value:\"420115\"},{city:\"武汉市\",text:\"黄陂区\",value:\"420116\"},{city:\"武汉市\",text:\"新洲区\",value:\"420117\"}],420200:[{city:\"黄石市\",text:\"市辖区\",value:\"420201\"},{city:\"黄石市\",text:\"黄石港区\",value:\"420202\"},{city:\"黄石市\",text:\"西塞山区\",value:\"420203\"},{city:\"黄石市\",text:\"下陆区\",value:\"420204\"},{city:\"黄石市\",text:\"铁山区\",value:\"420205\"},{city:\"黄石市\",text:\"阳新县\",value:\"420222\"},{city:\"黄石市\",text:\"大冶市\",value:\"420281\"}],420300:[{city:\"十堰市\",text:\"市辖区\",value:\"420301\"},{city:\"十堰市\",text:\"茅箭区\",value:\"420302\"},{city:\"十堰市\",text:\"张湾区\",value:\"420303\"},{city:\"十堰市\",text:\"郧阳区\",value:\"420304\"},{city:\"十堰市\",text:\"郧西县\",value:\"420322\"},{city:\"十堰市\",text:\"竹山县\",value:\"420323\"},{city:\"十堰市\",text:\"竹溪县\",value:\"420324\"},{city:\"十堰市\",text:\"房县\",value:\"420325\"},{city:\"十堰市\",text:\"丹江口市\",value:\"420381\"}],420500:[{city:\"宜昌市\",text:\"市辖区\",value:\"420501\"},{city:\"宜昌市\",text:\"西陵区\",value:\"420502\"},{city:\"宜昌市\",text:\"伍家岗区\",value:\"420503\"},{city:\"宜昌市\",text:\"点军区\",value:\"420504\"},{city:\"宜昌市\",text:\"猇亭区\",value:\"420505\"},{city:\"宜昌市\",text:\"夷陵区\",value:\"420506\"},{city:\"宜昌市\",text:\"远安县\",value:\"420525\"},{city:\"宜昌市\",text:\"兴山县\",value:\"420526\"},{city:\"宜昌市\",text:\"秭归县\",value:\"420527\"},{city:\"宜昌市\",text:\"长阳土家族自治县\",value:\"420528\"},{city:\"宜昌市\",text:\"五峰土家族自治县\",value:\"420529\"},{city:\"宜昌市\",text:\"宜都市\",value:\"420581\"},{city:\"宜昌市\",text:\"当阳市\",value:\"420582\"},{city:\"宜昌市\",text:\"枝江市\",value:\"420583\"}],420600:[{city:\"襄阳市\",text:\"市辖区\",value:\"420601\"},{city:\"襄阳市\",text:\"襄城区\",value:\"420602\"},{city:\"襄阳市\",text:\"樊城区\",value:\"420606\"},{city:\"襄阳市\",text:\"襄州区\",value:\"420607\"},{city:\"襄阳市\",text:\"南漳县\",value:\"420624\"},{city:\"襄阳市\",text:\"谷城县\",value:\"420625\"},{city:\"襄阳市\",text:\"保康县\",value:\"420626\"},{city:\"襄阳市\",text:\"老河口市\",value:\"420682\"},{city:\"襄阳市\",text:\"枣阳市\",value:\"420683\"},{city:\"襄阳市\",text:\"宜城市\",value:\"420684\"}],420700:[{city:\"鄂州市\",text:\"市辖区\",value:\"420701\"},{city:\"鄂州市\",text:\"梁子湖区\",value:\"420702\"},{city:\"鄂州市\",text:\"华容区\",value:\"420703\"},{city:\"鄂州市\",text:\"鄂城区\",value:\"420704\"}],420800:[{city:\"荆门市\",text:\"市辖区\",value:\"420801\"},{city:\"荆门市\",text:\"东宝区\",value:\"420802\"},{city:\"荆门市\",text:\"掇刀区\",value:\"420804\"},{city:\"荆门市\",text:\"京山县\",value:\"420821\"},{city:\"荆门市\",text:\"沙洋县\",value:\"420822\"},{city:\"荆门市\",text:\"钟祥市\",value:\"420881\"}],420900:[{city:\"孝感市\",text:\"市辖区\",value:\"420901\"},{city:\"孝感市\",text:\"孝南区\",value:\"420902\"},{city:\"孝感市\",text:\"孝昌县\",value:\"420921\"},{city:\"孝感市\",text:\"大悟县\",value:\"420922\"},{city:\"孝感市\",text:\"云梦县\",value:\"420923\"},{city:\"孝感市\",text:\"应城市\",value:\"420981\"},{city:\"孝感市\",text:\"安陆市\",value:\"420982\"},{city:\"孝感市\",text:\"汉川市\",value:\"420984\"}],421000:[{city:\"荆州市\",text:\"市辖区\",value:\"421001\"},{city:\"荆州市\",text:\"沙市区\",value:\"421002\"},{city:\"荆州市\",text:\"荆州区\",value:\"421003\"},{city:\"荆州市\",text:\"公安县\",value:\"421022\"},{city:\"荆州市\",text:\"监利县\",value:\"421023\"},{city:\"荆州市\",text:\"江陵县\",value:\"421024\"},{city:\"荆州市\",text:\"石首市\",value:\"421081\"},{city:\"荆州市\",text:\"洪湖市\",value:\"421083\"},{city:\"荆州市\",text:\"松滋市\",value:\"421087\"}],421100:[{city:\"黄冈市\",text:\"市辖区\",value:\"421101\"},{city:\"黄冈市\",text:\"黄州区\",value:\"421102\"},{city:\"黄冈市\",text:\"团风县\",value:\"421121\"},{city:\"黄冈市\",text:\"红安县\",value:\"421122\"},{city:\"黄冈市\",text:\"罗田县\",value:\"421123\"},{city:\"黄冈市\",text:\"英山县\",value:\"421124\"},{city:\"黄冈市\",text:\"浠水县\",value:\"421125\"},{city:\"黄冈市\",text:\"蕲春县\",value:\"421126\"},{city:\"黄冈市\",text:\"黄梅县\",value:\"421127\"},{city:\"黄冈市\",text:\"麻城市\",value:\"421181\"},{city:\"黄冈市\",text:\"武穴市\",value:\"421182\"}],421200:[{city:\"咸宁市\",text:\"市辖区\",value:\"421201\"},{city:\"咸宁市\",text:\"咸安区\",value:\"421202\"},{city:\"咸宁市\",text:\"嘉鱼县\",value:\"421221\"},{city:\"咸宁市\",text:\"通城县\",value:\"421222\"},{city:\"咸宁市\",text:\"崇阳县\",value:\"421223\"},{city:\"咸宁市\",text:\"通山县\",value:\"421224\"},{city:\"咸宁市\",text:\"赤壁市\",value:\"421281\"}],421300:[{city:\"随州市\",text:\"市辖区\",value:\"421301\"},{city:\"随州市\",text:\"曾都区\",value:\"421303\"},{city:\"随州市\",text:\"随县\",value:\"421321\"},{city:\"随州市\",text:\"广水市\",value:\"421381\"}],422800:[{city:\"恩施土家族苗族自治州\",text:\"恩施市\",value:\"422801\"},{city:\"恩施土家族苗族自治州\",text:\"利川市\",value:\"422802\"},{city:\"恩施土家族苗族自治州\",text:\"建始县\",value:\"422822\"},{city:\"恩施土家族苗族自治州\",text:\"巴东县\",value:\"422823\"},{city:\"恩施土家族苗族自治州\",text:\"宣恩县\",value:\"422825\"},{city:\"恩施土家族苗族自治州\",text:\"咸丰县\",value:\"422826\"},{city:\"恩施土家族苗族自治州\",text:\"来凤县\",value:\"422827\"},{city:\"恩施土家族苗族自治州\",text:\"鹤峰县\",value:\"422828\"}],429000:[{city:\"省直辖县级行政区划\",text:\"仙桃市\",value:\"429004\"},{city:\"省直辖县级行政区划\",text:\"潜江市\",value:\"429005\"},{city:\"省直辖县级行政区划\",text:\"天门市\",value:\"429006\"},{city:\"省直辖县级行政区划\",text:\"神农架林区\",value:\"429021\"}],430100:[{city:\"长沙市\",text:\"市辖区\",value:\"430101\"},{city:\"长沙市\",text:\"芙蓉区\",value:\"430102\"},{city:\"长沙市\",text:\"天心区\",value:\"430103\"},{city:\"长沙市\",text:\"岳麓区\",value:\"430104\"},{city:\"长沙市\",text:\"开福区\",value:\"430105\"},{city:\"长沙市\",text:\"雨花区\",value:\"430111\"},{city:\"长沙市\",text:\"望城区\",value:\"430112\"},{city:\"长沙市\",text:\"长沙县\",value:\"430121\"},{city:\"长沙市\",text:\"宁乡县\",value:\"430124\"},{city:\"长沙市\",text:\"浏阳市\",value:\"430181\"}],430200:[{city:\"株洲市\",text:\"市辖区\",value:\"430201\"},{city:\"株洲市\",text:\"荷塘区\",value:\"430202\"},{city:\"株洲市\",text:\"芦淞区\",value:\"430203\"},{city:\"株洲市\",text:\"石峰区\",value:\"430204\"},{city:\"株洲市\",text:\"天元区\",value:\"430211\"},{city:\"株洲市\",text:\"株洲县\",value:\"430221\"},{city:\"株洲市\",text:\"攸县\",value:\"430223\"},{city:\"株洲市\",text:\"茶陵县\",value:\"430224\"},{city:\"株洲市\",text:\"炎陵县\",value:\"430225\"},{city:\"株洲市\",text:\"醴陵市\",value:\"430281\"}],430300:[{city:\"湘潭市\",text:\"市辖区\",value:\"430301\"},{city:\"湘潭市\",text:\"雨湖区\",value:\"430302\"},{city:\"湘潭市\",text:\"岳塘区\",value:\"430304\"},{city:\"湘潭市\",text:\"湘潭县\",value:\"430321\"},{city:\"湘潭市\",text:\"湘乡市\",value:\"430381\"},{city:\"湘潭市\",text:\"韶山市\",value:\"430382\"}],430400:[{city:\"衡阳市\",text:\"市辖区\",value:\"430401\"},{city:\"衡阳市\",text:\"珠晖区\",value:\"430405\"},{city:\"衡阳市\",text:\"雁峰区\",value:\"430406\"},{city:\"衡阳市\",text:\"石鼓区\",value:\"430407\"},{city:\"衡阳市\",text:\"蒸湘区\",value:\"430408\"},{city:\"衡阳市\",text:\"南岳区\",value:\"430412\"},{city:\"衡阳市\",text:\"衡阳县\",value:\"430421\"},{city:\"衡阳市\",text:\"衡南县\",value:\"430422\"},{city:\"衡阳市\",text:\"衡山县\",value:\"430423\"},{city:\"衡阳市\",text:\"衡东县\",value:\"430424\"},{city:\"衡阳市\",text:\"祁东县\",value:\"430426\"},{city:\"衡阳市\",text:\"耒阳市\",value:\"430481\"},{city:\"衡阳市\",text:\"常宁市\",value:\"430482\"}],430500:[{city:\"邵阳市\",text:\"市辖区\",value:\"430501\"},{city:\"邵阳市\",text:\"双清区\",value:\"430502\"},{city:\"邵阳市\",text:\"大祥区\",value:\"430503\"},{city:\"邵阳市\",text:\"北塔区\",value:\"430511\"},{city:\"邵阳市\",text:\"邵东县\",value:\"430521\"},{city:\"邵阳市\",text:\"新邵县\",value:\"430522\"},{city:\"邵阳市\",text:\"邵阳县\",value:\"430523\"},{city:\"邵阳市\",text:\"隆回县\",value:\"430524\"},{city:\"邵阳市\",text:\"洞口县\",value:\"430525\"},{city:\"邵阳市\",text:\"绥宁县\",value:\"430527\"},{city:\"邵阳市\",text:\"新宁县\",value:\"430528\"},{city:\"邵阳市\",text:\"城步苗族自治县\",value:\"430529\"},{city:\"邵阳市\",text:\"武冈市\",value:\"430581\"}],430600:[{city:\"岳阳市\",text:\"市辖区\",value:\"430601\"},{city:\"岳阳市\",text:\"岳阳楼区\",value:\"430602\"},{city:\"岳阳市\",text:\"云溪区\",value:\"430603\"},{city:\"岳阳市\",text:\"君山区\",value:\"430611\"},{city:\"岳阳市\",text:\"岳阳县\",value:\"430621\"},{city:\"岳阳市\",text:\"华容县\",value:\"430623\"},{city:\"岳阳市\",text:\"湘阴县\",value:\"430624\"},{city:\"岳阳市\",text:\"平江县\",value:\"430626\"},{city:\"岳阳市\",text:\"汨罗市\",value:\"430681\"},{city:\"岳阳市\",text:\"临湘市\",value:\"430682\"}],430700:[{city:\"常德市\",text:\"市辖区\",value:\"430701\"},{city:\"常德市\",text:\"武陵区\",value:\"430702\"},{city:\"常德市\",text:\"鼎城区\",value:\"430703\"},{city:\"常德市\",text:\"安乡县\",value:\"430721\"},{city:\"常德市\",text:\"汉寿县\",value:\"430722\"},{city:\"常德市\",text:\"澧县\",value:\"430723\"},{city:\"常德市\",text:\"临澧县\",value:\"430724\"},{city:\"常德市\",text:\"桃源县\",value:\"430725\"},{city:\"常德市\",text:\"石门县\",value:\"430726\"},{city:\"常德市\",text:\"津市市\",value:\"430781\"}],430800:[{city:\"张家界市\",text:\"市辖区\",value:\"430801\"},{city:\"张家界市\",text:\"永定区\",value:\"430802\"},{city:\"张家界市\",text:\"武陵源区\",value:\"430811\"},{city:\"张家界市\",text:\"慈利县\",value:\"430821\"},{city:\"张家界市\",text:\"桑植县\",value:\"430822\"}],430900:[{city:\"益阳市\",text:\"市辖区\",value:\"430901\"},{city:\"益阳市\",text:\"资阳区\",value:\"430902\"},{city:\"益阳市\",text:\"赫山区\",value:\"430903\"},{city:\"益阳市\",text:\"南县\",value:\"430921\"},{city:\"益阳市\",text:\"桃江县\",value:\"430922\"},{city:\"益阳市\",text:\"安化县\",value:\"430923\"},{city:\"益阳市\",text:\"沅江市\",value:\"430981\"}],431000:[{city:\"郴州市\",text:\"市辖区\",value:\"431001\"},{city:\"郴州市\",text:\"北湖区\",value:\"431002\"},{city:\"郴州市\",text:\"苏仙区\",value:\"431003\"},{city:\"郴州市\",text:\"桂阳县\",value:\"431021\"},{city:\"郴州市\",text:\"宜章县\",value:\"431022\"},{city:\"郴州市\",text:\"永兴县\",value:\"431023\"},{city:\"郴州市\",text:\"嘉禾县\",value:\"431024\"},{city:\"郴州市\",text:\"临武县\",value:\"431025\"},{city:\"郴州市\",text:\"汝城县\",value:\"431026\"},{city:\"郴州市\",text:\"桂东县\",value:\"431027\"},{city:\"郴州市\",text:\"安仁县\",value:\"431028\"},{city:\"郴州市\",text:\"资兴市\",value:\"431081\"}],431100:[{city:\"永州市\",text:\"市辖区\",value:\"431101\"},{city:\"永州市\",text:\"零陵区\",value:\"431102\"},{city:\"永州市\",text:\"冷水滩区\",value:\"431103\"},{city:\"永州市\",text:\"祁阳县\",value:\"431121\"},{city:\"永州市\",text:\"东安县\",value:\"431122\"},{city:\"永州市\",text:\"双牌县\",value:\"431123\"},{city:\"永州市\",text:\"道县\",value:\"431124\"},{city:\"永州市\",text:\"江永县\",value:\"431125\"},{city:\"永州市\",text:\"宁远县\",value:\"431126\"},{city:\"永州市\",text:\"蓝山县\",value:\"431127\"},{city:\"永州市\",text:\"新田县\",value:\"431128\"},{city:\"永州市\",text:\"江华瑶族自治县\",value:\"431129\"}],431200:[{city:\"怀化市\",text:\"市辖区\",value:\"431201\"},{city:\"怀化市\",text:\"鹤城区\",value:\"431202\"},{city:\"怀化市\",text:\"中方县\",value:\"431221\"},{city:\"怀化市\",text:\"沅陵县\",value:\"431222\"},{city:\"怀化市\",text:\"辰溪县\",value:\"431223\"},{city:\"怀化市\",text:\"溆浦县\",value:\"431224\"},{city:\"怀化市\",text:\"会同县\",value:\"431225\"},{city:\"怀化市\",text:\"麻阳苗族自治县\",value:\"431226\"},{city:\"怀化市\",text:\"新晃侗族自治县\",value:\"431227\"},{city:\"怀化市\",text:\"芷江侗族自治县\",value:\"431228\"},{city:\"怀化市\",text:\"靖州苗族侗族自治县\",value:\"431229\"},{city:\"怀化市\",text:\"通道侗族自治县\",value:\"431230\"},{city:\"怀化市\",text:\"洪江市\",value:\"431281\"}],431300:[{city:\"娄底市\",text:\"市辖区\",value:\"431301\"},{city:\"娄底市\",text:\"娄星区\",value:\"431302\"},{city:\"娄底市\",text:\"双峰县\",value:\"431321\"},{city:\"娄底市\",text:\"新化县\",value:\"431322\"},{city:\"娄底市\",text:\"冷水江市\",value:\"431381\"},{city:\"娄底市\",text:\"涟源市\",value:\"431382\"}],433100:[{city:\"湘西土家族苗族自治州\",text:\"吉首市\",value:\"433101\"},{city:\"湘西土家族苗族自治州\",text:\"泸溪县\",value:\"433122\"},{city:\"湘西土家族苗族自治州\",text:\"凤凰县\",value:\"433123\"},{city:\"湘西土家族苗族自治州\",text:\"花垣县\",value:\"433124\"},{city:\"湘西土家族苗族自治州\",text:\"保靖县\",value:\"433125\"},{city:\"湘西土家族苗族自治州\",text:\"古丈县\",value:\"433126\"},{city:\"湘西土家族苗族自治州\",text:\"永顺县\",value:\"433127\"},{city:\"湘西土家族苗族自治州\",text:\"龙山县\",value:\"433130\"}],440100:[{city:\"广州市\",text:\"市辖区\",value:\"440101\"},{city:\"广州市\",text:\"荔湾区\",value:\"440103\"},{city:\"广州市\",text:\"越秀区\",value:\"440104\"},{city:\"广州市\",text:\"海珠区\",value:\"440105\"},{city:\"广州市\",text:\"天河区\",value:\"440106\"},{city:\"广州市\",text:\"白云区\",value:\"440111\"},{city:\"广州市\",text:\"黄埔区\",value:\"440112\"},{city:\"广州市\",text:\"番禺区\",value:\"440113\"},{city:\"广州市\",text:\"花都区\",value:\"440114\"},{city:\"广州市\",text:\"南沙区\",value:\"440115\"},{city:\"广州市\",text:\"从化区\",value:\"440117\"},{city:\"广州市\",text:\"增城区\",value:\"440118\"}],440200:[{city:\"韶关市\",text:\"市辖区\",value:\"440201\"},{city:\"韶关市\",text:\"武江区\",value:\"440203\"},{city:\"韶关市\",text:\"浈江区\",value:\"440204\"},{city:\"韶关市\",text:\"曲江区\",value:\"440205\"},{city:\"韶关市\",text:\"始兴县\",value:\"440222\"},{city:\"韶关市\",text:\"仁化县\",value:\"440224\"},{city:\"韶关市\",text:\"翁源县\",value:\"440229\"},{city:\"韶关市\",text:\"乳源瑶族自治县\",value:\"440232\"},{city:\"韶关市\",text:\"新丰县\",value:\"440233\"},{city:\"韶关市\",text:\"乐昌市\",value:\"440281\"},{city:\"韶关市\",text:\"南雄市\",value:\"440282\"}],440300:[{city:\"深圳市\",text:\"市辖区\",value:\"440301\"},{city:\"深圳市\",text:\"罗湖区\",value:\"440303\"},{city:\"深圳市\",text:\"福田区\",value:\"440304\"},{city:\"深圳市\",text:\"南山区\",value:\"440305\"},{city:\"深圳市\",text:\"宝安区\",value:\"440306\"},{city:\"深圳市\",text:\"龙岗区\",value:\"440307\"},{city:\"深圳市\",text:\"盐田区\",value:\"440308\"}],440400:[{city:\"珠海市\",text:\"市辖区\",value:\"440401\"},{city:\"珠海市\",text:\"香洲区\",value:\"440402\"},{city:\"珠海市\",text:\"斗门区\",value:\"440403\"},{city:\"珠海市\",text:\"金湾区\",value:\"440404\"}],440500:[{city:\"汕头市\",text:\"市辖区\",value:\"440501\"},{city:\"汕头市\",text:\"龙湖区\",value:\"440507\"},{city:\"汕头市\",text:\"金平区\",value:\"440511\"},{city:\"汕头市\",text:\"濠江区\",value:\"440512\"},{city:\"汕头市\",text:\"潮阳区\",value:\"440513\"},{city:\"汕头市\",text:\"潮南区\",value:\"440514\"},{city:\"汕头市\",text:\"澄海区\",value:\"440515\"},{city:\"汕头市\",text:\"南澳县\",value:\"440523\"}],440600:[{city:\"佛山市\",text:\"市辖区\",value:\"440601\"},{city:\"佛山市\",text:\"禅城区\",value:\"440604\"},{city:\"佛山市\",text:\"南海区\",value:\"440605\"},{city:\"佛山市\",text:\"顺德区\",value:\"440606\"},{city:\"佛山市\",text:\"三水区\",value:\"440607\"},{city:\"佛山市\",text:\"高明区\",value:\"440608\"}],440700:[{city:\"江门市\",text:\"市辖区\",value:\"440701\"},{city:\"江门市\",text:\"蓬江区\",value:\"440703\"},{city:\"江门市\",text:\"江海区\",value:\"440704\"},{city:\"江门市\",text:\"新会区\",value:\"440705\"},{city:\"江门市\",text:\"台山市\",value:\"440781\"},{city:\"江门市\",text:\"开平市\",value:\"440783\"},{city:\"江门市\",text:\"鹤山市\",value:\"440784\"},{city:\"江门市\",text:\"恩平市\",value:\"440785\"}],440800:[{city:\"湛江市\",text:\"市辖区\",value:\"440801\"},{city:\"湛江市\",text:\"赤坎区\",value:\"440802\"},{city:\"湛江市\",text:\"霞山区\",value:\"440803\"},{city:\"湛江市\",text:\"坡头区\",value:\"440804\"},{city:\"湛江市\",text:\"麻章区\",value:\"440811\"},{city:\"湛江市\",text:\"遂溪县\",value:\"440823\"},{city:\"湛江市\",text:\"徐闻县\",value:\"440825\"},{city:\"湛江市\",text:\"廉江市\",value:\"440881\"},{city:\"湛江市\",text:\"雷州市\",value:\"440882\"},{city:\"湛江市\",text:\"吴川市\",value:\"440883\"}],440900:[{city:\"茂名市\",text:\"市辖区\",value:\"440901\"},{city:\"茂名市\",text:\"茂南区\",value:\"440902\"},{city:\"茂名市\",text:\"电白区\",value:\"440904\"},{city:\"茂名市\",text:\"高州市\",value:\"440981\"},{city:\"茂名市\",text:\"化州市\",value:\"440982\"},{city:\"茂名市\",text:\"信宜市\",value:\"440983\"}],441200:[{city:\"肇庆市\",text:\"市辖区\",value:\"441201\"},{city:\"肇庆市\",text:\"端州区\",value:\"441202\"},{city:\"肇庆市\",text:\"鼎湖区\",value:\"441203\"},{city:\"肇庆市\",text:\"高要区\",value:\"441204\"},{city:\"肇庆市\",text:\"广宁县\",value:\"441223\"},{city:\"肇庆市\",text:\"怀集县\",value:\"441224\"},{city:\"肇庆市\",text:\"封开县\",value:\"441225\"},{city:\"肇庆市\",text:\"德庆县\",value:\"441226\"},{city:\"肇庆市\",text:\"四会市\",value:\"441284\"}],441300:[{city:\"惠州市\",text:\"市辖区\",value:\"441301\"},{city:\"惠州市\",text:\"惠城区\",value:\"441302\"},{city:\"惠州市\",text:\"惠阳区\",value:\"441303\"},{city:\"惠州市\",text:\"博罗县\",value:\"441322\"},{city:\"惠州市\",text:\"惠东县\",value:\"441323\"},{city:\"惠州市\",text:\"龙门县\",value:\"441324\"}],441400:[{city:\"梅州市\",text:\"市辖区\",value:\"441401\"},{city:\"梅州市\",text:\"梅江区\",value:\"441402\"},{city:\"梅州市\",text:\"梅县区\",value:\"441403\"},{city:\"梅州市\",text:\"大埔县\",value:\"441422\"},{city:\"梅州市\",text:\"丰顺县\",value:\"441423\"},{city:\"梅州市\",text:\"五华县\",value:\"441424\"},{city:\"梅州市\",text:\"平远县\",value:\"441426\"},{city:\"梅州市\",text:\"蕉岭县\",value:\"441427\"},{city:\"梅州市\",text:\"兴宁市\",value:\"441481\"}],441500:[{city:\"汕尾市\",text:\"市辖区\",value:\"441501\"},{city:\"汕尾市\",text:\"城区\",value:\"441502\"},{city:\"汕尾市\",text:\"海丰县\",value:\"441521\"},{city:\"汕尾市\",text:\"陆河县\",value:\"441523\"},{city:\"汕尾市\",text:\"陆丰市\",value:\"441581\"}],441600:[{city:\"河源市\",text:\"市辖区\",value:\"441601\"},{city:\"河源市\",text:\"源城区\",value:\"441602\"},{city:\"河源市\",text:\"紫金县\",value:\"441621\"},{city:\"河源市\",text:\"龙川县\",value:\"441622\"},{city:\"河源市\",text:\"连平县\",value:\"441623\"},{city:\"河源市\",text:\"和平县\",value:\"441624\"},{city:\"河源市\",text:\"东源县\",value:\"441625\"}],441700:[{city:\"阳江市\",text:\"市辖区\",value:\"441701\"},{city:\"阳江市\",text:\"江城区\",value:\"441702\"},{city:\"阳江市\",text:\"阳东区\",value:\"441704\"},{city:\"阳江市\",text:\"阳西县\",value:\"441721\"},{city:\"阳江市\",text:\"阳春市\",value:\"441781\"}],441800:[{city:\"清远市\",text:\"市辖区\",value:\"441801\"},{city:\"清远市\",text:\"清城区\",value:\"441802\"},{city:\"清远市\",text:\"清新区\",value:\"441803\"},{city:\"清远市\",text:\"佛冈县\",value:\"441821\"},{city:\"清远市\",text:\"阳山县\",value:\"441823\"},{city:\"清远市\",text:\"连山壮族瑶族自治县\",value:\"441825\"},{city:\"清远市\",text:\"连南瑶族自治县\",value:\"441826\"},{city:\"清远市\",text:\"英德市\",value:\"441881\"},{city:\"清远市\",text:\"连州市\",value:\"441882\"}],441900:[],442000:[],445100:[{city:\"潮州市\",text:\"市辖区\",value:\"445101\"},{city:\"潮州市\",text:\"湘桥区\",value:\"445102\"},{city:\"潮州市\",text:\"潮安区\",value:\"445103\"},{city:\"潮州市\",text:\"饶平县\",value:\"445122\"}],445200:[{city:\"揭阳市\",text:\"市辖区\",value:\"445201\"},{city:\"揭阳市\",text:\"榕城区\",value:\"445202\"},{city:\"揭阳市\",text:\"揭东区\",value:\"445203\"},{city:\"揭阳市\",text:\"揭西县\",value:\"445222\"},{city:\"揭阳市\",text:\"惠来县\",value:\"445224\"},{city:\"揭阳市\",text:\"普宁市\",value:\"445281\"}],445300:[{city:\"云浮市\",text:\"市辖区\",value:\"445301\"},{city:\"云浮市\",text:\"云城区\",value:\"445302\"},{city:\"云浮市\",text:\"云安区\",value:\"445303\"},{city:\"云浮市\",text:\"新兴县\",value:\"445321\"},{city:\"云浮市\",text:\"郁南县\",value:\"445322\"},{city:\"云浮市\",text:\"罗定市\",value:\"445381\"}],450100:[{city:\"南宁市\",text:\"市辖区\",value:\"450101\"},{city:\"南宁市\",text:\"兴宁区\",value:\"450102\"},{city:\"南宁市\",text:\"青秀区\",value:\"450103\"},{city:\"南宁市\",text:\"江南区\",value:\"450105\"},{city:\"南宁市\",text:\"西乡塘区\",value:\"450107\"},{city:\"南宁市\",text:\"良庆区\",value:\"450108\"},{city:\"南宁市\",text:\"邕宁区\",value:\"450109\"},{city:\"南宁市\",text:\"武鸣区\",value:\"450110\"},{city:\"南宁市\",text:\"隆安县\",value:\"450123\"},{city:\"南宁市\",text:\"马山县\",value:\"450124\"},{city:\"南宁市\",text:\"上林县\",value:\"450125\"},{city:\"南宁市\",text:\"宾阳县\",value:\"450126\"},{city:\"南宁市\",text:\"横县\",value:\"450127\"}],450200:[{city:\"柳州市\",text:\"市辖区\",value:\"450201\"},{city:\"柳州市\",text:\"城中区\",value:\"450202\"},{city:\"柳州市\",text:\"鱼峰区\",value:\"450203\"},{city:\"柳州市\",text:\"柳南区\",value:\"450204\"},{city:\"柳州市\",text:\"柳北区\",value:\"450205\"},{city:\"柳州市\",text:\"柳江区\",value:\"450206\"},{city:\"柳州市\",text:\"柳城县\",value:\"450222\"},{city:\"柳州市\",text:\"鹿寨县\",value:\"450223\"},{city:\"柳州市\",text:\"融安县\",value:\"450224\"},{city:\"柳州市\",text:\"融水苗族自治县\",value:\"450225\"},{city:\"柳州市\",text:\"三江侗族自治县\",value:\"450226\"}],450300:[{city:\"桂林市\",text:\"市辖区\",value:\"450301\"},{city:\"桂林市\",text:\"秀峰区\",value:\"450302\"},{city:\"桂林市\",text:\"叠彩区\",value:\"450303\"},{city:\"桂林市\",text:\"象山区\",value:\"450304\"},{city:\"桂林市\",text:\"七星区\",value:\"450305\"},{city:\"桂林市\",text:\"雁山区\",value:\"450311\"},{city:\"桂林市\",text:\"临桂区\",value:\"450312\"},{city:\"桂林市\",text:\"阳朔县\",value:\"450321\"},{city:\"桂林市\",text:\"灵川县\",value:\"450323\"},{city:\"桂林市\",text:\"全州县\",value:\"450324\"},{city:\"桂林市\",text:\"兴安县\",value:\"450325\"},{city:\"桂林市\",text:\"永福县\",value:\"450326\"},{city:\"桂林市\",text:\"灌阳县\",value:\"450327\"},{city:\"桂林市\",text:\"龙胜各族自治县\",value:\"450328\"},{city:\"桂林市\",text:\"资源县\",value:\"450329\"},{city:\"桂林市\",text:\"平乐县\",value:\"450330\"},{city:\"桂林市\",text:\"荔浦县\",value:\"450331\"},{city:\"桂林市\",text:\"恭城瑶族自治县\",value:\"450332\"}],450400:[{city:\"梧州市\",text:\"市辖区\",value:\"450401\"},{city:\"梧州市\",text:\"万秀区\",value:\"450403\"},{city:\"梧州市\",text:\"长洲区\",value:\"450405\"},{city:\"梧州市\",text:\"龙圩区\",value:\"450406\"},{city:\"梧州市\",text:\"苍梧县\",value:\"450421\"},{city:\"梧州市\",text:\"藤县\",value:\"450422\"},{city:\"梧州市\",text:\"蒙山县\",value:\"450423\"},{city:\"梧州市\",text:\"岑溪市\",value:\"450481\"}],450500:[{city:\"北海市\",text:\"市辖区\",value:\"450501\"},{city:\"北海市\",text:\"海城区\",value:\"450502\"},{city:\"北海市\",text:\"银海区\",value:\"450503\"},{city:\"北海市\",text:\"铁山港区\",value:\"450512\"},{city:\"北海市\",text:\"合浦县\",value:\"450521\"}],450600:[{city:\"防城港市\",text:\"市辖区\",value:\"450601\"},{city:\"防城港市\",text:\"港口区\",value:\"450602\"},{city:\"防城港市\",text:\"防城区\",value:\"450603\"},{city:\"防城港市\",text:\"上思县\",value:\"450621\"},{city:\"防城港市\",text:\"东兴市\",value:\"450681\"}],450700:[{city:\"钦州市\",text:\"市辖区\",value:\"450701\"},{city:\"钦州市\",text:\"钦南区\",value:\"450702\"},{city:\"钦州市\",text:\"钦北区\",value:\"450703\"},{city:\"钦州市\",text:\"灵山县\",value:\"450721\"},{city:\"钦州市\",text:\"浦北县\",value:\"450722\"}],450800:[{city:\"贵港市\",text:\"市辖区\",value:\"450801\"},{city:\"贵港市\",text:\"港北区\",value:\"450802\"},{city:\"贵港市\",text:\"港南区\",value:\"450803\"},{city:\"贵港市\",text:\"覃塘区\",value:\"450804\"},{city:\"贵港市\",text:\"平南县\",value:\"450821\"},{city:\"贵港市\",text:\"桂平市\",value:\"450881\"}],450900:[{city:\"玉林市\",text:\"市辖区\",value:\"450901\"},{city:\"玉林市\",text:\"玉州区\",value:\"450902\"},{city:\"玉林市\",text:\"福绵区\",value:\"450903\"},{city:\"玉林市\",text:\"容县\",value:\"450921\"},{city:\"玉林市\",text:\"陆川县\",value:\"450922\"},{city:\"玉林市\",text:\"博白县\",value:\"450923\"},{city:\"玉林市\",text:\"兴业县\",value:\"450924\"},{city:\"玉林市\",text:\"北流市\",value:\"450981\"}],451000:[{city:\"百色市\",text:\"市辖区\",value:\"451001\"},{city:\"百色市\",text:\"右江区\",value:\"451002\"},{city:\"百色市\",text:\"田阳县\",value:\"451021\"},{city:\"百色市\",text:\"田东县\",value:\"451022\"},{city:\"百色市\",text:\"平果县\",value:\"451023\"},{city:\"百色市\",text:\"德保县\",value:\"451024\"},{city:\"百色市\",text:\"那坡县\",value:\"451026\"},{city:\"百色市\",text:\"凌云县\",value:\"451027\"},{city:\"百色市\",text:\"乐业县\",value:\"451028\"},{city:\"百色市\",text:\"田林县\",value:\"451029\"},{city:\"百色市\",text:\"西林县\",value:\"451030\"},{city:\"百色市\",text:\"隆林各族自治县\",value:\"451031\"},{city:\"百色市\",text:\"靖西市\",value:\"451081\"}],451100:[{city:\"贺州市\",text:\"市辖区\",value:\"451101\"},{city:\"贺州市\",text:\"八步区\",value:\"451102\"},{city:\"贺州市\",text:\"平桂区\",value:\"451103\"},{city:\"贺州市\",text:\"昭平县\",value:\"451121\"},{city:\"贺州市\",text:\"钟山县\",value:\"451122\"},{city:\"贺州市\",text:\"富川瑶族自治县\",value:\"451123\"}],451200:[{city:\"河池市\",text:\"市辖区\",value:\"451201\"},{city:\"河池市\",text:\"金城江区\",value:\"451202\"},{city:\"河池市\",text:\"南丹县\",value:\"451221\"},{city:\"河池市\",text:\"天峨县\",value:\"451222\"},{city:\"河池市\",text:\"凤山县\",value:\"451223\"},{city:\"河池市\",text:\"东兰县\",value:\"451224\"},{city:\"河池市\",text:\"罗城仫佬族自治县\",value:\"451225\"},{city:\"河池市\",text:\"环江毛南族自治县\",value:\"451226\"},{city:\"河池市\",text:\"巴马瑶族自治县\",value:\"451227\"},{city:\"河池市\",text:\"都安瑶族自治县\",value:\"451228\"},{city:\"河池市\",text:\"大化瑶族自治县\",value:\"451229\"},{city:\"河池市\",text:\"宜州市\",value:\"451281\"}],451300:[{city:\"来宾市\",text:\"市辖区\",value:\"451301\"},{city:\"来宾市\",text:\"兴宾区\",value:\"451302\"},{city:\"来宾市\",text:\"忻城县\",value:\"451321\"},{city:\"来宾市\",text:\"象州县\",value:\"451322\"},{city:\"来宾市\",text:\"武宣县\",value:\"451323\"},{city:\"来宾市\",text:\"金秀瑶族自治县\",value:\"451324\"},{city:\"来宾市\",text:\"合山市\",value:\"451381\"}],451400:[{city:\"崇左市\",text:\"市辖区\",value:\"451401\"},{city:\"崇左市\",text:\"江州区\",value:\"451402\"},{city:\"崇左市\",text:\"扶绥县\",value:\"451421\"},{city:\"崇左市\",text:\"宁明县\",value:\"451422\"},{city:\"崇左市\",text:\"龙州县\",value:\"451423\"},{city:\"崇左市\",text:\"大新县\",value:\"451424\"},{city:\"崇左市\",text:\"天等县\",value:\"451425\"},{city:\"崇左市\",text:\"凭祥市\",value:\"451481\"}],460100:[{city:\"海口市\",text:\"市辖区\",value:\"460101\"},{city:\"海口市\",text:\"秀英区\",value:\"460105\"},{city:\"海口市\",text:\"龙华区\",value:\"460106\"},{city:\"海口市\",text:\"琼山区\",value:\"460107\"},{city:\"海口市\",text:\"美兰区\",value:\"460108\"}],460200:[{city:\"三亚市\",text:\"市辖区\",value:\"460201\"},{city:\"三亚市\",text:\"海棠区\",value:\"460202\"},{city:\"三亚市\",text:\"吉阳区\",value:\"460203\"},{city:\"三亚市\",text:\"天涯区\",value:\"460204\"},{city:\"三亚市\",text:\"崖州区\",value:\"460205\"}],460300:[],460400:[],469000:[{city:\"省直辖县级行政区划\",text:\"五指山市\",value:\"469001\"},{city:\"省直辖县级行政区划\",text:\"琼海市\",value:\"469002\"},{city:\"省直辖县级行政区划\",text:\"文昌市\",value:\"469005\"},{city:\"省直辖县级行政区划\",text:\"万宁市\",value:\"469006\"},{city:\"省直辖县级行政区划\",text:\"东方市\",value:\"469007\"},{city:\"省直辖县级行政区划\",text:\"定安县\",value:\"469021\"},{city:\"省直辖县级行政区划\",text:\"屯昌县\",value:\"469022\"},{city:\"省直辖县级行政区划\",text:\"澄迈县\",value:\"469023\"},{city:\"省直辖县级行政区划\",text:\"临高县\",value:\"469024\"},{city:\"省直辖县级行政区划\",text:\"白沙黎族自治县\",value:\"469025\"},{city:\"省直辖县级行政区划\",text:\"昌江黎族自治县\",value:\"469026\"},{city:\"省直辖县级行政区划\",text:\"乐东黎族自治县\",value:\"469027\"},{city:\"省直辖县级行政区划\",text:\"陵水黎族自治县\",value:\"469028\"},{city:\"省直辖县级行政区划\",text:\"保亭黎族苗族自治县\",value:\"469029\"},{city:\"省直辖县级行政区划\",text:\"琼中黎族苗族自治县\",value:\"469030\"}],500100:[{city:\"市辖区\",text:\"万州区\",value:\"500101\"},{city:\"市辖区\",text:\"涪陵区\",value:\"500102\"},{city:\"市辖区\",text:\"渝中区\",value:\"500103\"},{city:\"市辖区\",text:\"大渡口区\",value:\"500104\"},{city:\"市辖区\",text:\"江北区\",value:\"500105\"},{city:\"市辖区\",text:\"沙坪坝区\",value:\"500106\"},{city:\"市辖区\",text:\"九龙坡区\",value:\"500107\"},{city:\"市辖区\",text:\"南岸区\",value:\"500108\"},{city:\"市辖区\",text:\"北碚区\",value:\"500109\"},{city:\"市辖区\",text:\"綦江区\",value:\"500110\"},{city:\"市辖区\",text:\"大足区\",value:\"500111\"},{city:\"市辖区\",text:\"渝北区\",value:\"500112\"},{city:\"市辖区\",text:\"巴南区\",value:\"500113\"},{city:\"市辖区\",text:\"黔江区\",value:\"500114\"},{city:\"市辖区\",text:\"长寿区\",value:\"500115\"},{city:\"市辖区\",text:\"江津区\",value:\"500116\"},{city:\"市辖区\",text:\"合川区\",value:\"500117\"},{city:\"市辖区\",text:\"永川区\",value:\"500118\"},{city:\"市辖区\",text:\"南川区\",value:\"500119\"},{city:\"市辖区\",text:\"璧山区\",value:\"500120\"},{city:\"市辖区\",text:\"铜梁区\",value:\"500151\"},{city:\"市辖区\",text:\"潼南区\",value:\"500152\"},{city:\"市辖区\",text:\"荣昌区\",value:\"500153\"},{city:\"市辖区\",text:\"开州区\",value:\"500154\"}],500200:[{city:\"县\",text:\"梁平县\",value:\"500228\"},{city:\"县\",text:\"城口县\",value:\"500229\"},{city:\"县\",text:\"丰都县\",value:\"500230\"},{city:\"县\",text:\"垫江县\",value:\"500231\"},{city:\"县\",text:\"武隆县\",value:\"500232\"},{city:\"县\",text:\"忠县\",value:\"500233\"},{city:\"县\",text:\"云阳县\",value:\"500235\"},{city:\"县\",text:\"奉节县\",value:\"500236\"},{city:\"县\",text:\"巫山县\",value:\"500237\"},{city:\"县\",text:\"巫溪县\",value:\"500238\"},{city:\"县\",text:\"石柱土家族自治县\",value:\"500240\"},{city:\"县\",text:\"秀山土家族苗族自治县\",value:\"500241\"},{city:\"县\",text:\"酉阳土家族苗族自治县\",value:\"500242\"},{city:\"县\",text:\"彭水苗族土家族自治县\",value:\"500243\"}],510100:[{city:\"成都市\",text:\"市辖区\",value:\"510101\"},{city:\"成都市\",text:\"锦江区\",value:\"510104\"},{city:\"成都市\",text:\"青羊区\",value:\"510105\"},{city:\"成都市\",text:\"金牛区\",value:\"510106\"},{city:\"成都市\",text:\"武侯区\",value:\"510107\"},{city:\"成都市\",text:\"成华区\",value:\"510108\"},{city:\"成都市\",text:\"龙泉驿区\",value:\"510112\"},{city:\"成都市\",text:\"青白江区\",value:\"510113\"},{city:\"成都市\",text:\"新都区\",value:\"510114\"},{city:\"成都市\",text:\"温江区\",value:\"510115\"},{city:\"成都市\",text:\"双流区\",value:\"510116\"},{city:\"成都市\",text:\"金堂县\",value:\"510121\"},{city:\"成都市\",text:\"郫县\",value:\"510124\"},{city:\"成都市\",text:\"大邑县\",value:\"510129\"},{city:\"成都市\",text:\"蒲江县\",value:\"510131\"},{city:\"成都市\",text:\"新津县\",value:\"510132\"},{city:\"成都市\",text:\"都江堰市\",value:\"510181\"},{city:\"成都市\",text:\"彭州市\",value:\"510182\"},{city:\"成都市\",text:\"邛崃市\",value:\"510183\"},{city:\"成都市\",text:\"崇州市\",value:\"510184\"},{city:\"成都市\",text:\"简阳市\",value:\"510185\"}],510300:[{city:\"自贡市\",text:\"市辖区\",value:\"510301\"},{city:\"自贡市\",text:\"自流井区\",value:\"510302\"},{city:\"自贡市\",text:\"贡井区\",value:\"510303\"},{city:\"自贡市\",text:\"大安区\",value:\"510304\"},{city:\"自贡市\",text:\"沿滩区\",value:\"510311\"},{city:\"自贡市\",text:\"荣县\",value:\"510321\"},{city:\"自贡市\",text:\"富顺县\",value:\"510322\"}],510400:[{city:\"攀枝花市\",text:\"市辖区\",value:\"510401\"},{city:\"攀枝花市\",text:\"东区\",value:\"510402\"},{city:\"攀枝花市\",text:\"西区\",value:\"510403\"},{city:\"攀枝花市\",text:\"仁和区\",value:\"510411\"},{city:\"攀枝花市\",text:\"米易县\",value:\"510421\"},{city:\"攀枝花市\",text:\"盐边县\",value:\"510422\"}],510500:[{city:\"泸州市\",text:\"市辖区\",value:\"510501\"},{city:\"泸州市\",text:\"江阳区\",value:\"510502\"},{city:\"泸州市\",text:\"纳溪区\",value:\"510503\"},{city:\"泸州市\",text:\"龙马潭区\",value:\"510504\"},{city:\"泸州市\",text:\"泸县\",value:\"510521\"},{city:\"泸州市\",text:\"合江县\",value:\"510522\"},{city:\"泸州市\",text:\"叙永县\",value:\"510524\"},{city:\"泸州市\",text:\"古蔺县\",value:\"510525\"}],510600:[{city:\"德阳市\",text:\"市辖区\",value:\"510601\"},{city:\"德阳市\",text:\"旌阳区\",value:\"510603\"},{city:\"德阳市\",text:\"中江县\",value:\"510623\"},{city:\"德阳市\",text:\"罗江县\",value:\"510626\"},{city:\"德阳市\",text:\"广汉市\",value:\"510681\"},{city:\"德阳市\",text:\"什邡市\",value:\"510682\"},{city:\"德阳市\",text:\"绵竹市\",value:\"510683\"}],510700:[{city:\"绵阳市\",text:\"市辖区\",value:\"510701\"},{city:\"绵阳市\",text:\"涪城区\",value:\"510703\"},{city:\"绵阳市\",text:\"游仙区\",value:\"510704\"},{city:\"绵阳市\",text:\"安州区\",value:\"510705\"},{city:\"绵阳市\",text:\"三台县\",value:\"510722\"},{city:\"绵阳市\",text:\"盐亭县\",value:\"510723\"},{city:\"绵阳市\",text:\"梓潼县\",value:\"510725\"},{city:\"绵阳市\",text:\"北川羌族自治县\",value:\"510726\"},{city:\"绵阳市\",text:\"平武县\",value:\"510727\"},{city:\"绵阳市\",text:\"江油市\",value:\"510781\"}],510800:[{city:\"广元市\",text:\"市辖区\",value:\"510801\"},{city:\"广元市\",text:\"利州区\",value:\"510802\"},{city:\"广元市\",text:\"昭化区\",value:\"510811\"},{city:\"广元市\",text:\"朝天区\",value:\"510812\"},{city:\"广元市\",text:\"旺苍县\",value:\"510821\"},{city:\"广元市\",text:\"青川县\",value:\"510822\"},{city:\"广元市\",text:\"剑阁县\",value:\"510823\"},{city:\"广元市\",text:\"苍溪县\",value:\"510824\"}],510900:[{city:\"遂宁市\",text:\"市辖区\",value:\"510901\"},{city:\"遂宁市\",text:\"船山区\",value:\"510903\"},{city:\"遂宁市\",text:\"安居区\",value:\"510904\"},{city:\"遂宁市\",text:\"蓬溪县\",value:\"510921\"},{city:\"遂宁市\",text:\"射洪县\",value:\"510922\"},{city:\"遂宁市\",text:\"大英县\",value:\"510923\"}],511000:[{city:\"内江市\",text:\"市辖区\",value:\"511001\"},{city:\"内江市\",text:\"市中区\",value:\"511002\"},{city:\"内江市\",text:\"东兴区\",value:\"511011\"},{city:\"内江市\",text:\"威远县\",value:\"511024\"},{city:\"内江市\",text:\"资中县\",value:\"511025\"},{city:\"内江市\",text:\"隆昌县\",value:\"511028\"}],511100:[{city:\"乐山市\",text:\"市辖区\",value:\"511101\"},{city:\"乐山市\",text:\"市中区\",value:\"511102\"},{city:\"乐山市\",text:\"沙湾区\",value:\"511111\"},{city:\"乐山市\",text:\"五通桥区\",value:\"511112\"},{city:\"乐山市\",text:\"金口河区\",value:\"511113\"},{city:\"乐山市\",text:\"犍为县\",value:\"511123\"},{city:\"乐山市\",text:\"井研县\",value:\"511124\"},{city:\"乐山市\",text:\"夹江县\",value:\"511126\"},{city:\"乐山市\",text:\"沐川县\",value:\"511129\"},{city:\"乐山市\",text:\"峨边彝族自治县\",value:\"511132\"},{city:\"乐山市\",text:\"马边彝族自治县\",value:\"511133\"},{city:\"乐山市\",text:\"峨眉山市\",value:\"511181\"}],511300:[{city:\"南充市\",text:\"市辖区\",value:\"511301\"},{city:\"南充市\",text:\"顺庆区\",value:\"511302\"},{city:\"南充市\",text:\"高坪区\",value:\"511303\"},{city:\"南充市\",text:\"嘉陵区\",value:\"511304\"},{city:\"南充市\",text:\"南部县\",value:\"511321\"},{city:\"南充市\",text:\"营山县\",value:\"511322\"},{city:\"南充市\",text:\"蓬安县\",value:\"511323\"},{city:\"南充市\",text:\"仪陇县\",value:\"511324\"},{city:\"南充市\",text:\"西充县\",value:\"511325\"},{city:\"南充市\",text:\"阆中市\",value:\"511381\"}],511400:[{city:\"眉山市\",text:\"市辖区\",value:\"511401\"},{city:\"眉山市\",text:\"东坡区\",value:\"511402\"},{city:\"眉山市\",text:\"彭山区\",value:\"511403\"},{city:\"眉山市\",text:\"仁寿县\",value:\"511421\"},{city:\"眉山市\",text:\"洪雅县\",value:\"511423\"},{city:\"眉山市\",text:\"丹棱县\",value:\"511424\"},{city:\"眉山市\",text:\"青神县\",value:\"511425\"}],511500:[{city:\"宜宾市\",text:\"市辖区\",value:\"511501\"},{city:\"宜宾市\",text:\"翠屏区\",value:\"511502\"},{city:\"宜宾市\",text:\"南溪区\",value:\"511503\"},{city:\"宜宾市\",text:\"宜宾县\",value:\"511521\"},{city:\"宜宾市\",text:\"江安县\",value:\"511523\"},{city:\"宜宾市\",text:\"长宁县\",value:\"511524\"},{city:\"宜宾市\",text:\"高县\",value:\"511525\"},{city:\"宜宾市\",text:\"珙县\",value:\"511526\"},{city:\"宜宾市\",text:\"筠连县\",value:\"511527\"},{city:\"宜宾市\",text:\"兴文县\",value:\"511528\"},{city:\"宜宾市\",text:\"屏山县\",value:\"511529\"}],511600:[{city:\"广安市\",text:\"市辖区\",value:\"511601\"},{city:\"广安市\",text:\"广安区\",value:\"511602\"},{city:\"广安市\",text:\"前锋区\",value:\"511603\"},{city:\"广安市\",text:\"岳池县\",value:\"511621\"},{city:\"广安市\",text:\"武胜县\",value:\"511622\"},{city:\"广安市\",text:\"邻水县\",value:\"511623\"},{city:\"广安市\",text:\"华蓥市\",value:\"511681\"}],511700:[{city:\"达州市\",text:\"市辖区\",value:\"511701\"},{city:\"达州市\",text:\"通川区\",value:\"511702\"},{city:\"达州市\",text:\"达川区\",value:\"511703\"},{city:\"达州市\",text:\"宣汉县\",value:\"511722\"},{city:\"达州市\",text:\"开江县\",value:\"511723\"},{city:\"达州市\",text:\"大竹县\",value:\"511724\"},{city:\"达州市\",text:\"渠县\",value:\"511725\"},{city:\"达州市\",text:\"万源市\",value:\"511781\"}],511800:[{city:\"雅安市\",text:\"市辖区\",value:\"511801\"},{city:\"雅安市\",text:\"雨城区\",value:\"511802\"},{city:\"雅安市\",text:\"名山区\",value:\"511803\"},{city:\"雅安市\",text:\"荥经县\",value:\"511822\"},{city:\"雅安市\",text:\"汉源县\",value:\"511823\"},{city:\"雅安市\",text:\"石棉县\",value:\"511824\"},{city:\"雅安市\",text:\"天全县\",value:\"511825\"},{city:\"雅安市\",text:\"芦山县\",value:\"511826\"},{city:\"雅安市\",text:\"宝兴县\",value:\"511827\"}],511900:[{city:\"巴中市\",text:\"市辖区\",value:\"511901\"},{city:\"巴中市\",text:\"巴州区\",value:\"511902\"},{city:\"巴中市\",text:\"恩阳区\",value:\"511903\"},{city:\"巴中市\",text:\"通江县\",value:\"511921\"},{city:\"巴中市\",text:\"南江县\",value:\"511922\"},{city:\"巴中市\",text:\"平昌县\",value:\"511923\"}],512000:[{city:\"资阳市\",text:\"市辖区\",value:\"512001\"},{city:\"资阳市\",text:\"雁江区\",value:\"512002\"},{city:\"资阳市\",text:\"安岳县\",value:\"512021\"},{city:\"资阳市\",text:\"乐至县\",value:\"512022\"}],513200:[{city:\"阿坝藏族羌族自治州\",text:\"马尔康市\",value:\"513201\"},{city:\"阿坝藏族羌族自治州\",text:\"汶川县\",value:\"513221\"},{city:\"阿坝藏族羌族自治州\",text:\"理县\",value:\"513222\"},{city:\"阿坝藏族羌族自治州\",text:\"茂县\",value:\"513223\"},{city:\"阿坝藏族羌族自治州\",text:\"松潘县\",value:\"513224\"},{city:\"阿坝藏族羌族自治州\",text:\"九寨沟县\",value:\"513225\"},{city:\"阿坝藏族羌族自治州\",text:\"金川县\",value:\"513226\"},{city:\"阿坝藏族羌族自治州\",text:\"小金县\",value:\"513227\"},{city:\"阿坝藏族羌族自治州\",text:\"黑水县\",value:\"513228\"},{city:\"阿坝藏族羌族自治州\",text:\"壤塘县\",value:\"513230\"},{city:\"阿坝藏族羌族自治州\",text:\"阿坝县\",value:\"513231\"},{city:\"阿坝藏族羌族自治州\",text:\"若尔盖县\",value:\"513232\"},{city:\"阿坝藏族羌族自治州\",text:\"红原县\",value:\"513233\"}],513300:[{city:\"甘孜藏族自治州\",text:\"康定市\",value:\"513301\"},{city:\"甘孜藏族自治州\",text:\"泸定县\",value:\"513322\"},{city:\"甘孜藏族自治州\",text:\"丹巴县\",value:\"513323\"},{city:\"甘孜藏族自治州\",text:\"九龙县\",value:\"513324\"},{city:\"甘孜藏族自治州\",text:\"雅江县\",value:\"513325\"},{city:\"甘孜藏族自治州\",text:\"道孚县\",value:\"513326\"},{city:\"甘孜藏族自治州\",text:\"炉霍县\",value:\"513327\"},{city:\"甘孜藏族自治州\",text:\"甘孜县\",value:\"513328\"},{city:\"甘孜藏族自治州\",text:\"新龙县\",value:\"513329\"},{city:\"甘孜藏族自治州\",text:\"德格县\",value:\"513330\"},{city:\"甘孜藏族自治州\",text:\"白玉县\",value:\"513331\"},{city:\"甘孜藏族自治州\",text:\"石渠县\",value:\"513332\"},{city:\"甘孜藏族自治州\",text:\"色达县\",value:\"513333\"},{city:\"甘孜藏族自治州\",text:\"理塘县\",value:\"513334\"},{city:\"甘孜藏族自治州\",text:\"巴塘县\",value:\"513335\"},{city:\"甘孜藏族自治州\",text:\"乡城县\",value:\"513336\"},{city:\"甘孜藏族自治州\",text:\"稻城县\",value:\"513337\"},{city:\"甘孜藏族自治州\",text:\"得荣县\",value:\"513338\"}],513400:[{city:\"凉山彝族自治州\",text:\"西昌市\",value:\"513401\"},{city:\"凉山彝族自治州\",text:\"木里藏族自治县\",value:\"513422\"},{city:\"凉山彝族自治州\",text:\"盐源县\",value:\"513423\"},{city:\"凉山彝族自治州\",text:\"德昌县\",value:\"513424\"},{city:\"凉山彝族自治州\",text:\"会理县\",value:\"513425\"},{city:\"凉山彝族自治州\",text:\"会东县\",value:\"513426\"},{city:\"凉山彝族自治州\",text:\"宁南县\",value:\"513427\"},{city:\"凉山彝族自治州\",text:\"普格县\",value:\"513428\"},{city:\"凉山彝族自治州\",text:\"布拖县\",value:\"513429\"},{city:\"凉山彝族自治州\",text:\"金阳县\",value:\"513430\"},{city:\"凉山彝族自治州\",text:\"昭觉县\",value:\"513431\"},{city:\"凉山彝族自治州\",text:\"喜德县\",value:\"513432\"},{city:\"凉山彝族自治州\",text:\"冕宁县\",value:\"513433\"},{city:\"凉山彝族自治州\",text:\"越西县\",value:\"513434\"},{city:\"凉山彝族自治州\",text:\"甘洛县\",value:\"513435\"},{city:\"凉山彝族自治州\",text:\"美姑县\",value:\"513436\"},{city:\"凉山彝族自治州\",text:\"雷波县\",value:\"513437\"}],520100:[{city:\"贵阳市\",text:\"市辖区\",value:\"520101\"},{city:\"贵阳市\",text:\"南明区\",value:\"520102\"},{city:\"贵阳市\",text:\"云岩区\",value:\"520103\"},{city:\"贵阳市\",text:\"花溪区\",value:\"520111\"},{city:\"贵阳市\",text:\"乌当区\",value:\"520112\"},{city:\"贵阳市\",text:\"白云区\",value:\"520113\"},{city:\"贵阳市\",text:\"观山湖区\",value:\"520115\"},{city:\"贵阳市\",text:\"开阳县\",value:\"520121\"},{city:\"贵阳市\",text:\"息烽县\",value:\"520122\"},{city:\"贵阳市\",text:\"修文县\",value:\"520123\"},{city:\"贵阳市\",text:\"清镇市\",value:\"520181\"}],520200:[{city:\"六盘水市\",text:\"钟山区\",value:\"520201\"},{city:\"六盘水市\",text:\"六枝特区\",value:\"520203\"},{city:\"六盘水市\",text:\"水城县\",value:\"520221\"},{city:\"六盘水市\",text:\"盘县\",value:\"520222\"}],520300:[{city:\"遵义市\",text:\"市辖区\",value:\"520301\"},{city:\"遵义市\",text:\"红花岗区\",value:\"520302\"},{city:\"遵义市\",text:\"汇川区\",value:\"520303\"},{city:\"遵义市\",text:\"播州区\",value:\"520304\"},{city:\"遵义市\",text:\"桐梓县\",value:\"520322\"},{city:\"遵义市\",text:\"绥阳县\",value:\"520323\"},{city:\"遵义市\",text:\"正安县\",value:\"520324\"},{city:\"遵义市\",text:\"道真仡佬族苗族自治县\",value:\"520325\"},{city:\"遵义市\",text:\"务川仡佬族苗族自治县\",value:\"520326\"},{city:\"遵义市\",text:\"凤冈县\",value:\"520327\"},{city:\"遵义市\",text:\"湄潭县\",value:\"520328\"},{city:\"遵义市\",text:\"余庆县\",value:\"520329\"},{city:\"遵义市\",text:\"习水县\",value:\"520330\"},{city:\"遵义市\",text:\"赤水市\",value:\"520381\"},{city:\"遵义市\",text:\"仁怀市\",value:\"520382\"}],520400:[{city:\"安顺市\",text:\"市辖区\",value:\"520401\"},{city:\"安顺市\",text:\"西秀区\",value:\"520402\"},{city:\"安顺市\",text:\"平坝区\",value:\"520403\"},{city:\"安顺市\",text:\"普定县\",value:\"520422\"},{city:\"安顺市\",text:\"镇宁布依族苗族自治县\",value:\"520423\"},{city:\"安顺市\",text:\"关岭布依族苗族自治县\",value:\"520424\"},{city:\"安顺市\",text:\"紫云苗族布依族自治县\",value:\"520425\"}],520500:[{city:\"毕节市\",text:\"市辖区\",value:\"520501\"},{city:\"毕节市\",text:\"七星关区\",value:\"520502\"},{city:\"毕节市\",text:\"大方县\",value:\"520521\"},{city:\"毕节市\",text:\"黔西县\",value:\"520522\"},{city:\"毕节市\",text:\"金沙县\",value:\"520523\"},{city:\"毕节市\",text:\"织金县\",value:\"520524\"},{city:\"毕节市\",text:\"纳雍县\",value:\"520525\"},{city:\"毕节市\",text:\"威宁彝族回族苗族自治县\",value:\"520526\"},{city:\"毕节市\",text:\"赫章县\",value:\"520527\"}],520600:[{city:\"铜仁市\",text:\"市辖区\",value:\"520601\"},{city:\"铜仁市\",text:\"碧江区\",value:\"520602\"},{city:\"铜仁市\",text:\"万山区\",value:\"520603\"},{city:\"铜仁市\",text:\"江口县\",value:\"520621\"},{city:\"铜仁市\",text:\"玉屏侗族自治县\",value:\"520622\"},{city:\"铜仁市\",text:\"石阡县\",value:\"520623\"},{city:\"铜仁市\",text:\"思南县\",value:\"520624\"},{city:\"铜仁市\",text:\"印江土家族苗族自治县\",value:\"520625\"},{city:\"铜仁市\",text:\"德江县\",value:\"520626\"},{city:\"铜仁市\",text:\"沿河土家族自治县\",value:\"520627\"},{city:\"铜仁市\",text:\"松桃苗族自治县\",value:\"520628\"}],522300:[{city:\"黔西南布依族苗族自治州\",text:\"兴义市\",value:\"522301\"},{city:\"黔西南布依族苗族自治州\",text:\"兴仁县\",value:\"522322\"},{city:\"黔西南布依族苗族自治州\",text:\"普安县\",value:\"522323\"},{city:\"黔西南布依族苗族自治州\",text:\"晴隆县\",value:\"522324\"},{city:\"黔西南布依族苗族自治州\",text:\"贞丰县\",value:\"522325\"},{city:\"黔西南布依族苗族自治州\",text:\"望谟县\",value:\"522326\"},{city:\"黔西南布依族苗族自治州\",text:\"册亨县\",value:\"522327\"},{city:\"黔西南布依族苗族自治州\",text:\"安龙县\",value:\"522328\"}],522600:[{city:\"黔东南苗族侗族自治州\",text:\"凯里市\",value:\"522601\"},{city:\"黔东南苗族侗族自治州\",text:\"黄平县\",value:\"522622\"},{city:\"黔东南苗族侗族自治州\",text:\"施秉县\",value:\"522623\"},{city:\"黔东南苗族侗族自治州\",text:\"三穗县\",value:\"522624\"},{city:\"黔东南苗族侗族自治州\",text:\"镇远县\",value:\"522625\"},{city:\"黔东南苗族侗族自治州\",text:\"岑巩县\",value:\"522626\"},{city:\"黔东南苗族侗族自治州\",text:\"天柱县\",value:\"522627\"},{city:\"黔东南苗族侗族自治州\",text:\"锦屏县\",value:\"522628\"},{city:\"黔东南苗族侗族自治州\",text:\"剑河县\",value:\"522629\"},{city:\"黔东南苗族侗族自治州\",text:\"台江县\",value:\"522630\"},{city:\"黔东南苗族侗族自治州\",text:\"黎平县\",value:\"522631\"},{city:\"黔东南苗族侗族自治州\",text:\"榕江县\",value:\"522632\"},{city:\"黔东南苗族侗族自治州\",text:\"从江县\",value:\"522633\"},{city:\"黔东南苗族侗族自治州\",text:\"雷山县\",value:\"522634\"},{city:\"黔东南苗族侗族自治州\",text:\"麻江县\",value:\"522635\"},{city:\"黔东南苗族侗族自治州\",text:\"丹寨县\",value:\"522636\"}],522700:[{city:\"黔南布依族苗族自治州\",text:\"都匀市\",value:\"522701\"},{city:\"黔南布依族苗族自治州\",text:\"福泉市\",value:\"522702\"},{city:\"黔南布依族苗族自治州\",text:\"荔波县\",value:\"522722\"},{city:\"黔南布依族苗族自治州\",text:\"贵定县\",value:\"522723\"},{city:\"黔南布依族苗族自治州\",text:\"瓮安县\",value:\"522725\"},{city:\"黔南布依族苗族自治州\",text:\"独山县\",value:\"522726\"},{city:\"黔南布依族苗族自治州\",text:\"平塘县\",value:\"522727\"},{city:\"黔南布依族苗族自治州\",text:\"罗甸县\",value:\"522728\"},{city:\"黔南布依族苗族自治州\",text:\"长顺县\",value:\"522729\"},{city:\"黔南布依族苗族自治州\",text:\"龙里县\",value:\"522730\"},{city:\"黔南布依族苗族自治州\",text:\"惠水县\",value:\"522731\"},{city:\"黔南布依族苗族自治州\",text:\"三都水族自治县\",value:\"522732\"}],530100:[{city:\"昆明市\",text:\"市辖区\",value:\"530101\"},{city:\"昆明市\",text:\"五华区\",value:\"530102\"},{city:\"昆明市\",text:\"盘龙区\",value:\"530103\"},{city:\"昆明市\",text:\"官渡区\",value:\"530111\"},{city:\"昆明市\",text:\"西山区\",value:\"530112\"},{city:\"昆明市\",text:\"东川区\",value:\"530113\"},{city:\"昆明市\",text:\"呈贡区\",value:\"530114\"},{city:\"昆明市\",text:\"晋宁县\",value:\"530122\"},{city:\"昆明市\",text:\"富民县\",value:\"530124\"},{city:\"昆明市\",text:\"宜良县\",value:\"530125\"},{city:\"昆明市\",text:\"石林彝族自治县\",value:\"530126\"},{city:\"昆明市\",text:\"嵩明县\",value:\"530127\"},{city:\"昆明市\",text:\"禄劝彝族苗族自治县\",value:\"530128\"},{city:\"昆明市\",text:\"寻甸回族彝族自治县\",value:\"530129\"},{city:\"昆明市\",text:\"安宁市\",value:\"530181\"}],530300:[{city:\"曲靖市\",text:\"市辖区\",value:\"530301\"},{city:\"曲靖市\",text:\"麒麟区\",value:\"530302\"},{city:\"曲靖市\",text:\"沾益区\",value:\"530303\"},{city:\"曲靖市\",text:\"马龙县\",value:\"530321\"},{city:\"曲靖市\",text:\"陆良县\",value:\"530322\"},{city:\"曲靖市\",text:\"师宗县\",value:\"530323\"},{city:\"曲靖市\",text:\"罗平县\",value:\"530324\"},{city:\"曲靖市\",text:\"富源县\",value:\"530325\"},{city:\"曲靖市\",text:\"会泽县\",value:\"530326\"},{city:\"曲靖市\",text:\"宣威市\",value:\"530381\"}],530400:[{city:\"玉溪市\",text:\"市辖区\",value:\"530401\"},{city:\"玉溪市\",text:\"红塔区\",value:\"530402\"},{city:\"玉溪市\",text:\"江川区\",value:\"530403\"},{city:\"玉溪市\",text:\"澄江县\",value:\"530422\"},{city:\"玉溪市\",text:\"通海县\",value:\"530423\"},{city:\"玉溪市\",text:\"华宁县\",value:\"530424\"},{city:\"玉溪市\",text:\"易门县\",value:\"530425\"},{city:\"玉溪市\",text:\"峨山彝族自治县\",value:\"530426\"},{city:\"玉溪市\",text:\"新平彝族傣族自治县\",value:\"530427\"},{city:\"玉溪市\",text:\"元江哈尼族彝族傣族自治县\",value:\"530428\"}],530500:[{city:\"保山市\",text:\"市辖区\",value:\"530501\"},{city:\"保山市\",text:\"隆阳区\",value:\"530502\"},{city:\"保山市\",text:\"施甸县\",value:\"530521\"},{city:\"保山市\",text:\"龙陵县\",value:\"530523\"},{city:\"保山市\",text:\"昌宁县\",value:\"530524\"},{city:\"保山市\",text:\"腾冲市\",value:\"530581\"}],530600:[{city:\"昭通市\",text:\"市辖区\",value:\"530601\"},{city:\"昭通市\",text:\"昭阳区\",value:\"530602\"},{city:\"昭通市\",text:\"鲁甸县\",value:\"530621\"},{city:\"昭通市\",text:\"巧家县\",value:\"530622\"},{city:\"昭通市\",text:\"盐津县\",value:\"530623\"},{city:\"昭通市\",text:\"大关县\",value:\"530624\"},{city:\"昭通市\",text:\"永善县\",value:\"530625\"},{city:\"昭通市\",text:\"绥江县\",value:\"530626\"},{city:\"昭通市\",text:\"镇雄县\",value:\"530627\"},{city:\"昭通市\",text:\"彝良县\",value:\"530628\"},{city:\"昭通市\",text:\"威信县\",value:\"530629\"},{city:\"昭通市\",text:\"水富县\",value:\"530630\"}],530700:[{city:\"丽江市\",text:\"市辖区\",value:\"530701\"},{city:\"丽江市\",text:\"古城区\",value:\"530702\"},{city:\"丽江市\",text:\"玉龙纳西族自治县\",value:\"530721\"},{city:\"丽江市\",text:\"永胜县\",value:\"530722\"},{city:\"丽江市\",text:\"华坪县\",value:\"530723\"},{city:\"丽江市\",text:\"宁蒗彝族自治县\",value:\"530724\"}],530800:[{city:\"普洱市\",text:\"市辖区\",value:\"530801\"},{city:\"普洱市\",text:\"思茅区\",value:\"530802\"},{city:\"普洱市\",text:\"宁洱哈尼族彝族自治县\",value:\"530821\"},{city:\"普洱市\",text:\"墨江哈尼族自治县\",value:\"530822\"},{city:\"普洱市\",text:\"景东彝族自治县\",value:\"530823\"},{city:\"普洱市\",text:\"景谷傣族彝族自治县\",value:\"530824\"},{city:\"普洱市\",text:\"镇沅彝族哈尼族拉祜族自治县\",value:\"530825\"},{city:\"普洱市\",text:\"江城哈尼族彝族自治县\",value:\"530826\"},{city:\"普洱市\",text:\"孟连傣族拉祜族佤族自治县\",value:\"530827\"},{city:\"普洱市\",text:\"澜沧拉祜族自治县\",value:\"530828\"},{city:\"普洱市\",text:\"西盟佤族自治县\",value:\"530829\"}],530900:[{city:\"临沧市\",text:\"市辖区\",value:\"530901\"},{city:\"临沧市\",text:\"临翔区\",value:\"530902\"},{city:\"临沧市\",text:\"凤庆县\",value:\"530921\"},{city:\"临沧市\",text:\"云县\",value:\"530922\"},{city:\"临沧市\",text:\"永德县\",value:\"530923\"},{city:\"临沧市\",text:\"镇康县\",value:\"530924\"},{city:\"临沧市\",text:\"双江拉祜族佤族布朗族傣族自治县\",value:\"530925\"},{city:\"临沧市\",text:\"耿马傣族佤族自治县\",value:\"530926\"},{city:\"临沧市\",text:\"沧源佤族自治县\",value:\"530927\"}],532300:[{city:\"楚雄彝族自治州\",text:\"楚雄市\",value:\"532301\"},{city:\"楚雄彝族自治州\",text:\"双柏县\",value:\"532322\"},{city:\"楚雄彝族自治州\",text:\"牟定县\",value:\"532323\"},{city:\"楚雄彝族自治州\",text:\"南华县\",value:\"532324\"},{city:\"楚雄彝族自治州\",text:\"姚安县\",value:\"532325\"},{city:\"楚雄彝族自治州\",text:\"大姚县\",value:\"532326\"},{city:\"楚雄彝族自治州\",text:\"永仁县\",value:\"532327\"},{city:\"楚雄彝族自治州\",text:\"元谋县\",value:\"532328\"},{city:\"楚雄彝族自治州\",text:\"武定县\",value:\"532329\"},{city:\"楚雄彝族自治州\",text:\"禄丰县\",value:\"532331\"}],532500:[{city:\"红河哈尼族彝族自治州\",text:\"个旧市\",value:\"532501\"},{city:\"红河哈尼族彝族自治州\",text:\"开远市\",value:\"532502\"},{city:\"红河哈尼族彝族自治州\",text:\"蒙自市\",value:\"532503\"},{city:\"红河哈尼族彝族自治州\",text:\"弥勒市\",value:\"532504\"},{city:\"红河哈尼族彝族自治州\",text:\"屏边苗族自治县\",value:\"532523\"},{city:\"红河哈尼族彝族自治州\",text:\"建水县\",value:\"532524\"},{city:\"红河哈尼族彝族自治州\",text:\"石屏县\",value:\"532525\"},{city:\"红河哈尼族彝族自治州\",text:\"泸西县\",value:\"532527\"},{city:\"红河哈尼族彝族自治州\",text:\"元阳县\",value:\"532528\"},{city:\"红河哈尼族彝族自治州\",text:\"红河县\",value:\"532529\"},{city:\"红河哈尼族彝族自治州\",text:\"金平苗族瑶族傣族自治县\",value:\"532530\"},{city:\"红河哈尼族彝族自治州\",text:\"绿春县\",value:\"532531\"},{city:\"红河哈尼族彝族自治州\",text:\"河口瑶族自治县\",value:\"532532\"}],532600:[{city:\"文山壮族苗族自治州\",text:\"文山市\",value:\"532601\"},{city:\"文山壮族苗族自治州\",text:\"砚山县\",value:\"532622\"},{city:\"文山壮族苗族自治州\",text:\"西畴县\",value:\"532623\"},{city:\"文山壮族苗族自治州\",text:\"麻栗坡县\",value:\"532624\"},{city:\"文山壮族苗族自治州\",text:\"马关县\",value:\"532625\"},{city:\"文山壮族苗族自治州\",text:\"丘北县\",value:\"532626\"},{city:\"文山壮族苗族自治州\",text:\"广南县\",value:\"532627\"},{city:\"文山壮族苗族自治州\",text:\"富宁县\",value:\"532628\"}],532800:[{city:\"西双版纳傣族自治州\",text:\"景洪市\",value:\"532801\"},{city:\"西双版纳傣族自治州\",text:\"勐海县\",value:\"532822\"},{city:\"西双版纳傣族自治州\",text:\"勐腊县\",value:\"532823\"}],532900:[{city:\"大理白族自治州\",text:\"大理市\",value:\"532901\"},{city:\"大理白族自治州\",text:\"漾濞彝族自治县\",value:\"532922\"},{city:\"大理白族自治州\",text:\"祥云县\",value:\"532923\"},{city:\"大理白族自治州\",text:\"宾川县\",value:\"532924\"},{city:\"大理白族自治州\",text:\"弥渡县\",value:\"532925\"},{city:\"大理白族自治州\",text:\"南涧彝族自治县\",value:\"532926\"},{city:\"大理白族自治州\",text:\"巍山彝族回族自治县\",value:\"532927\"},{city:\"大理白族自治州\",text:\"永平县\",value:\"532928\"},{city:\"大理白族自治州\",text:\"云龙县\",value:\"532929\"},{city:\"大理白族自治州\",text:\"洱源县\",value:\"532930\"},{city:\"大理白族自治州\",text:\"剑川县\",value:\"532931\"},{city:\"大理白族自治州\",text:\"鹤庆县\",value:\"532932\"}],533100:[{city:\"德宏傣族景颇族自治州\",text:\"瑞丽市\",value:\"533102\"},{city:\"德宏傣族景颇族自治州\",text:\"芒市\",value:\"533103\"},{city:\"德宏傣族景颇族自治州\",text:\"梁河县\",value:\"533122\"},{city:\"德宏傣族景颇族自治州\",text:\"盈江县\",value:\"533123\"},{city:\"德宏傣族景颇族自治州\",text:\"陇川县\",value:\"533124\"}],533300:[{city:\"怒江傈僳族自治州\",text:\"泸水市\",value:\"533301\"},{city:\"怒江傈僳族自治州\",text:\"福贡县\",value:\"533323\"},{city:\"怒江傈僳族自治州\",text:\"贡山独龙族怒族自治县\",value:\"533324\"},{city:\"怒江傈僳族自治州\",text:\"兰坪白族普米族自治县\",value:\"533325\"}],533400:[{city:\"迪庆藏族自治州\",text:\"香格里拉市\",value:\"533401\"},{city:\"迪庆藏族自治州\",text:\"德钦县\",value:\"533422\"},{city:\"迪庆藏族自治州\",text:\"维西傈僳族自治县\",value:\"533423\"}],540100:[{city:\"拉萨市\",text:\"市辖区\",value:\"540101\"},{city:\"拉萨市\",text:\"城关区\",value:\"540102\"},{city:\"拉萨市\",text:\"堆龙德庆区\",value:\"540103\"},{city:\"拉萨市\",text:\"林周县\",value:\"540121\"},{city:\"拉萨市\",text:\"当雄县\",value:\"540122\"},{city:\"拉萨市\",text:\"尼木县\",value:\"540123\"},{city:\"拉萨市\",text:\"曲水县\",value:\"540124\"},{city:\"拉萨市\",text:\"达孜县\",value:\"540126\"},{city:\"拉萨市\",text:\"墨竹工卡县\",value:\"540127\"}],540200:[{city:\"日喀则市\",text:\"桑珠孜区\",value:\"540202\"},{city:\"日喀则市\",text:\"南木林县\",value:\"540221\"},{city:\"日喀则市\",text:\"江孜县\",value:\"540222\"},{city:\"日喀则市\",text:\"定日县\",value:\"540223\"},{city:\"日喀则市\",text:\"萨迦县\",value:\"540224\"},{city:\"日喀则市\",text:\"拉孜县\",value:\"540225\"},{city:\"日喀则市\",text:\"昂仁县\",value:\"540226\"},{city:\"日喀则市\",text:\"谢通门县\",value:\"540227\"},{city:\"日喀则市\",text:\"白朗县\",value:\"540228\"},{city:\"日喀则市\",text:\"仁布县\",value:\"540229\"},{city:\"日喀则市\",text:\"康马县\",value:\"540230\"},{city:\"日喀则市\",text:\"定结县\",value:\"540231\"},{city:\"日喀则市\",text:\"仲巴县\",value:\"540232\"},{city:\"日喀则市\",text:\"亚东县\",value:\"540233\"},{city:\"日喀则市\",text:\"吉隆县\",value:\"540234\"},{city:\"日喀则市\",text:\"聂拉木县\",value:\"540235\"},{city:\"日喀则市\",text:\"萨嘎县\",value:\"540236\"},{city:\"日喀则市\",text:\"岗巴县\",value:\"540237\"}],540300:[{city:\"昌都市\",text:\"卡若区\",value:\"540302\"},{city:\"昌都市\",text:\"江达县\",value:\"540321\"},{city:\"昌都市\",text:\"贡觉县\",value:\"540322\"},{city:\"昌都市\",text:\"类乌齐县\",value:\"540323\"},{city:\"昌都市\",text:\"丁青县\",value:\"540324\"},{city:\"昌都市\",text:\"察雅县\",value:\"540325\"},{city:\"昌都市\",text:\"八宿县\",value:\"540326\"},{city:\"昌都市\",text:\"左贡县\",value:\"540327\"},{city:\"昌都市\",text:\"芒康县\",value:\"540328\"},{city:\"昌都市\",text:\"洛隆县\",value:\"540329\"},{city:\"昌都市\",text:\"边坝县\",value:\"540330\"}],540400:[{city:\"林芝市\",text:\"巴宜区\",value:\"540402\"},{city:\"林芝市\",text:\"工布江达县\",value:\"540421\"},{city:\"林芝市\",text:\"米林县\",value:\"540422\"},{city:\"林芝市\",text:\"墨脱县\",value:\"540423\"},{city:\"林芝市\",text:\"波密县\",value:\"540424\"},{city:\"林芝市\",text:\"察隅县\",value:\"540425\"},{city:\"林芝市\",text:\"朗县\",value:\"540426\"}],540500:[{city:\"山南市\",text:\"市辖区\",value:\"540501\"},{city:\"山南市\",text:\"乃东区\",value:\"540502\"},{city:\"山南市\",text:\"扎囊县\",value:\"540521\"},{city:\"山南市\",text:\"贡嘎县\",value:\"540522\"},{city:\"山南市\",text:\"桑日县\",value:\"540523\"},{city:\"山南市\",text:\"琼结县\",value:\"540524\"},{city:\"山南市\",text:\"曲松县\",value:\"540525\"},{city:\"山南市\",text:\"措美县\",value:\"540526\"},{city:\"山南市\",text:\"洛扎县\",value:\"540527\"},{city:\"山南市\",text:\"加查县\",value:\"540528\"},{city:\"山南市\",text:\"隆子县\",value:\"540529\"},{city:\"山南市\",text:\"错那县\",value:\"540530\"},{city:\"山南市\",text:\"浪卡子县\",value:\"540531\"}],542400:[{city:\"那曲地区\",text:\"那曲县\",value:\"542421\"},{city:\"那曲地区\",text:\"嘉黎县\",value:\"542422\"},{city:\"那曲地区\",text:\"比如县\",value:\"542423\"},{city:\"那曲地区\",text:\"聂荣县\",value:\"542424\"},{city:\"那曲地区\",text:\"安多县\",value:\"542425\"},{city:\"那曲地区\",text:\"申扎县\",value:\"542426\"},{city:\"那曲地区\",text:\"索县\",value:\"542427\"},{city:\"那曲地区\",text:\"班戈县\",value:\"542428\"},{city:\"那曲地区\",text:\"巴青县\",value:\"542429\"},{city:\"那曲地区\",text:\"尼玛县\",value:\"542430\"},{city:\"那曲地区\",text:\"双湖县\",value:\"542431\"}],542500:[{city:\"阿里地区\",text:\"普兰县\",value:\"542521\"},{city:\"阿里地区\",text:\"札达县\",value:\"542522\"},{city:\"阿里地区\",text:\"噶尔县\",value:\"542523\"},{city:\"阿里地区\",text:\"日土县\",value:\"542524\"},{city:\"阿里地区\",text:\"革吉县\",value:\"542525\"},{city:\"阿里地区\",text:\"改则县\",value:\"542526\"},{city:\"阿里地区\",text:\"措勤县\",value:\"542527\"}],610100:[{city:\"西安市\",text:\"市辖区\",value:\"610101\"},{city:\"西安市\",text:\"新城区\",value:\"610102\"},{city:\"西安市\",text:\"碑林区\",value:\"610103\"},{city:\"西安市\",text:\"莲湖区\",value:\"610104\"},{city:\"西安市\",text:\"灞桥区\",value:\"610111\"},{city:\"西安市\",text:\"未央区\",value:\"610112\"},{city:\"西安市\",text:\"雁塔区\",value:\"610113\"},{city:\"西安市\",text:\"阎良区\",value:\"610114\"},{city:\"西安市\",text:\"临潼区\",value:\"610115\"},{city:\"西安市\",text:\"长安区\",value:\"610116\"},{city:\"西安市\",text:\"高陵区\",value:\"610117\"},{city:\"西安市\",text:\"蓝田县\",value:\"610122\"},{city:\"西安市\",text:\"周至县\",value:\"610124\"},{city:\"西安市\",text:\"户县\",value:\"610125\"}],610200:[{city:\"铜川市\",text:\"市辖区\",value:\"610201\"},{city:\"铜川市\",text:\"王益区\",value:\"610202\"},{city:\"铜川市\",text:\"印台区\",value:\"610203\"},{city:\"铜川市\",text:\"耀州区\",value:\"610204\"},{city:\"铜川市\",text:\"宜君县\",value:\"610222\"}],610300:[{city:\"宝鸡市\",text:\"市辖区\",value:\"610301\"},{city:\"宝鸡市\",text:\"渭滨区\",value:\"610302\"},{city:\"宝鸡市\",text:\"金台区\",value:\"610303\"},{city:\"宝鸡市\",text:\"陈仓区\",value:\"610304\"},{city:\"宝鸡市\",text:\"凤翔县\",value:\"610322\"},{city:\"宝鸡市\",text:\"岐山县\",value:\"610323\"},{city:\"宝鸡市\",text:\"扶风县\",value:\"610324\"},{city:\"宝鸡市\",text:\"眉县\",value:\"610326\"},{city:\"宝鸡市\",text:\"陇县\",value:\"610327\"},{city:\"宝鸡市\",text:\"千阳县\",value:\"610328\"},{city:\"宝鸡市\",text:\"麟游县\",value:\"610329\"},{city:\"宝鸡市\",text:\"凤县\",value:\"610330\"},{city:\"宝鸡市\",text:\"太白县\",value:\"610331\"}],610400:[{city:\"咸阳市\",text:\"市辖区\",value:\"610401\"},{city:\"咸阳市\",text:\"秦都区\",value:\"610402\"},{city:\"咸阳市\",text:\"杨陵区\",value:\"610403\"},{city:\"咸阳市\",text:\"渭城区\",value:\"610404\"},{city:\"咸阳市\",text:\"三原县\",value:\"610422\"},{city:\"咸阳市\",text:\"泾阳县\",value:\"610423\"},{city:\"咸阳市\",text:\"乾县\",value:\"610424\"},{city:\"咸阳市\",text:\"礼泉县\",value:\"610425\"},{city:\"咸阳市\",text:\"永寿县\",value:\"610426\"},{city:\"咸阳市\",text:\"彬县\",value:\"610427\"},{city:\"咸阳市\",text:\"长武县\",value:\"610428\"},{city:\"咸阳市\",text:\"旬邑县\",value:\"610429\"},{city:\"咸阳市\",text:\"淳化县\",value:\"610430\"},{city:\"咸阳市\",text:\"武功县\",value:\"610431\"},{city:\"咸阳市\",text:\"兴平市\",value:\"610481\"}],610500:[{city:\"渭南市\",text:\"市辖区\",value:\"610501\"},{city:\"渭南市\",text:\"临渭区\",value:\"610502\"},{city:\"渭南市\",text:\"华州区\",value:\"610503\"},{city:\"渭南市\",text:\"潼关县\",value:\"610522\"},{city:\"渭南市\",text:\"大荔县\",value:\"610523\"},{city:\"渭南市\",text:\"合阳县\",value:\"610524\"},{city:\"渭南市\",text:\"澄城县\",value:\"610525\"},{city:\"渭南市\",text:\"蒲城县\",value:\"610526\"},{city:\"渭南市\",text:\"白水县\",value:\"610527\"},{city:\"渭南市\",text:\"富平县\",value:\"610528\"},{city:\"渭南市\",text:\"韩城市\",value:\"610581\"},{city:\"渭南市\",text:\"华阴市\",value:\"610582\"}],610600:[{city:\"延安市\",text:\"市辖区\",value:\"610601\"},{city:\"延安市\",text:\"宝塔区\",value:\"610602\"},{city:\"延安市\",text:\"安塞区\",value:\"610603\"},{city:\"延安市\",text:\"延长县\",value:\"610621\"},{city:\"延安市\",text:\"延川县\",value:\"610622\"},{city:\"延安市\",text:\"子长县\",value:\"610623\"},{city:\"延安市\",text:\"志丹县\",value:\"610625\"},{city:\"延安市\",text:\"吴起县\",value:\"610626\"},{city:\"延安市\",text:\"甘泉县\",value:\"610627\"},{city:\"延安市\",text:\"富县\",value:\"610628\"},{city:\"延安市\",text:\"洛川县\",value:\"610629\"},{city:\"延安市\",text:\"宜川县\",value:\"610630\"},{city:\"延安市\",text:\"黄龙县\",value:\"610631\"},{city:\"延安市\",text:\"黄陵县\",value:\"610632\"}],610700:[{city:\"汉中市\",text:\"市辖区\",value:\"610701\"},{city:\"汉中市\",text:\"汉台区\",value:\"610702\"},{city:\"汉中市\",text:\"南郑县\",value:\"610721\"},{city:\"汉中市\",text:\"城固县\",value:\"610722\"},{city:\"汉中市\",text:\"洋县\",value:\"610723\"},{city:\"汉中市\",text:\"西乡县\",value:\"610724\"},{city:\"汉中市\",text:\"勉县\",value:\"610725\"},{city:\"汉中市\",text:\"宁强县\",value:\"610726\"},{city:\"汉中市\",text:\"略阳县\",value:\"610727\"},{city:\"汉中市\",text:\"镇巴县\",value:\"610728\"},{city:\"汉中市\",text:\"留坝县\",value:\"610729\"},{city:\"汉中市\",text:\"佛坪县\",value:\"610730\"}],610800:[{city:\"榆林市\",text:\"市辖区\",value:\"610801\"},{city:\"榆林市\",text:\"榆阳区\",value:\"610802\"},{city:\"榆林市\",text:\"横山区\",value:\"610803\"},{city:\"榆林市\",text:\"神木县\",value:\"610821\"},{city:\"榆林市\",text:\"府谷县\",value:\"610822\"},{city:\"榆林市\",text:\"靖边县\",value:\"610824\"},{city:\"榆林市\",text:\"定边县\",value:\"610825\"},{city:\"榆林市\",text:\"绥德县\",value:\"610826\"},{city:\"榆林市\",text:\"米脂县\",value:\"610827\"},{city:\"榆林市\",text:\"佳县\",value:\"610828\"},{city:\"榆林市\",text:\"吴堡县\",value:\"610829\"},{city:\"榆林市\",text:\"清涧县\",value:\"610830\"},{city:\"榆林市\",text:\"子洲县\",value:\"610831\"}],610900:[{city:\"安康市\",text:\"市辖区\",value:\"610901\"},{city:\"安康市\",text:\"汉滨区\",value:\"610902\"},{city:\"安康市\",text:\"汉阴县\",value:\"610921\"},{city:\"安康市\",text:\"石泉县\",value:\"610922\"},{city:\"安康市\",text:\"宁陕县\",value:\"610923\"},{city:\"安康市\",text:\"紫阳县\",value:\"610924\"},{city:\"安康市\",text:\"岚皋县\",value:\"610925\"},{city:\"安康市\",text:\"平利县\",value:\"610926\"},{city:\"安康市\",text:\"镇坪县\",value:\"610927\"},{city:\"安康市\",text:\"旬阳县\",value:\"610928\"},{city:\"安康市\",text:\"白河县\",value:\"610929\"}],611000:[{city:\"商洛市\",text:\"市辖区\",value:\"611001\"},{city:\"商洛市\",text:\"商州区\",value:\"611002\"},{city:\"商洛市\",text:\"洛南县\",value:\"611021\"},{city:\"商洛市\",text:\"丹凤县\",value:\"611022\"},{city:\"商洛市\",text:\"商南县\",value:\"611023\"},{city:\"商洛市\",text:\"山阳县\",value:\"611024\"},{city:\"商洛市\",text:\"镇安县\",value:\"611025\"},{city:\"商洛市\",text:\"柞水县\",value:\"611026\"}],620100:[{city:\"兰州市\",text:\"市辖区\",value:\"620101\"},{city:\"兰州市\",text:\"城关区\",value:\"620102\"},{city:\"兰州市\",text:\"七里河区\",value:\"620103\"},{city:\"兰州市\",text:\"西固区\",value:\"620104\"},{city:\"兰州市\",text:\"安宁区\",value:\"620105\"},{city:\"兰州市\",text:\"红古区\",value:\"620111\"},{city:\"兰州市\",text:\"永登县\",value:\"620121\"},{city:\"兰州市\",text:\"皋兰县\",value:\"620122\"},{city:\"兰州市\",text:\"榆中县\",value:\"620123\"}],620200:[{city:\"嘉峪关市\",text:\"市辖区\",value:\"620201\"}],620300:[{city:\"金昌市\",text:\"市辖区\",value:\"620301\"},{city:\"金昌市\",text:\"金川区\",value:\"620302\"},{city:\"金昌市\",text:\"永昌县\",value:\"620321\"}],620400:[{city:\"白银市\",text:\"市辖区\",value:\"620401\"},{city:\"白银市\",text:\"白银区\",value:\"620402\"},{city:\"白银市\",text:\"平川区\",value:\"620403\"},{city:\"白银市\",text:\"靖远县\",value:\"620421\"},{city:\"白银市\",text:\"会宁县\",value:\"620422\"},{city:\"白银市\",text:\"景泰县\",value:\"620423\"}],620500:[{city:\"天水市\",text:\"市辖区\",value:\"620501\"},{city:\"天水市\",text:\"秦州区\",value:\"620502\"},{city:\"天水市\",text:\"麦积区\",value:\"620503\"},{city:\"天水市\",text:\"清水县\",value:\"620521\"},{city:\"天水市\",text:\"秦安县\",value:\"620522\"},{city:\"天水市\",text:\"甘谷县\",value:\"620523\"},{city:\"天水市\",text:\"武山县\",value:\"620524\"},{city:\"天水市\",text:\"张家川回族自治县\",value:\"620525\"}],620600:[{city:\"武威市\",text:\"市辖区\",value:\"620601\"},{city:\"武威市\",text:\"凉州区\",value:\"620602\"},{city:\"武威市\",text:\"民勤县\",value:\"620621\"},{city:\"武威市\",text:\"古浪县\",value:\"620622\"},{city:\"武威市\",text:\"天祝藏族自治县\",value:\"620623\"}],620700:[{city:\"张掖市\",text:\"市辖区\",value:\"620701\"},{city:\"张掖市\",text:\"甘州区\",value:\"620702\"},{city:\"张掖市\",text:\"肃南裕固族自治县\",value:\"620721\"},{city:\"张掖市\",text:\"民乐县\",value:\"620722\"},{city:\"张掖市\",text:\"临泽县\",value:\"620723\"},{city:\"张掖市\",text:\"高台县\",value:\"620724\"},{city:\"张掖市\",text:\"山丹县\",value:\"620725\"}],620800:[{city:\"平凉市\",text:\"市辖区\",value:\"620801\"},{city:\"平凉市\",text:\"崆峒区\",value:\"620802\"},{city:\"平凉市\",text:\"泾川县\",value:\"620821\"},{city:\"平凉市\",text:\"灵台县\",value:\"620822\"},{city:\"平凉市\",text:\"崇信县\",value:\"620823\"},{city:\"平凉市\",text:\"华亭县\",value:\"620824\"},{city:\"平凉市\",text:\"庄浪县\",value:\"620825\"},{city:\"平凉市\",text:\"静宁县\",value:\"620826\"}],620900:[{city:\"酒泉市\",text:\"市辖区\",value:\"620901\"},{city:\"酒泉市\",text:\"肃州区\",value:\"620902\"},{city:\"酒泉市\",text:\"金塔县\",value:\"620921\"},{city:\"酒泉市\",text:\"瓜州县\",value:\"620922\"},{city:\"酒泉市\",text:\"肃北蒙古族自治县\",value:\"620923\"},{city:\"酒泉市\",text:\"阿克塞哈萨克族自治县\",value:\"620924\"},{city:\"酒泉市\",text:\"玉门市\",value:\"620981\"},{city:\"酒泉市\",text:\"敦煌市\",value:\"620982\"}],621000:[{city:\"庆阳市\",text:\"市辖区\",value:\"621001\"},{city:\"庆阳市\",text:\"西峰区\",value:\"621002\"},{city:\"庆阳市\",text:\"庆城县\",value:\"621021\"},{city:\"庆阳市\",text:\"环县\",value:\"621022\"},{city:\"庆阳市\",text:\"华池县\",value:\"621023\"},{city:\"庆阳市\",text:\"合水县\",value:\"621024\"},{city:\"庆阳市\",text:\"正宁县\",value:\"621025\"},{city:\"庆阳市\",text:\"宁县\",value:\"621026\"},{city:\"庆阳市\",text:\"镇原县\",value:\"621027\"}],621100:[{city:\"定西市\",text:\"市辖区\",value:\"621101\"},{city:\"定西市\",text:\"安定区\",value:\"621102\"},{city:\"定西市\",text:\"通渭县\",value:\"621121\"},{city:\"定西市\",text:\"陇西县\",value:\"621122\"},{city:\"定西市\",text:\"渭源县\",value:\"621123\"},{city:\"定西市\",text:\"临洮县\",value:\"621124\"},{city:\"定西市\",text:\"漳县\",value:\"621125\"},{city:\"定西市\",text:\"岷县\",value:\"621126\"}],621200:[{city:\"陇南市\",text:\"市辖区\",value:\"621201\"},{city:\"陇南市\",text:\"武都区\",value:\"621202\"},{city:\"陇南市\",text:\"成县\",value:\"621221\"},{city:\"陇南市\",text:\"文县\",value:\"621222\"},{city:\"陇南市\",text:\"宕昌县\",value:\"621223\"},{city:\"陇南市\",text:\"康县\",value:\"621224\"},{city:\"陇南市\",text:\"西和县\",value:\"621225\"},{city:\"陇南市\",text:\"礼县\",value:\"621226\"},{city:\"陇南市\",text:\"徽县\",value:\"621227\"},{city:\"陇南市\",text:\"两当县\",value:\"621228\"}],622900:[{city:\"临夏回族自治州\",text:\"临夏市\",value:\"622901\"},{city:\"临夏回族自治州\",text:\"临夏县\",value:\"622921\"},{city:\"临夏回族自治州\",text:\"康乐县\",value:\"622922\"},{city:\"临夏回族自治州\",text:\"永靖县\",value:\"622923\"},{city:\"临夏回族自治州\",text:\"广河县\",value:\"622924\"},{city:\"临夏回族自治州\",text:\"和政县\",value:\"622925\"},{city:\"临夏回族自治州\",text:\"东乡族自治县\",value:\"622926\"},{city:\"临夏回族自治州\",text:\"积石山保安族东乡族撒拉族自治县\",value:\"622927\"}],623000:[{city:\"甘南藏族自治州\",text:\"合作市\",value:\"623001\"},{city:\"甘南藏族自治州\",text:\"临潭县\",value:\"623021\"},{city:\"甘南藏族自治州\",text:\"卓尼县\",value:\"623022\"},{city:\"甘南藏族自治州\",text:\"舟曲县\",value:\"623023\"},{city:\"甘南藏族自治州\",text:\"迭部县\",value:\"623024\"},{city:\"甘南藏族自治州\",text:\"玛曲县\",value:\"623025\"},{city:\"甘南藏族自治州\",text:\"碌曲县\",value:\"623026\"},{city:\"甘南藏族自治州\",text:\"夏河县\",value:\"623027\"}],630100:[{city:\"西宁市\",text:\"市辖区\",value:\"630101\"},{city:\"西宁市\",text:\"城东区\",value:\"630102\"},{city:\"西宁市\",text:\"城中区\",value:\"630103\"},{city:\"西宁市\",text:\"城西区\",value:\"630104\"},{city:\"西宁市\",text:\"城北区\",value:\"630105\"},{city:\"西宁市\",text:\"大通回族土族自治县\",value:\"630121\"},{city:\"西宁市\",text:\"湟中县\",value:\"630122\"},{city:\"西宁市\",text:\"湟源县\",value:\"630123\"}],630200:[{city:\"海东市\",text:\"乐都区\",value:\"630202\"},{city:\"海东市\",text:\"平安区\",value:\"630203\"},{city:\"海东市\",text:\"民和回族土族自治县\",value:\"630222\"},{city:\"海东市\",text:\"互助土族自治县\",value:\"630223\"},{city:\"海东市\",text:\"化隆回族自治县\",value:\"630224\"},{city:\"海东市\",text:\"循化撒拉族自治县\",value:\"630225\"}],632200:[{city:\"海北藏族自治州\",text:\"门源回族自治县\",value:\"632221\"},{city:\"海北藏族自治州\",text:\"祁连县\",value:\"632222\"},{city:\"海北藏族自治州\",text:\"海晏县\",value:\"632223\"},{city:\"海北藏族自治州\",text:\"刚察县\",value:\"632224\"}],632300:[{city:\"黄南藏族自治州\",text:\"同仁县\",value:\"632321\"},{city:\"黄南藏族自治州\",text:\"尖扎县\",value:\"632322\"},{city:\"黄南藏族自治州\",text:\"泽库县\",value:\"632323\"},{city:\"黄南藏族自治州\",text:\"河南蒙古族自治县\",value:\"632324\"}],632500:[{city:\"海南藏族自治州\",text:\"共和县\",value:\"632521\"},{city:\"海南藏族自治州\",text:\"同德县\",value:\"632522\"},{city:\"海南藏族自治州\",text:\"贵德县\",value:\"632523\"},{city:\"海南藏族自治州\",text:\"兴海县\",value:\"632524\"},{city:\"海南藏族自治州\",text:\"贵南县\",value:\"632525\"}],632600:[{city:\"果洛藏族自治州\",text:\"玛沁县\",value:\"632621\"},{city:\"果洛藏族自治州\",text:\"班玛县\",value:\"632622\"},{city:\"果洛藏族自治州\",text:\"甘德县\",value:\"632623\"},{city:\"果洛藏族自治州\",text:\"达日县\",value:\"632624\"},{city:\"果洛藏族自治州\",text:\"久治县\",value:\"632625\"},{city:\"果洛藏族自治州\",text:\"玛多县\",value:\"632626\"}],632700:[{city:\"玉树藏族自治州\",text:\"玉树市\",value:\"632701\"},{city:\"玉树藏族自治州\",text:\"杂多县\",value:\"632722\"},{city:\"玉树藏族自治州\",text:\"称多县\",value:\"632723\"},{city:\"玉树藏族自治州\",text:\"治多县\",value:\"632724\"},{city:\"玉树藏族自治州\",text:\"囊谦县\",value:\"632725\"},{city:\"玉树藏族自治州\",text:\"曲麻莱县\",value:\"632726\"}],632800:[{city:\"海西蒙古族藏族自治州\",text:\"格尔木市\",value:\"632801\"},{city:\"海西蒙古族藏族自治州\",text:\"德令哈市\",value:\"632802\"},{city:\"海西蒙古族藏族自治州\",text:\"乌兰县\",value:\"632821\"},{city:\"海西蒙古族藏族自治州\",text:\"都兰县\",value:\"632822\"},{city:\"海西蒙古族藏族自治州\",text:\"天峻县\",value:\"632823\"}],640100:[{city:\"银川市\",text:\"市辖区\",value:\"640101\"},{city:\"银川市\",text:\"兴庆区\",value:\"640104\"},{city:\"银川市\",text:\"西夏区\",value:\"640105\"},{city:\"银川市\",text:\"金凤区\",value:\"640106\"},{city:\"银川市\",text:\"永宁县\",value:\"640121\"},{city:\"银川市\",text:\"贺兰县\",value:\"640122\"},{city:\"银川市\",text:\"灵武市\",value:\"640181\"}],640200:[{city:\"石嘴山市\",text:\"市辖区\",value:\"640201\"},{city:\"石嘴山市\",text:\"大武口区\",value:\"640202\"},{city:\"石嘴山市\",text:\"惠农区\",value:\"640205\"},{city:\"石嘴山市\",text:\"平罗县\",value:\"640221\"}],640300:[{city:\"吴忠市\",text:\"市辖区\",value:\"640301\"},{city:\"吴忠市\",text:\"利通区\",value:\"640302\"},{city:\"吴忠市\",text:\"红寺堡区\",value:\"640303\"},{city:\"吴忠市\",text:\"盐池县\",value:\"640323\"},{city:\"吴忠市\",text:\"同心县\",value:\"640324\"},{city:\"吴忠市\",text:\"青铜峡市\",value:\"640381\"}],640400:[{city:\"固原市\",text:\"市辖区\",value:\"640401\"},{city:\"固原市\",text:\"原州区\",value:\"640402\"},{city:\"固原市\",text:\"西吉县\",value:\"640422\"},{city:\"固原市\",text:\"隆德县\",value:\"640423\"},{city:\"固原市\",text:\"泾源县\",value:\"640424\"},{city:\"固原市\",text:\"彭阳县\",value:\"640425\"}],640500:[{city:\"中卫市\",text:\"市辖区\",value:\"640501\"},{city:\"中卫市\",text:\"沙坡头区\",value:\"640502\"},{city:\"中卫市\",text:\"中宁县\",value:\"640521\"},{city:\"中卫市\",text:\"海原县\",value:\"640522\"}],650100:[{city:\"乌鲁木齐市\",text:\"市辖区\",value:\"650101\"},{city:\"乌鲁木齐市\",text:\"天山区\",value:\"650102\"},{city:\"乌鲁木齐市\",text:\"沙依巴克区\",value:\"650103\"},{city:\"乌鲁木齐市\",text:\"新市区\",value:\"650104\"},{city:\"乌鲁木齐市\",text:\"水磨沟区\",value:\"650105\"},{city:\"乌鲁木齐市\",text:\"头屯河区\",value:\"650106\"},{city:\"乌鲁木齐市\",text:\"达坂城区\",value:\"650107\"},{city:\"乌鲁木齐市\",text:\"米东区\",value:\"650109\"},{city:\"乌鲁木齐市\",text:\"乌鲁木齐县\",value:\"650121\"}],650200:[{city:\"克拉玛依市\",text:\"市辖区\",value:\"650201\"},{city:\"克拉玛依市\",text:\"独山子区\",value:\"650202\"},{city:\"克拉玛依市\",text:\"克拉玛依区\",value:\"650203\"},{city:\"克拉玛依市\",text:\"白碱滩区\",value:\"650204\"},{city:\"克拉玛依市\",text:\"乌尔禾区\",value:\"650205\"}],650400:[{city:\"吐鲁番市\",text:\"高昌区\",value:\"650402\"},{city:\"吐鲁番市\",text:\"鄯善县\",value:\"650421\"},{city:\"吐鲁番市\",text:\"托克逊县\",value:\"650422\"}],650500:[{city:\"哈密市\",text:\"伊州区\",value:\"650502\"},{city:\"哈密市\",text:\"巴里坤哈萨克自治县\",value:\"650521\"},{city:\"哈密市\",text:\"伊吾县\",value:\"650522\"}],652300:[{city:\"昌吉回族自治州\",text:\"昌吉市\",value:\"652301\"},{city:\"昌吉回族自治州\",text:\"阜康市\",value:\"652302\"},{city:\"昌吉回族自治州\",text:\"呼图壁县\",value:\"652323\"},{city:\"昌吉回族自治州\",text:\"玛纳斯县\",value:\"652324\"},{city:\"昌吉回族自治州\",text:\"奇台县\",value:\"652325\"},{city:\"昌吉回族自治州\",text:\"吉木萨尔县\",value:\"652327\"},{city:\"昌吉回族自治州\",text:\"木垒哈萨克自治县\",value:\"652328\"}],652700:[{city:\"博尔塔拉蒙古自治州\",text:\"博乐市\",value:\"652701\"},{city:\"博尔塔拉蒙古自治州\",text:\"阿拉山口市\",value:\"652702\"},{city:\"博尔塔拉蒙古自治州\",text:\"精河县\",value:\"652722\"},{city:\"博尔塔拉蒙古自治州\",text:\"温泉县\",value:\"652723\"}],652800:[{city:\"巴音郭楞蒙古自治州\",text:\"库尔勒市\",value:\"652801\"},{city:\"巴音郭楞蒙古自治州\",text:\"轮台县\",value:\"652822\"},{city:\"巴音郭楞蒙古自治州\",text:\"尉犁县\",value:\"652823\"},{city:\"巴音郭楞蒙古自治州\",text:\"若羌县\",value:\"652824\"},{city:\"巴音郭楞蒙古自治州\",text:\"且末县\",value:\"652825\"},{city:\"巴音郭楞蒙古自治州\",text:\"焉耆回族自治县\",value:\"652826\"},{city:\"巴音郭楞蒙古自治州\",text:\"和静县\",value:\"652827\"},{city:\"巴音郭楞蒙古自治州\",text:\"和硕县\",value:\"652828\"},{city:\"巴音郭楞蒙古自治州\",text:\"博湖县\",value:\"652829\"}],652900:[{city:\"阿克苏地区\",text:\"阿克苏市\",value:\"652901\"},{city:\"阿克苏地区\",text:\"温宿县\",value:\"652922\"},{city:\"阿克苏地区\",text:\"库车县\",value:\"652923\"},{city:\"阿克苏地区\",text:\"沙雅县\",value:\"652924\"},{city:\"阿克苏地区\",text:\"新和县\",value:\"652925\"},{city:\"阿克苏地区\",text:\"拜城县\",value:\"652926\"},{city:\"阿克苏地区\",text:\"乌什县\",value:\"652927\"},{city:\"阿克苏地区\",text:\"阿瓦提县\",value:\"652928\"},{city:\"阿克苏地区\",text:\"柯坪县\",value:\"652929\"}],653000:[{city:\"克孜勒苏柯尔克孜自治州\",text:\"阿图什市\",value:\"653001\"},{city:\"克孜勒苏柯尔克孜自治州\",text:\"阿克陶县\",value:\"653022\"},{city:\"克孜勒苏柯尔克孜自治州\",text:\"阿合奇县\",value:\"653023\"},{city:\"克孜勒苏柯尔克孜自治州\",text:\"乌恰县\",value:\"653024\"}],653100:[{city:\"喀什地区\",text:\"喀什市\",value:\"653101\"},{city:\"喀什地区\",text:\"疏附县\",value:\"653121\"},{city:\"喀什地区\",text:\"疏勒县\",value:\"653122\"},{city:\"喀什地区\",text:\"英吉沙县\",value:\"653123\"},{city:\"喀什地区\",text:\"泽普县\",value:\"653124\"},{city:\"喀什地区\",text:\"莎车县\",value:\"653125\"},{city:\"喀什地区\",text:\"叶城县\",value:\"653126\"},{city:\"喀什地区\",text:\"麦盖提县\",value:\"653127\"},{city:\"喀什地区\",text:\"岳普湖县\",value:\"653128\"},{city:\"喀什地区\",text:\"伽师县\",value:\"653129\"},{city:\"喀什地区\",text:\"巴楚县\",value:\"653130\"},{city:\"喀什地区\",text:\"塔什库尔干塔吉克自治县\",value:\"653131\"}],653200:[{city:\"和田地区\",text:\"和田市\",value:\"653201\"},{city:\"和田地区\",text:\"和田县\",value:\"653221\"},{city:\"和田地区\",text:\"墨玉县\",value:\"653222\"},{city:\"和田地区\",text:\"皮山县\",value:\"653223\"},{city:\"和田地区\",text:\"洛浦县\",value:\"653224\"},{city:\"和田地区\",text:\"策勒县\",value:\"653225\"},{city:\"和田地区\",text:\"于田县\",value:\"653226\"},{city:\"和田地区\",text:\"民丰县\",value:\"653227\"}],654000:[{city:\"伊犁哈萨克自治州\",text:\"伊宁市\",value:\"654002\"},{city:\"伊犁哈萨克自治州\",text:\"奎屯市\",value:\"654003\"},{city:\"伊犁哈萨克自治州\",text:\"霍尔果斯市\",value:\"654004\"},{city:\"伊犁哈萨克自治州\",text:\"伊宁县\",value:\"654021\"},{city:\"伊犁哈萨克自治州\",text:\"察布查尔锡伯自治县\",value:\"654022\"},{city:\"伊犁哈萨克自治州\",text:\"霍城县\",value:\"654023\"},{city:\"伊犁哈萨克自治州\",text:\"巩留县\",value:\"654024\"},{city:\"伊犁哈萨克自治州\",text:\"新源县\",value:\"654025\"},{city:\"伊犁哈萨克自治州\",text:\"昭苏县\",value:\"654026\"},{city:\"伊犁哈萨克自治州\",text:\"特克斯县\",value:\"654027\"},{city:\"伊犁哈萨克自治州\",text:\"尼勒克县\",value:\"654028\"}],654200:[{city:\"塔城地区\",text:\"塔城市\",value:\"654201\"},{city:\"塔城地区\",text:\"乌苏市\",value:\"654202\"},{city:\"塔城地区\",text:\"额敏县\",value:\"654221\"},{city:\"塔城地区\",text:\"沙湾县\",value:\"654223\"},{city:\"塔城地区\",text:\"托里县\",value:\"654224\"},{city:\"塔城地区\",text:\"裕民县\",value:\"654225\"},{city:\"塔城地区\",text:\"和布克赛尔蒙古自治县\",value:\"654226\"}],654300:[{city:\"阿勒泰地区\",text:\"阿勒泰市\",value:\"654301\"},{city:\"阿勒泰地区\",text:\"布尔津县\",value:\"654321\"},{city:\"阿勒泰地区\",text:\"富蕴县\",value:\"654322\"},{city:\"阿勒泰地区\",text:\"福海县\",value:\"654323\"},{city:\"阿勒泰地区\",text:\"哈巴河县\",value:\"654324\"},{city:\"阿勒泰地区\",text:\"青河县\",value:\"654325\"},{city:\"阿勒泰地区\",text:\"吉木乃县\",value:\"654326\"}],659000:[{city:\"自治区直辖县级行政区划\",text:\"石河子市\",value:\"659001\"},{city:\"自治区直辖县级行政区划\",text:\"阿拉尔市\",value:\"659002\"},{city:\"自治区直辖县级行政区划\",text:\"图木舒克市\",value:\"659003\"},{city:\"自治区直辖县级行政区划\",text:\"五家渠市\",value:\"659004\"},{city:\"自治区直辖县级行政区划\",text:\"铁门关市\",value:\"659006\"}]}})},A5db:function(t,e,a){function i(t){a(\"7jsq\")}var n=a(\"VU/8\")(a(\"KZW3\"),a(\"tmZ1\"),i,null,null);t.exports=n.exports},AQXh:function(t,e,a){function i(t){a(\"HAAd\")}var n=a(\"VU/8\")(a(\"Woua\"),a(\"kftu\"),i,null,null);t.exports=n.exports},AdWU:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{action:\"//jsonplaceholder.typicode.com/photos/\",isUploading:!0}},methods:{upload:function(){this.isUploading=!0,this.$refs.upload.start()},pause:function(){this.isUploading=!1,this.$refs.upload.pause()},retry:function(){this.$refs.upload.retry()},filesAdded:function(t){var e=!1;for(var a in t){var i=t[a];i.size>1048576&&(i.ignore=!0,e=!0)}e&&this.$createToast({type:\"warn\",time:1e3,txt:\"You selected >1M files\"}).show()}},components:{CubePage:i.default}},t.exports=e.default})},AgjA:function(t,e,a){function i(t){a(\"nqbe\")}var n=a(\"VU/8\")(a(\"2iSa\"),a(\"T6wA\"),i,null,null);t.exports=n.exports},AkiL:function(t,e){},AnsX:function(t,e,a){var i=a(\"VU/8\")(a(\"WjKT\"),a(\"/tRR\"),null,null,null);t.exports=i.exports},ApVb:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"XPXN\"),a(\"Zd1j\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(i),o=c(n),s=c(l);e.default={data:function(){return{initTime:(new Date).getTime(),id:0,size:50,infinite:!0}},components:{CubePage:o.default},methods:{getItem:function(t){var e=Math.floor(6*Math.random()),i=s.default.messages[Math.floor(Math.random()*s.default.messages.length)];return{id:t,avatar:a(\"6WIs\")(\"./avatar\"+e+\".png\"),msg:i,time:new Date(Math.floor(this.initTime+t*this.size*1e3+Math.random()*this.size*1e3)).toString()}},onFetch:function(){var t=this,e=[];return new u.default(function(a){setTimeout(function(){for(var i=0;i<t.size;i++)e.push(t.getItem(t.id++));a(e)},1e3)})},handleClick:function(t){console.log(t)}}},t.exports=e.default})},B1Rs:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"KATl\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-swipe\",provide:function(){return{swipe:this}},props:{data:{type:Array,default:function(){return[]}},autoShrink:{type:Boolean,default:!1}},created:function(){this.activeIndex=-1,this.items=[]},methods:{addItem:function(t){this.items.push(t)},removeItem:function(t){var e=this.items.indexOf(t);this.items.splice(e,1),e<=this.activeIndex&&(this.activeIndex-=1)},onItemClick:function(t,e){this.$emit(\"item-click\",t,e)},onBtnClick:function(t,e){var a=this.data[e];this.$emit(\"btn-click\",t,e,a)},onItemActive:function(t){if(t!==this.activeIndex){if(-1!==this.activeIndex){this.items[this.activeIndex].shrink()}this.activeIndex=t}}},components:{CubeSwipeItem:i.default}},t.exports=e.default})},BD2p:function(t,e,a){function i(t){a(\"YekI\")}var n=a(\"VU/8\")(a(\"u1ui\"),a(\"Vh/j\"),i,null,null);t.exports=n.exports},BH5X:function(t,e,a){function i(t){a(\"hHHY\")}var n=a(\"VU/8\")(a(\"N6Rs\"),a(\"fn00\"),i,null,null);t.exports=n.exports},BHjP:function(t,e,a){function i(t){a(\"mJX1\")}var n=a(\"VU/8\")(a(\"9ZU5\"),a(\"mZtU\"),i,null,null);t.exports=n.exports},BINl:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-toast-fade\"}},[a(\"cube-popup\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],attrs:{type:\"toast\",\"z-index\":t.zIndex,mask:t.mask},on:{\"mask-click\":t.maskClick}},[!t.isLoading&&t.iconClass.length?a(\"i\",{staticClass:\"cube-toast-icon\",class:t.iconClass}):t._e(),t._v(\" \"),t.isLoading?a(\"cube-loading\"):t._e(),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.txt,expression:\"txt\"}],staticClass:\"cube-toast-tip\",domProps:{innerHTML:t._s(t.txt)}})],1)],1)},staticRenderFns:[]}},BIY4:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"picker-view\",title:\"Date Picker\",desc:\"\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showDatePicker}},[t._v(\"Date Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showChangeOrderPicker}},[t._v(\"Date Picker(Change order)\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showTimePicker}},[t._v(\"Time Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showDateTimePicker}},[t._v(\"Date Time Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showFormatPicker}},[t._v(\"Use format\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showUpdatePropsPicker}},[t._v(\"Use $updateProps\")])],1)],1)])},staticRenderFns:[]}},BPTU:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"LIRj\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{value:null,icon:String,options:Object,loadData:Function,action:Function,formatValue:Function},data:function(){var t=this._formatValue();return{model:t,modelText:t.text,isActive:!1}},computed:{computedValue:function(){return this._formatValue()}},watch:{isActive:function(t){this.$refs.input.isFocus=t},model:function(t){this.modelText=t.text,this.modelMap[t.value]=t.text,this.$emit(\"input\",t.value)}},beforeCreate:function(){this.modelMap={}},methods:{_formatValue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.value;return t===Object(t)?t:{text:this.modelMap[t]||t,value:t}},defaultAction:function(){var t=this.options,e=t.component,i=t.options;return this[(0,a.camelize)(\"$create-\"+e)](i||{})},showComponent:function(){if(!this.actionComponent){var t=this.actionComponent=this.action?this.action(this):this.defaultAction(this);t.$on(\"select\",this.onSelect),t.$on(\"hide\",this.onHide),t.$on(\"cancel\",this.onHide),t.$on(\"close\",this.onHide)}this.actionComponent.show(),this.isActive=!0},clickHandler:function(){var t=this;this.loadData?this.loadData(this.options).then(function(){t.showComponent()}):this.showComponent()},onSelect:function(){this.isActive=!1,this.model=this._formatValue(this.formatValue?this.formatValue.apply(this,arguments):{text:arguments.length<=0?void 0:arguments[0],value:arguments.length<=2?void 0:arguments[2]})},onHide:function(){this.isActive=!1}}},t.exports=e.default})},BQwy:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-tab-panel\",props:{label:{type:[String,Number],required:!0},value:{type:[String,Number],default:function(){return this.label}}},mounted:function(){this.$parent.addPanel(this)},destroyed:function(){this.$parent.removePanel(this)}},t.exports=e.default})},\"BRD/\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Gu7T\"),a(\"Z5VE\"),a(\"d64j\"),a(\"wih/\"),a(\"4KJe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l),v=u(c);e.default={name:\"cube-segment-picker\",mixins:[s.default,r.default,d.default,v.default],props:{data:{type:Array,default:function(){return[]}},nextTxt:{type:String,default:\"\"},prevTxt:{type:String,default:\"\"}},data:function(){return{current:0,selectedVal:[],selectedIndex:[],selectedText:[]}},computed:{currentPicker:function(){for(var t=0;t<this.data.length;t++){var e=this.$refs.pickers[t];if(e.$attrs.index===this.current)return e}},_nextTxt:function(){return this.nextTxt||this.$t(\"next\")},_prevTxt:function(){return this.prevTxt||this.$t(\"prev\")}},watch:{data:function(){this.current=0,this.selectedVal=[],this.selectedIndex=[],this.selectedText=[]}},methods:{show:function(){!this.isVisible&&this.data.length&&(this.isVisible=!0,this.currentPicker.show())},hide:function(){this.isVisible&&this.data.length&&(this.isVisible=!1,this.currentPicker.hide())},_select:function(){for(var t=arguments.length,e=Array(t),a=0;a<t;a++)e[a]=arguments[a];this.selectedVal[this.current]=e[0],this.selectedIndex[this.current]=e[1],this.selectedText[this.current]=e[2],this.current<this.data.length-1?(this.$emit.apply(this,[\"next\",this.current].concat((0,o.default)(e))),this.current++,this.currentPicker.show()):(this.isVisible=!1,this.$emit(\"select\",this.selectedVal,this.selectedIndex,this.selectedText),this.current=0)},_cancel:function(){if(this.current>0){for(var t=arguments.length,e=Array(t),a=0;a<t;a++)e[a]=arguments[a];this.$emit.apply(this,[\"prev\",this.current].concat((0,o.default)(e))),this.current--,this.currentPicker.show()}else this.isVisible=!1,this.$emit(\"cancel\")},_change:function(){for(var t=arguments.length,e=Array(t),a=0;a<t;a++)e[a]=arguments[a];this.$emit.apply(this,[\"change\",this.current].concat((0,o.default)(e)))}}},t.exports=e.default})},Ba27:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={components:{CubePage:i.default}},t.exports=e.default})},BbKW:function(t,e){},BehE:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll-nav-bar\",title:\"ScrollNavBar\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-scroll-nav-bar\",{attrs:{current:t.current,labels:t.labels},on:{change:t.changeHandler}}),t._v(\" \"),a(\"div\",{staticClass:\"side-container\"},[a(\"cube-scroll-nav-bar\",{attrs:{direction:\"vertical\",current:t.current,labels:t.labels,txts:t.txts},on:{change:t.changeHandler},scopedSlots:t._u([{key:\"default\",fn:function(e){return a(\"i\",{},[t._v(t._s(e.txt))])}}])})],1)],1)])},staticRenderFns:[]}},\"Bf/j\":function(t,e,a){function i(t){a(\"eX6E\")}var n=a(\"VU/8\")(a(\"h1qY\"),a(\"sTLp\"),i,null,null);t.exports=n.exports},Bhgd:function(t,e,a){var i=a(\"VU/8\")(a(\"SpYO\"),a(\"bp4N\"),null,null,null);t.exports=i.exports},\"Bi/D\":function(t,e){},Bjol:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{value:Boolean,desc:String,text:String,link:Object},data:function(){return{checked:this.value}},watch:{checked:function(t){this.$emit(\"input\",t)}}},t.exports=e.default})},BoHM:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"demo-questionnaire\"},[t.tip?a(\"p\",{staticClass:\"demo-questionnaire-tip cubeic-warn\",domProps:{innerHTML:t._s(t.tip)}}):t._e(),t._v(\" \"),a(\"cube-form\",{attrs:{model:t.model,schema:t.schema,\"immediate-validate\":!1,options:t.options,\"submit-always-validate\":!0},on:{validate:t.validateHandler,submit:t.submitHandler}})],1)},staticRenderFns:[]}},\"C/e8\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"1Vb/\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={components:{CubePage:l.default,SwitchOption:c.default},data:function(){return{more:!1,money:10,actions:[{text:\"完成订单\",action:\"showText\"},{text:\"打车来接\",checked:!1,type:\"checkbox\"},{text:'一口价<span class=\"orange\">10元</span>',action:\"moreMoney\"}],moreActions:[{text:\"操作a\",action:\"showText\"},{text:\"操作b\",action:\"showText\"},{text:\"操作c\",icon:\"cubeic-right\",action:\"showText\"}]}},methods:{updateMore:function(t){this.more=t},showText:function(t){this.$createToast({type:\"correct\",txt:\"clicked \"+t.text,time:1e3}).show()},moreMoney:function(t){this.money+=10,t.text='一口价<span class=\"orange\">'+this.money+\"元</span>\"},clickHandler:function(t){t.action&&this[t.action](t)}}},t.exports=e.default})},C2tW:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e){(0,l.default)(t,e,[\"select\",\"cancel\",\"change\",\"next\",\"prev\"]).before(function(t,e,a){a&&(0,i.tip)(\"SegmentPicker component can not be a singleton.\")})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},C78E:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"upload\",title:\"Upload\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"compress\")}}},[t._v(\"Compress\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"custom\")}}},[t._v(\"Custom\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},C8H9:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"fZjL\"),a(\"XPXN\"),a(\"xV+0\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e.default=t,e}(n),s={\"全部\":o.ALL_HEROES,\"法师\":o.MAGE_HEROES,\"战士\":o.FIGHTER_HEROES,\"坦克\":o.TANK_HEROES,\"刺客\":o.ASSASSIN_HEROES,\"辅助\":o.SUPPORT_HEROES,\"射手\":o.MARKSMAN_HEROES},r=(0,c.default)(s).map(function(t){return{label:t}});e.default={data:function(){return{selectedLabel:\"全部\",scrollData:[],tabs:r}},created:function(){this.scrollData=s[this.selectedLabel]},methods:{changeHandler:function(t){var e=this;this.scrollData=s[t],this.$nextTick(function(){e.$refs.scroll.scrollTo(0,0),e.$refs.scroll.refresh()})}},components:{CubePage:u.default},watch:{selectedLabel:function(t){console.log(t)}}},t.exports=e.default})},CDIQ:function(t,e){},CIqy:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Dd8w\"),a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={data:function(){return{initialIndex:0,imgs:[\"https://dpubstatic.udache.com/static/dpubimg/XsZT-Ium9K/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg\",\"https://dpubstatic.udache.com/static/dpubimg/jM0pARr01R/686d7361ly1fpha0ncnnej21hc0zetxo.jpg\",\"https://dpubstatic.udache.com/static/dpubimg/uesDMLn8ho/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg\"]}},methods:{handleImgsClick:function(t){var e=this;this.initialIndex=t;var a={$props:{imgs:this.imgs,initialIndex:\"initialIndex\",loop:!1},$events:{change:function(t){e.initialIndex=t}}};this.$createImagePreview((0,l.default)({},a)).show()}},components:{CubePage:c.default}},t.exports=e.default})},CNZU:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"wrapper\",staticClass:\"cube-scroll-wrapper\"},[a(\"div\",{staticClass:\"cube-scroll-content\"},[a(\"div\",{ref:\"listWrapper\",staticClass:\"cube-scroll-list-wrapper\"},[t._t(\"default\",[a(\"ul\",{staticClass:\"cube-scroll-list\"},t._l(t.data,function(e,i){return a(\"li\",{key:i,staticClass:\"cube-scroll-item border-bottom-1px\",on:{click:function(a){t.clickItem(e)}}},[t._v(t._s(e))])}))])],2),t._v(\" \"),t._t(\"pullup\",[t.pullUpLoad?a(\"div\",{staticClass:\"cube-pullup-wrapper\"},[t.isPullUpLoad?a(\"div\",{staticClass:\"after-trigger\"},[a(\"loading\")],1):a(\"div\",{staticClass:\"before-trigger\"},[a(\"span\",[t._v(t._s(t.pullUpTxt))])])]):t._e()],{pullUpLoad:t.pullUpLoad,isPullUpLoad:t.isPullUpLoad})],2),t._v(\" \"),t.pullDownRefresh?a(\"div\",{ref:\"pulldown\",staticClass:\"cube-pulldown\"},[t._t(\"pulldown\",[a(\"div\",{staticClass:\"cube-pulldown-wrapper\",style:t.pullDownStyle},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.beforePullDown,expression:\"beforePullDown\"}],staticClass:\"before-trigger\"},[a(\"bubble\",{staticClass:\"bubble\",attrs:{y:t.bubbleY}})],1),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.beforePullDown,expression:\"!beforePullDown\"}],staticClass:\"after-trigger\"},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isPullingDown,expression:\"isPullingDown\"}],staticClass:\"loading\"},[a(\"loading\")],1),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.isPullingDown,expression:\"!isPullingDown\"}],staticClass:\"cube-pulldown-loaded\"},[a(\"span\",[t._v(t._s(t.refreshTxt))])])])])],{pullDownRefresh:t.pullDownRefresh,pullDownStyle:t.pullDownStyle,beforePullDown:t.beforePullDown,isPullingDown:t.isPullingDown,bubbleY:t.bubbleY})],2):t._e()])},staticRenderFns:[]}},CRpU:function(t,e){},Cfx3:function(t,e,a){function i(t){a(\"kCqI\")}var n=a(\"VU/8\")(a(\"5VLA\"),a(\"4jua\"),i,null,null);t.exports=n.exports},CkYj:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"time-picker-view\",title:\"TimePicker（时间选择器）\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showTimePicker}},[t._v(\"TimePicker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showConfigDayPicker}},[t._v(\"Config day options\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showFormatPicker}},[t._v(\"Config format\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showMinuteStepPicker}},[t._v(\"Config minute step\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showMinPicker}},[t._v(\"Config min\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showMaxPicker}},[t._v(\"Config max\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showSetTimePiker}},[t._v(\"Use setTime\")])],1)],1)])},staticRenderFns:[]}},Ct0e:function(t,e,a){function i(t){a(\"gf9D\")}var n=a(\"VU/8\")(a(\"cMIu\"),a(\"pVCu\"),i,null,null);t.exports=n.exports},Cuup:function(t,e){},CzhT:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"xru3\"),a(\"go4C\"),a(\"qefm\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);c.default.install=function(t){t.component(c.default.name,c.default),t.component(u.default.name,u.default),t.component(o.default.name,o.default)},c.default.Panel=u.default,c.default.Bar=o.default,e.default=c.default,t.exports=e.default})},D1IJ:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"2zcT\"),a(\"8xmU\"),a(\"N7+C\"),a(\"YtAD\"),a(\"qtvM\"),a(\"jMGR\"),a(\"8cJp\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}function r(t){var e={};return[d.default,v.default,p.default,f.default,h.default,x.default,y.default].forEach(function(a){a(t,e)}),e}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=r;var d=s(a),v=s(i),p=s(n),f=s(l),h=s(c),x=s(u),y=s(o);t.exports=e.default})},DD7W:function(t,e,a){function i(t){a(\"Q1ow\")}var n=a(\"VU/8\")(a(\"t4A1\"),a(\"IDsm\"),i,null,null);t.exports=n.exports},DIVr:function(t,e,a){function i(t){a(\"nmXI\")}var n=a(\"VU/8\")(a(\"Kjut\"),a(\"1fgG\"),i,null,null);t.exports=n.exports},DLo4:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"t7U9\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=(0,a.prefixStyle)(\"transform\");e.default={name:\"cube-sticky\",provide:function(){return{sticky:this}},props:{pos:{type:Number,required:!0},checkTop:{type:Boolean,default:!0},fixedShowAni:{type:String,default:function(){return this.checkTop?\"\":\"cube-sticky-fixed-fade\"}},offset:{type:Number,default:0}},data:function(){return{diff:0,currentDiff:0,currentIndex:-1,currentKey:\"\"}},computed:{fixedShow:function(){return!!this.eles[this.currentIndex]}},watch:{diff:function(t){t>=0&&(t=0),t=Math.ceil(t),this._fixedTop!==t&&(this._fixedTop=t,this.$refs.fixedEle.style[i]=\"translate3d(0, \"+t+\"px, 0)\")},pos:\"computeCurrentSticky\",currentIndex:function(t,e){var i=this,n=this.eles[e],l=this.eles[t],c=l&&void 0!==l.eleKey?l.eleKey:-1===t?\"\":t,u=this.$refs.fixedEle,o=this.$slots.fixed||this.$scopedSlots.fixed;this.$nextTick(function(){if(o)i.fixedEleHeight=u.offsetHeight;else{var t=u.firstElementChild;n&&(n.$el.appendChild(t),n.refresh()),l?(u.appendChild(l.$el.firstElementChild),i.fixedEleHeight=u.offsetHeight):i.fixedEleHeight=0}n&&(0,a.removeClass)(n.$el,\"cube-sticky-ele-on\"),l&&(0,a.addClass)(l.$el,\"cube-sticky-ele-on\")}),this.currentKey=c,this.$emit(\"change\",c,t)},currentDiff:function(t){var e=this.heights[this.currentIndex]||0;this.$emit(\"diff-change\",t,e)}},created:function(){this.fixedEleHeight=0,this.eles=[],this.positions=[],this.heights=[]},mounted:function(){this.refresh()},methods:{addEle:function(t){this.eles.push(t)},removeEle:function(t){var e=this.eles.indexOf(t);this.eles.splice(e,1),this.positions.splice(e,1)},refresh:function(){var t=this;this.$nextTick(function(){t.eles.forEach(function(t){t.refresh()}),t._calculateHeight(),t.computeCurrentSticky(t.pos)})},computeCurrentSticky:function(t){t+=this.offset;for(var e=this.positions,a=this.heights,i=this.checkTop,n=e.length,l=n-1;l>=0;l--){var c=l===n-1,u=c?t:e[l+1],o=void 0,s=void 0;i?(o=e[l],s=o+a[l]):(o=e[l]+a[l],s=o);var r=Math.max(s,u);if(t>=o&&t<=r){this.currentIndex=l,this.currentDiff=t-o;var d=u-t;return void(this.diff=d>=0&&!c?d-(this.fixedEleHeight||a[l]):0)}}this.currentIndex=-1,this.currentDiff=0},_calculateHeight:function(){var t=this;this.eles.forEach(function(e,i){var n=(0,a.getRect)(e.$el),l=n.top,c=n.height;t.positions[i]=l,t.heights[i]=c}),this.fixedEleHeight=this.$refs.fixedEle.offsetHeight}}},t.exports=e.default})},DVMH:function(t,e){},DXQ8:function(t,e,a){function i(t){a(\"sdgg\")}var n=a(\"VU/8\")(a(\"gBDM\"),a(\"l6Sg\"),i,null,null);t.exports=n.exports},DsfM:function(t,e){},\"Dw/u\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"select-option\",props:{name:{type:String},options:{type:Array},value:null},data:function(){return{selected:this.value}},watch:{selected:function(t){this.$emit(\"update:value\",t)}},mounted:function(){var t=this;this.picker=this.$createPicker({title:\"Choose \"+this.name,data:[this.options],cancelTxt:\"cancel\",confirmTxt:\"confirm\",onValueChange:function(e){t.selected=e[0]}})},methods:{showPicker:function(){this.picker.show()}}},t.exports=e.default})},E37f:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAADPtJREFUeNrtW2lYVNcZfs8sDDDAsCrIPhUCsSgmgsoWQU3U1JCodUHMUo0+xJC6NFptjGltopKFFGJspDV1X2NJ1LSlKoGZSYyQiohGRAGRYZGZgRlgZpjt9Md4ndZUmQ1o+/D+4eHOud/23u+c73znXmAYwxjGMIYxjGEMCchQG8CAUkoBFku7XjKNMy0pyfQ0FqAmPR1K6ovnxo8nl3CLRj36KL5DIikdMYJ+iHdQKhAgABuhZbHIRhQjWaWiJnKYPtnejnx6mUhqa6HA73GuspJVTbcjqLTUdWpbkaFBIiFk/nzAaBxqv4eMAPX1UgqEhNAp3BHsPatXo5FeJNWLFkGPBvwuKGjAHPYmy/BKWxuu0Ldo0oED5A/kD8aFBQVueSlngaamwY7DoBGgevvCKMDPj/1C31T282+/jcvoI+deeglpyEWbi8tgO34PlbgEf70eP8K39Mndu03PGPYa977xhuc/0gkgkw20+gEnQDOtvJXVtnAhbSIy1i8LCuhFdGF/QMBA67U7IM/hHJ5RKPAR8mjJihXu0am9xp7jxwdMn7MFUnr0KMBma+qCjOzD27fTYISQ7LVrBzZsA4g1SKBbCgrcf9/6hXHDmjXOXjtYzhJETaUU4HDUH42q5Kw/cuR/PvAMPkAF2fTaa/f8MlVWAFyus8Q7TABTvWj2ccI5J/70J/yMzsb7c+cObdQGAHf90uzTzOWc+PRTxm9HxTosQP2ZJJITuXEjnYcDmL94saPy7ty5c8fFhSHWcTByZLKODmcs9Yyf6p3i/ZzYDRsclWc3Ad2/KfvAJS02FqfoKZqzZAn+CEpfr6/He+Q1jO3ttVWeQtHZyeUCH35YUCAUAp2dXV3OSHSFQqHgcoH8fEauWY/DmEJeReuvf615TjSFMz852V4xTl+E+zJES1zOREcbTmK5aUZt7YPGqVRKJZcLyGRyOZcLnD79l7+MHAnweDyeyQQsX75s2a1bzrPrk0927QoPB/R6g4HFAmbNmjGjvR3w9/fz0+sBLy+BQK+3I4A/RQH9tKbG7ZTbOuOSxx4jrAkJgPWSbCagJ1tSBYwYwQk2dfO2enjc/7txFq0w7czIwASSQFuKih4kZ+vWbdtGjwZUqp4eLheIjo6K6ukB5s2bO7e1FfD09PAwGJxHQHd3Tw+HAxw7dvx4UBBw40ZdHZ8PCATe3gYDsH7966/fuOGAghasIJ7Ll/OjUq/qOx/st90EMIuOulAsYm+oq8NSEPKuUGivvTqdTsdiAYQQAgBcLpdrMjkl1lZBr9frWSzLGuHi4uLikP4jZDpd3dDg/lLLXuO7UVHWlqtWrwHqclE+O2fmTFsDr9VqtWw2oNFoNGy25Trj8P2B7+vTas2BcQ4djJy+PjPhDBi99wdeo1Gr2WyL3VZjAf07yY+MVI8NdGMXTZtm7W1WE0A+YtXj4rx5tgbg7NnSUn9/4OjRY8dGjXrwOKPRaCQEKCjYsUMoBC5fvnLFy8uumP8bqqtrary8gMLCwsLISMBkMpnIQ/L+yBGznaWlZWV+frbrI5PIZjJ+0SJrx/dLgDlFCUEx/k4SZ8yw1aBx4+LilEqgtvb6dT4fEIslEl9fwGg0GAgBtNq+PjYb+POfi4uDgsyZQggQHR0dbXst9UNER0dF9fYCvb3mJ7u4+PPPAwMtmWYwmIkXicRiX1+gru7GDT4fGDs2Lk6lsl0fzcPPcXz6dGvH97sGaNaJpwJhYabN9C0Ox/665OLFixcFAuDzz0+eHDnSsgbcpRfe3l5eOh2QlZWV1dIChIaGhGg0jhPA4NatpiY3N+DQocOHg4MBpVKl4nLNuim1VF+ZmbNnt7cD8fHx8Uql/fpY7oYUgyEy0o2kE6Cx0W4CendLxrFfnzULC0wfkfzTpx0NBPPkSaUtLa6uAIfD4VAKBAePGqXVAmy2+f+BAvPES6VSqaurJRNDQoKDtVrAxcVMhMN4ARdo3syZ/OOpa41r/vrXBw3rdwq62nF1pCA3Pl6tNqewo+DxXF1NJkAoFArVaiAsLCxMoxn4wDPgcNhsSoHwcLNexg5nBZ6J09W9368TxD3+eL/29DfgMqu6yuNIYuLhbYe2B40GEhISEpRKICUlOVkuB3x8fHzs2cD8v4DZWYvFEomfH1BRUVEhEABjAsf4dVclJAC4o3jI/f0SMC9xTntLvVg8lh9X5NmSmclUNV9/ff786NFATEx0dE8PMHVqRkZHBxASEhKi1Q51WAYObW1tbTweUFYmEvn5AdXV1dVeXkBAQECATgc8+2xmZns7ENcxpl3FlUh+hsI7D5PXLwHsUZwx5LBSGTsq9pPubiA2Nja2uxtobGxsdHcHysrKy/38gB07du6MjLSk9hNPpKXJ5UBMTExMd7dlw8WAeXLkcrl8CM/DIBB4e+v1QECAv79O98Pf7/fz2rXaWg8Pi5/Z2VlZUul/8LOSLiUfdHYCWOMQARCxuKZlUikWmEDyLZcjIiIi1GrL39bWlhYeDygvN6fivn0HDgQHAyNHBgbqdEBqalKSQmGpLoqLv/giMBC4dq2uTiAAKOVwnNdl7x+EGI0GAxAY6O/f2wusWpWbW19vDrCnp2UfcPt2c7ObmyXTc3JWrGhstKxdD8SriDJtun0bAPDyQ+zoz1DtepGIt1UoNL4JGDfdvGmtg0w3UywWi81zY2WlQAB4ePD5RiPAYpkXwwsXEhJWrgRu3nzmmdzcwSMgJEQkOnYMSEw8eXLzZktx0NVl7p7GxY0dq1IBU6dOmSKTAf7+5inGWlhbhvabAbxtKSl9Gxoa1HqxlLO2tdXatxZ8fMypPXv2T37S1gZkZKSny2TA119/842Pj+07TReX7m6FAtDrPTy8vQFKCfnX1gKPp1R2dAB9fQKBLSfOvb29vWw2kJiYkNDVBSQlTZ7c2Qnw+Xy+Xc1AHerxi5YWN356KrY9OPD3iOpvgHlOo5RshxdmnTljh0kALA5Nnz5tWkcHEBERHm7LRisi4syZPXuA+PgdO1auBDgctVqlAoTCU6d27gTGjzdftxW+vuYqjrHL7sAz8VpOKuhXJSXWjre6F0TV5OdUfOiQ/abdZyghxJa6//r1Z59dtQro6QkJiYkBUlPfeGPGDMDXt66ushKorFyzZvdu++xwlk8AYNqGRGw6eNDa8VYT4P5Oy0zj5pISnCZ5NLf/1HI2eLyurvZ2wM/v6lWJBJDLH300JQVwc7tzp6kJ8PJqbLx8ebCt+hfcPRHkC5OXGJ8+e9ba26zvht7tb5Ol4JOt27bZayfTf1epzL0YaxEaKhZ/9hnQ1JSevngxUF29bFleHlBV9corhYVAWFhpqT35qdEw7W8H9+EBRMT64p13zBll/Z7a5jNhN6XrWoPr7t3kRdTRoitXrL2P6cczzTCZTCazhYAbN2bPXrkSaGmZPDkz03K9uzs0NCYGqKrKySkosD1uzCLM2HX/uUF/IKmYSA9XV7sv0G/UX9mzx1b9ds9/zGG06W1yESVlZQinp9Dzw26RXG4+8923b//+0FDzQQeLBXh4eHoaDEBNjatrcjIglz/yyMSJ9lpjOwSCpqarV4GoqObmM2csawGbbS6Pn38+O/v2bcsO9wf4HgJ4GwysiawLyElLczMmLzNs+eabQSOAQe/Hon2c2F/9Ci8gAnW//S1zvb6+ocHdHThw4OBB84ZsxAhzu3nRIqkUqKq6dMnLy7KzHCowbe+0tJQUhQI4ePDIkeBgoLnZ3C3NylqwQCoFoqLM5wr3MB6bMGf9ev711K8MR/Py7NXvMAH3XswqlDzH+XLPnm/jvk31fj47m9npTpgwYYJSae6zt7VZnrD/VphMlBIC/O1vJSUBAYBIJBL5+gJPPTV9ekcHkPbIEwL5ib17+cKUVw3JL77IlOn26nNaCXbysc006BN394bCplq37d9//zgeP6NUhoXFx48b58jBxlCjqurSJYEAqLxZGSkQNDUFufr46DJjYubPz09qznf8yGgAXs69+/bEWMlv2EXvvYfzNIPkrF49NOFzHESKZrr//ffdolIWGheuW2drldOv/IF2QL1HfIIdPmcOdtECMnHXLlqCLThhz3H34ICkkDlYIJNhAg2l115+2b0o9R/G74qLB0zfYDl27wONFF0sO2fLFqipHzm5dOmQf6BRjkIE6nRoRRhdVFRkiOEcMr775puCpMlSQKFwXMHDMWSfKGnGlE8AQkPp+6zX2Kdzc+lESolo8WK4QIj3HvYCi4PoxC5skEpJDZlOJx08CKF+ifHpggL36HQCNDcPdhz+iz7SM3/YoZ0T9DFn/qRJplUkC+UZGfgxNWJSQgL5GGqaFh2NJvIl+TIwkH5I38JXAsE9R1aRtzBFqUQYnUVntbXRbJwk52tr8R1pREVFBWuzyR8zzp1zrUmtMOw8f97Zc/kwhjGMYQxjGMP4H8M/AXiI3aUalWSzAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTEwLTI1VDE0OjA3OjIxKzA4OjAwlrS75wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0xMC0yNVQxNDowNzoyMSswODowMOfpA1sAAAB7dEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dhNnJna3hjbW1hLyVFNSU4RCVBMSVFOSU4MCU5QSVFNSVBNCVCNCVFNSU4MyU4RiVFOCVBMSVBOCVFNiU4MyU4NTExLnN2Zy3NmWQAAAAASUVORK5CYII=\"},\"E61+\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"UFDc\"),a(\"XRNA\"),a(\"osO1\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return t.replace(o,function(t,n,l){var o=n.split(\"|\").slice(1).map(function(t){return t.trim()}),s=o.length,r=e;return s&&o.forEach(function(t){var e=c(t),n=e.fnName,l=e.args;l.unshift(r),(0,a.isFunc)(u.default.helpers[n])?r=u.default.helpers[n].apply(null,l):((0,i.warn)('A helper function named \"'+n+'\" is not registered, please register it by Validator.addHelper()'),r=\"\")}),r})}function c(t){var e=t.indexOf(\"(\"),a=t.indexOf(\")\"),i=\"\",n=[];if(e===r)n=[],i=t;else if(e!==r&&a!==r){var l=t.slice(e+1,a);n=l.split(\",\").map(function(t){return t.trim().replace(s,\"\")}),i=t.slice(0,e)}return{fnName:i,args:n}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=function(t){return t&&t.__esModule?t:{default:t}}(n),o=/\\{\\{((?:.|\\n)+?)\\}\\}/g,s=/['\"]/g,r=-1;e.default=l,t.exports=e.default})},EF6b:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-rate-item\",props:{index:{type:Number,default:0}}},t.exports=e.default})},EKox:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"checkbox-view\",title:\"Checkbox\"}},[a(\"template\",{slot:\"content\"},[a(\"cube-checkbox\",{model:{value:t.checked,callback:function(e){t.checked=e},expression:\"checked\"}},[t._v(\"Checkbox\")]),t._v(\" \"),a(\"p\",[t._v(\"checked value: \"+t._s(t.checked))]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{position:\"right\",shape:\"square\",\"hollow-style\":!0},model:{value:t.checked,callback:function(e){t.checked=e},expression:\"checked\"}},[t._v(\"Styled Checkbox\")]),t._v(\" \"),a(\"br\"),a(\"br\"),t._v(\" \"),a(\"cube-checkbox\",{attrs:{option:t.optionValue},model:{value:t.checked2,callback:function(e){t.checked2=e},expression:\"checked2\"}}),t._v(\" \"),a(\"p\",[t._v(\"checked value (with option) : \"+t._s(t.checked2))]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{option:{disabled:!0},\"hollow-style\":!0},model:{value:t.checked2,callback:function(e){t.checked2=e},expression:\"checked2\"}},[t._v(\"\\n      Disabled Checkbox\\n    \")]),t._v(\" \"),a(\"br\"),a(\"br\"),t._v(\" \"),a(\"cube-checkbox\",{staticClass:\"with-click\",model:{value:t.checked2,callback:function(e){t.checked2=e},expression:\"checked2\"}},[t._v(\"\\n      Agree \"),a(\"a\",{attrs:{href:\"javascript:;\"},on:{click:function(t){t.stopPropagation()}}},[t._v(\"《xxx》\")])])],1)],2)},staticRenderFns:[]}},ES30:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gCE8\"),a(\"6liq\"),a(\"2DUa\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);c.default.install=function(t){t.component(c.default.name,c.default),t.component(u.default.name,u.default),t.component(o.default.name,o.default)},c.default.Group=u.default,c.default.Item=o.default,e.default=c.default,t.exports=e.default})},ETXl:function(t,e){},Eezp:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"tab-composite-view\",title:\"tab-composite\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-tab-bar\",{ref:\"tabNav\",attrs:{\"show-slider\":\"\",\"use-transition\":t.disabled,data:t.tabLabels},model:{value:t.selectedLabel,callback:function(e){t.selectedLabel=e},expression:\"selectedLabel\"}}),t._v(\" \"),a(\"div\",{staticClass:\"tab-slide-container\"},[a(\"cube-slide\",{ref:\"slide\",attrs:{loop:t.loop,\"initial-index\":t.initialIndex,\"auto-play\":t.autoPlay,\"show-dots\":t.showDots,options:t.slideOptions},on:{scroll:t.scroll,change:t.changePage}},[a(\"cube-slide-item\",[a(\"cube-scroll\",{attrs:{data:t.followersData,options:t.scrollOptions}},[a(\"ul\",{staticClass:\"list-wrapper\"},t._l(t.followersData,function(e,i){return a(\"li\",{key:i,staticClass:\"list-item\"},[a(\"div\",{staticClass:\"top\"},[a(\"img\",{staticClass:\"avatar\",attrs:{src:e.avatar}}),t._v(\" \"),a(\"span\",{staticClass:\"time\"},[t._v(t._s(t.resolveTitle(e)))])]),t._v(\" \"),a(\"div\",{staticClass:\"middle is-bold line-height\"},[t._v(t._s(e.question))]),t._v(\" \"),a(\"div\",[t._v(t._s(t.resolveQuestionFollowers(e)))])])}))])],1),t._v(\" \"),a(\"cube-slide-item\",[a(\"cube-scroll\",{attrs:{data:t.recommendData,options:t.scrollOptions}},[a(\"ul\",{staticClass:\"list-wrapper\"},t._l(t.recommendData,function(e,i){return a(\"li\",{key:i,staticClass:\"list-item\"},[a(\"div\",{staticClass:\"top is-black is-bold line-height\"},[t._v(\"\\n                  \"+t._s(e.question)+\"\\n                \")]),t._v(\" \"),a(\"div\",{staticClass:\"middle is-grey line-height\"},[t._v(t._s(e.content))]),t._v(\" \"),a(\"div\",[t._v(t._s(t.resolveQuestionFollowers(e)))])])}))])],1),t._v(\" \"),a(\"cube-slide-item\",[a(\"cube-scroll\",{attrs:{data:t.hotData,options:t.scrollOptions}},[a(\"ul\",{staticClass:\"list-wrapper\"},t._l(t.hotData,function(e,i){return a(\"li\",{key:i,staticClass:\"list-item\"},[a(\"div\",{staticClass:\"hot-title\"},[a(\"span\",{staticClass:\"hot-sequence\"},[t._v(t._s(e.sequence))]),t._v(\" \"),a(\"span\"),t._v(\"\\n                  \"+t._s(e.label)+\"\\n                \")]),t._v(\" \"),a(\"div\",{staticClass:\"hot-content is-bold is-black\"},[t._v(t._s(e.question))])])}))])],1)],1)],1)],1)])},staticRenderFns:[]}},Emnr:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-image-preview-fade\"}},[a(\"cube-popup\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],attrs:{type:\"image-preview\",\"z-index\":t.zIndex,center:!1}},[a(\"div\",{staticClass:\"cube-image-preview-container\"},[a(\"div\",{staticClass:\"cube-image-preview-header\"},[t._t(\"header\",null,{current:t.currentPageIndex})],2),t._v(\" \"),t.isVisible?a(\"cube-slide\",{ref:\"slide\",attrs:{data:t.imgs,\"initial-index\":t.currentPageIndex,\"auto-play\":!1,loop:t.loop,speed:t.speed,options:t.options},on:{change:t.slideChangeHandler}},[t._l(t.imgs,function(e,i){return a(\"cube-slide-item\",{key:i},[a(\"div\",{staticClass:\"cube-image-preview-item\",on:{click:t.itemClickHandler}},[a(\"cube-scroll\",{ref:\"items\",refInFor:!0,attrs:{options:t.scrollOptions},nativeOn:{dblclick:function(e){t.dblclickHandler(i,e)}}},[a(\"img\",{staticClass:\"cube-image-preview-img\",attrs:{src:e},on:{load:function(e){t.imgLoad(i)}}})])],1)])}),t._v(\" \"),a(\"template\",{slot:\"dots\"},[a(\"i\")])],2):t._e(),t._v(\" \"),a(\"div\",{staticClass:\"cube-image-preview-footer\"},[t._t(\"footer\",[a(\"span\",{staticClass:\"cube-image-preview-counter\"},[t._v(t._s(t.currentPageIndex+1)+\"/\"+t._s(t.imgs.length))])],{current:t.currentPageIndex})],2)],1)])],1)},staticRenderFns:[]}},Er22:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/recycle-list/\"+t)}}},t.exports=e.default})},\"Eu3/\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-action-sheet-fade\"}},[a(\"cube-popup\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],class:{\"cube-action-sheet_picker\":t.pickerStyle},attrs:{type:\"action-sheet\",center:!1,mask:!0,\"z-index\":t.zIndex},on:{\"mask-click\":t.maskClick}},[a(\"transition\",{attrs:{name:\"cube-action-sheet-move\"}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],staticClass:\"cube-action-sheet-panel cube-safe-area-pb\",on:{click:function(t){t.stopPropagation()}}},[a(\"h1\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.pickerStyle||t.title,expression:\"pickerStyle || title\"}],staticClass:\"cube-action-sheet-title border-bottom-1px\"},[t._v(t._s(t.title))]),t._v(\" \"),a(\"div\",{staticClass:\"cube-action-sheet-content\"},[a(\"ul\",{staticClass:\"cube-action-sheet-list\"},t._l(t.data,function(e,i){return a(\"li\",{staticClass:\"cube-action-sheet-item border-bottom-1px\",class:[e.class||\"\",i===t.active?\"cube-action-sheet-item_active\":\"\"],attrs:{\"data-align\":e.align},domProps:{innerHTML:t._s(e.content)},on:{click:function(a){t.itemClick(e,i)}}})}))]),t._v(\" \"),a(\"div\",{staticClass:\"cube-action-sheet-space\"}),t._v(\" \"),a(\"div\",{staticClass:\"cube-action-sheet-cancel\",on:{click:t.cancel}},[a(\"span\",[t._v(t._s(t._cancelTxt))])])])])],1)],1)},staticRenderFns:[]}},EzE1:function(t,e,a){function i(t){a(\"qcQ4\")}var n=a(\"VU/8\")(a(\"Bjol\"),a(\"cIKt\"),i,null,null);t.exports=n.exports},EzL5:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"IskU\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{swipeData:i.defaultData}},methods:{onItemClick:function(t){console.log(\"click item:\",t)},onBtnClick:function(t,e){var a=this;\"delete\"===t.action&&this.$createActionSheet({title:\"确认要删除吗\",active:0,data:[{content:\"删除\"}],onSelect:function(){a.swipeData.splice(e,1)}}).show()}},components:{CubePage:n.default}},t.exports=e.default})},F7um:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAACwRJREFUeNrtm3tUVVUawH/78Lh0EYR4JCopoGI4PqGxhxNJaywfmS5fOWVaEtnbarVMW9PM1DJXy1VOWS6H0JxRp0TzvQx0zYQrNVIUyNegIGIqAiKXELncy717/tj3eDEV7r28cobfP98f5+yz9/d9e39772/vA5100kknnXTSSSf/jwhPC0qZOg4++QSIgyeeAPrA7beDeAPq6kAegOPHQcyArVvBngypqUI89xyUlnpcr33bMAgNBW2rqk/HPh4uXRLao4fg4kXP9VrxAXTvDvYN8OyzIFfD+PHAZxAXBwwEPz+gEC5dAo7B2rVCpGyHV15pTweUQ1kZsBnCw12oSjlGyh/g/fcRQUdg0SIhpk4Fm03av5Xg7Q1Vj8PcuWCdB5MmISzfK8Wt/4SAAGiYCaKJdnuPBLsdfHbC5ctI33vh2DGE4TykpyO7joWlS4U2UkBDg7T/SdUruqfC/PkgjsCCBY0M3RwToLxciJRwuOOONneAlF9I1TDr56qnX2UjlJQgCYbkZBChEBSEkHth2jRgDkye3KjqDZCRAYHvgMEAVzLhgQfAGgleXp51C1fw+QlsNqT/b2D3bkT1CrBYQE6GRx5p9OJy2LABKe6HdetAXgSTCcFsWLECOAV33uk0jHkj+PkJ7ZUMqK9vQwekvaaGvv0uqKx0PmAPZGcLLeUfcO+915f7fJTqWXIyLFzYdgZuMcdhwQIhUpbAokXX6WFPPQ3Z2Qh2wvDhzifacQgJESJ5iSM0uYT7Drg6ZHvkOTx9ADQNGA1VVchzPSE8XGh/cQzxL76EGTMQDQNg1SqQ2Y73b9YkR5v04d+li5K+vkoaDA6Ff/ENu11JvfdZLEpevqyk2ezQQDZjknvAbkcap8KsWUJ74j+wenUjvc9CeTnwDQQHA7lqRJ1bpkaA0rvNHHDVETJ1CuTnA7+HQYMafXI+PP880jAQ+vVDmP8Ar7128y/pBg0NVTI4WEkfH0/bdmOsViX13qmP3ubCxW018PHHcKULFBSoDrJs2bX65ucL8WwlDBnibqu8PVdIVDtiI9c6QE6FTz9FmIfeOJbrhu3eXUnd4MLjzuAaer36RKkvHEwmJc+dU1J3lE5dALz6KgjV02Hotc/t78NXXwHPeWRFT9WR9hUfQEAAwiYgJwcIgn79bl4iKEjJXr2UbCoMdQQ2m5JnziipO+amvAUFBUhrEiQkCO3FDc5w5zot7nVSrpyvlom26XD48PUxvkcPJV1Zqv6aKCtTUt+z6HOHY47A2g/i4oR4wU+FJs9ohV4YsA4WL3YaXg8l0dFK3mqG19FDla6H3ql0PcPTlN4tw2MHSLk1FQYMgOowGD3aaXh9bdy1a8cZrzUJDLxWL13P6rUwbpyUmcuhf39Pv+75CJB1CZCWBvbZqlEREepB4/TA/xL6YkHX0/a00tv0Paxc6elX3XaAShl06YKofVltRPR1+q0aatxF11PXu7YQ7rnnql3cxP0RIEz9Vc5Ez8lERjoeNDmhl5ZeuODnB4WFFy4kJkJ1dV1do418h1FVZTL5+EBBQUnJ4MFQUVFbO3RoUyV0PXv2VNJhB2EqgXnz3K3fgxBk2aayg3qoaTphtXHjpk0REbB9+759KSkQEzN27LffQkDAffedOgVFRSZTSkp7mPpa9u8/cCA4GD77bOXKkSMhKmrs2OxsCAtLTDx0CAoLLZbU1Ka+cNttSup2sHwMjz3mbjs8cID5CPTp01zIOX369GmjEbKyvvsuNBQiIqKiYmJACCGEAE3z8vLygsuXfXwmTgSr1Wptj52BxWKxaBqkp3/9dffuEBQUHh4ZCb6+fn6Nu1JISEzMuHFQUnLmjNHY1Bd1O9SPgr5928wB0p5zQO0mvR9SeRm9B9yY8vKKCoMBfHx8fQ0GyM7esWPLFsjLy8ratQsKCnJysrNh+/a0tOXLnaGgrTGZqqt9fMBqbWjw9oaffiooOHYMsrLWr1+zBoqLjx7Nz4f09I8+WrgQysvLy/Us1I3R7aD9FQwGaU9f58xbNY8bqYgzf1YbrsA5jjVxt6bejoqKiqqthddfX7589WqwWMxmsxmWLHnhhaeecr4XHBwcbLVCaGhoqJ4+a0tCQ0NCLBZ48sl58956CwYNSkx89FF4++0JE5KSVDvr6sDLy9tbSpg0aeTIK1dc+XLgi475YbZzWfrjj82VcmPQe+9Xw821mT4sTBnUYikpWbwYDh7cuXPDBufz8PDw8Pp6mD171qySEtA0IRrnKevqzGYvL9ixIyPjRscc6enr1/fsCYcO5eY23nGcP19a6ucHmzdv3aovGK9RWNM0KSEy0s9v6VLIycnIWLPGaXh/f6PRZoMZM6ZPP3vWnY7R2C6uH8y4MQLsJ9V23O+462UgKqpr15UroXfvESMARo+Oj/f2Bn9/f/+mkrb19fX1mgaZmbt2hYdDXFz//jU1EBgYGGi1Ql5efn7XrnDy5MmTXbpA7969el254pxcL1woK9PzrDeiW7eAgH37nHLIkPfe8/YGo9FobGhQc5U7ejpDUW2kYyRUuFLK5Uqk/NcqldcJHABnz7rXOM/ZtEn15Kys3btDQ0FKNU5iY0NCjEaw24VoaICTJy9etFjUnCMlzJmTnFxcDH379ulTW9terQWoegaio4UYdRiKi5t7240QlDTTkZha4s6RW0uZOHH8+NJSCAgwGqWEceN69IiKgilTIiLi4mDatG7dBg2C2NigoMBAGD48IaGqqiMML55Whz6mPzozqs3jsgPUkLTbQWxyZXJpbeLjBw+uqYGDBy9dKiuDhgYp7XaorKyvN5vh1Kmff66pgYSEYcOaTSS3CTIWTpzQLxm4WsqDAxk5DDIzkYRASMhNXxMkOyamD1ojTfHww2PGnD0LJ04UFhqNsGxZUVFuLpjNaiaJj1eGj46Ojm7fnn+VPbB3r7uF2uwUSsVqTYOcS7BpE3DKcb+mReiT8+HDR48GBoKfn8Fgs8GAAXfdVVMDQnTQQY+UGowfL7TfxsO2ba4Wa8GRZNPoIUvKA6fBtZW0KxgMBoPd3pGh5jo2Q0UF+BdAZqa7hT12gJQ5OTBzJsh34OWXb/DKEkcIqoDY2I62UvOIZBW75TRYuxbY4+INvn9Dbq7QBpidNzHcqNXT5kqZK9U5ry0WiopArr2lzwKkeB42bhRaQg5MmtRe1Xo8AoQYKsBkkjJnuvOi1YcftlfDWx3BeRg6VI3sYcPUyG4iyMmgaDh3Tmh9P23JsrwVDuUdk608OBJ27kTIxfDQQx1jxXZA8iZkZ4NYDA88ILSEu6+/yuI6rbYKkvLQHnXXx9YXDh4EzkC3bi3+8K8GMQ3KypA2oa6hDC9qjYxAqy3ZhBg2As6fBz6BBx+82uBbn28coSgdxoxpLcPrtOE+YP86dVVPe1Oti+XXzmO8NqFIpQBkGsydixS+UFPTcguJd6G4WIiEBLXYaF3a+DogSHv+G2onbMmAL79EsAqSktqgqr/B0qVC3J3myY8SHUWbO0BHyvR08PJCRsVAcjKCN+Hdd2mlVAXOUPGi41r5DBeuFwKMgspK5OVXYcsW/ceN9rJLuzngl0j7DzEQGIjQUuCll5BMgdmzEVQ6b6O1CX+HkhIgElJTkfXPqD9mRoS1Sshykw5zwC9Ry1khIAdITAR5BJKSkOJxuP9+BBNg4EBgAoSFNfGpaNWjxSTIywPiYP9+4GnYsQMRnwB796pUSXP/CrQ9vxoHuIpz35H3u2uzsabvoKqqvUNIJ5100kknnXjKfwGX7B4gTpCqegAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0yNVQxNDowNzoyMSswODowMJa0u+cAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMjVUMTQ6MDc6MjErMDg6MDDn6QNbAAAAenRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nYTZyZ2t4Y21tYS8lRTUlOEQlQTElRTklODAlOUElRTUlQTQlQjQlRTUlODMlOEYlRTglQTElQTglRTYlODMlODU4LnN2Z7bV1VIAAAAASUVORK5CYII=\"},\"FI+X\":function(t,e){},FSTv:function(t,e){},FZvW:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{current:\"快车\",labels:[\"快车\",\"小巴\",\"专车\",\"顺风车\",\"代驾\",\"公交\",\"自驾租车\",\"豪华车\",\"二手车\",\"出租车\"],txts:[\"1快车\",\"2小巴\",\"3专车\",\"4顺风车\",\"5代驾\",\"6公交\",\"7自驾租车\",\"8豪华车\",\"9二手车\",\"10出租车\"]}},methods:{changeHandler:function(t){this.current=t}},components:{CubePage:i.default}},t.exports=e.default})},Fc4T:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"😀 😁 😂 🤣 😃 🙃 \",\"👆🏻 outer 👇🏻 \",\"🙂 🤔 😄 🤨 😐 🙃 \",\"👆🏻 outer 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \"],l=[\"😀 😁 😂 🤣 😃 🙃 \",\"👆🏻 inner 👇🏻 \",\"🙂 🤔 😄 🤨 😐 🙃 \",\"👆🏻 inner 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"👆🏻 inner 👇🏻 \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👆🏻 inner 👇🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"👆🏻 inner 👇🏻 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👆🏻 inner 👇🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"👆🏻 inner 👇🏻 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👆🏻 inner 👇🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"👆🏻 inner 👇🏻 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{items1:n,items2:l}},components:{CubePage:i.default}},t.exports=e.default})},FmUO:function(t,e,a){function i(t){a(\"Pp+f\")}var n=a(\"VU/8\")(a(\"NEEv\"),a(\"Iakm\"),i,null,null);t.exports=n.exports},Fth0:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/sticky/\"+t)}}},t.exports=e.default})},Fxpn:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-radio\",class:t._containerClass,attrs:{\"data-pos\":t.position}},[a(\"label\",{staticClass:\"cube-radio-wrap\",class:t._wrapClass},[a(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.radioValue,expression:\"radioValue\"}],staticClass:\"cube-radio-input\",attrs:{type:\"radio\",disabled:t.option.disabled},domProps:{value:t.computedOption.value,checked:t._q(t.radioValue,t.computedOption.value)},on:{change:function(e){t.radioValue=t.computedOption.value}}}),t._v(\" \"),t._m(0),t._v(\" \"),t._t(\"default\",[a(\"span\",{staticClass:\"cube-radio-label\"},[t._v(t._s(t.computedOption.label))])])],2)])},staticRenderFns:[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"span\",{staticClass:\"cube-radio-ui cubeic-round-border\"},[a(\"i\")])}]}},G4Tv:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-form-group\"},[a(\"p\",{staticClass:\"cube-form-group-legend\"},[t._v(t._s(t.legend))]),t._v(\" \"),a(\"div\",{staticClass:\"cube-form-group-content\"},[t._t(\"default\",t._l(t.fields,function(t,e){return a(\"cube-form-item\",{key:t.key||e,attrs:{field:t}})}))],2)])},staticRenderFns:[]}},\"G59/\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"qqiS\"),a(\"PzHl\"),a(\"Z5VE\"),a(\"d64j\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={name:\"cube-toast\",mixins:[s.default,r.default],props:{type:{type:String,default:\"loading\"},icon:{type:String,default:\"\"},mask:{type:Boolean,default:!1},txt:{type:String,default:\"\"},time:{type:Number,default:3e3},zIndex:{type:Number,default:900}},computed:{iconClass:function(){var t=[];this.icon&&t.push(this.icon);var e={correct:\"cubeic-right\",error:\"cubeic-wrong\",warn:\"cubeic-warn\"},a=e[this.type];return a&&t.push(a),t},isLoading:function(){return\"loading\"===this.type}},methods:{maskClick:function(){this.maskClosable&&this.hide()},show:function(){var t=this;this.isVisible=!0,this.clearTimer(),this.$nextTick(function(){0!==t.time&&(t.timer=setTimeout(function(){t.hide(),t.$emit(\"timeout\")},t.time))})},hide:function(){this.isVisible=!1,this.clearTimer()},clearTimer:function(){clearTimeout(this.timer),this.timer=null}},components:{CubePopup:o.default,CubeLoading:u.default}},t.exports=e.default})},GFMH:function(t,e,a){function i(t){a(\"KkYI\")}var n=a(\"VU/8\")(a(\"/kdh\"),a(\"gqZP\"),i,null,null);t.exports=n.exports},GJyM:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/slide/\"+t)}}},t.exports=e.default})},GWVJ:function(t,e){},Gcl4:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"dz9r\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={data:function(){return{action:{target:\"//jsonplaceholder.typicode.com/photos/\",prop:\"base64Value\",checkSuccess:function(t){return!0}}}},methods:{processFile:function(t,e){(0,c.default)(t,{compress:{width:1600,height:1600,quality:.5}},e)},fileSubmitted:function(t){t.base64Value=t.file.base64}},components:{CubePage:l.default}},t.exports=e.default})},Gp4f:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){(0,n.default)(t,e,[\"confirm\",\"cancel\",\"close\",\"btn-click\",\"link-click\"],!0)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var n=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},\"H+BD\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"1Vb/\"),a(\"5Fev\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={data:function(){return{disabled:!1,max:5,value:3,image:\"https://p3.pstatp.com/large/593c0006340abbabefa0\",customStar:!1,justify:!1,options:[{text:\"5\",value:5},{text:\"10\",value:10}],allowHalf:!1}},methods:{updateDisabled:function(t){this.disabled=t},updateStarNumbers:function(t){this.max=t},updateJustify:function(t){this.justify=t},updateRateItem:function(t){this.customStar=t},updateAllowHalf:function(t){this.allowHalf=t}},components:{CubePage:u.default,CubeButtonGroup:o.default,SwitchOption:s.default,SelectOption:r.default}},t.exports=e.default})},\"H61/\":function(t,e,a){function i(t){a(\"MCCe\")}var n=a(\"VU/8\")(a(\"gAqf\"),a(\"44h6\"),i,null,null);t.exports=n.exports},HAAd:function(t,e){},HBJ7:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"qqiS\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},HNkC:function(t,e){},HOtT:function(t,e){},HS2u:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"cube-cascade-picker\",{attrs:{data:t.data,\"selected-index\":t.selectedIndex,title:t.title,subtitle:t.subtitle,\"cancel-txt\":t._cancelTxt,\"confirm-txt\":t._confirmTxt,\"swipe-time\":t.swipeTime,\"z-index\":t.zIndex,\"mask-closable\":t.maskClosable},on:{select:t._select,cancel:t._cancel,change:t._change},model:{value:t.isVisible,callback:function(e){t.isVisible=e},expression:\"isVisible\"}})},staticRenderFns:[]}},HgDQ:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"70Rd\"),a(\"GdJY\"),a(\"64cm\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.registerLanguage(\"json\",c.default),e.default={props:{data:{type:Object,default:function(){return{}}},title:{type:String,default:\"\"}},data:function(){return{changed:!0}},watch:{data:{handler:function(){var t=this;this.changed=!1,this.$nextTick(function(){t.changed=!0,t.$nextTick(function(){t.$refs.code&&l.default.highlightBlock(t.$refs.code)})})},deep:!0}},mounted:function(){this.$refs.code&&l.default.highlightBlock(this.$refs.code)}},t.exports=e.default})},\"I0/a\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-scroll-nav-bar\",class:\"cube-scroll-nav-bar_\"+t.direction},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{nestMode:\"none\",options:t.options,direction:t.direction}},[a(\"div\",{ref:\"items\",staticClass:\"cube-scroll-nav-bar-items\"},t._l(t.usedTxts,function(e,i){return a(\"div\",{key:i,staticClass:\"cube-scroll-nav-bar-item\",class:{\"cube-scroll-nav-bar-item_active\":t.active===t.labels[i]},on:{click:function(e){t.clickHandler(t.labels[i])}}},[t._t(\"default\",[a(\"span\",{domProps:{innerHTML:t._s(e)}})],{txt:e,index:i,active:t.active,label:t.labels[i]})],2)}))])],1)},staticRenderFns:[]}},\"I6+Q\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){(0,n.default)(t,e,[\"change\",\"hide\"],!0)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var n=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},I7KL:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{checkList:[\"1\",\"4\"],options:[\"1\",\"2\",{label:\"3\",value:\"3\",disabled:!0},{label:\"4\",value:\"4\",disabled:!0}],colOptions:[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\"],colNum:3,colCheckList:[]}},components:{CubePage:i.default}},t.exports=e.default})},IBT5:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"form-def\",title:\"Form 表单\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-form\",{attrs:{model:t.model,schema:t.schema,\"immediate-validate\":!1,options:t.options},on:{validate:t.validateHandler,submit:t.submitHandler,reset:t.resetHandler}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"model\",data:t.model}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"validity\",data:t.validity}})],1)])},staticRenderFns:[]}},IDsm:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"div\",{staticClass:\"scroll-wrapper\",attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"demo\"},[a(\"cube-scroll\",{ref:\"scroll\",staticClass:\"outer-horizontal-scroll\",attrs:{data:t.items1,direction:\"horizontal\"}},[a(\"ul\",{staticClass:\"list-wrapper\"},[t._l(t.items1,function(e){return a(\"li\",{staticClass:\"list-item\"},[t._v(t._s(e))])}),t._v(\" \"),a(\"li\",{staticClass:\"list-item inner-horizontal-scroll\"},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{data:t.items2,nestMode:\"free\",direction:\"horizontal\"}},[a(\"ul\",{staticClass:\"list-wrapper\"},t._l(t.items2,function(e){return a(\"li\",{staticClass:\"list-item\"},[t._v(t._s(e))])}))])],1),t._v(\" \"),t._l(t.items1,function(e){return a(\"li\",{staticClass:\"list-item\"},[t._v(t._s(e))])})],2)])],1)])])},staticRenderFns:[]}},ISEw:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"D1IJ\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={props:{tip:String,questions:{type:Array,default:function(){return[]}},submit:{type:Object,default:function(){return{text:\"Submit\"}}}},data:function(){var t={};return this.questions.forEach(function(e){t[e.model]=void 0,\"checkbox\"!==e.type&&\"upload\"!==e.type||(t[e.model]=[])}),{validity:{},valid:void 0,model:t,options:{scrollToInvalidField:!0,layout:\"classic\"}}},computed:{schema:function(){var t=[];return this.eachQuestion(function(e){var a=(0,i.default)(e);t.push(a)}),t.push({type:\"submit\",label:this.submit.text}),{fields:t}}},watch:{validity:function(t){this.$emit(\"validity\",t)}},methods:{eachQuestion:function(t){var e=this.model;this.questions.forEach(function(a){var i=!1,n=a.on;if(n){\"string\"==typeof n&&(n={model:n});var l=e[n.model];if(n.options)if(Array.isArray(l)){var c=!1;l.some(function(t){if(n.options.indexOf(t)>=0)return c=!0,!0}),i=!c}else i=n.options.indexOf(l)<0;else i=!l}i||t(a)})},submitHandler:function(t){t.preventDefault(),this.$emit(\"submit\",this.getModel())},getModel:function(){var t=this,e=this.model,a={};return this.eachQuestion(function(i){var n=i.model;a[n]=t.processModel(i,e[n])}),a},processModel:function(t,e){var a=t.model,i={city:function(t){return t},upload:function(t){return t}};return i[a]?i[a](e):e},validateHandler:function(t){this.validity=t.validity,this.valid=t.valid}}},t.exports=e.default})},Iakm:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"li\",{staticClass:\"cube-checker-item\",class:{\"cube-checker-item_active\":t.isActive,\"cube-checker-item_disabled\":t.isDisabled},on:{click:t.clickHandler}},[t._t(\"default\",[a(\"span\",{domProps:{innerHTML:t._s(t.option.text)}})])],2)},staticRenderFns:[]}},IskU:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.defaultData=[{item:{text:\"测试1\",value:1},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试2\",value:2},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试3\",value:3},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:4},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:5},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:6},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:7},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:8},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:9},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:10},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:11},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:12},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:13},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:14},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:15},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:16},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:17},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:18},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:19},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:20},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:21},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:22},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:23},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{text:\"测试\",value:24},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]}],t.customData=[{item:{id:\"3646653877\",name:\"还不是因为你长得不好看\",desc:\"伤感：歌词再狠，也抵不过现实伤人\",imgurl:\"http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"1789676645\",name:\"秋水浮萍任飘渺\",desc:\"『武侠配乐』快意恩仇江湖情\",imgurl:\"http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"3649034125\",name:\"念葳蕊\",desc:\"江海迦：热恋后哼一首歌为自己悲悯的歌\",imgurl:\"http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"2977781451\",name:\"风少\",desc:\"午后甜点：静听浓情爵士，于悠然中尽享\",imgurl:\"http://p.qpic.cn/music_cover/llTQ9l2AeicK2OLIORnsUdtbhlNRGF89NBDI6SoBxEIzhAlrmV1SmGg/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"2691498608\",name:\"虛榮少女\",desc:\"感性强盗｜强势洗榜的那些韩国抒情音乐\",imgurl:\"http://p.qpic.cn/music_cover/icLTHicH8iakBFAJbiazGT3DnywHfOoiaVzdZWJ4pVcDdoVCqlU5hLx8K7A/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"3703029362\",name:\"哔咯独角兽\",desc:\"温情摇滚｜安抚夜色弥漫时落寞的心\",imgurl:\"http://p.qpic.cn/music_cover/0yiaX8d9LSmnROyId1RsUUwklzSKKp7RSanBAJ89We5I4kMwdnH5yeg/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"3606666961\",name:\"毕业雨季\",desc:\"小资情调：何为亏欠文艺青年心中的体面\",imgurl:\"http://p.qpic.cn/music_cover/SXTicaprnQbfAyiaibTsguPlPQK4ZBwicp09O22qKwnTJaO10kp2le37Ww/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"3604823742\",name:\"冷门单曲酱\",desc:\"放假挤火车回家：等车时的轻快曲\",imgurl:\"http://p.qpic.cn/music_cover/lricrZ3ca62ybvZbWYjtYa9d3Biab7MTiaJhX9owcjdkv5HMxDEunm7tg/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"1746389460\",name:\"私に闻いて风i\",desc:\"追忆续篇：少女漫中关于邂逅他的故事\",imgurl:\"http://p.qpic.cn/music_cover/qH8rLHHhL8O8Iibm56uPzJy4mNzibugoib19FAujo6GdTXAAvhicw7Js0Q/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"1746020155\",name:\"同位\",desc:\"优雅的音乐贵族 大提琴\",imgurl:\"http://p.qpic.cn/music_cover/e4us58fDgLVdxdbgmSUdTADM7Sl88AfGK3qQqibxmqpqRnmSGHaFaEQ/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"2949232733\",name:\"香草拿铁\",desc:\"超级碗中场秀嘉宾歌曲集\",imgurl:\"http://p.qpic.cn/music_cover/V34Wl85ZuJRskg3Ds3R8yyddp8gI2icb7wXicN8ZEzJZP0icnwHyzNzhQ/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"3691421503\",name:\"L岺\",desc:\"寒假赖床指南:吸猫！吸猫！吸猫！\",imgurl:\"http://p.qpic.cn/music_cover/Ay2w92PeiaO57pZWMwecv6SEWibhUAoWKzkmWgbtcfCsibQYt8bZtq2PA/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]},{item:{id:\"2072789141\",name:\"D.Va\",desc:\"中国风电音：敢问上天，是否有仙？\",imgurl:\"http://p.qpic.cn/music_cover/QlZibnBVmII60BjTttickJO9MTQDoTRFvboeks5LDkOJHNEjao8f9t6Q/600?n=1\"},btns:[{action:\"clear\",text:\"不再关注\",color:\"#c8c7cd\"},{action:\"delete\",text:\"删除\",color:\"#ff3a32\"}]}]})},Iyug:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Z5VE\"),a(\"bh5B\"),a(\"5KkG\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={name:\"cube-drawer-panel\",mixins:[c.default],props:{data:{type:Array,default:function(){return[]}},index:{type:Number,default:-1}},computed:{selectedIndex:function(){var t=this.$parent.selected[this.index];return void 0===t?-1:t}},watch:{data:function(){this.scrollToTop()},isVisible:function(){var t=this;this.$nextTick(function(){t.refresh()})}},mounted:function(){this.$parent.addPanel(this)},beforeDestroy:function(){this.$parent.removePanel(this)},methods:{refresh:function(){this.$refs.scroll.refresh()},scrollToTop:function(){this.$refs.scroll.scroll&&this.$refs.scroll.scroll.scrollTo(0,0,0)},itemClickHandler:function(t,e){this.selectedIndex!==e&&this.$parent.changeHandler(this.index,t,e)}},components:{CubeScroll:u.default,CubeDrawerItem:o.default}},t.exports=e.default})},J1IR:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-tab-bar\",class:{\"cube-tab-bar_inline\":t.inline}},[t._t(\"default\",t._l(t.data,function(t,e){return a(\"cube-tab\",{key:t.value||t.label,attrs:{label:t.label,value:t.value,icon:t.icon}})})),t._v(\" \"),t.showSlider?a(\"div\",{ref:\"slider\",staticClass:\"cube-tab-bar-slider\"}):t._e()],2)},staticRenderFns:[]}},J4wF:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/upload/\"+t)}}},t.exports=e.default})},J7to:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"😀 😁 😂 🤣 😃 😄 \",\"🙂 🤗 🤩 🤔 🤨 😐 \",\"👆🏻 scroll up/down 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👆🏻 scroll up/down 👇🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👆🏻 scroll up/down 👇🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👆🏻 scroll up/down 👇🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{offsetTop:56,scrollY:0,scrollEvents:[\"scroll\",\"scroll-end\"],items1:n.slice(),items2:[],items3:[],tabPullUpMap:{1:{enable:!0,pos:0},2:{enable:!0,pos:0},3:{enable:!0,pos:0}},tabOpacity:0,currentTab:1,tabs:[{label:\"tab1\",value:1},{label:\"tab2\",value:2},{label:\"tab3\",value:3}]}},computed:{options:function(){return{pullUpLoad:this.tabPullUpMap[this.currentTab].enable,observeDOM:!1}},scrollData:function(){return[this.items1,this.items2,this.items3]},stickyPos:function(){return this.$refs.sticky.positions[0]-this.offsetTop}},watch:{currentTab:function(t,e){var a=this;this.tabPullUpMap[e].pos=this.scrollY;var i=this.stickyPos,n=i+this.offsetTop,l=this.tabPullUpMap[t].pos,c=void 0;this.scrollY>=n?(c=Math.max(l,i),this.tabOpacity=1):this.scrollY>=i?c=Math.max(l,i):(this.tabOpacity=0,c=this.scrollY),this.tabChangeing=!0,this.$refs.scroll.scrollTo(0,-c,1),this.$nextTick(function(){a.tabPullUpMap[t].enable&&!a[\"items\"+t].length?(a.$refs.scroll.scroll.movingDirectionY=1,a.$refs.scroll.scroll.maxScrollY=-c):a.$refs.scroll.refresh()})}},methods:{onPullingUp:function(){var t=this,e=this.currentTab;setTimeout(function(){if(e!==t.currentTab)return void t.$refs.scroll.forceUpdate();var a=\"items\"+e;(t[a]=t[a].concat(n)).length>=20*e&&(t.tabPullUpMap[e].enable=!1)},300)},scrollHandler:function(t){var e=t.y;this.scrollY=-e},scrollEndHandler:function(){var t=this;this.tabChangeing&&this.$nextTick(function(){t.tabChangeing=!1})},diffChange:function(t,e){var a=0;e&&(a=3*t/e),this.tabChangeing&&(a=Math.max(a,this.tabOpacity)),a=Math.min(a,1),this.tabOpacity=a,this.$refs.stickyHeader.style.opacity=a}},components:{CubePage:i.default}},t.exports=e.default})},JBFj:function(t,e,a){var i=a(\"VU/8\")(a(\"BRD/\"),a(\"UJHE\"),null,null,null);t.exports=i.exports},JHHX:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"O6S8\"),a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={data:function(){return{buttonStyle:[\"inline\",\"outline\",\"primary\"]}},computed:{inlineStyle:function(){return this.buttonStyle.indexOf(\"inline\")>=0},outlineStyle:function(){return this.buttonStyle.indexOf(\"outline\")>=0},primaryStyle:function(){return this.buttonStyle.indexOf(\"primary\")>=0}},components:{CubeButtonGroup:l.default,CubePage:c.default}},t.exports=e.default})},JKih:function(t,e,a){function i(t){a(\"Vdc2\")}var n=a(\"VU/8\")(a(\"Fc4T\"),a(\"eXer\"),i,null,null);t.exports=n.exports},JOED:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"XPXN\"),a(\"O6S8\"),a(\"fGk3\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={data:function(){return{validity:{},valid:void 0,model:{checkboxValue:!1,checkboxGroupValue:[],inputValue:\"\",radioValue:\"\",rateValue:0,selectValue:2018,switchValue:!0,textareaValue:\"\",uploadValue:[]},schema:{groups:[{legend:\"基础\",fields:[{type:\"checkbox\",modelKey:\"checkboxValue\",label:\"Checkbox\",props:{option:{label:\"Checkbox\",value:!0}},rules:{required:!0},messages:{required:\"Please check this field\"}},{type:\"checkbox-group\",modelKey:\"checkboxGroupValue\",label:\"CheckboxGroup\",props:{options:[\"1\",\"2\",\"3\"]},rules:{required:!0}},{type:\"input\",modelKey:\"inputValue\",label:\"Input\",props:{placeholder:\"请输入\"},rules:{required:!0},trigger:\"blur\"},{type:\"radio-group\",modelKey:\"radioValue\",label:\"Radio\",props:{options:[\"1\",\"2\",\"3\"]},rules:{required:!0}},{type:\"select\",modelKey:\"selectValue\",label:\"Select\",props:{options:[2015,2016,2017,2018,2019,2020]},rules:{required:!0}},{type:\"switch\",modelKey:\"switchValue\",label:\"Switch\",rules:{required:!0}},{type:\"textarea\",modelKey:\"textareaValue\",label:\"Textarea\",rules:{required:!0},debounce:100}]},{legend:\"高级\",fields:[{type:\"rate\",modelKey:\"rateValue\",label:\"Rate\",rules:{required:!0}},{type:\"upload\",modelKey:\"uploadValue\",label:\"Upload\",rules:{required:!0,uploaded:function(t,e){return u.default.all(t.map(function(t,e){return new u.default(function(a,i){if(t.uploadedUrl)return a();setTimeout(function(){e%2?i(new Error):(t.uploadedUrl=\"uploaded/url\",a())},1e3)})})).then(function(){return!0})}},messages:{uploaded:\"上传失败\"}}]},{fields:[{type:\"submit\",label:\"Submit\"},{type:\"reset\",label:\"Reset\"}]}]},options:{scrollToInvalidField:!0,layout:\"classic\"}}},methods:{submitHandler:function(t){t.preventDefault(),console.log(\"submit\",t)},validateHandler:function(t){this.validity=t.validity,this.valid=t.valid,console.log(\"validity\",t.validity,t.valid,t.dirty,t.firstInvalidFieldIndex)},resetHandler:function(t){console.log(\"reset\",t)}},components:{CubePage:o.default,CubeButtonGroup:s.default,JsonView:r.default}},t.exports=e.default})},JQOp:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-picker-fade\"}},[a(\"cube-popup\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],attrs:{type:\"picker\",mask:!0,center:!1,\"z-index\":t.zIndex},on:{touchmove:function(t){t.preventDefault()},\"mask-click\":t.maskClick}},[a(\"transition\",{attrs:{name:\"cube-picker-move\"}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],staticClass:\"cube-picker-panel cube-safe-area-pb\",on:{click:function(t){t.stopPropagation()}}},[a(\"div\",{staticClass:\"cube-picker-choose border-bottom-1px\"},[a(\"span\",{staticClass:\"cube-picker-cancel\",on:{click:t.cancel}},[t._v(t._s(t._cancelTxt))]),t._v(\" \"),a(\"span\",{staticClass:\"cube-picker-confirm\",on:{click:t.confirm}},[t._v(t._s(t._confirmTxt))]),t._v(\" \"),a(\"div\",{staticClass:\"cube-picker-title-group\"},[a(\"h1\",{staticClass:\"cube-picker-title\",domProps:{innerHTML:t._s(t.title)}}),t._v(\" \"),t.subtitle?a(\"h2\",{staticClass:\"cube-picker-subtitle\",domProps:{innerHTML:t._s(t.subtitle)}}):t._e()])]),t._v(\" \"),a(\"div\",{staticClass:\"cube-picker-content\"},[a(\"i\",{staticClass:\"border-bottom-1px\"}),t._v(\" \"),a(\"i\",{staticClass:\"border-top-1px\"}),t._v(\" \"),a(\"div\",{ref:\"wheelWrapper\",staticClass:\"cube-picker-wheel-wrapper\"},t._l(t.finalData,function(e,i){return a(\"div\",{key:i,style:{order:t._getFlexOrder(e)}},[a(\"ul\",{staticClass:\"cube-picker-wheel-scroll\"},t._l(e,function(e,i){return a(\"li\",{key:i,staticClass:\"cube-picker-wheel-item\",domProps:{innerHTML:t._s(e[t.textKey])}})}))])}))]),t._v(\" \"),a(\"div\",{staticClass:\"cube-picker-footer\"})])])],1)],1)},staticRenderFns:[]}},JgmB:function(t,e,a){var i=a(\"VU/8\")(a(\"Ba27\"),a(\"UReh\"),null,null,null);t.exports=i.exports},Jhh2:function(t,e){},Jp5a:function(t,e,a){function i(t){a(\"c5uy\")}var n=a(\"VU/8\")(a(\"R/bX\"),a(\"zlwF\"),i,null,null);t.exports=n.exports},JpKp:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"slide\",title:\"Slide\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"vertical\")}}},[t._v(\"Vertical\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"horizontal\")}}},[t._v(\"Horizontal\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},\"K/GD\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{components:[{name:\"Basic 基础组件\",shortcut:\"Basic\",items:[{path:\"/button\",text:\"Button\"},{path:\"/loading\",text:\"Loading\"},{path:\"/tip\",text:\"Tip\"},{path:\"/toolbar\",text:\"Toolbar\"},{path:\"/tab-bar\",text:\"TabBar\"}]},{name:\"Form 表单组件\",shortcut:\"Form\",items:[{path:\"/checkbox\",text:\"Checkbox\"},{path:\"/checkbox-group\",text:\"CheckboxGroup\"},{path:\"/checker\",text:\"Checker\"},{path:\"/radio\",text:\"Radio\"},{path:\"/input\",text:\"Input\"},{path:\"/textarea\",text:\"Textarea\"},{path:\"/select\",text:\"Select\"},{path:\"/switch\",text:\"Switch\"},{path:\"/rate\",text:\"Rate\"},{path:\"/validator\",text:\"Validator\"},{path:\"/upload\",text:\"Upload\"},{path:\"/form\",text:\"Form\"}]},{name:\"Popup 弹窗组件\",shortcut:\"Popup\",items:[{path:\"/popup\",text:\"Popup\"},{path:\"/toast\",text:\"Toast\"},{path:\"/picker\",text:\"Picker\"},{path:\"/cascade-picker\",text:\"CascadePicker\"},{path:\"/segment-picker\",text:\"SegmentPicker\"},{path:\"/date-picker\",text:\"DatePicker\"},{path:\"/time-picker\",text:\"TimePicker\"},{path:\"/dialog\",text:\"Dialog\"},{path:\"/action-sheet\",text:\"ActionSheet\"},{path:\"/drawer\",text:\"Drawer\"},{path:\"/image-preview\",text:\"ImagePreview\"}]},{name:\"Scroll 滚动组件\",shortcut:\"Scroll\",items:[{path:\"/scroll\",text:\"Scroll\"},{path:\"/slide\",text:\"Slide\"},{path:\"/index-list\",text:\"IndexList\"},{path:\"/swipe\",text:\"Swipe\"},{path:\"/sticky\",text:\"Sticky\"},{path:\"/scroll-nav-bar\",text:\"ScrollNavBar\"},{path:\"/scroll-nav\",text:\"ScrollNav\"},{path:\"/recycle-list\",text:\"RecycleList\"}]}]}},components:{CubeView:i.default}},t.exports=e.default})},K3bW:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"swipe-view\",title:\"Swipe\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"swipe-wrapper\"},[a(\"cube-scroll\",[a(\"cube-swipe\",{attrs:{data:t.swipeData},on:{\"item-click\":t.onItemClick,\"btn-click\":t.onBtnClick}})],1)],1)])],2)},staticRenderFns:[]}},K5n8:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var e=[{text:\"剧毒\",value:\"剧毒\"},{text:\"蚂蚁\",value:\"蚂蚁\"},{text:\"幽鬼\",value:\"幽鬼\"},{text:\"主宰\",value:\"主宰\"},{text:\"卡尔\",value:\"卡尔\"},{text:\"宙斯\",value:\"宙斯\"},{text:\"巫医\",value:\"巫医\"},{text:\"巫妖\",value:\"巫妖\"},{text:\"神谕者\",value:\"神谕者\"},{text:\"撼地神牛\",value:\"神谕者\"},{text:\"蓝胖子\",value:\"蓝胖子\"},{text:\"水晶室女\",value:\"水晶室女\"},{text:\"莉娜\",value:\"莉娜\"},{text:\"斯拉克\",value:\"斯拉克\"},{text:\"斯拉达\",value:\"斯拉达\"}],a=[{text:\"输出\",value:\"输出\"},{text:\"控制\",value:\"控制\"},{text:\"核心\",value:\"核心\"},{text:\"爆发\",value:\"爆发\"},{text:\"辅助\",value:\"辅助\"},{text:\"打野\",value:\"打野\"},{text:\"逃生\",value:\"逃生\"},{text:\"先手\",value:\"先手\"}],i=[{text:\"梅肯\",value:\"梅肯\"},{text:\"秘法鞋\",value:\"秘法鞋\"},{text:\"假腿\",value:\"假腿\"},{text:\"飞鞋\",value:\"飞鞋\"},{text:\"辉耀\",value:\"辉耀\"},{text:\"金箍棒\",value:\"金箍棒\"}],n=[{text:\"顺丰\",value:\"顺丰\"},{text:\"中通\",value:\"中通\"},{text:\"圆通\",value:\"圆通\"}];t.column1=e,t.column2=a,t.column3=i,t.expressData=n})},KATl:function(t,e,a){function i(t){a(\"0YF1\")}var n=a(\"VU/8\")(a(\"tspx\"),a(\"v7b+\"),i,null,null);t.exports=n.exports},KIfi:function(t,e,a){function i(t){a(\"TtvH\")}var n=a(\"VU/8\")(a(\"C8H9\"),a(\"yk/l\"),i,null,null);t.exports=n.exports},KMzT:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"toast-view\",title:\"Toast\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showToastTime}},[t._v(\"Toast - time 1s\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showToastTime0}},[t._v(\"Toast - time 0\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showToastMask}},[t._v(\"Toast- with mask\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showToastType}},[t._v(\"Toast - type\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showToastTxtOnly}},[t._v(\"Toast - txt only\")])],1)],1)])},staticRenderFns:[]}},KZW3:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Gu7T\"),a(\"XPXN\"),a(\"o/OE\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:u.default},data:function(){return{title:\"Current City: BEIJING\",data:o.default,options:{pullDownRefresh:{stop:55}}}},methods:{selectItem:function(t){console.log(t.name)},clickTitle:function(t){console.log(t)},onPullingDown:function(){var t=this;setTimeout(function(){var e;(e=t.data[1].items).push.apply(e,(0,c.default)(o.default[1].items)),t.$refs.indexList.forceUpdate(!0)},1e3)}}},t.exports=e.default})},\"Kf6+\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-sticky-ele\"},[a(\"div\",{staticClass:\"cube-sticky-content\"},[t._t(\"default\")],2)])},staticRenderFns:[]}},Kjut:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/drawer/\"+t)}}},t.exports=e.default})},Kjwe:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"1Zrt\"),a(\"kjd8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){var e=l[t.type];e&&e(t)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l={submit:function(t){(0,i.toButtonHandler)(t,\"submit\")},reset:function(t){(0,i.toButtonHandler)(t,\"reset\")},checkbox:function(t){(0,a.boolRequiredHandler)(t)},switch:function(t){(0,a.boolRequiredHandler)(t)},rate:function(t){(0,a.numberGT0RequiredHandler)(t)}};t.exports=e.default})},KkYI:function(t,e){},KkmI:function(t,e){},KrQh:function(t,e,a){function i(t){a(\"W0tM\")}var n=a(\"VU/8\")(a(\"AdWU\"),a(\"U+AE\"),i,null,null);t.exports=n.exports},LIRj:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";function e(t){return t=String(t),t.replace(i,function(t,e){return e?e.toUpperCase():\"\"})}function a(t){return t=String(t),t.replace(/([A-Z])/g,\"-$1\").toLowerCase()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.camelize=e,t.kebab=a;var i=/-(\\w)/g})},LXLj:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"XPXN\"),a(\"O6S8\"),a(\"fGk3\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={data:function(){return{validity:{},valid:void 0,model:{checkboxValue:!1,checkboxGroupValue:[],inputValue:\"\",radioValue:\"\",rateValue:0,selectValue:2018,switchValue:!0,textareaValue:\"\",uploadValue:[]},schema:{groups:[{legend:\"基础\",fields:[{type:\"checkbox\",modelKey:\"checkboxValue\",label:\"Checkbox\",props:{option:{label:\"Checkbox\",value:!0}},rules:{required:!0},messages:{required:\"Please check this field\"}},{type:\"checkbox-group\",modelKey:\"checkboxGroupValue\",label:\"CheckboxGroup\",props:{options:[\"1\",\"2\",\"3\"]},rules:{required:!0}},{type:\"input\",modelKey:\"inputValue\",label:\"Input\",props:{placeholder:\"请输入\"},rules:{required:!0},trigger:\"blur\"},{type:\"radio-group\",modelKey:\"radioValue\",label:\"Radio\",props:{options:[\"1\",\"2\",\"3\"]},rules:{required:!0}},{type:\"select\",modelKey:\"selectValue\",label:\"Select\",props:{options:[2015,2016,2017,2018,2019,2020]},rules:{required:!0}},{type:\"switch\",modelKey:\"switchValue\",label:\"Switch\",rules:{required:!0}},{type:\"textarea\",modelKey:\"textareaValue\",label:\"Textarea\",rules:{required:!0},debounce:100}]},{legend:\"高级\",fields:[{type:\"rate\",modelKey:\"rateValue\",label:\"Rate\",rules:{required:!0}},{type:\"upload\",modelKey:\"uploadValue\",label:\"Upload\",rules:{required:!0,uploaded:function(t,e){return u.default.all(t.map(function(t,e){return new u.default(function(a,i){if(t.uploadedUrl)return a();setTimeout(function(){e%2?i(new Error):(t.uploadedUrl=\"uploaded/url\",a())},1e3)})})).then(function(){return!0})}},messages:{uploaded:\"上传失败\"}}]},{fields:[{type:\"submit\",label:\"Submit\"},{type:\"reset\",label:\"Reset\"}]}]},options:{scrollToInvalidField:!0,layout:\"fresh\"}}},methods:{submitHandler:function(t){t.preventDefault(),console.log(\"submit\",t)},validateHandler:function(t){this.validity=t.validity,this.valid=t.valid,console.log(\"validity\",t.validity,t.valid,t.dirty,t.firstInvalidFieldIndex)},resetHandler:function(t){console.log(\"reset\",t)}},components:{CubePage:o.default,CubeButtonGroup:s.default,JsonView:r.default}},t.exports=e.default})},LeY8:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.cascadeData=[{value:\"Fruit\",text:\"Fruit\",children:[{value:\"Apple\",text:\"Apple\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"}]},{value:\"Orange\",text:\"Orange\",children:[{value:3,text:\"Three\"},{value:4,text:\"Four\"}]},{value:\"Lemon\",text:\"Lemon\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"},{value:4,text:\"Four\"},{value:5,text:\"Five\"}]}]},{value:\"Drink\",text:\"Drink\",children:[{value:\"Coffee\",text:\"Coffee\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"}]},{value:\"Tea\",text:\"Tea\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"},{value:4,text:\"Four\"}]},{value:\"Juice\",text:\"Juice\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"}]}]},{value:\"Dessert\",text:\"Dessert\",children:[{value:\"Chocolate\",text:\"Chocolate\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"},{value:4,text:\"Four\"},{value:5,text:\"Five\"}]},{value:\"cheese\",text:\"cheese\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"},{value:4,text:\"Four\"}]},{value:\"cake\",text:\"cake\",children:[{value:1,text:\"One\"},{value:2,text:\"Two\"},{value:3,text:\"Three\"}]}]}]})},Lg4b:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"pFYg\"),a(\"UFDc\"),a(\"4KJe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(n);e.default={name:\"cube-select\",mixins:[u.default],data:function(){return{active:!1}},props:{options:{type:Array,default:function(){return[]}},value:null,placeholder:{type:String,default:\"\"},autoPop:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{type:String,default:\"\"},cancelTxt:{type:String,default:\"\"},confirmTxt:{type:String,default:\"\"}},computed:{adaptOptions:function(){return[this.options.map(function(t){return\"object\"!==(void 0===t?\"undefined\":(0,c.default)(t))&&(t={value:t,text:t}),t})]},valueIndex:function(){var t=this.value,e=(0,i.findIndex)(this.adaptOptions[0],function(e){return e.value===t});return this.picker&&this.picker.setData(this.adaptOptions,-1!==e?[e]:[0]),e},selectedIndex:function(){return-1!==this.valueIndex?[this.valueIndex]:[0]},selectedText:function(){return-1!==this.valueIndex?this.adaptOptions[0][this.valueIndex].text:\"\"},_placeholder:function(){return this.placeholder||this.$t(\"selectText\")},_title:function(){return this.title||this.$t(\"selectText\")},_cancelTxt:function(){return this.cancelTxt||this.$t(\"cancel\")},_confirmTxt:function(){return this.confirmTxt||this.$t(\"ok\")}},created:function(){this.picker=this.$createPicker({$props:{title:\"_title\",data:\"adaptOptions\",selectedIndex:\"selectedIndex\",cancelTxt:\"_cancelTxt\",confirmTxt:\"_confirmTxt\"},$events:{select:\"selectHandler\",cancel:this.hided}}),this.autoPop&&this.showPicker()},methods:{showPicker:function(){this.disabled||(this.picker.show(),this.active=!0,this.$emit(\"picker-show\"))},hided:function(){this.active=!1,this.$emit(\"picker-hide\")},selectHandler:function(t,e,a){this.hided(),t[0]!==this.value&&(this.$emit(\"input\",t[0]),this.$emit(\"change\",t[0],e[0],a[0]))}}},t.exports=e.default})},Ll9R:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"😀 😁 😂 🤣 😃 😄 \",\"🙂 🤗 🤩 🤔 🤨 😐 \",\"👆🏻 scroll up/down 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👆🏻 scroll up/down 👇🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👆🏻 scroll up/down 👇🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👆🏻 scroll up/down 👇🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{scrollEvents:[\"scroll\"],scrollY:0,checkTop:!0,items:n.concat(),items2:n.concat(),items3:n.concat()}},methods:{scrollHandler:function(t){var e=t.y;this.scrollY=-e},diffChange:function(t,e){var a=0;e&&(a=t/e),this.$refs.stickyHeader.style.opacity=a}},components:{CubePage:i.default}},t.exports=e.default})},M2u5:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Dd8w\"),a(\"woOf\"),a(\"PzHl\"),a(\"N/gd\"),a(\"Z5VE\"),a(\"d64j\"),a(\"4KJe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=s(a),d=s(i),v=s(n),p=s(l),f=s(c),h=s(u),x=s(o),y={textType:\"ok\",active:!0,disabled:!1,href:\"javascript:;\"},m={textType:\"cancel\",active:!1,disabled:!1,href:\"javascript:;\"},b=function(t,e){\"string\"==typeof t&&(t={text:t});var a=e&&this.$t(e.textType);return(0,d.default)({},e,{text:a},t)};e.default={name:\"cube-dialog\",mixins:[f.default,h.default,x.default],props:{type:{type:String,default:\"alert\"},prompt:{type:Object,default:function(){return{value:\"\",placeholder:\"\"}}},icon:{type:String,default:\"\"},title:{type:String,default:\"\"},content:{type:String,default:\"\"},showClose:{type:Boolean,default:!1},confirmBtn:{type:[Object,String],default:function(){return(0,r.default)({},y)}},cancelBtn:{type:[Object,String],default:function(){return(0,r.default)({},m)}}},data:function(){return{defHref:\"javascript:;\",promptValue:this.prompt.value}},computed:{_confirmBtn:function(){return b.call(this,this.confirmBtn,y)},_cancelBtn:function(){return b.call(this,this.cancelBtn,m)},isConfirm:function(){return\"confirm\"===this.type},isPrompt:function(){return\"prompt\"===this.type},containerClass:function(){return\"cube-dialog-\"+this.type}},watch:{\"prompt.value\":{handler:function(t){this.promptValue=t}}},methods:{maskClick:function(t){this.maskClosable&&this.cancel(t)},confirm:function(t){this._confirmBtn.disabled||(this.hide(),this.$emit(\"confirm\",t,this.promptValue))},cancel:function(t){this._cancelBtn.disabled||(this.hide(),this.$emit(\"cancel\",t))},close:function(t){this.hide(),this.$emit(\"close\",t)}},components:{CubePopup:v.default,CubeInput:p.default}},t.exports=e.default})},M6zF:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"li\",{staticClass:\"cube-drawer-item border-bottom-1px\",class:t.itemClass,on:{click:function(e){t.clickItem(t.item)}}},[t._t(\"default\",[t._v(\"\\n    \"+t._s(t.item.text||t.item)+\"\\n  \")])],2)},staticRenderFns:[]}},M7O5:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={data:function(){return{validating:!1,pending:!1,originValid:void 0}},computed:{valid:function(){var t=this.originValid,e=this.pending,a=this.validating;return e||a?void 0:t},invalid:function(){var t=this.valid;return void 0===t?t:!t}}},t.exports=e.default})},MCCe:function(t,e){},MHqM:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-scroll-nav\",class:{\"cube-scroll-nav_side\":t.side}},[a(\"cube-sticky\",{ref:\"sticky\",attrs:{pos:t.scrollY},on:{change:t.stickyChangeHandler}},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{\"scroll-events\":t.scrollEvents,options:t.options,data:t.data},on:{scroll:t.scrollHandler,\"scroll-end\":t.scrollEndHandler}},[t._t(\"prepend\"),t._v(\" \"),a(\"div\",{staticClass:\"cube-scroll-nav-main\"},[a(\"cube-sticky-ele\",{ref:\"navBarEle\",attrs:{\"ele-key\":\"cube-scroll-nav-bar\"}},[t._t(\"bar\",[a(\"cube-scroll-nav-bar\",{attrs:{direction:t.barDirection,txts:t.barTxts,labels:t.labels,current:t.active}})],{txts:t.barTxts,labels:t.labels,current:t.active})],2),t._v(\" \"),a(\"cube-sticky\",{ref:\"pageSticky\",attrs:{offset:t.pageStickyOffset,pos:t.scrollY},on:{change:t.pageStickyChangeHandler}},[a(\"div\",{staticClass:\"cube-scroll-nav-panels\"},[t._t(\"default\")],2),t._v(\" \"),t.side?t._e():a(\"template\",{slot:\"fixed\"},[a(\"div\")])],2)],1)],2)],1)],1)},staticRenderFns:[]}},MMvM:function(t,e){},MNuz:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"PzHl\"),a(\"Z5VE\"),a(\"d64j\"),a(\"4KJe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={name:\"cube-action-sheet\",mixins:[o.default,s.default,r.default],props:{data:{type:Array,default:function(){return[]}},active:{type:Number,default:-1},title:{type:String,default:\"\"},pickerStyle:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!0},cancelTxt:{type:String,default:\"\"}},computed:{_cancelTxt:function(){return this.cancelTxt||this.$t(\"cancel\")}},methods:{maskClick:function(){this.maskClosable&&this.cancel()},cancel:function(){this.hide(),this.$emit(\"cancel\")},itemClick:function(t,e){this.hide(),this.$emit(\"select\",t,e)}},components:{CubePopup:u.default}},t.exports=e.default})},MdHd:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"QMhb\"),a(\"bh5B\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={name:\"cube-scroll-nav-bar\",inject:{scrollNav:{default:null}},mixins:[l.default],props:{direction:{type:String,default:\"horizontal\",validator:function(t){return\"horizontal\"===t||\"vertical\"===t}},labels:{type:Array,default:function(){return[]}},txts:{type:Array,default:function(){return this._defaultTxts=!0,this.labels}},current:{type:[String,Number],default:\"\"}},data:function(){return{active:this.current,usedTxts:this.txts}},watch:{labels:function(t){this._defaultTxts&&(this.usedTxts=t)},txts:function(t){this.usedTxts=t},current:function(t){this.active=t},active:function(t){this.$emit(\"change\",t),this._adjust()}},mounted:function(){var t=this;this.scrollNav&&this.scrollNav.setBar(this),this.active&&this.$nextTick(function(){t._adjust()})},beforeDestroy:function(){this.scrollNav&&this.scrollNav.setBar(null)},methods:{clickHandler:function(t){t!==this.active&&(this.active=t,this.scrollNav&&this.scrollNav.barChange(t))},refresh:function(){this.$refs.scroll.refresh(),this._adjust()},_adjust:function(){var t=this;this.$nextTick(function(){var e=\"horizontal\"===t.direction,a=e?\"clientWidth\":\"clientHeight\",i=t.active,n=t.$refs.scroll.$el[a],l=t.$refs.items,c=l[a],u=Math.min(0,n-c),o=n/2,s=l.children,r=0;t.labels.every(function(t,e){return t===i?(r+=s[e][a]/2,!1):(r+=s[e][a],!0)});var d=o-r;d=Math.max(u,Math.min(0,d)),t.$refs.scroll.scrollTo(e?d:0,e?0:d,300)})}},components:{CubeScroll:c.default}},t.exports=e.default})},Mr73:function(t,e,a){function i(t){a(\"w5NG\")}var n=a(\"VU/8\")(a(\"uYby\"),a(\"mwCR\"),i,null,null);t.exports=n.exports},Msz6:function(t,e){},\"N/gd\":function(t,e,a){function i(t){a(\"7MyF\")}var n=a(\"VU/8\")(a(\"eFmn\"),a(\"q70N\"),i,null,null);t.exports=n.exports},N5yD:function(t,e,a){function i(t){a(\"aSgS\")}var n=a(\"VU/8\")(a(\"B1Rs\"),a(\"iRyi\"),i,null,null);t.exports=n.exports},N6Rs:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Vexm\"),a(\"fGk3\"),a(\"9zBd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l),v=c.provinceList;v.forEach(function(t){t.children=c.cityList[t.value],t.children.forEach(function(t){t.children=c.areaList[t.value]})});var p={props:{value:{type:Array,default:function(){return[]}}},data:function(){return{selected:[]}},render:function(t){return t(\"cube-button\",{on:{click:this.showPicker}},this.selected.length?this.selected.join(\" \"):\"placeholder\")},mounted:function(){this.picker=this.$createCascadePicker({title:\"PCA Select\",data:v,selectedIndex:this.value,onSelect:this.selectHandler})},methods:{showPicker:function(){this.picker.show()},selectHandler:function(t,e,a){this.selected=a,this.$emit(\"input\",t)}}};e.default={data:function(){return{validity:{},valid:void 0,model:{inputValue:\"\",pcaValue:[],dateValue:\"\"},fields:[{type:\"input\",modelKey:\"inputValue\",label:\"Input\",props:{placeholder:\"请输入\"},rules:{required:!0}},{component:p,modelKey:\"pcaValue\",label:\"PCASelect\",rules:{required:!0},messages:{required:\"请选择\"}},{modelKey:\"dateValue\",label:\"Date\",rules:{required:!0}}]}},methods:{submitHandler:function(t){console.log(\"submit\")},validateHandler:function(t){this.validity=t.validity,this.valid=t.valid,console.log(\"validity\",t.validity,t.valid,t.dirty,t.firstInvalidFieldIndex)},showDatePicker:function(){this.$refs.datePicker.show()},dateSelectHandler:function(t){this.model.dateValue=new Date(t[0],t[1]-1,t[2]).toDateString()}},components:{CubePage:o.default,CubeButtonGroup:s.default,DatePicker:r.default,JsonView:d.default}},t.exports=e.default})},\"N7+C\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";function a(t,e){var a=i[t.type]||\"\";e.label=t.title?t.title+a:\"\"}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=a;var i={radio:\"（单选）\",checkbox:\"（多选）\"};t.exports=e.default})},N7CF:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"picker-view\",title:\"Cascade Picker\",desc:\"\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showCascadePicker}},[t._v(\"Cascade Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showAddressPicker}},[t._v(\"Address Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showSetDataPicker}},[t._v(\"Set Data\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showAsyncPicker}},[t._v(\"Async Load Data\")])],1)],1)])},staticRenderFns:[]}},NEEv:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-checker-item\",props:{option:{type:Object,default:function(){return{}}}},computed:{isActive:function(){var t=this.$parent.isRadio,e=this.$parent.currentValue,a=this.option.value;return t?e===a:e.indexOf(a)>=0},isDisabled:function(){return this.option.disabled}},methods:{clickHandler:function(){this.isDisabled||this.$parent.check(this.option)}}},t.exports=e.default})},NFzl:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-extend-popup\",props:{content:{type:String}},methods:{show:function(){this.$refs.popup.show()},hide:function(){this.$refs.popup.hide(),this.$emit(\"hide\")}}},t.exports=e.default})},NPLC:function(t,e){},NTtZ:function(t,e,a){function i(t){a(\"U+Iq\")}var n=a(\"VU/8\")(a(\"/Ca3\"),a(\"9I0H\"),i,null,null);t.exports=n.exports},NZLs:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-popup\",{ref:\"popup\",attrs:{type:\"extend-popup\"}},[a(\"div\",{staticClass:\"cube-extend-popup-content\",on:{click:t.hide}},[t._t(\"default\",[t._v(t._s(t.content))])],2)])},staticRenderFns:[]}},NhRQ:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"lQMO\"),a(\"I6+Q\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),(0,c.default)(t,l.default)},e.default=l.default,t.exports=e.default})},NmRe:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"picker-view\",title:\"Segment Picker\",desc:\"\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showDateSegmentPicker}},[t._v(\"StartDate - EndDate\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showCitySegmentPicker}},[t._v(\"Express - From - To\")])],1)],1)])},staticRenderFns:[]}},Nv3z:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll-nav-def\",title:\"ScrollNav\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-scroll-nav\",{on:{change:t.changeHandler}},t._l(t.data,function(e){return a(\"cube-scroll-nav-panel\",{key:e.name,attrs:{label:e.name}},[a(\"ul\",t._l(e.foods,function(e){return a(\"li\",[a(\"div\",[a(\"img\",{attrs:{src:e.icon}}),t._v(\" \"),a(\"p\",[t._v(t._s(e.name))])])])}))])}))],1)])])},staticRenderFns:[]}},O1ak:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"kAHR\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);c.default.install=function(t){t.component(c.default.name,c.default),o.default.install(t),(0,u.default)(t,c.default)},e.default=c.default,t.exports=e.default})},O6S8:function(t,e,a){function i(t){a(\"nFiz\")}var n=a(\"VU/8\")(a(\"9IQh\"),a(\"+Cpq\"),i,null,null);t.exports=n.exports},O7AT:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll-textarea\",title:\"Scroll\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"scroll-wrap\",on:{touchstart:function(t){t.stopPropagation()}}},[a(\"cube-scroll\",{ref:\"scrollOuter\",staticClass:\"scroll-outer\",attrs:{options:t.optionsOuter}},[a(\"p\",[t._v(\"Sometimes we need a teatarea in cube-scroll component. However the problem is, we can not use the native scroll in teatarea when we need to scroll, due to we prevent the default broswer behavior of 'scroll' event in Cube-scroll.\")]),t._v(\" \"),a(\"p\",[t._v(\"Now, we give this example, introducing two ways how to solve this trouble.\")]),t._v(\" \"),a(\"p\",[t._v(\"Both approach takes advantage of the cube-scroll support for nesting. We wrap the internal input box with cube-scroll and simulate the scrolling behavior by cube-scroll.\")]),t._v(\" \"),a(\"div\",{staticClass:\"editable-div-wrapper\",class:{\"editable-div_active\":t.isFocusDiv}},[a(\"cube-scroll\",{ref:\"divWrapScroll\",attrs:{options:t.options}},[a(\"div\",{ref:\"editablediv\",staticClass:\"editable-div\",attrs:{contenteditable:\"true\"},on:{focus:t.onFocusDiv,blur:t.onBlurDiv,input:t.onInputDiv}})]),t._v(\" \"),a(\"span\",{staticClass:\"editable-div-indicator\"},[t._v(t._s(t.divValueCount))])],1),t._v(\" \"),a(\"div\",{staticClass:\"cube-textarea-wrapper\",class:{\"cube-textarea_active\":t.isFocusNative}},[a(\"cube-scroll\",{ref:\"nativeWrapScroll\",attrs:{options:t.options}},[a(\"textarea\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.textareaValue,expression:\"textareaValue\"}],ref:\"textarea\",staticClass:\"cube-textarea\",attrs:{placeholder:t.placeholder},domProps:{value:t.textareaValue},on:{input:[function(e){e.target.composing||(t.textareaValue=e.target.value)},t.onInputNative],focus:t.onFocusNative,blur:t.onBlurNative}})]),t._v(\" \"),a(\"span\",{staticClass:\"cube-textarea-indicator\"},[t._v(t._s(t.textareaValueCount))])],1),t._v(\" \"),a(\"p\",[t._v(\"有时候我们需要在 cube-scroll 组件中包含 teatarea 输入框。然而由于我们在使用 cube-scroll 时禁用了浏览器 'scroll' 事件的默认行为，因此我们无法在 textarea 输入框中使用浏览器的原生滚动。\")]),t._v(\" \"),a(\"p\",[t._v(\"现在我们希望通过这个例子，介绍两种解决这个问题的方法。\")]),t._v(\" \"),a(\"p\",[t._v(\"核心都是利用了 cube-scroll 支持嵌套的能力，我们将内部的输入框用 cube-scroll 进行包装，通过 cube-scroll 去模拟滚动行为。但是有一个要求是，内容区域必须是高度自适应，即高度随内容多少增加或减少。\")]),t._v(\" \"),a(\"p\",[t._v(\"1. 利用 div 标签模拟 textarea，实现内容区域高度自适应。\"),a(\"br\"),t._v(\" 2. 利用 textarea 配合 js，实现高度自适应。\")]),t._v(\" \"),a(\"p\",[t._v(\"最后，我们还需要一些额外的工作保证输入过程中，光标能始终在视线内，保持与原生输入框的行为一致。\")])])],1),t._v(\" \"),a(\"h1\",[t._v(t._s(t.msg))])])],2)},staticRenderFns:[]}},Ojzo:function(t,e,a){function i(t){a(\"ku8z\")}var n=a(\"VU/8\")(a(\"uCDH\"),a(\"Eezp\"),i,null,null);t.exports=n.exports},Oluj:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"PzHl\"),a(\"niVN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),(0,c.default)(t,l.default)},e.default=l.default,t.exports=e.default})},OyTe:function(t,e){},\"P+K9\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"VzLe\"),a(\"qgN4\"),a(\"inlK\"),a(\"t3q3\"),a(\"kAHR\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=s(a),d=s(i),v=s(n),p=s(l),f=s(c),h=s(u),x=s(o);v.default.install=function(t){t.component(r.default.name,r.default),t.component(d.default.name,d.default),t.component(v.default.name,v.default),x.default.install(t),(0,h.default)(t,r.default),(0,f.default)(t,d.default),(0,p.default)(t,v.default)},v.default.Picker=r.default,d.default.Picker=r.default,v.default.CascadePicker=d.default,e.default=v.default,t.exports=e.default})},P9U6:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"/5sW\"),a(\"XPXN\"),a(\"1Vb/\"),a(\"6SSl\"),a(\"5Fev\"),a(\"h7Gw\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(i),d=o(n),v=o(l),p=o(c),f=[\"😀 😁 😂 🤣 😃 😄 \",\"🙂 🤗 🤩 🤔 🤨 😐 \",\"👆🏻 scroll up/down 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👆🏻 scroll up/down 👇🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👆🏻 scroll up/down 👇🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👆🏻 scroll up/down 👇🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{items:f,itemIndex:f.length,scrollbar:!0,scrollbarFade:!0,startY:0,scrollToY:-200,scrollToTime:700,scrollToEasing:\"bounce\",scrollToEasingOptions:[{text:\"bounce\",value:\"bounce\"},{text:\"swipe\",value:\"swipe\"},{text:\"swipeBounce\",value:\"swipeBounce\"}],customPullDown:!1}},computed:{options:function(){return{scrollbar:this.scrollbarObj,startY:this.startY}},scrollbarObj:function(){return!!this.scrollbar&&{fade:this.scrollbarFade}}},watch:{scrollbarObj:{handler:function(){this.rebuildScroll()},deep:!0},startY:function(){this.rebuildScroll()}},methods:{scrollTo:function(){this.$refs.scroll.scrollTo(0,this.scrollToY,this.scrollToTime,u.ease[this.scrollToEasing])},updateScrollbar:function(t){this.scrollbar=t},updateScrollbarFade:function(t){this.scrollbarFade=t},updateStartY:function(t){this.startY=t},updateScrollToY:function(t){this.scrollToY=t},updateScrollToTime:function(t){this.scrollToTime=t},updateScrollToEasing:function(t){this.scrollToEasing=t},rebuildScroll:function(){var t=this;s.default.nextTick(function(){t.$refs.scroll.destroy(),t.$refs.scroll.initScroll()})}},components:{CubePage:r.default,SwitchOption:d.default,InputOption:v.default,SelectOption:p.default}},t.exports=e.default})},PGMA:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"tabs\",title:\"Tab Demos\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"tab-bar\")}}},[t._v(\"TabBar Demos\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"tab\")}}},[t._v(\"Tab Demos\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"scroll-tab\")}}},[t._v(\"ScrollTab Demo\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},Pe8L:function(t,e,a){function i(t){a(\"qKQa\")}var n=a(\"VU/8\")(a(\"J4wF\"),a(\"C78E\"),i,null,null);t.exports=n.exports},\"Pp+f\":function(t,e){},PpuX:function(t,e){},Ps1K:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"FmUO\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-checker\",props:{value:[String,Number,Array],options:{type:Array,default:function(){return[]}},type:{type:String,default:\"checkbox\"},min:{type:Number,default:0},max:{type:Number,default:function(){return this.options.length}}},data:function(){return{currentValue:this.value}},computed:{isRadio:function(){return\"radio\"===this.type}},watch:{value:function(t){this.currentValue=t},currentValue:function(t){this.$emit(\"input\",t)}},methods:{check:function(t){this.isRadio?this.checkRadio(t):this.checkCheckbox(t)},checkRadio:function(t){this.currentValue=t.value},checkCheckbox:function(t){var e=t.value,a=this.currentValue,i=a.length,n=this.min,l=this.max,c=a.indexOf(e);c>-1?i>n&&a.splice(c,1):i<l&&a.push(e)}},components:{CubeCheckerItem:i.default}},t.exports=e.default})},Pt9a:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll-nav-side\",title:\"ScrollNav\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-scroll-nav\",{attrs:{side:!0,data:t.data,current:t.current},on:{change:t.changeHandler,\"sticky-change\":t.stickyChangeHandler}},[a(\"ul\",{staticClass:\"prepend-header\",attrs:{slot:\"prepend\"},slot:\"prepend\"},[a(\"li\",[t._v(\"11\")]),t._v(\" \"),a(\"li\",[t._v(\"22\")]),t._v(\" \"),a(\"li\",[t._v(\"333\")])]),t._v(\" \"),t._l(t.data,function(e){return a(\"cube-scroll-nav-panel\",{key:e.name,attrs:{label:e.name,title:e.name}},[a(\"ul\",t._l(e.foods,function(e){return a(\"li\",[a(\"div\",[a(\"img\",{attrs:{src:e.icon}}),t._v(\" \"),a(\"p\",[t._v(t._s(e.name))])])])}))])})],2)],1)])])},staticRenderFns:[]}},PzHl:function(t,e,a){function i(t){a(\"u3HD\")}var n=a(\"VU/8\")(a(\"xomh\"),a(\"S72U\"),i,null,null);t.exports=n.exports},Q1ow:function(t,e){},\"QAv/\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-upload-btn\"},[t._t(\"default\",[t._m(0)]),t._v(\" \"),a(\"input\",{staticClass:\"cube-upload-input\",attrs:{type:\"file\",multiple:t.multiple,accept:t.accept},on:{change:t.changeHandler}})],2)},staticRenderFns:[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-upload-btn-def\"},[a(\"i\")])}]}},QMhb:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{options:{type:Object,default:function(){return{}}}}},t.exports=e.default})},QNIf:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"fZjL\"),a(\"bOdI\"),a(\"0PCq\"),a(\"UFDc\"),a(\"xYoV\"),a(\"tJl4\"),a(\"VLcU\"),a(\"M7O5\"),a(\"9xqn\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r){\"use strict\";function d(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var v=d(a),p=d(i),f=d(c),h=d(u),x=d(s),y=d(r);y.default.CubeValidator=f.default;e.default={name:\"cube-form-item\",mixins:[x.default],props:{field:{type:Object,default:function(){return{}}}},data:function(){var t=this.field.modelKey,e=t?this.form.model[t]:null;return{validatorDisabled:!1,validatorModelKey:\"value\",modelValue:e,validatorModel:(0,p.default)({},\"value\",e)}},computed:{fieldValue:function(){return(0,n.processField)(this.field)},hasRules:function(){return(0,v.default)(this.fieldValue.rules||{}).length>0},isBtnField:function(){return\"button\"===this.fieldValue.type},itemClass:function(){var t=this.fieldValue.rules;return{\"cube-form-item_required\":t&&t.required,\"cube-form-item_btn\":this.isBtnField,\"cube-form-item_validating\":this.validating,\"cube-form-item_pending\":this.pending,\"cube-form-item_valid\":this.valid,\"cube-form-item_invalid\":this.invalid}},modelVal:function(){return this.form.model[this.fieldValue.modelKey]},componentName:function(){var t=this.fieldValue,e=t.component;if(e)return e;var a=t.type,i=\"cube-\"+a;return y.default[i]?i:a}},watch:{modelVal:function(t){this.modelValue!==t&&(this.modelValue=t)},modelValue:{handler:function(t){this.form.model[this.fieldValue.modelKey]=t,this.updateValidatorModel()},sync:!0},originValid:function(t){this.lastOriginValid=t}},beforeCreate:function(){this.form=this.$parent.form},created:function(){var t=this;this.form.addField(this),this.getValidatorModel=function(e){return t.pending=!1,e}},mounted:function(){this.initDebounce(),this.initFocusEvents()},methods:{initDebounce:function(){var t=this,e=this.fieldValue.debounce;!0===e&&(e=200),!e&&0!==e||e<0||\"blur\"===this.fieldValue.trigger||(this.getValidatorModel=(0,l.debounce)(function(e){return t.syncValidatorValue(),t.validate(),e},e,!1,this.validatorModel[this.validatorModelKey]))},focusInHandler:function(){this.focused=!0},focusOutHandler:function(){this.focused=!1,this.updateValidatorModel(),this.validate()},initFocusEvents:function(){var t=this;if(\"blur\"===this.fieldValue.trigger){var e=this.$refs.formItem;e.addEventListener(\"focusin\",this.focusInHandler,!1),e.addEventListener(\"focusout\",this.focusOutHandler,!1),this.getValidatorModel=function(e){return t.focused?t.validatorModel[t.validatorModelKey]:(t.pending=!1,t.form.updatePending(),e)}}},removeFocusEvents:function(){var t=this.$refs.formItem;t.removeEventListener(\"focusin\",this.focusInHandler,!1),t.removeEventListener(\"focusout\",this.focusOutHandler,!1)},updateValidatorModel:function(){this.pending=!0,this.validatorModel[this.validatorModelKey]=this.getValidatorModel(this.modelValue),this.pending&&(this.form.setPending(this.pending),this.originValid=void 0)},syncValidatorValue:function(){this.pending=!1,this.validatorModel[this.validatorModelKey]=this.modelValue,this.form.updatePending()},validatorChangeHandler:function(){this.validatorDisabled||this.originValid&&this.lastOriginValid||this.updateValidity()},validatingHandler:function(){this.validating=!0,this.form.setValidating(!0)},validatedHandler:function(){this.validating=!1,this.form.updateValidating()},updateValidity:function(){var t=this.$refs.validator;t&&this.form.updateValidity(this.fieldValue.modelKey,t.valid,t.result,t.dirty)},validate:function(t){var e=this,a=(0,l.cb2PromiseWithResolve)(t);a&&(t=a.resolve);var i=this.$refs.validator;return i?i.validate(function(){e.validatorDisabled=!0,e.updateValidity(),t&&t(),e.$nextTick(function(){e.validatorDisabled=!1})}):t&&t(),a},reset:function(){var t=this,e=this.fieldValue;if(e.modelKey){var a=(0,o.getResetValueByType)(e.type);this.validatorDisabled=!0,(0,l.resetTypeValue)(this,\"modelValue\",a),this.syncValidatorValue(),this.$refs.validator&&this.$refs.validator.reset(),this.$nextTick(function(){t.validatorDisabled=!1})}this.validating=!1,this.pending=!1},msgClick:function(){this.form.layout===h.default.STANDARD&&this.$createToast&&this.$createToast({type:\"warn\",txt:this.$refs.validator.msg,time:1e3}).show()}},beforeDestroy:function(){this.removeFocusEvents(),this.form.destroyField(this),this.form=null},components:y.default},t.exports=e.default})},QRXK:function(t,e){},QreJ:function(t,e,a){function i(t){a(\"1adm\")}var n=a(\"VU/8\")(a(\"kZI5\"),a(\"VeN1\"),i,null,null);t.exports=n.exports},QtPY:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"sticky\",title:\"Sticky\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"scroll\")}}},[t._v(\"Scroll\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"native\")}}},[t._v(\"Native Scroll\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"wechat\")}}},[t._v(\"WeChat\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"complex\")}}},[t._v(\"Complex\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},QvWg:function(t,e){},Qx69:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"group\",staticClass:\"cube-radio-group\",class:t._groupClass,attrs:{\"data-horz\":t.horizontal,\"data-col\":t.colNum>1}},[t._t(\"default\",t._l(t.options,function(e,i){return a(\"cube-radio\",{key:i,attrs:{option:e,position:t.position,\"hollow-style\":t.hollowStyle},model:{value:t.radioValue,callback:function(e){t.radioValue=e},expression:\"radioValue\"}})}))],2)},staticRenderFns:[]}},\"R+4a\":function(t,e){},\"R/bX\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"/V0l\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={data:function(){return{tip:\"请配合如实填写问卷，确保xxxx相关文案\",questions:[{type:\"switch\",model:\"switch\",title:\"询问是否？\"},{type:\"input\",model:\"input\",title:\"输入\",options:{placeholder:\"请输入\"},on:\"switch\",required:!0},{type:\"date\",model:\"date\",title:\"日期\",options:{},required:!0},{type:\"time\",model:\"time\",title:\"时间\",options:{min:\"01:00\",max:\"23:59\"},required:!0},{type:\"select\",model:\"select\",title:\"选择\",options:[\"option1\",\"option2\",\"option3\"],required:!0},{type:\"radio\",model:\"radio\",title:\"单选\",options:[\"单选1\",\"单选2\",\"单选3\"],required:!0},{type:\"checkbox\",model:\"checkbox\",title:\"多选\",options:[\"多选1\",\"多选2\",\"多选3\"],required:!0},{type:\"textarea\",model:\"textarea\",title:\"多行文本\",on:{model:\"checkbox\",options:[\"多选1\",\"多选3\"]},required:!0},{type:\"checkbox\",row:!0,model:\"checkbox2\",title:\"多选-横\",options:[\"多选-横1\",\"多选-横2\",\"多选-横3\"],required:!0},{type:\"tel\",model:\"tel\",title:\"手机号\",options:{placeholder:\"请输入手机号\"},required:!0},{type:\"rate\",model:\"rate\",title:\"级别\",options:{max:10},required:!0},{type:\"city\",model:\"city\",title:\"城市\",required:!0},{type:\"upload\",model:\"upload\",title:\"上传\",options:{action:\"//jsonplaceholder.typicode.com/photos/\",max:2},required:!0},{type:\"agreement\",model:\"agreement\",options:{text:\"请同意\",link:{text:\"《xx协议》\",href:\"https://github.com/didi/cube-ui\"},desc:\"说明：本人承诺xx xxxxx xxx xx。\"},required:!0,errMsg:\"请同意协议\"}],submit:{text:\"Submit\"}}},components:{CubePage:l.default,DemoQuestionnaire:c.default},methods:{submitHandler:function(t){console.log(\"submit\",t)}}},t.exports=e.default})},R082:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"lVze\"),a(\"vhte\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);c.default.install=function(t){t.component(c.default.name,c.default),o.default.install(t),(0,u.default)(t,c.default)},e.default=c.default,t.exports=e.default})},R0L0:function(t,e){},R4Zp:function(t,e,a){function i(t){a(\"ir9C\")}var n=a(\"VU/8\")(a(\"gz49\"),a(\"8GE+\"),i,null,null);t.exports=n.exports},RGkz:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{action:\"//jsonplaceholder.typicode.com/photos/\",files:[]}},methods:{addedHandler:function(){var t=this.files[0];t&&this.$refs.upload.removeFile(t)},errHandler:function(t){this.$createToast({type:\"warn\",txt:\"Upload fail\",time:1e3}).show()}},components:{CubePage:i.default}},t.exports=e.default})},\"RO/E\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"N5yD\"),a(\"KATl\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Item=c.default,e.default=l.default,t.exports=e.default})},RO5T:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"O6S8\"),a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={methods:{showToastTime:function(){this.toast=this.$createToast({time:1e3,txt:\"Toast time 1s\",onTimeout:function(){console.log(\"timeout\")}}),this.toast.show()},showToastTime0:function(){var t=this;this.toast=this.$createToast({time:0,txt:\"Toast time 0\"}),this.toast.show(),setTimeout(function(){t.toast.hide()},2e3)},showToastMask:function(){this.toast=this.$createToast({txt:\"Loading...\",mask:!0}),this.toast.show()},showToastType:function(){this.toast=this.$createToast({txt:\"Correct\",type:\"correct\"}),this.toast.show()},showToastTxtOnly:function(){this.toast=this.$createToast({txt:\"Plain txt\",type:\"txt\"}),this.toast.show()}},components:{CubeButtonGroup:l.default,CubePage:c.default}},t.exports=e.default})},RQH8:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"sticky-view-native\",title:\"Sticky\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"sticky-view-container\"},[a(\"cube-sticky\",{attrs:{pos:t.scrollY,\"check-top\":t.checkTop}},[a(\"div\",{staticClass:\"scroll-ele\",on:{scroll:t.scrollHandler}},[a(\"ul\",[a(\"li\",[t._v(\"title\")])]),t._v(\" \"),a(\"cube-sticky-ele\",[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"111\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items,function(e){return a(\"li\",[t._v(t._s(e))])})),t._v(\" \"),a(\"cube-sticky-ele\",[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"222\")]),t._v(\" \"),a(\"li\",[t._v(\"222\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items2,function(e){return a(\"li\",[t._v(t._s(e))])})),t._v(\" \"),a(\"cube-sticky-ele\",[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"333\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items3,function(e){return a(\"li\",[t._v(t._s(e))])}))],1)])],1)])],2)},staticRenderFns:[]}},RQcS:function(t,e){},RVzk:function(t,e){},RkVv:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"switch-option\",props:{name:{type:String},value:null},data:function(){return{checked:this.value}},watch:{checked:function(t){this.$emit(\"update:value\",t)}},methods:{clickSwitch:function(){this.checked=!this.checked}}},t.exports=e.default})},S72U:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],staticClass:\"cube-popup\",class:t.rootClass,style:{\"z-index\":t.zIndex}},[a(\"div\",{staticClass:\"cube-popup-mask\",on:{touchmove:function(t){t.preventDefault()},click:t.maskClick}},[t._t(\"mask\")],2),t._v(\" \"),a(\"div\",{staticClass:\"cube-popup-container\",class:t.containerClass,on:{touchmove:function(t){t.preventDefault()}}},[t.$slots.default?a(\"div\",{staticClass:\"cube-popup-content\"},[t._t(\"default\")],2):a(\"div\",{staticClass:\"cube-popup-content\",domProps:{innerHTML:t._s(t.content)}})])])},staticRenderFns:[]}},SFrn:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"GFMH\"),a(\"+//L\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Panel=c.default,e.default=l.default,t.exports=e.default})},SOQt:function(t,e,a){function i(t){a(\"AkiL\")}var n=a(\"VU/8\")(a(\"M2u5\"),a(\"37es\"),i,null,null);t.exports=n.exports},SPGs:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"qefm\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},SW1b:function(t,e,a){function i(t){a(\"eiDU\")}var n=a(\"VU/8\")(a(\"P9U6\"),a(\"iXiC\"),i,null,null);t.exports=n.exports},SpYO:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"XPXN\"),a(\"O6S8\"),a(\"fGk3\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={data:function(){return{validity:{},valid:void 0,model:{checkboxValue:!1,checkboxGroupValue:[],inputValue:\"\",radioValue:\"\",rateValue:0,selectValue:2018,switchValue:!0,textareaValue:\"\",uploadValue:[]},schema:{groups:[{legend:\"基础\",fields:[{type:\"checkbox\",modelKey:\"checkboxValue\",label:\"Checkbox\",props:{option:{label:\"Checkbox\",value:!0}},rules:{required:!0},messages:{required:\"Please check this field\"}},{type:\"checkbox-group\",modelKey:\"checkboxGroupValue\",label:\"CheckboxGroup\",props:{options:[\"1\",\"2\",\"3\"]},rules:{required:!0}},{type:\"input\",modelKey:\"inputValue\",label:\"Input\",props:{placeholder:\"请输入\"},rules:{required:!0},trigger:\"blur\"},{type:\"radio-group\",modelKey:\"radioValue\",label:\"Radio\",props:{options:[\"1\",\"2\",\"3\"]},rules:{required:!0}},{type:\"select\",modelKey:\"selectValue\",label:\"Select\",props:{options:[2015,2016,2017,2018,2019,2020]},rules:{required:!0}},{type:\"switch\",modelKey:\"switchValue\",label:\"Switch\",rules:{required:!0}},{type:\"textarea\",modelKey:\"textareaValue\",label:\"Textarea\",rules:{required:!0},debounce:100}]},{legend:\"高级\",fields:[{type:\"rate\",modelKey:\"rateValue\",label:\"Rate\",rules:{required:!0}},{type:\"upload\",modelKey:\"uploadValue\",label:\"Upload\",events:{\"file-removed\":function(){for(var t=arguments.length,e=Array(t),a=0;a<t;a++)e[a]=arguments[a];console.log(\"file removed\",e)}},rules:{required:!0,uploaded:function(t,e){return u.default.all(t.map(function(t,e){return new u.default(function(a,i){if(t.uploadedUrl)return a();setTimeout(function(){e%2?i(new Error):(t.uploadedUrl=\"uploaded/url\",a())},1e3)})})).then(function(){return!0})}},messages:{uploaded:\"上传失败\"}}]},{fields:[{type:\"submit\",label:\"Submit\"},{type:\"reset\",label:\"Reset\"}]}]},options:{scrollToInvalidField:!0,layout:\"standard\"}}},methods:{submitHandler:function(t){t.preventDefault(),console.log(\"submit\",t)},validateHandler:function(t){this.validity=t.validity,this.valid=t.valid,console.log(\"validity\",t.validity,t.valid,t.dirty,t.firstInvalidFieldIndex)},resetHandler:function(t){console.log(\"reset\",t)}},components:{CubePage:o.default,CubeButtonGroup:s.default,JsonView:r.default}},t.exports=e.default})},SrUm:function(t,e,a){var i,n,l;!function(c,u){n=[a(\"//Fk\"),a(\"/5sW\"),a(\"/ocq\"),a(\"lVK7\"),a(\"pwV8\"),a(\"z16Y\"),a(\"v5o6\"),a(\"cTzj\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}var s=o(t),r=o(e),d=o(a),v=o(i),p=o(n),f=o(l),h=o(c),x=o(u);window.Promise=window.Promise||s.default,h.default.attach(document.body),r.default.use(v.default),r.default.use(d.default),r.default.use(x.default),new r.default({router:f.default,render:function(t){return t(p.default)}}).$mount(\"#app\")})},SvSE:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll\",title:\"Scroll\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"1. Default\")])]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"horizontal\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"2. Horizontal\")])]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"config\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"3. Customized\")])]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"jd\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"4. JD\")])]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"toutiao\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"5. Toutiao\")])]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"v-scrolls\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"6. Vertical scrolls\")])]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"h-scrolls\")}}},[a(\"span\",{staticClass:\"scroll-example\"},[t._v(\"7. Horizontal scrolls\")])])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},Sx9D:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"switch-view\",title:\"Switch\"}},[a(\"template\",{slot:\"content\"},[a(\"cube-switch\",{model:{value:t.values[0],callback:function(e){t.$set(t.values,0,e)},expression:\"values[0]\"}},[t._v(\"Switch\")]),t._v(\" \"),a(\"p\",[t._v(\"switch value: \"+t._s(t.values[0]))]),t._v(\" \"),a(\"cube-switch\",{model:{value:t.values[1],callback:function(e){t.$set(t.values,1,e)},expression:\"values[1]\"}},[t._v(\"Switch\")]),t._v(\" \"),a(\"p\",[t._v(\"switch value: \"+t._s(t.values[1]))]),t._v(\" \"),a(\"cube-switch\",{attrs:{disabled:t.disabled},model:{value:t.values[2],callback:function(e){t.$set(t.values,2,e)},expression:\"values[2]\"}},[t._v(\"Disbled Switch\")]),t._v(\" \"),a(\"p\",[t._v(\"switch value: \"+t._s(t.values[2]))]),t._v(\" \"),a(\"cube-switch\",{attrs:{disabled:t.disabled},model:{value:t.values[3],callback:function(e){t.$set(t.values,3,e)},expression:\"values[3]\"}},[t._v(\"Disbled Switch\")]),t._v(\" \"),a(\"p\",[t._v(\"switch value: \"+t._s(t.values[3]))])],1)],2)},staticRenderFns:[]}},T6wA:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"dialog-view\",title:\"Dialog\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showAlert}},[t._v(\"Dialog - alert\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showPrompt}},[t._v(\"Dialog - prompt\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showBtn}},[t._v(\"Dialog - btn\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showClose}},[t._v(\"Dialog - show close\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showSlot}},[t._v(\"Dialog - slot\")])],1)],1)])},staticRenderFns:[]}},TAcf:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"Xxa5\"),a(\"exGp\"),a(\"woOf\"),a(\"GQaK\"),a(\"qqiS\"),a(\"XNdS\"),a(\"QMhb\"),a(\"kVGr\"),a(\"t7U9\"),a(\"LIRj\"),a(\"0Oib\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r,d,v,p){\"use strict\";function f(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var h=f(a),x=f(i),y=f(n),m=f(l),b=f(c),g=f(u),_=f(o),w=f(s),k=f(r),A=[\"scroll\",\"before-scroll-start\",\"scroll-end\"],C={observeDOM:!0,click:!0,probeType:1,scrollbar:!1,pullDownRefresh:!1,pullUpLoad:!1};e.default={name:\"cube-scroll\",mixins:[w.default,k.default],provide:function(){return{parentScroll:this}},inject:{parentScroll:{default:null}},props:{data:{type:Array,default:function(){return[]}},scrollEvents:{type:Array,default:function(){return[]},validator:function(t){return t.every(function(t){return-1!==A.indexOf(t)})}},listenScroll:{type:Boolean,default:void 0,deprecated:{replacedBy:\"scroll-events\"}},listenBeforeScroll:{type:Boolean,default:void 0,deprecated:{replacedBy:\"scroll-events\"}},direction:{type:String,default:\"vertical\"},refreshDelay:{type:Number,default:20},nestMode:{type:String,default:\"none\"}},data:function(){return{beforePullDown:!0,isPullingDown:!1,isPullUpLoad:!1,pullUpNoMore:!1,bubbleY:0,pullDownStyle:\"\",pullDownStop:40,pullDownHeight:60,pullUpHeight:0}},computed:{pullDownRefresh:function(){var t=this.options.pullDownRefresh;return t?(!0===t&&(t={}),(0,m.default)({stop:this.pullDownStop},t)):t},pullUpLoad:function(){return this.options.pullUpLoad},pullUpTxt:function(){var t=this.pullUpLoad,e=t&&t.txt,a=e&&e.more||\"\",i=e&&e.noMore||\"\";return this.pullUpNoMore?i:a},refreshTxt:function(){var t=this.pullDownRefresh;return t&&t.txt||\"Refresh success\"},finalScrollEvents:function(){var t=this.scrollEvents.slice();return t.length||(this.listenScroll&&t.push(\"scroll\"),this.listenBeforeScroll&&t.push(\"before-scroll-start\")),t},needListenScroll:function(){return-1!==this.finalScrollEvents.indexOf(\"scroll\")||this.parentScroll}},watch:{data:function(){var t=this;setTimeout(function(){t.forceUpdate(!0)},this.refreshDelay)},pullDownRefresh:{handler:function(t,e){t&&(this.scroll.openPullDown(t),e||(this._onPullDownRefresh(),this._pullDownRefreshChangeHandler())),!t&&e&&(this.scroll.closePullDown(),this._offPullDownRefresh(),this._pullDownRefreshChangeHandler())},deep:!0},pullUpLoad:{handler:function(t,e){t&&(this.scroll.openPullUp(t),e||(this._onPullUpLoad(),this._pullUpLoadChangeHandler())),!t&&e&&(this.scroll.closePullUp(),this._offPullUpLoad(),this._pullUpLoadChangeHandler())},deep:!0}},activated:function(){this.enable()},deactivated:function(){this.disable()},mounted:function(){var t=this;this.$nextTick(function(){t.initScroll()})},beforeDestroy:function(){this.destroy()},methods:{initScroll:function(){if(this.$refs.wrapper){this._calculateMinHeight();var t={scrollY:\"vertical\"===this.direction,scrollX:\"horizontal\"===this.direction,probeType:this.needListenScroll?3:1,useTransition:p.USE_TRANSITION},e=(0,m.default)({},C,t,this.options);this.scroll=new b.default(this.$refs.wrapper,e),this.parentScroll&&\"none\"!==this.nestMode&&this._handleNestScroll(),this._listenScrollEvents(),this.pullDownRefresh&&(this._onPullDownRefresh(),this._pullDownRefreshChangeHandler()),this.pullUpLoad&&(this._onPullUpLoad(),this._pullUpLoadChangeHandler())}},disable:function(){this.scroll&&this.scroll.disable()},enable:function(){this.scroll&&this.scroll.enable()},refresh:function(){this._calculateMinHeight(),this.scroll&&this.scroll.refresh()},destroy:function(){this.scroll&&this.scroll.destroy(),this.scroll=null},scrollTo:function(){this.scroll&&this.scroll.scrollTo.apply(this.scroll,arguments)},scrollToElement:function(){this.scroll&&this.scroll.scrollToElement.apply(this.scroll,arguments)},clickItem:function(t){this.$emit(\"click\",t)},forceUpdate:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,y.default)(x.default.mark(function i(){return x.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(!t.isPullDownUpdating){i.next=2;break}return i.abrupt(\"return\");case 2:if(!t.pullDownRefresh||!t.isPullingDown){i.next=12;break}return t.isPullingDown=!1,t.isPullDownUpdating=!0,i.next=7,t._waitFinishPullDown();case 7:return t.isPullDownUpdating=!1,i.next=10,t._waitResetPullDown(e);case 10:i.next=13;break;case 12:t.pullUpLoad&&t.isPullUpLoad&&(t.isPullUpLoad=!1,t.scroll.finishPullUp(),t.pullUpNoMore=!e||a);case 13:e&&t.refresh();case 14:case\"end\":return i.stop()}},i,t)}))()},resetPullUpTxt:function(){this.pullUpNoMore=!1},_listenScrollEvents:function(){var t=this;this.finalScrollEvents.forEach(function(e){t.scroll.on((0,v.camelize)(e),function(){for(var a=arguments.length,i=Array(a),n=0;n<a;n++)i[n]=arguments[n];t.$emit.apply(t,[e].concat(i))})})},_handleNestScroll:function(){var t=this;this.$nextTick(function(){var e=t.scroll,a=t.parentScroll.scroll;[e,a].forEach(function(i,n,l){i.on(\"touchEnd\",function(){a.enable(),e.enable(),e.initiated=!1}),i.on(\"beforeScrollStart\",function(){t.touchStartMoment=!0;var e=l[(n+1)%2];e.stop(),e.resetPosition()})}),e.on(\"scroll\",function(i){!e.initiated||e.isInTransition||\"native\"===t.nestMode&&!t.touchStartMoment||(t._checkReachBoundary(i)?(e.resetPosition(),e.disable(),a.pointX=e.pointX,a.pointY=e.pointY,a.enable()):a.disable(),t.touchStartMoment=!1)})})},_checkReachBoundary:function(t){var e=this.scroll.distX,a=this.scroll.distY,i=e>0?t.x>=this.scroll.minScrollX:e<0&&t.x<=this.scroll.maxScrollX,n=a>0?t.y>=this.scroll.minScrollY:a<0&&t.y<=this.scroll.maxScrollY,l=this.scroll.freeScroll,c=this.scroll.hasHorizontalScroll,u=this.scroll.hasVerticalScroll;if(!c&&!u)return!0;if(l)return i||n;var o=void 0;return this.scroll.movingDirectionX?o=i:this.scroll.movingDirectionY&&(o=n),o},_calculateMinHeight:function(){var t=this.$refs,e=t.wrapper,a=t.listWrapper,i=this.pullUpLoad,n=this.pullDownRefresh,l=0;if(n||i){l=(0,d.getRect)(e).height+1,i&&i.visible&&(l-=this.pullUpHeight)}a.style.minHeight=l+\"px\"},_onPullDownRefresh:function(){this.scroll.on(\"pullingDown\",this._pullDownHandle),this.scroll.on(\"scroll\",this._pullDownScrollHandle)},_offPullDownRefresh:function(){this.scroll.off(\"pullingDown\",this._pullDownHandle),this.scroll.off(\"scroll\",this._pullDownScrollHandle)},_pullDownRefreshChangeHandler:function(){var t=this;this.$nextTick(function(){t._getPullDownEleHeight(),t._calculateMinHeight()})},_pullDownHandle:function(){this.resetPullDownTimer&&clearTimeout(this.resetPullDownTimer),this.beforePullDown=!1,this.isPullingDown=!0,this.$emit(\"pulling-down\")},_pullDownScrollHandle:function(t){this.beforePullDown?(this.bubbleY=Math.max(0,t.y-this.pullDownHeight),this.pullDownStyle=\"top:\"+Math.min(t.y-this.pullDownHeight,0)+\"px\"):(this.bubbleY=0,this.pullDownStyle=\"top:\"+Math.min(t.y-this.pullDownStop,0)+\"px\")},_pullUpLoadChangeHandler:function(){var t=this;this.$nextTick(function(){t._getPullUpEleHeight(),t._calculateMinHeight()})},_onPullUpLoad:function(){this.scroll.on(\"pullingUp\",this._pullUpHandle)},_offPullUpLoad:function(){this.scroll.off(\"pullingUp\",this._pullUpHandle)},_pullUpHandle:function(){this.isPullUpLoad=!0,this.$emit(\"pulling-up\")},_waitFinishPullDown:function(t){var e=this,a=this.pullDownRefresh.stopTime,i=void 0===a?600:a;return new h.default(function(t){setTimeout(function(){e.scroll.finishPullDown(),t()},i)})},_waitResetPullDown:function(t){var e=this;return new h.default(function(t){e.resetPullDownTimer=setTimeout(function(){e.pullDownStyle=\"top: -\"+e.pullDownHeight+\"px\",e.beforePullDown=!0,t()},e.scroll.options.bounceTime)})},_getPullDownEleHeight:function(){var t=this,e=this.$refs.pulldown;e&&(e=e.firstChild,this.pullDownHeight=(0,d.getRect)(e).height,this.beforePullDown=!1,this.isPullingDown=!0,this.$nextTick(function(){t.pullDownStop=(0,d.getRect)(e).height,t.beforePullDown=!0,t.isPullingDown=!1}))},_getPullUpEleHeight:function(){var t=this.$refs.listWrapper,e=t.nextElementSibling;if(!e)return void(this.pullUpHeight=0);this.pullUpHeight=(0,d.getRect)(e).height}},components:{Loading:g.default,Bubble:_.default}},t.exports=e.default})},TCNK:function(t,e,a){function i(t){a(\"+IZQ\")}var n=a(\"VU/8\")(a(\"J7to\"),a(\"x3Dq\"),i,null,null);t.exports=n.exports},TMiY:function(t,e,a){function i(t){a(\"2G9e\")}var n=a(\"VU/8\")(a(\"V1uU\"),a(\"Sx9D\"),i,null,null);t.exports=n.exports},Ta5O:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"+vzD\"),a(\"wOxr\"),a(\"kAHR\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l),v=u(c);s.default.install=function(t){t.component(o.default.name,o.default),t.component(s.default.name,s.default),v.default.install(t),(0,d.default)(t,o.default),(0,r.default)(t,s.default)},s.default.Picker=o.default,e.default=s.default,t.exports=e.default})},TdZF:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{selectedLabel:\"天辉\",tabs:[{label:\"天辉\",icon:\"cubeic-like\",heroes:[\"敌法师\",\"卓尔游侠\",\"主宰\",\"米拉娜\",\"变体精灵\"]},{label:\"夜魇\",icon:\"cubeic-star\",heroes:[\"血魔\",\"影魔\",\"剃刀\",\"剧毒术士\",\"虚空假面\",\"幻影刺客\",\"冥界亚龙\",\"克林克兹\",\"育母蜘蛛\",\"编织者\",\"幽鬼\",\"司夜刺客\",\"米波\"]}]}},components:{CubePage:i.default},watch:{selectedLabel:function(t){console.log(t)}}},t.exports=e.default})},TtvH:function(t,e){},TyIl:function(t,e){},\"U+AE\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"upload-view-def\",title:\"Upload\"}},[a(\"template\",{slot:\"content\"},[a(\"p\",[t._v(\"Normal upload(File max size 1MB): \")]),t._v(\" \"),a(\"div\",[a(\"cube-upload\",{ref:\"upload\",attrs:{action:t.action,\"simultaneous-uploads\":1},on:{\"files-added\":t.filesAdded}}),t._v(\" \"),t.isUploading?a(\"cube-button\",{on:{click:t.pause}},[t._v(\"Pause\")]):a(\"cube-button\",{on:{click:t.upload}},[t._v(\"Upload\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.retry}},[t._v(\"Retry\")])],1)])],2)},staticRenderFns:[]}},\"U+Iq\":function(t,e){},U4Ng:function(t,e,a){function i(t){a(\"gSj3\")}var n=a(\"VU/8\")(a(\"Ll9R\"),a(\"4840\"),i,null,null);t.exports=n.exports},U6M5:function(t,e){},U8em:function(t,e,a){var i=a(\"VU/8\")(a(\"vLxS\"),a(\"phPD\"),null,null,null);t.exports=i.exports},UFDc:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"fZjL\"),a(\"bOdI\"),a(\"pFYg\"),a(\"LIRj\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){if(t.findIndex)return t.findIndex(e);var a=-1;return t.some(function(t,i,n){var l=e.call(this,t,i,n);if(l)return a=i,l}),a}function u(t,e){for(var a in e)t[a]&&\"object\"===(0,b.default)(t[a])?u(t[a],e[a]):t[a]=e[a]}function o(t){return function(){for(var e=arguments.length,a=Array(e),i=0;i<e;i++)a[i]=arguments[i];\"string\"==typeof a[0]&&(a[0]=(0,m.default)({},a[0],a[1])),u(t,a[0])}}function s(t){var e=Object.prototype.toString;return function(a){return e.call(a)===\"[object \"+t+\"]\"}}function r(t,e,a){if(void 0!==a)return g._set(t,e,a);if(e){var i=t[e],n=g[void 0===i?\"undefined\":(0,b.default)(i)];n&&n(t,e,i)}else(0,y.default)(t).forEach(function(e){r(t,e)})}function d(t,e){var a=0,i=[],n=t.length;if(!n)return e(i);t.forEach(function(t,l){t(function(t){a+=1,i[l]=t,a===n&&e(i)})})}function v(t){var e=void 0;if(void 0!==window.Promise){var a=t;e=new window.Promise(function(e){t=function(t){a&&a(t),e(t)}}),e.resolve=t}return e}function p(t,e,a,i){var n=void 0,l=i,c=function(e,a){n=null,a&&(l=t.apply(e,a))},u=function(){for(var i=this,u=arguments.length,o=Array(u),s=0;s<u;s++)o[s]=arguments[s];if(n&&clearTimeout(n),a){var r=!n;n=setTimeout(c,e),r&&(l=t.apply(this,o))}else n=setTimeout(function(){c(i,o)},e);return l};return u.cancel=function(){clearTimeout(n),n=null},u}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=e.prefix,i=void 0===a?\"\":a,l=e.firstUpperCase,c=void 0!==l&&l,u=t.name,o=u.replace(/^cube-/i,\"\"),s=\"\"+(0,n.camelize)(\"\"+i+o);return c&&(s=s.charAt(0).toUpperCase()+s.slice(1)),s}function h(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",a=e.split(\".\"),i=t,n=0;n<a.length;n++){var l=a[n];if(w(i[l])){i=\"\";break}i=i[l]}return i}function x(t){var e=/os (\\d\\d?_\\d(_\\d)?)/,a=e.exec(t);if(!a)return null;var i=a[1].split(\"_\").map(function(t){return parseInt(t,10)});return{major:i[0],minor:i[1],patch:i[2]||0}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getIOSVersion=t.isNumber=t.isObject=t.isString=t.isArray=t.isFunc=t.isUndef=t.parsePath=t.processComponentName=t.debounce=t.cb2PromiseWithResolve=t.parallel=t.resetTypeValue=t.createAddAPI=t.deepAssign=t.findIndex=void 0;var y=l(e),m=l(a),b=l(i),g={_set:function(t,e,a){t[e]=a},string:function(t,e){g._set(t,e,\"\")},number:function(t,e){g._set(t,e,0)},boolean:function(t,e){g._set(t,e,!1)},object:function(t,e,a){Array.isArray(a)?g._set(t,e,[]):g._set(t,e,{})}},_=s(\"Function\"),w=s(\"Undefined\"),k=s(\"Array\"),A=s(\"String\"),C=s(\"Object\"),T=s(\"Number\");t.findIndex=c,t.deepAssign=u,t.createAddAPI=o,t.resetTypeValue=r,t.parallel=d,t.cb2PromiseWithResolve=v,t.debounce=p,t.processComponentName=f,t.parsePath=h,t.isUndef=w,t.isFunc=_,t.isArray=k,t.isString=A,t.isObject=C,t.isNumber=T,t.getIOSVersion=x})},UJHE:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-segment-picker\"},t._l(t.data,function(e,i){return a(e.is||\"cube-picker\",t._b({key:i,ref:\"pickers\",refInFor:!0,tag:\"component\",attrs:{index:i,title:e.title||t.title,subtitle:e.subtitle||t.subtitle,\"confirm-txt\":e.confirmTxt||(i===t.data.length-1?t._confirmTxt:t._nextTxt),\"cancel-txt\":e.cancelTxt||(0===i?t._cancelTxt:t._prevTxt),\"swipe-time\":e.swipeTime||t.swipeTime,\"z-index\":e.zIndex||t.zIndex,\"mask-closable\":t.maskClosable},on:{select:t._select,cancel:t._cancel,change:t._change}},\"component\",e,!1))}))},staticRenderFns:[]}},UKcw:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"//Fk\"),a(\"XPXN\"),a(\"Zd1j\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(i),o=c(n),s=c(l);e.default={data:function(){return{initTime:(new Date).getTime(),id:0,size:50,offset:100}},components:{CubePage:o.default},methods:{getItem:function(t){var e=Math.floor(6*Math.random()),i=s.default.messages[Math.floor(Math.random()*s.default.messages.length)];return{id:t,avatar:a(\"6WIs\")(\"./avatar\"+e+\".png\"),msg:i,time:new Date(Math.floor(this.initTime+t*this.size*1e3+Math.random()*this.size*1e3)).toString()}},onFetch:function(){var t=this,e=[];return new u.default(function(a){setTimeout(function(){for(var i=0;i<t.size;i++)e.push(t.getItem(t.id++));a(e)},500)})},handleClick:function(t){console.log(t)}}},t.exports=e.default})},UReh:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"loading-view\",title:\"Loading\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-loading\"),t._v(\" \"),a(\"cube-loading\",{attrs:{size:28}}),t._v(\" \"),a(\"cube-loading\",{attrs:{size:40}})],1)])},staticRenderFns:[]}},USmt:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"index-list\",title:\"IndexList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"div\",{staticClass:\"index-list-wrapper custom\"},[a(\"cube-index-list\",{attrs:{data:t.singerData},scopedSlots:t._u([{key:\"nav-item\",fn:function(e){return a(\"span\",{staticClass:\"custom-nav-item\"},[t._v(t._s(e.item))])}}])},t._l(t.singerData,function(e,i){return a(\"cube-index-list-group\",{key:i,attrs:{group:e}},t._l(e.items,function(e,i){return a(\"cube-index-list-item\",{key:i,attrs:{item:e},on:{select:t.selectItem}},[a(\"div\",{staticClass:\"custom-item\"},[a(\"img\",{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:e.avatar,expression:\"item.avatar\"}],staticClass:\"avatar\"}),t._v(\" \"),a(\"span\",{staticClass:\"name\"},[t._v(t._s(e.name))])])])}))}))],1)])])])},staticRenderFns:[]}},UchT:function(t,e,a){function i(t){a(\"TyIl\")}var n=a(\"VU/8\")(a(\"ZiKE\"),a(\"1j7+\"),i,null,null);t.exports=n.exports},UgWs:function(t,e,a){function i(t){a(\"sawW\")}var n=a(\"VU/8\")(a(\"XG7C\"),a(\"2nzE\"),i,null,null);t.exports=n.exports},Uo7j:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"o/OE\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={components:{CubePage:l.default},data:function(){return{title:\"Current City: BEIJING\",data:c.default.slice(0,4),options:{pullUpLoad:!0}}},methods:{selectItem:function(t){console.log(t.name)},clickTitle:function(t){console.log(t)},onPullingUp:function(){var t=this;setTimeout(function(){var e=t.data.length;e<c.default.length&&t.data.push(c.default[e]),t.$refs.indexList.forceUpdate()},1e3)}}},t.exports=e.default})},UqhO:function(t,e,a){function i(t){a(\"8Fl7\")}var n=a(\"VU/8\")(a(\"kTpf\"),a(\"3K1Q\"),i,null,null);t.exports=n.exports},UrdA:function(t,e,a){function i(t){a(\"9ZJD\")}var n=a(\"VU/8\")(a(\"ApVb\"),a(\"6MTa\"),i,null,null);t.exports=n.exports},Uz7t:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAADz5JREFUeNrtm3lQVFe+xz+nu6EbZG0aaEAaZRFoNIAKaqI4iY5LEo2+aPLG0kziTIxmUROrJjMxcZJxSc28aFWMZTImZbayXuJEo2MSlzjPXRSQ4AJBUIIgyL41a0P3eX9cOrgRQBEnEz7/UF5vn/M9v989v/M7v3su9NNPP/3080tF3G0BXSHtR8vB3R2hzYTwcKSYDgYDQm4AHx8kK0CjQcg0aGxEqn6AoiJE6wzIzRViTBFUVd3tcXTGXXeAlFKCEMjU/4Jx4xBiCcyerRh67FgEg2HYMJAfgFrd8w7wgbw8wAIHDyJEK2zfjrSMgL17hep+AW1td2v8fe4Aac99HrRaRA2waBGIrcpf+TUMGdKHUkxQUgLEw/r1SLETNm4UqpEJUFvbVyL6zAFSpqXBjBlImQVvvYUgGsLC+qr/brADystBpMGf/gQj9sDmzUIIAVLeqU7vmAOkTA4CFxfQ/B/8/e9AHcybd6f66/0BEAW7d4Pz6/Dkk0IVuxbKynq7G1Wv67anvwQhIUgnCxw/zs/N8A4E2TB1KqK1EE6elDJ9AERH9343vYSU6UchMBBpy4PDh/8NQ8ztEgqVlSBfg/HjhUjcCJmZt9vobc8AKVMCwccH7G/Bt9/+BxreQZ4yTuEK+/ZJ+8kwGDjwdhu9/RAkRRy8+y7I5WA2320r9QGPQ2AgqJ6CL76Q9sxZ4Ox8q43dsgOkTJsMv/sdgjdg9uy7bZU+RzAZRo2CJg/4wx9uvZkeIu1pqeDpiZC7IT8fmApeXnfbHncP8RQ0N4NtNZjNQox6BH74obu/7vkMEPJJWLKEX7zhHcgPQacDVQosX97TX/d8BsiUYnjzTVDdC3o9UjqBSiUvyDD49a/T604/6uUVEnLgQHp6SAiUlhYXOzmBlHY7gMHg72+3w7hxsbEFBTB6dEJCZSWo1Wr1ndvu3Gwcip60tIwMb284cODUqUGDoLy8tFSjAbDbpQSDwWi02SApKT6+oABGjRoxoqoKVCqV6jq9VmhtRdregeBgoRr9GZSW9roDrufF46MLzVv1etV0/yb3N0+cqJtpXBtujojIypow4dlnoa4uJCQmBqRUqdRqcHe/fDk7G4YMOXx482Ywma5cOXkSli596qmzZ0Gv1+tbW++c4S0Wi0WjgfXrP/po6FDIz3dzi42FrKz771+4UNGrpBIqlUoFHh4FBVlZEBl58OAHH4DJVFGRlgYvvjh//rlz4Onp6XmtXrEOli0TYuT/wrp1veYAKVOXw/TpwHdgNLZ82XxItVStXvHtusiRO195Jeu1e5c++Ulg4IUHpg5fNFbV7dAWFHTixM6dkJi4Z8/KlbBixZIl330HOp1OpzyjvUNbW1ubELB69YYNcXGQkpKQ8PzzkJc3ceL8+d1vx2Q6cmTrVkhMPHDgr3+F115bsiQjA5ydnZ3b9e6Ao0eFSFgN48Z11Z6mB2NY3F5SKACjMcXwXbLPFihrMl2MmwkXJ0yJf+ZeuPfelStnzoRz537729WrwWr18DAYICystrawEOrq9PqBA6Gw0N3d3x+KikaPfuQRyM0tKjp3Dr766sCBykqYNWvq1Px8qKioqHB2hjNnzp3z8IBLly5dcnUFi6W+XqNxVFPBw8PDo60NgoODgpqaICYmJsZigYAAo7G5GQ4ePH7c3x8uXgwISEq60fBC2O12O8TG1tZeugQVFdXVVVVQUhIYGBUFgYHJyTt3KjM4JwcuXIiImDIF9uw5eLC8HKZPnzSpsBCAB2HUKClPN8OAAULEroWGhlt2gJL1mEwgC8BodFzfvz8lJSQEMjPnzFm6FKQUQqUCi8VoDA+HuLh33128GAYP9vXV62HZso0bP/0UNBonJycn2Lo1OTk1FV5/3csrIQFyciZNWrQIjh9ftWr7dqiqKioCKC0tK9NqIT4+Lq6mBhITExKqq8HLyzH1hQCora2tdXKCS5cKClxdYfPmjz82mcDDw929rQ2Ki2tqvL3h+++fe27x4o7xeXm1tjY2wgcfaLX5+RATM3as2QwlJfn5djusWvXCC9OmAdTX19VBdvacOcuXQ0VFdPSYMXDkyFtv7dt3jQOcwckJaV0AMTHAWkhJ6cy+XYcKYf8GIiJ+dEj74lVbW1Zmt4PFEhwcFdVxe1FRUtKsWaDV1taWl0NoqNl8zz3g5KTVarUghBJbH300MTE2FvT6nJzUVLBa3d31erDZXFw8PCAqKjraYoFXX/3jH8+fh4cffvDB0lKIiTGbLRYICgoKam6GoKDAwOZmMJuV+6dOnTy5tBSWL3/55ZwcGDfuvvsqK6GxsbbWZoP6eqMxNLRD78SJZ89+8w3ExERHX72NNBoHDQoLAx8fnU5JIjQatbpjxra0eHsbjdDaKoRWCw0NDQ2aax/nyd0pr3ftAKl6EPR6xz/tdrtdeeYUQ4JSsHXg4lJefvmy4iop4fTpw4f374fS0kuX8vIUB9rtsH//li2bN4OnZ17e6dNXdSe1WmdniI6OjKyvVxzWpcafIDo6KspiASEGDNDpbvz/oqKjR/fsgQsXMjLS0jqup6bu3btrF9TUlJWVlIBa3dLS1AQ6XV1defnVep2cnJ3Bam1tvdoOCB4Gg6ErfV2vAYJXwcMDWAWgVms0UoISSMDZ2WKpqup4ghsb/f1DQmDevFdfXbMG3N31eh8fWLPmiSdmzlRCkLMztLZarS0t0NCwYMG6dSCEzdbWBmp1dfW1IebmZGScPu3pCZcvFxXpdDBkSEREQ4Pyt76+4z6tVqu120GtVtrXaJqaLBZoa3NxcXeH2lpv76AgWL9+8eL588HJydlZqwUPD4PB1xdeeeXTT3fsgP37t237/HPYv19Z09Tq1taWFlCpLJa6uo5Q1+EZ0Qhubl2ZtxszQD4HVuv1l++5Z+jQ2loIDj5+fNu2juvV1RERI0dCU5OPT1AQeHkZDH5+4JgpDsNXVAwdmpQE5eWxsQ88AP7+GRnffgsmU0hIS4vi4JtlQWfOnD3r4QGffLJlS3Aw5OZeuODmBt98s2ePv3/nwzCblUU5OPjEiR07Oq7n5T300MKF0Nzs5eXn16HP2VkJmQ79BQUjRkye3JFOG41pabt3Q2hoRERLy032McL+Nlgstz8DkEFQUwPiGnNMmzZhQn4+ZGS8/fb770Np6bBhv/oV1NcHBkZEwDPP6HTx8WAwpKQcOwZubtOnv/ACNDQEBISFQXn5sGHjx4NOp6wVsbHbt69aBY89Nn9+Tk7napqbm5vV6g4HPfHE3LmFheDjo9ff+Jh0MGPGxIk//ACZmRs2bNgAZWVm87hx0NDg7z9oECQn//nPO3aAn196+r59kJPT2GixwLZtx46VlEBDQ2BgfDzodJWVxcUwbNiuXX/7G8yevWBBbu7NzKaaBtXVXVm3y5fcr7++aIvyMlw+Cc8957juyNNNJqPRYoGKig8/PHYMGho8PYOCoL4+ICA8HBob/fxMJqipCQ8fPlwJUYMGgY/P998nJ8OYMZs2Pf00/OY3U6acPw9mc2RkXV3nenx8fHysVjh8+MgRgwEOHTpyxMcHXFxcXOx2CAkxmZqabvydq6uLi80GgYEGg8UCVVUff3zkCFgser3JBBbLwIFRUWCxmExmM9TWhobGxUFrqxJaDYazZw8dgjFj3n9/4UKYO3f69PPnYciQsLCrQ96PCDEZ3nnnjTc2bWqvmd2ULjdiP5ZbRVO28rLaUfu4litXSkp0OtiyZdeuyEi4fPnKFVdXaG4ODg4LU6auSgU6XVFRXh4YDO7ujY3KQLKzYfDgkJDGxq7UwD/+sW1bYCCkp2dkeHoqodBigcjIyEiLBYYPj4vrziv1oqLiYkXvP/8ZFQXFxeXlit6BA0NDlbRaCHBxUfT6+np7NzbCvHnTpmVng8kUHHwzRwMbwW5H2g+Dt7dQjboInT9S3d8J21Nj4F//QvARPPBAV/c7tvyOPN6RPfn5+fm1tHS9yHbGypVr1gwZAklJY8dWVsL48UlJlZU9b+d66uocektLtVolhxMC/P0VvTeWHDo16WTIzBRiZBUMHdrV3d1P8YS4B77+uru3OwzuGJgjOyksLCx0cYHKysrKW3mNMWhQSEhTExw4cPiwry9s3Pjee4MHw1df7d79U4twZ9TXKzvqnJzcXDc3iIgID29o6ChdtLRYrT1LhO2HYPv27t7d/aZlm4QtW3BU/brA1dXV1Wbr2Cg5MBqV0oCbm5vbrRyHeuyxWbOKimD06MTEqioIDlZCwbBhSpbTU3Q6nc5mg4EDlRKGA8eT7+5+XXrZJeKzdjt1i247oKO8KnbD1q2d3VdcfOWKTgdpaenpnp4dA9m+/csvAwLA19dgsFohMzMry8MD8vPz811duz88R14/ZcqkSWVlMG3aQw+VlCiLb3fWEAdlZUpoPHHi5Em9HoxGf/+rder1SlaVk5ObO2AAXLhw8eKAAT/Z5GzYu1cpwp0/3227dl+yQsfxDFsNnDkDZEDHJtwReqxWq1WIjmypsbGxUa3umBktLS0tKhVoNEr+7Njg9RV2uxLjHTpcXJSZcL1Oq1UJQY76v0Zzg85UkBIpJ8OoUUKVGAapqXfMAT86wp7637B2LYJl8NJLfWe63kZ8DV9+CfZo2LQJKT7u2VlR8QY0NytHGo8e7XHvtypbytPLYMAApDUK0tIQxMHVZbmfDcdg1iwhEpbC1Xv6vuG234hJmfKsUnZVHYDkZJCfgLt7Xw/kNtgNNTVIXoary3GdIFgALS2gfhoWLBBi+FgoLr7VznvxZNyp9cr+QG5S0tWbb9h+vojfg80G9vtgzhzlZFznyUi3W+1tmVKmvAETJoB4sT0fPt9eTe1r4tpj+SPdKYr9hIkuKIssLvDMM0I18jR88UVvibxzp6PtaantH1ZkwNatfbhGtJ/7bxsOMTG/+C9kflysabXB6tUg/6e9qJdxdfrai7QfomUd3HcfaB/v3rFy2zClAhQvlOpv33AXvpBJ/aS9RvIZrFiBwB8efRR4Fm7v7VcPSW3/8OJx2LULVPnwl78IMWIEnDrVVyL+Db4RS30QQkOBSzB3LhDV7pAJSggjwfHi/fY6IgOysxH8Hj7/HMQp+OwzIUaOhOzsuzX+u+6AzpD278aCry/ClgcJCSBTIDISKcwQEIBAD56eIGco5V9hhepqBPPbz/G/B1lZSE02pKUJVfxR5ROkfvrpp59++umnH+D/ARqtYKkmlbZ9AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTEwLTI1VDE0OjA3OjIxKzA4OjAwlrS75wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0xMC0yNVQxNDowNzoyMSswODowMOfpA1sAAAB7dEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dhNnJna3hjbW1hLyVFNSU4RCVBMSVFOSU4MCU5QSVFNSVBNCVCNCVFNSU4MyU4RiVFOCVBMSVBOCVFNiU4MyU4NTEyLnN2Z2pt47QAAAAASUVORK5CYII=\"},V13k:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"button\",{staticClass:\"cube-btn\",class:t.btnClass,attrs:{type:t.type},on:{click:t.handleClick}},[t.icon?a(\"i\",{class:t.icon}):t._e(),t._v(\" \"),t._t(\"default\")],2)},staticRenderFns:[]}},V1uU:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{values:[!0,!1,!0,!1],disabled:!0}},components:{CubePage:i.default}},t.exports=e.default})},VA5X:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"upload-view-custom\",title:\"Upload\"}},[a(\"template\",{slot:\"content\"},[a(\"p\",[t._v(\"Use slots: \")]),t._v(\" \"),a(\"div\",{staticClass:\"upload-view-custom-main\"},[a(\"cube-upload\",{ref:\"upload\",attrs:{action:t.action},on:{\"files-added\":t.addedHandler,\"file-error\":t.errHandler},model:{value:t.files,callback:function(e){t.files=e},expression:\"files\"}},[a(\"div\",{staticClass:\"clear-fix\"},[t._l(t.files,function(t,e){return a(\"cube-upload-file\",{key:e,attrs:{file:t}})}),t._v(\" \"),a(\"cube-upload-btn\",{attrs:{multiple:!1}},[a(\"div\",[a(\"i\",[t._v(\"＋\")]),t._v(\" \"),a(\"p\",[t._v(\"Please click to upload ID card\")])])])],2)])],1)])],2)},staticRenderFns:[]}},\"VAT/\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"9zBd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{province:{},selectedIndex:[],data:[[],[]]}},methods:{showDrawer:function(){var t=Math.round(Math.random()*i.provinceList.length),e=i.provinceList[t];this.province=e,this.$refs.drawer.refill(0,i.cityList[e.value]),this.$refs.drawer.show()},changeHandler:function(t,e,a,n,l){var c=this;setTimeout(function(){var a=i.areaList[e.value];c.$refs.drawer.refill(t+1,a)},200)},selectHandler:function(t,e,a){this.$createDialog({type:\"warn\",content:\"Selected Item: <br/> - value: \"+t.join(\", \")+\" <br/> - index: \"+e.join(\", \")+\" <br/> - text: \"+a.join(\" \"),icon:\"cubeic-alert\"}).show()},cancelHandler:function(){console.log(\"cancel\")}},components:{CubePage:n.default}},t.exports=e.default})},VKJd:function(t,e,a){function i(t){a(\"72CF\")}var n=a(\"VU/8\")(a(\"rQlO\"),a(\"li82\"),i,null,null);t.exports=n.exports},VLcU:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";function e(t){var e=a[t];return e&&e()}Object.defineProperty(t,\"__esModule\",{value:!0});var a={checkbox:function(){return!1},select:function(){return null}};t.getResetValueByType=e})},VMLG:function(t,e){},VOzN:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"form-def\",title:\"Form 表单\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-form\",{attrs:{model:t.model,schema:t.schema,\"immediate-validate\":!1,options:t.options},on:{validate:t.validateHandler,submit:t.submitHandler,reset:t.resetHandler}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"model\",data:t.model}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"validity\",data:t.validity}})],1)])},staticRenderFns:[]}},VbyH:function(t,e){},VcN6:function(t,e,a){function i(t){a(\"RVzk\")}var n=a(\"VU/8\")(a(\"XUgO\"),a(\"c4zc\"),i,null,null);t.exports=n.exports},Vdc2:function(t,e){},VeN1:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"sticky-view-scroll\",title:\"Sticky\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"sticky-view-container\"},[a(\"cube-sticky\",{attrs:{pos:t.scrollY},scopedSlots:t._u([{key:\"fixed\",fn:function(e){return[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(t._s(e.current))])])]}}])},[a(\"cube-scroll\",{attrs:{\"scroll-events\":t.scrollEvents},on:{scroll:t.scrollHandler}},[a(\"ul\",[a(\"li\",[t._v(\"title\")])]),t._v(\" \"),a(\"cube-sticky-ele\",{attrs:{\"ele-key\":\"11\"}},[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"111\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items,function(e){return a(\"li\",[t._v(t._s(e))])})),t._v(\" \"),a(\"cube-sticky-ele\",{attrs:{\"ele-key\":\"22\"}},[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"222\")]),t._v(\" \"),a(\"li\",[t._v(\"222\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items2,function(e){return a(\"li\",[t._v(t._s(e))])})),t._v(\" \"),a(\"cube-sticky-ele\",{attrs:{\"ele-key\":\"33\"}},[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",[t._v(\"333\")])])]),t._v(\" \"),a(\"ul\",t._l(t.items3,function(e){return a(\"li\",[t._v(t._s(e))])}))],1)],1)],1)])],2)},staticRenderFns:[]}},Vexm:function(t,e,a){var i=a(\"VU/8\")(a(\"apY0\"),a(\"0oyY\"),null,null,null);t.exports=i.exports},\"Vh/j\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-upload\"},[t._t(\"default\",[a(\"div\",{staticClass:\"cube-upload-def clear-fix\"},[t._l(t.files,function(e,i){return a(\"upload-file\",{key:i,attrs:{file:e},on:{click:function(a){t.fileClick(e,i)}}})}),t._v(\" \"),a(\"upload-btn\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowBtn,expression:\"isShowBtn\"}],attrs:{multiple:t.multiple,accept:t.accept}})],2)])],2)},staticRenderFns:[]}},VvZZ:function(t,e){},VzLe:function(t,e,a){var i=a(\"VU/8\")(a(\"waH8\"),a(\"7Jhx\"),null,null,null);t.exports=i.exports},W0tM:function(t,e){},W1tV:function(t,e){},W2Hj:function(t,e,a){var i=a(\"VU/8\")(a(\"0l/c\"),a(\"1ftA\"),null,null,null);t.exports=i.exports},WL1h:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"switch-option\"},[a(\"span\",{staticClass:\"name\"},[t._v(t._s(t.name))]),t._v(\" \"),a(\"div\",{staticClass:\"switch-ellipse\",class:{active:t.checked},on:{click:t.clickSwitch}},[a(\"span\",{staticClass:\"switch-circle\",class:{active:t.checked}})])])},staticRenderFns:[]}},WiPx:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",{staticClass:\"cube-checker\"},[t._t(\"default\",t._l(t.options,function(t,e){return a(\"cube-checker-item\",{key:e,attrs:{option:t}})}))],2)},staticRenderFns:[]}},WjKT:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={components:{CubePage:l.default,CubeButtonGroup:c.default},data:function(){return{options:[2013,2014,2015,2016,2017,2018],value:2016,title:\"Entry time\",placeholder:\"Please choose entry time\",autoPop:!1,disabled:!1}},methods:{change:function(t,e,a){console.log(\"change\",t,e,a)},modify:function(){this.value=2014}}},t.exports=e.default})},WliM:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"checker-view\",title:\"Checker\"}},[a(\"template\",{slot:\"content\"},[a(\"p\",[t._v(\"default usage\")]),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checker\",{attrs:{options:t.checkboxOptions},model:{value:t.checkboxCheckerList,callback:function(e){t.checkboxCheckerList=e},expression:\"checkboxCheckerList\"}}),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"checker value : \"+t._s(t.checkboxCheckerList))]),t._v(\" \"),a(\"br\"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"type: radio\")]),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checker\",{attrs:{options:t.radioOptions,type:\"radio\"},model:{value:t.checkerValue,callback:function(e){t.checkerValue=e},expression:\"checkerValue\"}}),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"checker value : \"+t._s(t.checkerValue))]),t._v(\" \"),a(\"br\"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"use slot\")]),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checker\",{attrs:{options:t.radioOptions,type:\"radio\"},model:{value:t.checkerValue,callback:function(e){t.checkerValue=e},expression:\"checkerValue\"}},t._l(t.radioOptions,function(e){return a(\"cube-checker-item\",{key:e.value,attrs:{option:e}},[a(\"span\",{staticClass:\"orange\"},[a(\"i\",{staticClass:\"cubeic-alert\"}),t._v(t._s(e.text))])])})),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"checker value : \"+t._s(t.checkerValue))]),t._v(\" \"),a(\"br\"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"set min and max\")]),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checker\",{attrs:{options:t.checkboxOptions,min:1,max:2},model:{value:t.defaultCheckerList,callback:function(e){t.defaultCheckerList=e},expression:\"defaultCheckerList\"}}),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"checker value : \"+t._s(t.defaultCheckerList)+\"  (min: 1 max: 2)\")]),t._v(\" \"),a(\"br\"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"set disabled\")]),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checker\",{attrs:{options:t.disabledCheckerOptions},model:{value:t.disabledCheckerList,callback:function(e){t.disabledCheckerList=e},expression:\"disabledCheckerList\"}}),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"p\",[t._v(\"checker value : \"+t._s(t.disabledCheckerList))]),t._v(\" \"),a(\"br\"),a(\"br\")],1)],2)},staticRenderFns:[]}},Woua:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"s0qb\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i={success:\"cubeic-right\",error:\"cubeic-warn\"};e.default={name:\"cube-upload-file\",props:{file:{type:Object,required:!0}},computed:{fileCls:function(){return\"cube-upload-file_\"+this.file.status},fileStatusCls:function(){var t=this.file,e=t.status;if(t.progress>=.01||e===a.STATUS_SUCCESS||e===a.STATUS_ERROR)return\"cube-upload-file_stat\"},fileStyle:function(){var t=this.file.url||this.file.base64;if(t)return{\"background-image\":'url(\"'+t+'\")'}},statusCls:function(){var t=this.file.status;return i[t]},fileProgress:function(){return this.statusCls?\"100%\":Math.min(Math.floor(100*this.file.progress),99)+\"%\"}},methods:{clickHandler:function(){this.$emit(\"click\",this.file)},removeFile:function(){this.$parent.removeFile(this.file)}}},t.exports=e.default})},\"X4T+\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"YlpP\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i),u=c.default.goods;e.default={components:{CubePage:l.default},data:function(){return{data:u,current:u[3].name}},methods:{changeHandler:function(t){console.log(\"changed to:\",t)},stickyChangeHandler:function(t){console.log(\"sticky-change\",t)}}},t.exports=e.default})},XEOk:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"xUY6\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t){return t.type.indexOf(l)>-1}Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(a),l=\"mouse\";e.default={name:\"cube-rate\",props:{value:{type:Number,default:0},max:{type:Number,default:5},disabled:{type:Boolean,default:!1},justify:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1}},data:function(){return{tempValue:0}},created:function(){this.mousePressed=!1},computed:{rateClass:function(){return this.justify&&\"cube-rate-justify\"}},watch:{value:{immediate:!0,handler:function(t){t!==this.tempValue&&(this.tempValue=this.handleNum(t))}}},methods:{handleStart:function(t){if(!this.disabled){i(t)&&(this.mousePressed=!0,document.addEventListener(\"mouseup\",this.handleEnd),document.addEventListener(\"mousemove\",this.handleMove));var e=this.$refs.rateContainer.getBoundingClientRect();this.left=e.left,this.containerWidth=e.width}},handleMove:function(t){this.disabled||(i(t)?this.mousePressed&&this.computeTempValue(t):this.computeTempValue(t.touches[0]))},handleEnd:function(t){this.disabled||i(t)&&!this.mousePressed||(i(t)&&(this.mousePressed=!1,document.removeEventListener(\"mouseup\",this.handleEnd),document.removeEventListener(\"mousemove\",this.handleMove)),this.computeTempValue(i(t)?t:t.changedTouches[0]),this.$emit(\"input\",this.tempValue))},handleNum:function(t){if(this.allowHalf){var e=Math.ceil(t)-.5;t=t<=e?e:e+.5}else t=Math.ceil(t);return t},computeTempValue:function(t){var e=(t.clientX-this.left)/this.containerWidth*this.max;e=this.handleNum(e),e>0&&e<=this.max?this.tempValue=e:this.tempValue=e<=0?0:this.max}},components:{CubeRateItem:n.default}},t.exports=e.default})},XG7C:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[{url:\"https://dpubstatic.udache.com/static/dpubimg/7EzIhoEvnG/toutiao_12.JPG\"},{url:\"https://dpubstatic.udache.com/static/dpubimg/GR0Piaf5sz/toutiao_21.JPG\"},{url:\"https://dpubstatic.udache.com/static/dpubimg/K1JqUN8HSA/toutiao_31.JPG\"}],l=[\"关注\",\"推荐\",\"新时代\",\"热点\",\"体育\",\"娱乐\",\"科技\",\"头条号\",\"问答\",\"国际\",\"cube-ui666\"],c=1;e.default={data:function(){return{content:n.slice(),options:{pullDownRefresh:{threshold:60,stopTime:1e3,txt:\"更新成功\"},pullUpLoad:!0},navTxts:l,secondStop:26}},components:{CubePage:i.default},methods:{onPullingDown:function(){var t=this;setTimeout(function(){t.content.unshift(n[c++%3]),t.$refs.contentScroll.scrollTo(0,t.secondStop,300)},1e3)},onPullingUp:function(){var t=this;setTimeout(function(){t.content=t.content.concat(n)},1e3)},onImgLoad:function(){var t=this.$refs.contentScroll;t.scroll.beforePullDown&&t.refresh()}},mounted:function(){}},t.exports=e.default})},XInt:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"slide\",staticClass:\"cube-slide\"},[a(\"div\",{ref:\"slideGroup\",staticClass:\"cube-slide-group\"},[t._t(\"default\",t._l(t.data,function(e,i){return a(\"cube-slide-item\",{key:i,attrs:{item:e},nativeOn:{click:function(a){t.clickItem(e,i)}}})}))],2),t._v(\" \"),t.showDots?a(\"div\",{staticClass:\"cube-slide-dots\"},[t._t(\"dots\",t._l(t.dots,function(e,i){return a(\"span\",{key:i,class:{active:t.currentPageIndex===i}})}),{current:t.currentPageIndex,dots:t.dots})],2):t._e()])},staticRenderFns:[]}},XJZo:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"7ErG\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-toolbar\",components:{CubeToolbarItem:i.default},props:{actions:{type:Array,default:function(){return[]}},moreActions:{type:Array}},data:function(){return{showMore:!1}},computed:{basicActions:function(){var t=this.actions.slice();return this.moreActions&&t.push({icon:\"cubeic-more\",$cubeMore:!0}),t}},methods:{itemClick:function(t){t.$cubeMore?(this.showMore=!this.showMore,this.$emit(\"more-click\",this.showMore)):this.$emit(\"click\",t)}}},t.exports=e.default})},XNdS:function(t,e,a){var i=a(\"VU/8\")(a(\"cbPg\"),a(\"gTcW\"),null,null,null);t.exports=i.exports},XPXN:function(t,e,a){function i(t){a(\"0Bfo\")}var n=a(\"VU/8\")(a(\"twNj\"),a(\"5zRN\"),i,null,null);t.exports=n.exports},XRNA:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.warn=function(t,e){},t.tip=function(t,e){}})},XU5Z:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"picker-view\",title:\"Picker\",desc:\"\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showPicker}},[t._v(\"Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showMutiPicker}},[t._v(\"Multi-column Picker\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showAliasPicker}},[t._v(\"Use alias\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showUpdatePropsPicker}},[t._v(\"Use $updateProps\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showSubtitlePicker}},[t._v(\"Use subtitle\")])],1)],1)])},staticRenderFns:[]}},XUNM:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{checkerValue:\"\",radioOptions:[{value:0,text:\"AAAAA\"},{value:1,text:\"BBBBB\"}],checkboxCheckerList:[],checkboxOptions:[{value:1,text:\"red\"},{value:2,text:\"yellow\"},{value:3,text:\"blue\"},{value:4,text:\"green\"}],defaultCheckerList:[3],disabledCheckerOptions:[{value:1,text:\"first\",disabled:!0},{value:2,text:\"second\",disabled:!0},{value:3,text:\"third\"}],disabledCheckerList:[2]}},components:{CubePage:i.default},methods:{radioClick:function(t){console.log(t),this.radioCheckerList=[t]}}},t.exports=e.default})},XUgO:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"IskU\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{swipeData:i.customData}},methods:{onItemClick:function(t){console.log(\"click item:\",t)},onBtnClick:function(t,e){var a=this;\"delete\"===t.action?this.$createActionSheet({title:\"确认要删除吗\",active:0,data:[{content:\"删除\"}],onSelect:function(){a.swipeData.splice(e,1)}}).show():this.$refs.swipeItem[e].shrink()}},components:{CubePage:n.default}},t.exports=e.default})},XlLO:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"O6S8\"),a(\"XPXN\"),a(\"j/Id\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n),s=[\"top\",\"right\",\"bottom\",\"left\",\"center\"],r=0;e.default={data:function(){return{type:\"popup-dialog\",mask:!0,visible1:!1,visible2:!1,visible3:!1,visible4:!1,position:\"\"}},methods:{showPopup:function(t){var e=this;4===t&&(this.position=s[r++],r===s.length&&(r=0)),this[\"visible\"+t]=!0,setTimeout(function(){e[\"visible\"+t]=!1},2e3)}},components:{CubeButtonGroup:c.default,CubePage:u.default,CubeExtendPopup:o.default}},t.exports=e.default})},Xnqv:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={cancel:\"取消\",confirm:\"确认\",ok:\"确定\",prev:\"上一步\",next:\"下一步\",selectText:\"请选择\",now:\"现在\",selectTime:\"选择时间\",today:\"今日\",formatDate:\"M月D日\",hours:\"点\",minutes:\"分\",validator:{required:\"此为必填项\",type:{string:\"请输入字符\",number:\"请输入数字\",array:\"数据类型应为数组\",date:\"请选择有效日期\",email:\"请输入有效邮箱\",tel:\"请输入有效的手机号码\",url:\"请输入有效网址\"},min:{string:\"至少输入 {{config}} 位字符\",number:\"不得小于 {{config}}\",array:\"请选择至少 {{config}} 项\",date:'请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',email:\"至少输入 {{config}} 位字符\",tel:\"至少输入 {{config}} 位字符\",url:\"至少输入 {{config}} 位字符\"},max:{string:\"请勿超过 {{config}} 位字符\",number:\"请勿大于 {{config}}\",array:\"最多选择 {{config}} 项\",date:'请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',email:\"请勿超过 {{config}} 位字符\",tel:\"请勿超过 {{config}} 位字符\",url:\"请勿超过 {{config}} 位字符\"},len:{string:\"请输入 {{config}} 位字符\",number:\"长度应等于 {{config}}\",array:\"请选择 {{config}} 项\",date:'请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',email:\"请输入 {{config}} 位字符\",tel:\"请输入 {{config}} 位字符\",url:\"请输入 {{config}} 位字符\"},pattern:\"格式错误\",custom:\"未通过校验\",notWhitespace:\"空白内容无效\"}},t.exports=e.default})},XyhL:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"g9J/\"),a(\"xUY6\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Item=c.default,e.default=l.default,t.exports=e.default})},Y01l:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"34KM\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={install:function(){}},t.exports=e.default})},Y4Q7:function(t,e){},YGd9:function(t,e,a){function i(t){a(\"VMLG\")}var n=a(\"VU/8\")(a(\"XUNM\"),a(\"WliM\"),i,null,null);t.exports=n.exports},YUSN:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/scroll/\"+t)}}},t.exports=e.default})},YVqS:function(t,e,a){var i=a(\"VU/8\")(a(\"+8WV\"),a(\"CkYj\"),null,null,null);t.exports=i.exports},YekI:function(t,e){},YlpP:function(t,e){t.exports={seller:{name:\"粥品香坊（回龙观）\",description:\"蜂鸟专送\",deliveryTime:38,score:4.2,serviceScore:4.1,foodScore:4.3,rankRate:69.2,minPrice:20,deliveryPrice:4,ratingCount:24,sellCount:90,bulletin:\"粥品香坊其烹饪粥料的秘方源于中国千年古法，在融和现代制作工艺，由世界烹饪大师屈浩先生领衔研发。坚守纯天然、0添加的良心品质深得消费者青睐，发展至今成为粥类的引领品牌。是2008年奥运会和2013年园博会指定餐饮服务商。\",supports:[{type:0,description:\"在线支付满28减5\"},{type:1,description:\"VC无限橙果汁全场8折\"},{type:2,description:\"单人精彩套餐\"},{type:3,description:\"该商家支持发票,请下单写好发票抬头\"},{type:4,description:\"已加入“外卖保”计划,食品安全保障\"}],avatar:\"http://static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg\",pics:[\"http://fuss10.elemecdn.com/8/71/c5cf5715740998d5040dda6e66abfjpeg.jpeg?imageView2/1/w/180/h/180\",\"http://fuss10.elemecdn.com/b/6c/75bd250e5ba69868f3b1178afbda3jpeg.jpeg?imageView2/1/w/180/h/180\",\"http://fuss10.elemecdn.com/f/96/3d608c5811bc2d902fc9ab9a5baa7jpeg.jpeg?imageView2/1/w/180/h/180\",\"http://fuss10.elemecdn.com/6/ad/779f8620ff49f701cd4c58f6448b6jpeg.jpeg?imageView2/1/w/180/h/180\"],infos:[\"该商家支持发票,请下单写好发票抬头\",\"品类:其他菜系,包子粥店\",\"北京市昌平区回龙观西大街龙观置业大厦底商B座102单元1340\",\"营业时间:10:00-20:30\"]},goods:[{name:\"热销榜\",type:-1,foods:[{name:\"皮蛋瘦肉粥\",price:10,oldPrice:\"\",description:\"咸粥\",sellCount:229,rating:100,info:\"一碗皮蛋瘦肉粥，总是我到粥店时的不二之选。香浓软滑，饱腹暖心，皮蛋的Q弹与瘦肉的滑嫩伴着粥香溢于满口，让人喝这样的一碗粥也觉得心满意足\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"很喜欢的粥\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"扁豆焖面\",price:14,oldPrice:\"\",description:\"\",sellCount:188,rating:96,ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],info:\"\",icon:\"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"葱花饼\",price:10,oldPrice:\"\",description:\"\",sellCount:124,rating:85,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:1,text:\"没啥味道\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:1,text:\"很一般啊\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"牛肉馅饼\",price:14,oldPrice:\"\",description:\"\",sellCount:114,rating:91,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:1,text:\"难吃不推荐\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"招牌猪肉白菜锅贴/10个\",price:17,oldPrice:\"\",description:\"\",sellCount:101,rating:78,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:1,text:\"不脆,不好吃\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"南瓜粥\",price:9,oldPrice:\"\",description:\"甜粥\",sellCount:91,rating:100,ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"红豆薏米美肤粥\",price:12,oldPrice:\"\",description:\"甜粥\",sellCount:86,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"八宝酱菜\",price:4,oldPrice:\"\",description:\"\",sellCount:84,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"红枣山药糙米粥\",price:10,oldPrice:\"\",description:\"\",sellCount:81,rating:91,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"糊塌子\",price:10,oldPrice:\"\",description:\"\",sellCount:80,rating:93,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"单人精彩套餐\",type:2,foods:[{name:\"红枣山药粥套餐\",price:29,oldPrice:36,description:\"红枣山药糙米粥,素材包,爽口莴笋丝,四川泡菜或八宝酱菜,配菜可备注\",sellCount:17,rating:100,info:\"\",ratings:[{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/6/72/cb844f0bb60c502c6d5c05e0bddf5jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/6/72/cb844f0bb60c502c6d5c05e0bddf5jpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"冰爽饮品限时特惠\",type:1,foods:[{name:\"VC无限橙果汁\",price:8,oldPrice:10,description:\"\",sellCount:15,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"还可以\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"精选热菜\",type:-1,foods:[{name:\"娃娃菜炖豆腐\",price:17,oldPrice:\"\",description:\"\",sellCount:43,rating:92,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"菜量还可以,味道还可以\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"手撕包菜\",price:16,oldPrice:\"\",description:\"\",sellCount:29,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"香酥黄金鱼/3条\",price:11,oldPrice:\"\",description:\"\",sellCount:15,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"爽口凉菜\",type:-1,foods:[{name:\"八宝酱菜\",price:4,oldPrice:\"\",description:\"\",sellCount:84,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"拍黄瓜\",price:9,oldPrice:\"\",description:\"\",sellCount:28,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"精选套餐\",type:-1,foods:[{name:\"红豆薏米粥套餐\",price:37,oldPrice:\"\",description:\"红豆薏米粥,三鲜干蒸烧卖,拍黄瓜\",sellCount:3,rating:100,info:\"\",ratings:[{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/f/49/27f26ed00c025b2200a9ccbb7e67ejpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/f/49/27f26ed00c025b2200a9ccbb7e67ejpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"皮蛋瘦肉粥套餐\",price:31,oldPrice:\"\",description:\"\",sellCount:12,rating:100,info:\"\",ratings:[{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/8/96/f444a8087f0e940ef264617f9d98ajpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/8/96/f444a8087f0e940ef264617f9d98ajpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"果拼果汁\",type:-1,foods:[{name:\"蜜瓜圣女萝莉杯\",price:6,oldPrice:\"\",description:\"\",sellCount:1,rating:\"\",info:\"\",ratings:[],icon:\"http://fuss10.elemecdn.com/b/5f/b3b04c259d5ec9fa52e1856ee50dajpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/b/5f/b3b04c259d5ec9fa52e1856ee50dajpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"加多宝\",price:6,oldPrice:\"\",description:\"\",sellCount:7,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/b/9f/5e6c99c593cf65229225c5661bcdejpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/b/9f/5e6c99c593cf65229225c5661bcdejpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"VC无限橙果汁\",price:8,oldPrice:10,description:\"\",sellCount:15,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"还可以\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"小吃主食\",type:-1,foods:[{name:\"扁豆焖面\",price:14,oldPrice:\"\",description:\"\",sellCount:188,rating:96,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"葱花饼\",price:10,oldPrice:\"\",description:\"\",sellCount:124,rating:85,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:1,text:\"没啥味道\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:1,text:\"很一般啊\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"牛肉馅饼\",price:14,oldPrice:\"\",description:\"\",sellCount:114,rating:91,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:1,text:\"难吃不推荐\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"招牌猪肉白菜锅贴/10个\",price:17,oldPrice:\"\",description:\"\",sellCount:101,rating:78,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:1,text:\"不脆,不好吃\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"糊塌子\",price:10,oldPrice:\"\",description:\"\",sellCount:80,rating:93,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/750/h/750\"}]},{name:\"特色粥品\",type:-1,foods:[{name:\"皮蛋瘦肉粥\",price:10,oldPrice:\"\",description:\"咸粥\",sellCount:229,rating:100,ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"很喜欢的粥\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"南瓜粥\",price:9,oldPrice:\"\",description:\"甜粥\",sellCount:91,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"红豆薏米美肤粥\",price:12,oldPrice:\"\",description:\"甜粥\",sellCount:86,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"红枣山药糙米粥\",price:10,oldPrice:\"\",description:\"\",sellCount:81,rating:91,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"鲜蔬菌菇粥\",price:11,oldPrice:\"\",description:\"咸粥\",sellCount:56,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/750/h/750\"},{name:\"田园蔬菜粥\",price:10,oldPrice:\"\",description:\"咸粥\",sellCount:33,rating:100,info:\"\",ratings:[{username:\"3******c\",rateTime:1469281964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"2******3\",rateTime:1469271264e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"},{username:\"3******b\",rateTime:1469261964e3,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"}],icon:\"http://fuss10.elemecdn.com/a/94/7371083792c19df00e546b29e344cjpeg.jpeg?imageView2/1/w/114/h/114\",image:\"http://fuss10.elemecdn.com/a/94/7371083792c19df00e546b29e344cjpeg.jpeg?imageView2/1/w/750/h/750\"}]}],ratings:[{username:\"3******c\",rateTime:1469281964e3,deliveryTime:30,score:5,rateType:0,text:\"不错,粥很好喝,我经常吃这一家,非常赞,以后也会常来吃,强烈推荐.\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[\"南瓜粥\",\"皮蛋瘦肉粥\",\"扁豆焖面\",\"娃娃菜炖豆腐\",\"牛肉馅饼\"]},{username:\"2******3\",rateTime:1469271264e3,deliveryTime:\"\",score:4,rateType:0,text:\"服务态度不错\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[\"扁豆焖面\"]},{username:\"3******b\",rateTime:1469261964e3,score:3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"1******c\",rateTime:1469261864e3,deliveryTime:20,score:5,rateType:0,text:\"良心店铺\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"2******d\",rateTime:1469251264e3,deliveryTime:10,score:4,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"9******0\",rateTime:1469241964e3,deliveryTime:70,score:1,rateType:1,text:\"送货速度蜗牛一样\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"d******c\",rateTime:1469231964e3,deliveryTime:30,score:5,rateType:0,text:\"很喜欢的粥店\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"2******3\",rateTime:1469221264e3,deliveryTime:\"\",score:4,rateType:0,text:\"量给的还可以\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"3******8\",rateTime:1469211964e3,deliveryTime:\"\",score:3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"a******a\",rateTime:1469201964e3,deliveryTime:\"\",score:4,rateType:0,text:\"孩子喜欢吃这家\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[\"南瓜粥\"]},{username:\"3******3\",rateTime:1469191264e3,deliveryTime:\"\",score:4,rateType:0,text:\"粥挺好吃的\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"t******b\",rateTime:1469181964e3,deliveryTime:\"\",score:3,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"f******c\",rateTime:1469171964e3,deliveryTime:15,score:5,rateType:0,text:\"送货速度很快\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"k******3\",rateTime:1469161264e3,deliveryTime:\"\",score:4,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"u******b\",rateTime:1469151964e3,deliveryTime:\"\",score:4,rateType:0,text:\"下雨天给快递小哥点个赞\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"s******c\",rateTime:1469141964e3,deliveryTime:\"\",score:4,rateType:0,text:\"好\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"z******3\",rateTime:1469131264e3,deliveryTime:\"\",score:5,rateType:0,text:\"吃了还想再吃\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"n******b\",rateTime:1469121964e3,deliveryTime:\"\",score:3,rateType:1,text:\"发票开的不对\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"m******c\",rateTime:1469111964e3,deliveryTime:30,score:5,rateType:0,text:\"好吃\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"l******3\",rateTime:1469101264e3,deliveryTime:40,score:5,rateType:0,text:\"还不错吧\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"3******o\",rateTime:1469091964e3,deliveryTime:\"\",score:2,rateType:1,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"3******p\",rateTime:1469081964e3,deliveryTime:\"\",score:4,rateType:0,text:\"很喜欢的粥\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"o******k\",rateTime:1469071264e3,deliveryTime:\"\",score:5,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]},{username:\"k******b\",rateTime:1469061964e3,deliveryTime:\"\",score:4,rateType:0,text:\"\",avatar:\"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",recommend:[]}]}},YtAD:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"woOf\"),a(\"Dd8w\"),a(\"+rJ6\"),a(\"jbJ7\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}function u(t,e){e.props||(e.props={}),(0,s.default)(e.props,d[t.type]||{}),t.row&&(e.props.colNum=2);var a=t.options||{};Array.isArray(a)&&(a={options:a}),a=(0,s.default)({},a);var i=v[t.type];(0,s.default)(e.props,i&&i(a)||a)}function o(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"-\";return t.split(e).map(function(t){return+t})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=u;var s=c(a),r=c(i),d={switch:{hollowStyle:!0},radio:{hollowStyle:!0},checkbox:{hollowStyle:!0}},v={switch:function(t){return{colNum:2,options:[{label:\"是\",value:1},{label:\"否\",value:0}]}},select:function(t,e){var a=t.placeholder||\"请选择\",i={component:t.component||\"picker\",options:t.props||{title:a,data:[t.options.map(function(t){return{text:t,value:t}})]}};return{placeholder:a,icon:t.icon||\"cubeic-select\",loadData:e,options:i,formatValue:t.formatValue||function(t,e,a){return{value:t[0],text:a[0]}}}},date:function(t){var e={value:new Date,title:\"选择日期\"};return t.min?e.min=o(t.min):e.min=[2010,1,1],t.max?e.max=o(t.max):e.max=[2100,12,31],v.select({placeholder:t.placeholder,icon:\"cubeic-calendar\",component:\"date-picker\",props:e,formatValue:function(e){return(0,n.formatDate)(e,t.format||\"YYYY-MM-DD\")}})},time:function(t){var e={value:new Date,title:\"选择时间\",startColumn:\"hour\",columnCount:2};return t.min?e.min=o(t.min,\":\"):e.min=[0,0],t.max?e.max=o(t.max,\":\"):e.max=[23,59],v.select({placeholder:t.placeholder,icon:\"cubeic-time\",component:\"date-picker\",props:e,formatValue:function(e){return(0,n.formatDate)(e,t.format||\"hh:mm\")}})},radio:function(t){return t},checkbox:function(t){return t},tel:function(t){return(0,r.default)({type:\"tel\"},t)},city:function(t){var e={},a=(0,l.loadCityData)(),i=function(){return a.then(function(t){return e.data=t,t})};return v.select({placeholder:t.placeholder,icon:\"cubeic-location\",component:\"cascade-picker\",props:e,formatValue:function(t,e,a){return{text:a.join(\"\"),value:t}}},i)},upload:function(t){return t.max||(t.max=1),(0,r.default)({},t)}};t.exports=e.default})},Yu0J:function(t,e,a){function i(t){a(\"v1lR\")}var n=a(\"VU/8\")(a(\"s8G+\"),a(\"rViw\"),i,null,null);t.exports=n.exports},Yx6s:function(t,e){},Z5VE:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={model:{prop:\"visible\",event:\"toggle\"},props:{visible:{type:Boolean,default:!1}},data:function(){return{isVisible:!1}},watch:{isVisible:function(t){this.$emit(\"toggle\",t)}},mounted:function(){var t=this;this.$watch(\"visible\",function(e,a){e?t.show():a&&!t._createAPI_reuse&&t.hide()},{immediate:!0})},methods:{show:function(){this.isVisible=!0},hide:function(){this.isVisible=!1}}},t.exports=e.default})},ZDnC:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{checked:!0,checked2:\"optionValue\",optionValue:{label:\"Option Checkbox\",value:\"optionValue\",disabled:!1}}},components:{CubePage:i.default}},t.exports=e.default})},ZQJ7:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"5e0o\"),a(\"1BqV\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Ele=c.default,e.default=l.default,t.exports=e.default})},ZXOh:function(t,e,a){var i=a(\"VU/8\")(a(\"qC0d\"),a(\"PGMA\"),null,null,null);t.exports=i.exports},Zd1j:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={messages:[\"when you popState and actually being well, we expect it further\",\"But I'm going to take care of ripping out my code in the fact that just something like that\",\"And what we'll createdCallbacks than that you can still read what each one of this should go out\",\"So just return Promise back and do this, the route equals\",\"ah, let's do a clearRoutes it says I'm not going to do\",\"At least trying new Promise\",\"then, and then it's going to check what that\",\"And we zoom in, then you can kind of set, except for a router\",\"Now strictly today\",\"I'm going to just takes an iterable as well be to add a visible\",\"Anyway, so that we'll do a link\",\"So what I'm going to minify this, so I'll just console\",\"log data for now, just sometimes look at that\",\"not then if we wanted to do position from the registerElements primed and red\",\"That isn't get called\",\"At all\",\"No\",\"Interesting that misc here\",\"So what was a regular expression\",\"Because once you get over doing a fancy techniques\",\"And let's see\",\"OK, we broke thing to do\",\"Right\",\"document\",\"&quot; So\",\"Yeah\",\"which is fine\",\"And that we'll do sc\",\"view\",\"So what you draw the line where is it\",\"Where is being run\",\"I think, a million times look at it and styles an iteration, ES2015 update the content for is this\",\"routes equals Array\",\"from\",\"Hm, that might be a trade\",\"off, because we're just do an animation\",\"in the attached\",\"Look at this push\",\"pull kind of useful to have layout root here is it\",\"That by default, what we going to grab the\",\"Yes\",\"In router, I think, would let's say, for example\",\"So let's make it can be just this the hour mark on the actual contents\",\"We just loads though it was the way, a nice this\",\"Are you would be a little bit more pretty raw, this is a day, dude\",\"Border\",\"radius, that\",\"And I'm going to just do that will take something else\",\"And thank you might now\",\"That is the next time, I'm going to come into misc\",\"And somebody actually not\",\"source equals home\",\"But if I was sending me to resolve where we go\",\"All right\",\"And it makes JavaScript\",\"And I have run again\",\"Normally a massive, as I said, this is always, I'm going to call the different [INAUDIBLE] Hm\",\"Wow\",\"We have happen on screen, and the otherwise, don't want\",\"Yeah, and forth in the new path\",\"So we don't you use that might very wrong\",\"But in a customary bug\",\"Don't forget to hidden or display to none, things like a race when you are actually really long time I want to tell that is where you go\",\"And that work\",\"Yeah, and I'm going to do today\",\"I had misc are all the create one of the performance stuff\",\"But if you had lots of tea\",\"Yeah\",\"Now we're going to come in\",\"But did working as intended it\",\"So we can be able to be watching it straightforward slash\",\"And that, I think that will be all the like since we are valid concept for this, the root of this called HTML5 routing, which I don't know\",\"I just feels OK, but hopefully, and opacity 0, and it's just put a z\",\"index of 1 on that's going to be sort of handling of attachedCallback, and we want to transform scale very well be true for them is amazing, like across from the new one that\",\"You know\",\"Yeah, we could see now, all being we won't do this thing today\",\"And so this is a current view\",\"We have a question ties in\",\"Why not\",\"source equals router, why not\",\"And I think that we'd probably, if we've already to allow it to be the thing\",\"Oh, all right, so we get it, because I have to juggle it all\",\"No\",\"I feel I agree\",\"It would actually get it, because otherwise, we still have this\",\"routes\",\"keys\",\"So this is a layout boundary\",\"It's the cause\",\"Yeah, 3 pixels\",\"OK\",\"So since that's true\",\"And this stuff\",\"And that work\",\"Good point, or strict, and then the URL, changed\",\"But I'm going to, let's see, what we're any\",\"So the new view, think about\",\"And then we've defer, why not\",\"Let's fail\",\"So this newView, newView is never watching is I was that\",\"so that it's a compass\",\"Oh\",\"North, east, south, we called, all be no ES\",\"anything\",\"What I'm curious about your question here\",\"And I'm going to say\",\"so let's see\",\"So let's see\",\"So we'll say from this animations that we want to do this so that this point\",\"So we want us to cover next week\",\"We can actually\",\"But that they've all been set it\",\"Yeah\",\"And at the top and misc here\",\"But it will be run into a bit different sections\",\"And I think you'd want each of there's no DOM tree reason\",\"Well, yeah\",\"OK, so we have a couple of click for clicks\",\"And so if we see about this\",\"So what I think things that I really good start\",\"script tags at home, kids\",\"Don't do this file to actually\",\"Woo\",\"I made, sir\",\"So again, particular line of the\",\"let's call it sc for Supercharged\",\"There's no\",\"It's a compass\",\"Oh\",\"right\",\"newView, newView is the simplicity at this one anything below 2015, right\",\"It broke\",\"OK, let's see\",\"So we're going to removeEventListener\",\"You are the nicest\",\"something that you know, we'll create that doesn't necessarily end up with something new to these pages\",\"In router\",\"And certainly, as I said, you could usually just delete the constructor but createdCallback\",\"Oh, well, let link of the\",\"Yes\",\"If we had to do is I want us to come up writing apps, it can actually, this push\",\"pull kind of data, which version of something\",\"So what they can be about view or something that have a thing to do a trade\",\"off because you've got memory constraints and all these function\",\"So let's see if\",\"oh, do we wanted to do this\",\"If you're attach, what we'd want to know\",\"That is important think in so that goes to control of [\",\"UI \",\"] transitions, particular expression\",\"Right, so the otherwise, it should also work on the layout, which might because we're actually remind yourselves that I can do it\",\"Yeah\",\"So that, in theory, place all the content as well when that have new ideas\",\"So this should be a class list, we'll create one of these, what we'll do is I want to do\",\"All right, bottom, left\",\"Do you have definitely\",\"So when the mindset off chaining [INAUDIBLE] out of the same index HTML elements\",\"Views\",\"Yeah\",\"So I'm going to createRoutes, wee, clearRoutes equals static\",\"Let's do this, status is generally work\",\"So that's why I was building the nicest\",\"I'll tell you what we want to come into the panels\",\"On all of ES2015 updates on the path name\",\"Because it's an iterate what they see\",\"I'm going to do\",\"We'll do that\",\"And hopefully, you're here in slash about view but we're going to be whichever view was the new view is that\",\"so that the event that isn't get called, all subscribing to do today\",\"And then we're just delete the JavaScript language\",\"Yeah, and we need to extends HTMLElement\",\"And we app where we actually uncanny valid concept for the out animation\",\"duration\",\"count in one tends HTML, I think, would then we've defer, why not\",\"Let's see what's good on here\",\"So if you say layout, for example\",\"Yes, so one of its scope\",\"What we want to do, I supposed to find out\",\"The defer mean to your Custom Elements JavaScript says we don't have\",\"We don't want to say this, so one that you click back to then dot the even though it\",\"So there a createdCallback, so we never being us\",\"That doesn't it\",\"Right\",\"All right\",\"That should\",\"Oh no, Array\",\"from\",\"Hm, it shouldNotMakeMoreOutPromises\",\"And then let's do that is purely for simplicity at this\",\"I don't takes too longer and I will say this\",\"routes\",\"because it matches the current ones will now needs to be run against that going to say const view back\",\"And then what the createRoute\",\"That's what I think\",\"So we have to transitions, particular if branch of this, you're giving us way too much better\",\"So since the layout, OK\",\"I think we'll create objects anymore\",\"You let us know what I'm going to do is I'm going to do is let's just find out\",\"createdCallbacks\",\"So if view\",\"I could do if we don't want to make a nav\",\"So I'm going to do that\",\"Super\",\"route\",\"So for this, right now, all the like shouldNotMakeMoreOutPromise\",\"resolve\",\"Same for the power of Promise, right\",\"Because why not\",\"Let's give it or not\",\"The defer also means that the state by selecting the view\",\"No\",\"Interesting\",\"So the brand\",\"new thing\",\"So let's see, so we do that\",\"All being well, we end with an actually hoping I will be remove this\",\"Are you this\",\"So we want to do that, actually just kind of amazing\",\"You know\",\"Yeah\",\"which is the current view was the new one that's a layout\",\"I don't you ask the question ties in it is when it's like a progressive to deal with, with contain strict\",\"now here\",\"And I'm going to us\",\"So onChanged\",\"Yeah\",\"Because of the this\",\"is\",\"the\",\"active\",\"view\",\"And we are building the routes equals this\",\"But when the view first time we create that isn't it\",\"Right\",\"Yeah, that is amazing\",\"And I think, a more bugs\",\"Yeah, I want it to updating to do that I have new view, and some Promise, we can actually can do here\",\"This is Paul\",\"Hi\",\"This time I write bugs, don't like this is actual lifecycle called ES6\",\"ES2016 was doing that's why I wanted to say\",\"currentView will be fast because\",\"You know what, in the back to the current view\",\"And then we'll say return\",\"One of the panels\",\"OK\",\"Come of that stuff out\",\"Should that the evaluation from 100\",\"no, should add that kind of got allowing that back out, right\",\"newView, newView, what we're kind of got these views that you, very wrong\",\"But if you about using there\",\"Because the nav has disappear ago, it was the keyword for all the regular expression and execution of a router\",\"Now you know, over that, in there\",\"Let's do that there we already got ourselves some of the way to go\",\"And it matches the new one for that\",\"Yeah\",\"And certain time gaps, think it's an animating to put a route for some reason\",\"view\",\"Figure out things simplicity at this point\",\"So what we're being a little bit of a pickle over right now we've deep\",\"linked that could want it to be that\",\"So let's just feels very interactions back in so this\",\"newView\",\"Yeah\",\"And apparent, what we'd want each one of all the debugger standard one\",\"So this way, it should add the visible\",\"And we're pretty raw, there will be find out notionally, the code, it's fine, it's fail\",\"So the question\",\"Yeah, so we could see now them to makes Jav\"]},t.exports=e.default})},ZhPo:function(t,e,a){function i(t){a(\"MMvM\")}var n=a(\"VU/8\")(a(\"4sRm\"),a(\"QAv/\"),i,null,null);t.exports=n.exports},ZiC1:function(t,e,a){var i=a(\"VU/8\")(a(\"fZ0D\"),a(\"N7CF\"),null,null,null);t.exports=i.exports},ZiKE:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{selectedLabelDefault:\"Vip\",selectedLabelSlots:\"Like\",selectedLabelInline:\"Me\",selectedLabelSlotsOnly:\"Home\",tabs:[{label:\"Home\",icon:\"cubeic-home\"},{label:\"Like\",icon:\"cubeic-like\"},{label:\"Vip\",icon:\"cubeic-vip\"},{label:\"Me\",icon:\"cubeic-person\"}]}},methods:{clickHandler:function(t){console.log(\"tab was clicked\",t)},changeHandler:function(t){console.log(\"value has changed, now is\",t)}},components:{CubePage:i.default},watch:{selectedLabel:function(t){console.log(t)}}},t.exports=e.default})},ZrYO:function(t,e,a){var i=a(\"VU/8\")(a(\"Ps1K\"),a(\"WiPx\"),null,null,null);t.exports=i.exports},Zvx6:function(t,e){},Zw0Y:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-json-view\"},[a(\"h3\",[t._v(t._s(t.title))]),t._v(\" \"),t.changed?a(\"pre\",[t._v(\"    \"),a(\"code\",{ref:\"code\"},[t._v(t._s(t.data))]),t._v(\"\\n  \")]):t._e()])},staticRenderFns:[]}},\"a/uE\":function(t,e,a){function i(t){a(\"barY\")}var n=a(\"VU/8\")(a(\"cETb\"),a(\"V13k\"),i,null,null);t.exports=n.exports},a0bD:function(t,e,a){function i(t){a(\"uXDz\")}var n=a(\"VU/8\")(a(\"Er22\"),a(\"9ofc\"),i,null,null);t.exports=n.exports},a8SH:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-sticky\"},[t._t(\"default\"),t._v(\" \"),a(\"transition\",{attrs:{name:t.fixedShowAni}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.fixedShow,expression:\"fixedShow\"}],ref:\"fixedEle\",staticClass:\"cube-sticky-fixed\"},[t._t(\"fixed\",null,{current:t.currentKey,index:t.currentIndex})],2)])],2)},staticRenderFns:[]}},aA6D:function(t,e){},aDIA:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"5qoB\"),a(\"x9Ds\"),a(\"+Ghj\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"rules\",{enumerable:!0,get:function(){return e.rules}}),Object.defineProperty(t,\"addRule\",{enumerable:!0,get:function(){return e.addRule}}),Object.defineProperty(t,\"addMessage\",{enumerable:!0,get:function(){return a.addMessage}}),Object.defineProperty(t,\"types\",{enumerable:!0,get:function(){return i.types}}),Object.defineProperty(t,\"addType\",{enumerable:!0,get:function(){return i.addType}})})},aSgS:function(t,e){},agqa:function(t,e,a){function i(t){a(\"lLnp\")}var n=a(\"VU/8\")(a(\"Iyug\"),a(\"dFgm\"),i,null,null);t.exports=n.exports},apY0:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";function a(t,e){for(var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",n=[],l=t;l<=e;l++){var c=(a&&l<10?\"0\"+l:l)+i;n.push({text:c,value:l})}return n}Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"date-picker\",props:{min:{type:Array,default:function(){return[2010,2,1]}},max:{type:Array,default:function(){return[2020,2,1]}},selectedIndex:{type:Array,default:function(){return[0,0,0]}}},data:function(){return{}},computed:{data:function(){var t=this,e=a(this.min[0],this.max[0],!1,\"年\");return e.forEach(function(e){var i=e.value===t.min[0]?t.min[1]:1,n=e.value===t.max[0]?t.max[1]:12;e.children=a(i,n,!1,\"月\"),e.children.forEach(function(i){var n=30;[1,3,5,7,8,10,12].indexOf(i.value)>-1?n=31:2===i.value&&(n=e.value%400&&(e.value%4||!(e.value%100))?28:29);var l=e.value===t.min[0]&&i.value===t.min[1]?t.min[2]:1,c=e.value===t.max[0]&&i.value===t.max[1]?t.max[2]:n;i.children=a(l,c,!1,\"日\")})}),e}},methods:{show:function(){this.$refs.cascadePicker.show()},hide:function(){this.$refs.cascadePicker.hide()},select:function(t,e,a){this.$emit(\"select\",t,e,a)},cancel:function(){this.$emit(\"cancel\")}}},t.exports=e.default})},atd8:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-recycle-list\"},[a(\"div\",{staticClass:\"cube-recycle-list-main\"},[a(\"div\",{staticClass:\"cube-recycle-list-items\",style:{height:t.heights+\"px\"}},[t._l(t.visibleItems,function(e){return a(\"div\",{staticClass:\"cube-recycle-list-item\",style:{transform:\"translate(0,\"+e.top+\"px)\"}},[t.infinite?a(\"div\",{class:{\"cube-recycle-list-transition\":t.infinite},style:{opacity:+!e.loaded}},[t._t(\"tombstone\")],2):t._e(),t._v(\" \"),a(\"div\",{class:{\"cube-recycle-list-transition\":t.infinite},style:{opacity:e.loaded}},[t._t(\"item\",null,{data:e.data})],2)])}),t._v(\" \"),a(\"div\",{staticClass:\"cube-recycle-list-pool\"},[t._l(t.items,function(e,i){return!e||e.isTombstone||e.height?t._e():a(\"div\",{ref:\"preloads\"+i,refInFor:!0,staticClass:\"cube-recycle-list-item cube-recycle-list-invisible\"},[t._t(\"item\",null,{data:e.data})],2)}),t._v(\" \"),a(\"div\",{ref:\"tomb\",staticClass:\"cube-recycle-list-item cube-recycle-list-invisible\"},[t._t(\"tombstone\")],2)],2)],2),t._v(\" \"),t.infinite||t.noMore?t._e():a(\"div\",{staticClass:\"cube-recycle-list-loading\",style:{visibility:t.loading?\"visible\":\"hidden\"}},[t._t(\"spinner\",[a(\"div\",{staticClass:\"cube-recycle-list-loading-content\"},[a(\"cube-loading\",{staticClass:\"cube-recycle-list-spinner\"})],1)])],2),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.noMore,expression:\"noMore\"}],staticClass:\"cube-recycle-list-noMore\"},[t._t(\"noMore\")],2)]),t._v(\" \"),a(\"div\",{staticClass:\"cube-recycle-list-fake\"})])},staticRenderFns:[]}},b1gV:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"Y01l\"),a(\"osO1\"),a(\"dK69\"),a(\"HBJ7\"),a(\"izCJ\"),a(\"zQyI\"),a(\"0wrK\"),a(\"SFrn\"),a(\"rwvr\"),a(\"k+Su\"),a(\"jWO0\"),a(\"fFTD\"),a(\"/Pfp\"),a(\"7Sku\"),a(\"mok4\"),a(\"8nmV\"),a(\"XyhL\"),a(\"fd7u\"),a(\"oLGW\"),a(\"8cOd\"),a(\"Oluj\"),a(\"v4hj\"),a(\"O1ak\"),a(\"nrl6\"),a(\"P+K9\"),a(\"Ta5O\"),a(\"tNeh\"),a(\"r6LN\"),a(\"R082\"),a(\"3ubT\"),a(\"NhRQ\"),a(\"wT65\"),a(\"eD0J\"),a(\"ES30\"),a(\"RO/E\"),a(\"ZQJ7\"),a(\"CzhT\"),a(\"SPGs\"),a(\"6G1g\"),a(\"iQwk\"),a(\"x/Fx\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r,d,v,p,f,h,x,y,m,b,g,_,w,k,A,C,T,j,P,S,M,D,V,I,O,E,U,R,B,H,N,L){\"use strict\";function F(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createAPI=t.BetterScroll=t.RecycleList=t.ScrollNavBar=t.ScrollNav=t.ScrollNavPanel=t.Sticky=t.StickyEle=t.Swipe=t.SwipeItem=t.IndexList=t.Slide=t.SlideItem=t.Scroll=t.ImagePreview=t.Drawer=t.DrawerPanel=t.DrawerItem=t.ActionSheet=t.Dialog=t.SegmentPicker=t.TimePicker=t.DatePicker=t.CascadePicker=t.Picker=t.Toast=t.Popup=t.Form=t.FormGroup=t.FormItem=t.Upload=t.Validator=t.Rate=t.Switch=t.Select=t.Textarea=t.Input=t.RadioGroup=t.Radio=t.Checker=t.CheckerItem=t.CheckboxGroup=t.Checkbox=t.TabPanel=t.TabPanels=t.Tab=t.TabBar=t.Toolbar=t.Tip=t.Loading=t.Button=t.Locale=t.Style=void 0;var X=F(e),K=F(a),z=F(i),Y=F(n),G=F(l),Q=F(c),q=F(u),W=F(o),Z=F(s),J=F(r),$=F(d),tt=F(v),et=F(p),at=F(f),it=F(h),nt=F(x),lt=F(y),ct=F(m),ut=F(b),ot=F(g),st=F(_),rt=F(w),dt=F(k),vt=F(A),pt=F(C),ft=F(T),ht=F(j),xt=F(P),yt=F(S),mt=F(M),bt=F(D),gt=F(V),_t=F(I),wt=F(O),kt=F(E),At=F(U),Ct=F(R),Tt=F(B),jt=F(H),Pt=F(N),St=F(L),Mt=ot.default.Group,Dt=ot.default.Item,Vt=_t.default.Item,It=tt.default.Radio,Ot=kt.default.Item,Et=mt.default.Panel,Ut=mt.default.Item,Rt=At.default.Ele,Bt=Ct.default.Panel,Ht=q.default.Tab,Nt=W.default.Panel,Lt=$.default.Item;t.Style=X.default,t.Locale=K.default,t.Button=z.default,t.Loading=Y.default,t.Tip=G.default,t.Toolbar=Q.default,t.TabBar=q.default,t.Tab=Ht,t.TabPanels=W.default,t.TabPanel=Nt,t.Checkbox=Z.default,t.CheckboxGroup=J.default,t.CheckerItem=Lt,t.Checker=$.default,t.Radio=It,t.RadioGroup=tt.default,t.Input=et.default,t.Textarea=at.default,t.Select=it.default,t.Switch=nt.default,t.Rate=lt.default,t.Validator=ct.default,t.Upload=ut.default,t.FormItem=Dt,t.FormGroup=Mt,t.Form=ot.default,t.Popup=st.default,t.Toast=rt.default,t.Picker=dt.default,t.CascadePicker=vt.default,t.DatePicker=pt.default,t.TimePicker=ft.default,t.SegmentPicker=ht.default,t.Dialog=xt.default,t.ActionSheet=yt.default,t.DrawerItem=Ut,t.DrawerPanel=Et,t.Drawer=mt.default,t.ImagePreview=bt.default,t.Scroll=gt.default,t.SlideItem=Vt,t.Slide=_t.default,t.IndexList=wt.default,t.SwipeItem=Ot,t.Swipe=kt.default,t.StickyEle=Rt,t.Sticky=At.default,t.ScrollNavPanel=Bt,t.ScrollNav=Ct.default,t.ScrollNavBar=Tt.default,t.RecycleList=jt.default,t.BetterScroll=Pt.default,t.createAPI=St.default})},bJvT:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAACj5JREFUeNrtm3twlNUVwH/32yRssglJTLIh5EUIQghNQJIoBChgrCCD2krlUS2oY9Tq1AeIFcsUqdNRp0qrFVSGEcsMkEQGtDpVgoCAoEBieD8EEh4mJIbNY7ObzYPd2z9u1mQqYXeT7K6d5vfPzvfN2fs45957zj33ftBPP/3008//K8LfDXCFdOxPhYEDQVsGSUkIfgvR0UAwxMYiKYKgIITMBasVdAegqgra8uHbb4UYXwl1df7uR3f8ZAwg5YHBMH48aFdg5kykzIVbb0WwDbKzgUMQEOB5wURBeTkwDXbsQDAZNm+GituhuFiI2bPBbvdXv31uAOkoOQiBgQh5EmbNAvEoLFwIcjfk5PiwKYVqpoi5sGIFMvgVePddoY3aBBaLrxrhMwNIWVoKWVng2Adr1wLjICPDV/W7QYdByIRFi4TImQ8FBd6u1OsGkPLAcsjLA20bPPssUm73aCkR/BHS04E5MHiwt9vbpeKHobAQabfAI48I7ZZzYDb3eS2+61DPkLJMQkQEXH0JKiqAO9SzrxDT4PhxpD0Spk9Xhvjuu74qXfNdR3qIDP092Gwg3ofWVj80YCuMGoXQ/gJ79yoflpTUV6X3egZIWVQEOh1y6GewZAlCVkNoaO/7LVJBp0OwBiZP9oOT7o434ORJGPAcTJggRGYm1Nf3tLDeG8BR8hAsXYqQv4OXXvK3dnzIHfDJJ5BdC3fdJYQQIKWnhfTYAFKW/hvGjQPHL2DPHnoap/+vIwWQny+07BxYs8bTv3tsAOnYKZWiQ9fA0aMIxkBamr/14EeGgskEMgNGjBDi5ir17B6eO2ERugvmz+9X/A+UQ1SU2sEvXOjpn92eAVJKCUJAaRQcPfpDdOCCurr6+qAg2Lq1uNhohFOnTp8ODYXmZptNp4Pnnlu06MwZiImJjm5r853W7Ha7XQhYunTZspEjQdN0OikhNTUlxWqF227Ly6uthaSkxESbza0i66GxERmyGhIS3N1Re2CAg3rIzQX2wN69ruQrKysr9Xp4442VK1NTITIyIqKtDXJysrMbGmDQoNjYlhZIT09Pt1hA04Tw3IX1njNnzp41GKC6uqZGr4dvvikrCw+Hiorz50NC4KGHFiy4eBEyMzMy3NqGSbEYFiwQWvYXsG6dK3H3nabklzBrlrsm27lz9+7oaBg6VI2o/PwHH7xwAXS6gAB/KLo7brxx2DCrtfN34sTcXJMJtmz58MO4OCgu/vxzo9EDAwiZDLNnqwfXBvBkBsyCw4eB5yEz05W8c4oLoWngvxHeW9rbr14VAgID3R04Yj40NSFZB1FRKjpqb+9O2uUMkI7jv1YbK9sZteZfvxVWq9UaEADnzpWXh4SA2Ww2BwbC9u1ffBEdDSaTyRQUBKGhoaFXr8Kdd86YUVMD48ePG+fLrL3TFxUWbtoUH9/ZrrAw1a7c3PHj6+o6Z0ZEREREezsYjTEx19+Py3UQFgaOzztyWHQM3J4ZACxZkJoK2h9Ap3MlfebMuXMGA7z33vvvJyWBTqecW17e1Km1tTBsWGqq1Qrl5RUVBgMUFHzwQXw8DB48eHBLCyQnJyU1N3tP8RaLxRIQAGvWrF2bnAxjxowe3dgIc+bce29lJVRVVVXp9Z1Bw9at27YZjTBjxvTpNTUwffrtt3//vRsVCXEJRozoAwOIf0BiInCbOx2Mi1PO1cmkSRMmmEwwc6Ya6U7S0kaMsFjUTDEY4MSJkyfDwrxvAOcACQ4ODrbbYd48pXinb0pLGz7cYgG9Xq93OKCgoKgoPl4FDZ5lorR6SEhwJeXaAEK84kluJybGaGxrg/j4+PiWFsjKGju2sbF7+ccey88/fx6E8I2PGDMmM7OxsXMAdBcUZGSMGmU2w44dRmN0NKSkDBni2cCQG9RRKhuvq16XxciD62DuXGAkbNzoSr6fH8iG5cuFyBHw4ovdCbneCUv5fG+O6OrrGxoCA3/8vqGhsfFa731NW1tbm6ZBc3Nzc1cPZzY3NQUEdEZzPaASrjf3Fa4NIHQfw+XLPe1gSUlpaUQESOlwALS3t7drGpSVHToUHt7n+vSY2tra2qCgzo2Xk9OnVZRkNpvNPUoxSiZCba0rMddLkOPLWggLQwz4oMOiOSol0Y18h6JttpYWnQ5CQkJC7HZobW1t1bTOLb8zrrZa1cgzGJSck+rqmpoBA6CoSIWJzjA1Jycrq6Gh+/Y2NamR+9lnKoppbVUj/P77583reo7lrDckRDljlU7uDKMNBoPh6lVwOKQUAlpbW1o0rdN5u4EVxo4VImcKlJV1J+RyBghtYgw0NQH74NQpV/JNTSrMKy0tK+t6cOgMOy9dunix60j76quvv77hBmhpUR10EhERHt7eDnFxgwa1tMD69Rs2JCTAvn1KvjvDr1q1enVKCpw8efp0WBikp48c2dT0Y/n9+w8ciIxU9XZdenbu3L07Kqrz2WQymQID4ciRY8cGDnRL8X9TJ3eWyergxoV+3SoSkLLkWVi5EuQcePxxd//XV2zYUFiYkADHjh0/HhYGQUGBgUrlCrvd4RACGhuVb1m8+Jlnzp6FxES3k2l9xXvqvlHO2zBtmithT9LRc2HTJp92Bbh8ubpar4cLFy5cCA6G2FijsbUVJk+eNMlk6vydODE3t66uM6w8dOjIkfBwsNlU1tVnSJ6Gjz92V9zDdLSmQekcOHcO5GIYMsRb/Th/XjnFFSvefDM1FRITExJsNnj4YZXUi4yMjLxWhsW5pG3e/NFHcXFgNCqDOWeEF7FCczMMuAESEtw9K/b8REwevB+eeAJ4Ct56y1u9ca7pJlNdXVAQREd7dl7gjLacztbpU3pAHFy6BLwNxcUg1l/7KqNjOxw+LMTNqbBqlbuF98AAX8VDcDAE/KrDySyA5ORe6vsnjG4KpKcLMdbqjlP1FI+PJNVtY5sNRDE89ZS/1eN95G7oGrf1LX1wL6hkibrrKe+BBx7wqW58w7KOtdwAu3YhsUJ7O0L8GfbvFyI7G15/vaeF94EBDi8CgwHZ9hvYsweBA266yd9a8yJJUF2NdORCTk5vryr22d1Q6fh6LsTGInSh8OWXwKMwbJi/tdWHqJkgHZNg6lSh3bLkenl+d+nzy7lSlpRAXBywHD79FOSfYPRoHypKD8eOIe1H4J57ECEZcOVK74tta4PWVrXk9N2JhdduR3fJIVlh9WqgtiOt7V2kWAsvvyy07FXwwgter6+X+PADjQN/hfvuU4fWr70GXIRBg7xQlfPLl3+plInY6N4aLX4Ozc3eCje7rdVXFTlR17vDwxEIePJJkCkd4WzHDTOfMQpsNiS74J13wP5PePVVoY0rgK6Hp97F7x9oSLlTgl4PocFw991I8TOYPRuBGaZMAbkerpX/dJuXOw6UvlEXyuSrUFCA1IbCli3q2ojrgxNv4XcDdEeX3FMpDB+u3qalgfw7xMeDeFpd/5DblZzIU1EKEq5cQTjWwokTcH4KnDrl768h++mnn3766ee/+Q8wJi40yrylgwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0yNVQxNDowNzoyMSswODowMJa0u+cAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMjVUMTQ6MDc6MjErMDg6MDDn6QNbAAAAenRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nYTZyZ2t4Y21tYS8lRTUlOEQlQTElRTklODAlOUElRTUlQTQlQjQlRTUlODMlOEYlRTglQTElQTglRTYlODMlODU1LnN2Z05FEeMAAAAASUVORK5CYII=\"},bZrS:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-loading\"},[a(\"span\",{staticClass:\"cube-loading-spinners\",style:t.style},t._l(t.balde,function(t){return a(\"i\",{staticClass:\"cube-loading-spinner\"})}))])},staticRenderFns:[]}},barY:function(t,e){},bh5B:function(t,e,a){function i(t){a(\"txtz\")}var n=a(\"VU/8\")(a(\"TAcf\"),a(\"CNZU\"),i,null,null);t.exports=n.exports},bp4N:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"form-def\",title:\"Form 表单\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-form\",{attrs:{model:t.model,schema:t.schema,\"immediate-validate\":!1,options:t.options},on:{validate:t.validateHandler,submit:t.submitHandler,reset:t.resetHandler}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"model\",data:t.model}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"validity\",data:t.validity}})],1)])},staticRenderFns:[]}},byy8:function(t,e){},c4zc:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"swipe-view\",title:\"Swipe\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"swipe-wrapper\"},[a(\"cube-scroll\",[a(\"cube-swipe\",[a(\"transition-group\",{attrs:{name:\"swipe\",tag:\"ul\"}},t._l(t.swipeData,function(e,i){return a(\"li\",{key:e.item.id,staticClass:\"swipe-item-wrapper\"},[a(\"cube-swipe-item\",{ref:\"swipeItem\",refInFor:!0,attrs:{btns:e.btns,index:i},on:{\"btn-click\":t.onBtnClick}},[a(\"div\",{staticClass:\"item-inner\",on:{click:function(a){t.onItemClick(e.item,i)}}},[a(\"div\",{staticClass:\"icon\"},[a(\"img\",{attrs:{width:\"60\",height:\"60\",src:e.item.imgurl}})]),t._v(\" \"),a(\"div\",{staticClass:\"text\"},[a(\"h2\",{staticClass:\"item-name\",domProps:{innerHTML:t._s(e.item.name)}}),t._v(\" \"),a(\"p\",{staticClass:\"item-desc\",domProps:{innerHTML:t._s(e.item.desc)}})])])])],1)}))],1)],1)],1)])],2)},staticRenderFns:[]}},c5uy:function(t,e){},c7sT:function(t,e,a){function i(t){a(\"hahQ\")}var n=a(\"VU/8\")(a(\"YUSN\"),a(\"SvSE\"),i,null,null);t.exports=n.exports},c8JE:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-checkbox\",class:t._containerClass,attrs:{\"data-pos\":t.position}},[a(\"label\",{staticClass:\"cube-checkbox-wrap\",class:t._wrapClass},[a(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.checkValue,expression:\"checkValue\"}],staticClass:\"cube-checkbox-input\",attrs:{type:\"checkbox\",disabled:t.computedOption.disabled},domProps:{checked:Array.isArray(t.checkValue)?t._i(t.checkValue,null)>-1:t.checkValue},on:{change:function(e){var a=t.checkValue,i=e.target,n=!!i.checked;if(Array.isArray(a)){var l=t._i(a,null);i.checked?l<0&&(t.checkValue=a.concat([null])):l>-1&&(t.checkValue=a.slice(0,l).concat(a.slice(l+1)))}else t.checkValue=n}}}),t._v(\" \"),a(\"span\",{staticClass:\"cube-checkbox-ui\",class:t._borderIconClass},[a(\"i\",{class:t._rightIconClass})]),t._v(\" \"),a(\"span\",{staticClass:\"cube-checkbox-label\"},[t._t(\"default\",[t._v(t._s(t.computedOption.label))])],2)])])},staticRenderFns:[]}},cETb:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-button\",props:{icon:{type:String,default:\"\"},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},light:{type:Boolean,default:!1},type:{type:String,default:\"button\"}},computed:{btnClass:function(){return{\"cube-btn_active\":this.active,\"cube-btn_disabled\":this.disabled,\"cube-btn-inline\":this.inline,\"cube-btn-primary\":this.primary,\"cube-btn-outline\":this.outline,\"cube-btn-outline-primary\":this.outline&&this.primary,\"cube-btn-light\":this.light}}},methods:{handleClick:function(t){if(this.disabled)return t.preventDefault(),void t.stopPropagation();this.$emit(\"click\",t)}}},t.exports=e.default})},cIKt:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"demo-agreement\"},[t.desc?a(\"p\",{domProps:{innerHTML:t._s(t.desc)}}):t._e(),t._v(\" \"),a(\"cube-checkbox\",{model:{value:t.checked,callback:function(e){t.checked=e},expression:\"checked\"}},[a(\"span\",{domProps:{innerHTML:t._s(t.text)}}),t._v(\" \"),t.link?a(\"a\",{attrs:{href:t.link.href,target:\"_blank\"}},[t._v(t._s(t.link.text))]):t._e()])],1)},staticRenderFns:[]}},\"cL1+\":function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var e=t.inBrowser=\"undefined\"!=typeof window,a=t.ua=e&&navigator.userAgent.toLowerCase();t.isAndroid=a&&a.indexOf(\"android\")>0,t.isIOS=a&&/iphone|ipad|ipod|ios/.test(a)})},cMIu:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-tab\",props:{label:{type:[String,Number],required:!0},value:{type:[String,Number],default:function(){return this.label}},icon:{type:String,default:\"\"}},mounted:function(){this.$parent.addTab(this)},destroyed:function(){this.$parent.removeTab(this)},computed:{isActive:function(){return this.$parent.value===this.value}},methods:{handleClick:function(t){this.$parent.trigger(this.value)}}},t.exports=e.default})},cQz5:function(t,e,a){function i(t){a(\"vomq\")}var n=a(\"VU/8\")(a(\"GJyM\"),a(\"JpKp\"),i,null,null);t.exports=n.exports},cSnO:function(t,e,a){function i(t){a(\"3eik\")}var n=a(\"VU/8\")(a(\"FZvW\"),a(\"BehE\"),i,null,null);t.exports=n.exports},cbPg:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{y:{type:Number,default:0}},data:function(){return{width:50,height:80}},computed:{distance:function(){return Math.max(0,Math.min(this.y*this.ratio,this.maxDistance))},style:function(){return\"width:\"+this.width/this.ratio+\"px;height:\"+this.height/this.ratio+\"px\"}},mounted:function(){this.ratio=window.devicePixelRatio,this.width*=this.ratio,this.height*=this.ratio,this.initRadius=18*this.ratio,this.minHeadRadius=12*this.ratio,this.minTailRadius=5*this.ratio,this.initArrowRadius=10*this.ratio,this.minArrowRadius=6*this.ratio,this.arrowWidth=3*this.ratio,this.maxDistance=40*this.ratio,this.initCenterX=25*this.ratio,this.initCenterY=25*this.ratio,this.headCenter={x:this.initCenterX,y:this.initCenterY},this._draw()},methods:{_draw:function(){var t=this.$refs.bubble,e=t.getContext(\"2d\");e.clearRect(0,0,t.width,t.height),this._drawBubble(e),this._drawArrow(e)},_drawBubble:function(t){t.save(),t.beginPath();var e=this.distance/this.maxDistance,a=this.initRadius-(this.initRadius-this.minHeadRadius)*e;this.headCenter.y=this.initCenterY-(this.initRadius-this.minHeadRadius)*e,t.arc(this.headCenter.x,this.headCenter.y,a,0,Math.PI,!0);var i=this.initRadius-(this.initRadius-this.minTailRadius)*e,n={x:this.headCenter.x,y:this.headCenter.y+this.distance},l={x:n.x-i,y:n.y},c={x:l.x,y:l.y-this.distance/2};t.quadraticCurveTo(c.x,c.y,l.x,l.y),t.arc(n.x,n.y,i,Math.PI,0,!0);var u={x:this.headCenter.x+a,y:this.headCenter.y},o={x:n.x+i,y:u.y+this.distance/2};t.quadraticCurveTo(o.x,o.y,u.x,u.y),t.fillStyle=\"rgb(170,170,170)\",t.fill(),t.strokeStyle=\"rgb(153,153,153)\",t.stroke(),t.restore()},_drawArrow:function(t){t.save(),t.beginPath();var e=this.distance/this.maxDistance,a=this.initArrowRadius-(this.initArrowRadius-this.minArrowRadius)*e;t.arc(this.headCenter.x,this.headCenter.y,a-(this.arrowWidth-e),-Math.PI/2,0,!0),t.arc(this.headCenter.x,this.headCenter.y,a,0,3*Math.PI/2,!1),t.lineTo(this.headCenter.x,this.headCenter.y-a-this.arrowWidth/2+e),t.lineTo(this.headCenter.x+2*this.arrowWidth-2*e,this.headCenter.y-a+this.arrowWidth/2),t.lineTo(this.headCenter.x,this.headCenter.y-a+3*this.arrowWidth/2-e),t.fillStyle=\"rgb(255,255,255)\",t.fill(),t.strokeStyle=\"rgb(170,170,170)\",t.stroke(),t.restore()}},watch:{y:function(){this._draw()}}},t.exports=e.default})},d64j:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{zIndex:{type:Number,default:100},maskClosable:{type:Boolean,default:!1}}},t.exports=e.default})},d9cM:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"slide-view\",title:\"Slide\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{ref:\"slideWrapper\",staticClass:\"slide-container\"},[a(\"cube-slide\",{ref:\"slide\",attrs:{data:t.items,\"initial-index\":t.initialIndex,loop:t.loop,\"auto-play\":t.autoPlay,interval:t.interval,threshold:t.threshold,speed:t.speed,options:t.options},on:{change:t.changePage,click:t.clickPage},scopedSlots:t._u([{key:\"dots\",fn:function(e){return t.dotsSlot?t._l(e.dots,function(i,n){return a(\"span\",{staticClass:\"my-dot\",class:{active:e.current===n}},[t._v(t._s(n+1))])}):void 0}}])})],1),t._v(\" \"),a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"option-list\"},[a(\"div\",{staticClass:\"group\"},[a(\"input-option\",{staticClass:\"item\",attrs:{name:\"InitialIndex\",value:t.initialIndex},on:{\"update:value\":t.updateInitialIndex}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Loop\",value:t.loop},on:{\"update:value\":t.updateLoop}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Auto Play\",value:t.autoPlay},on:{\"update:value\":t.updateAutoPlay}}),t._v(\" \"),t.autoPlay?a(\"input-option\",{staticClass:\"item sub first last\",attrs:{name:\"interval\",value:t.interval},on:{\"update:value\":t.updateInterval}}):t._e()],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"input-option\",{staticClass:\"item\",attrs:{name:\"Threshold\",value:t.threshold},on:{\"update:value\":t.updateThreshold}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"input-option\",{staticClass:\"item\",attrs:{name:\"Speed\",value:t.speed},on:{\"update:value\":t.updateSpeed}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Allow Vertical\",value:t.allowVertical},on:{\"update:value\":t.updateAllowVertical}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Add Slide Item3\",value:t.addItem3},on:{\"update:value\":t.updateItem3}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Dots Slot\",value:t.dotsSlot},on:{\"update:value\":t.updateDotsSlot}})],1)])])])])},staticRenderFns:[]}},dFgm:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-drawer-move\"}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],staticClass:\"cube-drawer-panel\"},[a(\"div\",{staticClass:\"cube-drawer-scroll-wrapper\"},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{data:t.data}},[a(\"ul\",{staticClass:\"cube-drawer-list\"},[t._t(\"default\",t._l(t.data,function(t,e){return a(\"cube-drawer-item\",{key:e,attrs:{item:t,index:e}})}))],2)])],1)])])},staticRenderFns:[]}},dK69:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"a/uE\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},dTzF:function(t,e,a){function i(t){a(\"GWVJ\")}var n=a(\"VU/8\")(a(\"RGkz\"),a(\"VA5X\"),i,null,null);t.exports=n.exports},\"de/F\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"fZjL\"),a(\"woOf\"),a(\"Z5VE\"),a(\"d64j\"),a(\"wih/\"),a(\"4KJe\"),a(\"UFDc\"),a(\"+rJ6\"),a(\"VzLe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r){\"use strict\";function d(t){return t&&t.__esModule?t:{default:t}}function v(t){return[t.getFullYear(),t.getMonth()+1,t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()]}Object.defineProperty(e,\"__esModule\",{value:!0});var p=d(a),f=d(i),h=d(n),x=d(l),y=d(c),m=d(u),b=d(r),g=[\"year\",\"month\",\"date\",\"hour\",\"minute\",\"second\"],_={month:{natureMin:1,natureMax:12},date:{natureMin:1,natureMax:31},hour:{natureMin:0,natureMax:23},minute:{natureMin:0,natureMax:59},second:{natureMin:0,natureMax:59}},w={year:\"YYYY\",month:\"M\",date:\"D\",hour:\"hh\",minute:\"mm\",second:\"ss\"};e.default={name:\"cube-date-picker\",mixins:[h.default,x.default,y.default,m.default],components:{CubeCascadePicker:b.default},props:{min:{type:[Date,Array],default:function(){return new Date(2010,0,1)}},max:{type:[Date,Array],default:function(){return[(new Date).getFullYear()+1,12,31,23,59,59]}},startColumn:{type:String,default:function(){return\"year\"}},columnCount:{type:Number,default:3},format:{type:Object,default:function(){return{}}},value:{type:[Date,Array],default:function(){return this.min}},columnOrder:{type:Array,default:function(){return[\"year\",\"month\",\"date\",\"hour\",\"minute\",\"second\"]}}},computed:{formatConfig:function(){var t=(0,f.default)({},w);return(0,o.deepAssign)(t,this.format),t},natureRangeCache:function(){var t=this,e={hour:[],minute:[],second:[]};return(0,p.default)(e).forEach(function(a){e[a]=t._range(a,_[a].natureMin,_[a].natureMax)}),e},startIndex:function(){var t=g.indexOf(this.startColumn);return t<0?0:t},minArray:function(){return this.min instanceof Date?v(this.min).slice(this.startIndex,this.startIndex+this.columnCount):this.min},maxArray:function(){return this.max instanceof Date?v(this.max).slice(this.startIndex,this.startIndex+this.columnCount):this.max},valueArray:function(){return this.value instanceof Date?v(this.value).slice(this.startIndex,this.startIndex+this.columnCount):this.value},data:function(){var t=[];return this._generateData(this.startIndex,0,t),t},selectedIndex:function(){for(var t=this,e=[],a=this.data,i=void 0,n=0;n<this.columnCount&&n<6-this.startIndex;n++)!function(n){i=(0,o.findIndex)(a,function(e){return t.valueArray[n]&&e.value===t.valueArray[n]}),e[n]=-1!==i?i:0,a=a[e[n]]&&a[e[n]].children}(n);return e}},methods:{_select:function(t,e,a){this.$emit(\"select\",this._arrayToDate(t),t,a)},_cancel:function(){this.$emit(\"cancel\")},_change:function(t,e){this.$emit(\"change\",t,e)},_generateData:function(t,e,a){var i=this;if(0===e){var n=0===t?this.minArray[0]:Math.max(this.minArray[0],_[g[t]].natureMin),l=0===t?this.maxArray[0]:Math.min(this.maxArray[0],_[g[t]].natureMax);a.push.apply(a,this._range(g[t],n,l,!0,!0))}else if(t<3||a.isMin||a.isMax){var c=2===t?(0,s.computeNatureMaxDay)(a.value,a.year):_[g[t]].natureMax,u=a.isMin?Math.max(this.minArray[e],_[g[t]].natureMin):_[g[t]].natureMin,o=a.isMax?Math.min(this.maxArray[e],c):c,r=1===t&&0===this.startIndex&&this.columnCount>=3&&a.value;a.children=this._range(g[t],u,o,a.isMin,a.isMax,r)}else a.children=this.natureRangeCache[g[t]];e<this.columnCount-1&&t<5&&(a.children||a).forEach(function(a){(!a.children||a.isMin||a.isMax)&&i._generateData(t+1,e+1,a)})},_arrayToDate:function(t){for(var e=[],a=v(new Date(0)),i=0;i<6;i++)i<this.startIndex?e[i]=a[i]:i>=this.startIndex+this.columnCount?e[i]=_[g[i]].natureMin:e[i]=t[i-this.startIndex];return e[1]--,new(Function.prototype.bind.apply(Date,[null].concat(e)))},_range:function(t,e,a,i,n){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this._rangeCache||(this._rangeCache={});var c=t+l+e+a+i+n;if(this._rangeCache[c])return this._rangeCache[c];for(var u=[],o=this.formatConfig[t],r=e;r<=a;r++){var d={text:(0,s.formatType)(t,o,r,\"i\"),value:r,order:this.columnOrder.indexOf(t)};i&&r===e&&(d.isMin=!0),n&&r===a&&(d.isMax=!0),l&&(d.year=l),u.push(d)}return this._rangeCache[c]=u,u}}},t.exports=e.default})},diWv:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"drawer-def\",title:\"Drawer\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-button\",{on:{click:t.showDrawer}},[t._v(\"Show Drawer\")]),t._v(\" \"),a(\"cube-drawer\",{ref:\"drawer\",attrs:{data:t.data,\"selected-index\":t.selectedIndex},on:{change:t.changeHandler,select:t.selectHandler,cancel:t.cancelHandler}},[a(\"span\",{attrs:{slot:\"title\"},slot:\"title\"},[t._v(t._s(t.province.text))]),t._v(\" \"),t._l(t.data,function(e,i){return a(\"cube-drawer-panel\",{key:i,attrs:{index:i,data:e}},t._l(e,function(e,i){return a(\"cube-drawer-item\",{key:i,attrs:{item:e,index:i}},[a(\"i\",{staticClass:\"cubeic-round-border\"}),t._v(\" \"),a(\"span\",[t._v(t._s(e.text))])])}))})],2)],1)])])},staticRenderFns:[]}},dz9r:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";function a(t){var e,a=t.naturalHeight,i=document.createElement(\"canvas\");i.width=1,i.height=a;var n=i.getContext(\"2d\");n.drawImage(t,0,0);try{e=n.getImageData(0,0,1,a).data}catch(t){return console.log(\"Cannot check verticalSquash: CORS?\"),1}for(var l=0,c=a,u=a;u>l;){0===e[4*(u-1)+3]?c=u:l=u,u=c+l>>1}var o=u/a;return 0===o?1:o}function i(t){for(var e=atob(t.split(\",\")[1]),a=new ArrayBuffer(e.length),i=new Uint8Array(a),n=0;n<e.length;n++)i[n]=e.charCodeAt(n);return a}function n(t){var e=t.split(\",\")[0].split(\":\")[1].split(\";\")[0],a=i(t);return new Blob([a],{type:e})}function l(t){var e=new DataView(t);if(65496!=e.getUint16(0,!1))return-2;for(var a=e.byteLength,i=2;i<a;){var n=e.getUint16(i,!1);if(i+=2,65505==n){if(1165519206!=e.getUint32(i+=2,!1))return-1;var l=18761==e.getUint16(i+=6,!1);i+=e.getUint32(i+4,l);var c=e.getUint16(i,l);i+=2;for(var u=0;u<c;u++)if(274==e.getUint16(i+12*u,l))return e.getUint16(i+12*u+8,l)}else{if(65280!=(65280&n))break;i+=e.getUint16(i,!1)}}return-1}function c(t,e,a){var i=t.width,n=t.height;switch(a>4&&(t.width=n,t.height=i),a){case 2:e.translate(i,0),e.scale(-1,1);break;case 3:e.translate(i,n),e.rotate(Math.PI);break;case 4:e.translate(0,n),e.scale(1,-1);break;case 5:e.rotate(.5*Math.PI),e.scale(1,-1);break;case 6:e.rotate(.5*Math.PI),e.translate(0,-n);break;case 7:e.rotate(.5*Math.PI),e.translate(i,-n),e.scale(-1,1);break;case 8:e.rotate(-.5*Math.PI),e.translate(-i,0)}}function u(t,e,u){var o=new FileReader;o.onload=function(o){if(!1===e.compress)return t.base64=o.target.result,void u(t);var s=new Image;s.onload=function(){var o=a(s),r=l(i(s.src)),d=document.createElement(\"canvas\"),v=d.getContext(\"2d\"),p=e.compress.width,f=e.compress.height,h=s.width,x=s.height,y=void 0;if(h<x&&x>f?(h=parseInt(f*s.width/s.height),x=f):h>=x&&h>p&&(x=parseInt(p*s.height/s.width),h=p),d.width=h,d.height=x,r>0&&c(d,v,r),v.drawImage(s,0,0,h,x/o),y=/image\\/jpeg/.test(t.type)||/image\\/jpg/.test(t.type)?d.toDataURL(\"image/jpeg\",e.compress.quality):d.toDataURL(t.type),\"file\"==e.type)if(/;base64,null/.test(y)||/;base64,$/.test(y))console.warn(\"Compress fail, dataURL is \"+y+\". Next will use origin file to upload.\"),u(t);else{var m=n(y);m.id=t.id,m.name=t.name,m.lastModified=t.lastModified,m.lastModifiedDate=t.lastModifiedDate,u(m)}else/;base64,null/.test(y)||/;base64,$/.test(y)?(e.onError(t,new Error(\"Compress fail, dataURL is \"+y+\".\")),u()):(t.base64=y,u(t))},s.src=o.target.result},o.readAsDataURL(t)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=u,t.exports=e.default})},e3O1:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"K5n8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i);e.default={methods:{showPicker:function(){this.picker||(this.picker=this.$createPicker({title:\"Picker\",data:[n.column1],onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.picker.show()},showMutiPicker:function(){this.mutiPicker||(this.mutiPicker=this.$createPicker({title:\"Multi-column Picker\",data:[n.column1,n.column2,n.column3],onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.mutiPicker.show()},showAliasPicker:function(){this.aliasPicker||(this.aliasPicker=this.$createPicker({title:\"Use Alias\",data:[[{id:1,name:\"A\"},{id:2,name:\"B\"},{id:3,name:\"C\"}]],alias:{value:\"id\",text:\"name\"},onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.aliasPicker.show()},showSetDataPicker:function(){this.setDataPicker||(this.setDataPicker=this.$createPicker({title:\"Use SetData\",onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.setDataPicker.setData([n.column1,n.column2,n.column3],[1,2,3]),this.setDataPicker.show()},showUpdatePropsPicker:function(){var t=this;this.updatePropsPicker||(this.updatePropsPicker=this.$createPicker({title:\"Use $updateProps\",data:[n.column1],selectedIndex:[0],onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.updatePropsPicker.show(),setTimeout(function(){t.updatePropsPicker.$updateProps({title:\"Updated\",data:[n.column1,n.column2,n.column3],selectedIndex:[1,2,3]})},1e3)},showSubtitlePicker:function(){this.subtitlePicker||(this.subtitlePicker=this.$createPicker({title:\"Picker\",subtitle:\"subtitle\",data:[n.column1],onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.subtitlePicker.show()},selectHandle:function(t,e,a){this.$createDialog({type:\"warn\",content:\"Selected Item: <br/> - value: \"+t.join(\", \")+\" <br/> - index: \"+e.join(\", \")+\" <br/> - text: \"+a.join(\" \"),icon:\"cubeic-alert\"}).show()},cancelHandle:function(){this.$createToast({type:\"correct\",txt:\"Picker canceled\",time:1e3}).show()}},components:{CubePage:c.default,CubeButtonGroup:u.default}},t.exports=e.default})},eAlP:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"input-option\",props:{name:{type:String},value:null,minValue:null},data:function(){return{inputValue:this.value}},watch:{inputValue:function(t){this.$emit(\"update:value\",this.minValue?Math.max(t,this.minValue):t)}}},t.exports=e.default})},eBbK:function(t,e){},\"eC/x\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Gu7T\"),a(\"pFYg\"),a(\"woOf\"),a(\"+rJ6\"),a(\"Z5VE\"),a(\"d64j\"),a(\"wih/\"),a(\"4KJe\"),a(\"VzLe\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r,d){\"use strict\";function v(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var p=v(a),f=v(i),h=v(n),x=v(c),y=v(u),m=v(o),b=v(s),g=v(r),_={value:\"now\"},w={floor:\"floor\",ceil:\"ceil\",round:\"round\"};e.default={name:\"cube-time-picker\",mixins:[x.default,y.default,m.default,b.default],components:{CubeCascadePicker:g.default},props:{title:{type:String,default:\"\"},delay:{type:Number,default:15},day:{type:Object,default:function(){return{len:3}}},showNow:{type:[Boolean,Object],default:!0},minuteStep:{type:[Number,Object],default:10},format:{type:String,default:\"YYYY/M/D hh:mm\"},min:{type:[Date,Number],default:null},max:{type:[Date,Number],default:null}},data:function(){return{now:new Date,selectedIndex:[0,0,0],value:0}},computed:{_title:function(){return this.title||this.$t(\"selectTime\")},_day:function(){var t={filter:[this.$t(\"today\")],format:this.$t(\"formatDate\")};return(0,h.default)({},t,this.day)},nowText:function(){var t=this.$t(\"now\");return this.showNow&&this.showNow.text||t},minuteStepRule:function(){var t=this.minuteStep;return\"object\"===(void 0===t?\"undefined\":(0,f.default)(t))&&Math[w[t.rule]]||Math[w.floor]},minuteStepNumber:function(){var t=this.minuteStep;return\"number\"==typeof t?t:t.step||10},minTime:function(){var t=+this.min||+this.now+this.delay*l.MINUTE_TIMESTAMP,e=new Date(t).getMinutes();return t+=(Math.min(this.minuteStepRule(e/this.minuteStepNumber)*this.minuteStepNumber,60)-e)*l.MINUTE_TIMESTAMP,new Date(t)},maxTime:function(){var t=+this.max||(0,l.getZeroStamp)(new Date(+this.minTime+this._day.len*l.DAY_TIMESTAMP))-1,e=new Date(t).getMinutes();return t-=(e-Math.floor(e/this.minuteStepNumber)*this.minuteStepNumber)*l.MINUTE_TIMESTAMP,new Date(t)},days:function(){for(var t=[],e=(0,l.getDayDiff)(this.minTime,this.now),a=this.max?(0,l.getDayDiff)(this.maxTime,this.minTime)+1:this._day.len,i=0;i<a;i++){var n=+this.minTime+i*l.DAY_TIMESTAMP;t.push({value:n,text:this._day.filter&&this._day.filter[e+i]||(0,l.formatDate)(new Date(n),this._day.format)})}return t},hours:function(){for(var t=[],e=0;e<24;e++)t.push({value:e,text:\"\"+e+this.$t(\"hours\"),children:this.minutes});return t},minutes:function(){for(var t=[],e=0;e<60;e+=this.minuteStepNumber)t.push({value:e,text:\"\"+(0,l.pad)(e)+this.$t(\"minutes\")});return t},cascadeData:function(){var t=this,e=this.days.slice();if(this.maxTime-this.minTime<=-6e4)return(0,d.warn)(\"The max is smaller than the min optional time.\",\"cube-time-picker\"),[];e.forEach(function(a,i){var n=0===i,l=i===e.length-1;if(!n&&!l)return void(a.children=t.hours);for(var c=[],u=n?t.minTime.getHours():0,o=l?t.maxTime.getHours():23,s=u;s<=o;s++){var r=n&&s===u,d=l&&s===o;if(r||d){var v=r?Math.round(t.minTime.getMinutes()/t.minuteStepNumber):0,p=d?Math.round(t.maxTime.getMinutes()/t.minuteStepNumber):Math.floor(59/t.minuteStepNumber),f=t.minutes.slice(v,p+1);c.push({value:s,text:\"\"+s+t.$t(\"hours\"),children:f})}else c.push({value:s,text:\"\"+s+t.$t(\"hours\"),children:t.minutes})}a.children=c});var a=(0,l.getDayDiff)(this.minTime,this.now);if(this.showNow&&a<=0){var i=Math.abs(a),n=e[i];n&&(n.children=[].concat((0,p.default)(n.children)),n.children.unshift({value:_.value,text:this.nowText,children:[]}))}return e}},methods:{show:function(){this.isVisible||(this.isVisible=!0,this._updateNow(),this._updateSelectedIndex())},setTime:function(t){this.value=t,this.isVisible&&this._updateSelectedIndex()},_updateSelectedIndex:function(){var t=this.value,e=this.minTime;if(t<(this.min||0===this.min?+e:Math.floor(e/l.MINUTE_TIMESTAMP)*l.MINUTE_TIMESTAMP))this.selectedIndex=[0,0,0];else{var a=new Date(t),i=(0,l.getDayDiff)(a,e);if(i>=this.days.length)return void(0,d.warn)('Use \"setTime\" to set a time exceeded to the option range do not actually work.',\"cube-time-picker\");var n=a.getHours(),c=0===i?this.showNow?this.minTime.getHours()-1:this.minTime.getHours():0,u=n-c,o=this.minuteStepRule(a.getMinutes()/this.minuteStepNumber),s=i||(this.showNow?1!==u:u)?0:this.minuteStepRule(this.minTime.getMinutes()/this.minuteStepNumber),r=o-s;this.selectedIndex=[i,u,r]}},_updateNow:function(){this.now=new Date},_pickerChange:function(t,e){this.$emit(\"change\",t,e)},_pickerSelect:function(t,e,a){var i=void 0,n=void 0;t[1]===_.value?(i=+new Date,n=this.nowText):(i=(0,l.getZeroStamp)(new Date(t[0]))+t[1]*l.HOUR_TIMESTAMP+t[2]*l.MINUTE_TIMESTAMP,n=a[0]+\" \"+a[1]+\":\"+a[2]),this.value=i;var c=(0,l.formatDate)(new Date(i),this.format);this.$emit(\"select\",i,n,c)},_pickerCancel:function(){this.$emit(\"cancel\")}}},t.exports=e.default})},eClu:function(t,e,a){function i(t){a(\"nDaK\")}var n=a(\"VU/8\")(a(\"VAT/\"),a(\"diWv\"),i,null,null);t.exports=n.exports},eD0J:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"vJ9C\"),a(\"VKJd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Item=c.default,e.default=l.default,t.exports=e.default})},eE6y:function(t,e,a){function i(t){a(\"RQcS\")}var n=a(\"VU/8\")(a(\"Gcl4\"),a(\"vx2j\"),i,null,null);t.exports=n.exports},eFmn:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"woOf\"),a(\"4gT0\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={name:\"cube-input\",mixins:[c.default],props:{value:[String,Number],type:{type:String,default:\"text\"},disabled:{type:Boolean,default:!1},placeholder:String,readonly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},autocomplete:{type:[Boolean,String],default:!1},name:String,id:String,form:String,minlength:Number,maxlength:Number,resize:String,min:Number,max:Number,step:Number,tabindex:String,pattern:String,clearable:{type:[Boolean,Object],default:!1},eye:{type:[Boolean,Object],default:!1}},data:function(){return{inputValue:this.value,isFocus:!1,formatedClearable:{visible:!1,blurHidden:!0},formatedEye:{open:!1,reverse:!1}}},computed:{_type:function(){var t=this.type;return\"password\"===t&&this.eye&&this.pwdVisible?\"text\":t},_showClear:function(){var t=this.formatedClearable.visible&&this.inputValue&&!this.readonly&&!this.disabled;return this.formatedClearable.blurHidden&&!this.isFocus&&(t=!1),t},_showPwdEye:function(){return\"password\"===this.type&&this.eye&&!this.disabled},pwdVisible:function(){var t=this.formatedEye;return t.reverse?!t.open:t.open},eyeClass:function(){return this.formatedEye.open?\"cubeic-eye-visible\":\"cubeic-eye-invisible\"}},watch:{value:function(t){this.inputValue=t},inputValue:function(t){this.$emit(\"input\",t)},clearable:{handler:function(){this.formatClearable()},deep:!0,immediate:!0},eye:{handler:function(){this.formateEye()},deep:!0,immediate:!0}},methods:{formatClearable:function(){\"boolean\"==typeof this.clearable?this.formatedClearable.visible=this.clearable:(0,l.default)(this.formatedClearable,this.clearable)},formateEye:function(){\"boolean\"==typeof this.eye?this.formatedEye.open=this.eye:(0,l.default)(this.formatedEye,this.eye)},handleFocus:function(t){this.$emit(\"focus\",t),this.isFocus=!0},handleBlur:function(t){this.$emit(\"blur\",t),this.isFocus=!1},handleClear:function(t){this.inputValue=\"\",this.$refs.input.focus()},handlePwdEye:function(){this.formatedEye.open=!this.formatedEye.open}}},t.exports=e.default})},eLAg:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/form/\"+t)}}},t.exports=e.default})},eWUu:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={methods:{showDatePicker:function(){this.datePicker||(this.datePicker=this.$createDatePicker({title:\"Date Picker\",min:new Date(2008,7,8),max:new Date(2020,9,20),value:new Date,onSelect:this.selectHandle,onCancel:this.cancelHandle,onChange:function(){console.log(\"change\")}})),this.datePicker.show()},showTimePicker:function(){this.timePicker||(this.timePicker=this.$createDatePicker({title:\"Time Picker\",min:[8,0,0],max:[20,59,59],value:new Date,startColumn:\"hour\",onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.timePicker.show()},showDateTimePicker:function(){this.dateTimePicker||(this.dateTimePicker=this.$createDatePicker({title:\"Date Time Picker\",min:new Date(2008,7,8,8,0,0),max:new Date(2020,9,20,20,59,59),value:new Date,columnCount:6,onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.dateTimePicker.show()},showFormatPicker:function(){this.formatPicker||(this.formatPicker=this.$createDatePicker({title:\"Use format\",min:new Date(2008,7,8),max:new Date(2020,9,20),value:new Date,format:{year:\"YY年\",month:\"MM月\",date:\"第 D 日\"},onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.formatPicker.show()},showUpdatePropsPicker:function(){var t=this;this.updatePropsPicker||(this.updatePropsPicker=this.$createDatePicker({title:\"Use $updateProps\",min:new Date(2008,7,8),max:new Date(2020,9,20),value:new Date,onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.updatePropsPicker.show(),setTimeout(function(){t.updatePropsPicker.$updateProps({title:\"updated\",value:new Date(2010,9,1)})},1e3)},showChangeOrderPicker:function(){this.changeOrderPicker||(this.changeOrderPicker=this.$createDatePicker({title:\"Date Picker\",min:new Date(2008,7,8),max:new Date(2020,9,20),value:new Date,columnOrder:[\"date\",\"month\",\"year\"],onSelect:this.selectHandle,onCancel:this.cancelHandle})),this.changeOrderPicker.show()},selectHandle:function(t,e,a){this.$createDialog({type:\"warn\",content:\"Selected Item: <br/> - date: \"+t+\" <br/> - value: \"+e.join(\", \")+\" <br/> - text: \"+a.join(\" \"),icon:\"cubeic-alert\"}).show()},cancelHandle:function(){this.$createToast({type:\"correct\",txt:\"Picker canceled\",time:1e3}).show()}},components:{CubePage:l.default,CubeButtonGroup:c.default}},t.exports=e.default})},eX6E:function(t,e){},eXer:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"div\",{staticClass:\"scroll-wrapper\",attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"demo\"},[a(\"cube-scroll\",{ref:\"scroll1\",staticClass:\"scroll-list-outer-wrap\"},[a(\"ul\",{staticClass:\"cube-scroll-list\"},t._l(t.items1,function(e,i){return a(\"li\",{key:i,staticClass:\"cube-scroll-item border-bottom-1px\"},[t._v(t._s(e))])})),t._v(\" \"),a(\"cube-scroll\",{ref:\"scroll2\",staticClass:\"scroll-list-inner-wrap\",attrs:{nestMode:\"native\"}},[a(\"ul\",{staticClass:\"cube-scroll-list\"},t._l(t.items2,function(e,i){return a(\"li\",{key:i,staticClass:\"cube-scroll-item border-bottom-1px\"},[t._v(t._s(e))])}))]),t._v(\" \"),a(\"ul\",{staticClass:\"cube-scroll-list\"},t._l(t.items1,function(e,i){return a(\"li\",{key:i,staticClass:\"cube-scroll-item border-bottom-1px\"},[t._v(t._s(e))])}))],1)],1)])])},staticRenderFns:[]}},eZWf:function(t,e,a){function i(t){a(\"gfHX\")}var n=a(\"VU/8\")(a(\"ZDnC\"),a(\"EKox\"),i,null,null);t.exports=n.exports},ee49:function(t,e){},eiDU:function(t,e){},\"f/6s\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"zuie\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-form-group\",props:{legend:{type:String,default:\"\"},fields:{type:Array,default:function(){return[]}}},beforeCreate:function(){this.form=this.$parent.form},beforeDestroy:function(){this.form=null},components:{CubeFormItem:i.default}},t.exports=e.default})},fFTD:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"yb46\"),a(\"mkLW\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Radio=c.default,e.default=l.default,t.exports=e.default})},fGk3:function(t,e,a){function i(t){a(\"qx+r\")}var n=a(\"VU/8\")(a(\"HgDQ\"),a(\"Zw0Y\"),i,null,null);t.exports=n.exports},fK3K:function(t,e){},fZ0D:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"mvHQ\"),a(\"XPXN\"),a(\"O6S8\"),a(\"9zBd\"),a(\"LeY8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=l.provinceList.slice(),v=JSON.parse((0,o.default)(l.cityList)),p=JSON.parse((0,o.default)(l.areaList)),f=l.provinceList;f.forEach(function(t){t.children=l.cityList[t.value],t.children.forEach(function(t){t.children=l.areaList[t.value]})});var h=d,x=[0,0,0];h[0].children=v[h[0].value],h[0].children[0].children=p[h[0].children[0].value],e.default={mounted:function(){this.cascadePicker=this.$createCascadePicker({title:\"Cascade Picker\",data:c.cascadeData,selectedIndex:[0,1,0],onSelect:this.selectHandle,onCancel:this.cancelHandle}),this.addressPicker=this.$createCascadePicker({title:\"City Picker\",data:f,onSelect:this.selectHandle,onCancel:this.cancelHandle}),this.setDataPicker=this.$createCascadePicker({title:\"Set Data\",onSelect:this.selectHandle,onCancel:this.cancelHandle}),this.asyncPicker=this.$createCascadePicker({title:\"Async Load Data\",async:!0,data:h,selectedIndex:x.slice(),onSelect:this.selectHandle,onCancel:this.cancelHandle,onChange:this.asyncChangeHandle})},methods:{showCascadePicker:function(){this.cascadePicker.show()},showAddressPicker:function(){this.addressPicker.show()},showSetDataPicker:function(){var t=this;this.setDataPicker.setData(c.cascadeData),this.setDataPicker.show(),setTimeout(function(){t.setDataPicker.setData(f,[1,1,0])},1e3)},showAsyncPicker:function(){this.asyncPicker.show()},asyncChangeHandle:function(t,e){var a=this;e!==x[t]&&(x[t]=e,t<2&&setTimeout(function(){if(0===t){var i=h[e];i.children=i.children||v[i.value],i.children[0].children=i.children[0].children||p[i.children[0].value],x[1]=0,x[2]=0}if(1===t){var n=h[x[0]].children[e];n.children=n.children||p[n.value],x[2]=0}a.asyncPicker.setData(h,x)},500))},selectHandle:function(t,e,a){this.$createDialog({type:\"warn\",content:\"Selected Item: <br/> - value: \"+t.join(\", \")+\" <br/> - index: \"+e.join(\", \")+\" <br/> - text: \"+a.join(\" \"),icon:\"cubeic-alert\"}).show()},cancelHandle:function(){this.$createToast({type:\"correct\",txt:\"Picker canceled\",time:1e3}).show()}},components:{CubePage:s.default,CubeButtonGroup:r.default}},t.exports=e.default})},fd7u:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"xYoV\"),a(\"j9ag\"),a(\"aDIA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i);c.default.install=function(t){t.component(c.default.name,c.default),u.default.install(t),c.default._base=t},c.default.addRule=n.addRule,c.default.addMessage=n.addMessage,c.default.addType=n.addType,c.default.addHelper=u.default.addHelper,e.default=c.default,t.exports=e.default})},fidG:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"woOf\"),a(\"4gT0\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i),u={negative:!0,remain:!0};e.default={name:\"cube-textarea\",mixins:[c.default],data:function(){return{textareaValue:this.value,expanded:!!this.forceExpand||!!this.autoExpand&&!!this.value,isFocus:!1}},props:{value:{type:String,default:\"\"},cols:Number,rows:Number,readonly:Boolean,wrap:String,required:Boolean,placeholder:{type:String,default:\"please type here...\"},dirname:String,form:String,name:String,autofocus:Boolean,disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:60},indicator:{type:[Boolean,Object],default:!0},autoExpand:{type:Boolean,default:!1},forceExpand:{type:Boolean,default:!1}},computed:{indicatorConf:function(){var t=this.indicator;return\"boolean\"==typeof t&&(t={}),(0,l.default)({},u,t)},count:function(){return this.textareaValue.length},remain:function(){var t=this.maxlength-this.count;return!this.indicatorConf.negative&&t<0&&(t=0),t}},watch:{value:function(t){this.textareaValue=t},textareaValue:function(t){this.$emit(\"input\",t),this.forceExpand||this.isFocus||!this.expanded||(this.expanded=!1)}},methods:{handleFocus:function(t){this.$emit(\"focus\",t),this.expanded=!0,this.isFocus=!0},handleBlur:function(t){this.$emit(\"blur\",t),this.forceExpand||0!==this.textareaValue.length||(this.expanded=!1),this.isFocus=!1}}},t.exports=e.default})},fn00:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"form-custom\",title:\"Form 表单\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-form\",{attrs:{model:t.model},on:{validate:t.validateHandler,submit:t.submitHandler}},[a(\"cube-form-group\",[a(\"cube-form-item\",{attrs:{field:t.fields[0]}}),t._v(\" \"),a(\"cube-form-item\",{attrs:{field:t.fields[1]}}),t._v(\" \"),a(\"cube-form-item\",{attrs:{field:t.fields[2]}},[a(\"cube-button\",{on:{click:t.showDatePicker}},[t._v(t._s(t.model.dateValue||\"Please select\"))]),t._v(\" \"),a(\"date-picker\",{ref:\"datePicker\",attrs:{min:[2008,8,8],max:[2020,10,20]},on:{select:t.dateSelectHandler}})],1)],1),t._v(\" \"),a(\"cube-form-group\",[a(\"cube-button\",{attrs:{type:\"submit\"}},[t._v(\"Submit\")])],1)],1),t._v(\" \"),a(\"json-view\",{attrs:{title:\"model\",data:t.model}}),t._v(\" \"),a(\"json-view\",{attrs:{title:\"validity\",data:t.validity}})],1)])},staticRenderFns:[]}},g3dP:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"1BqV\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={name:\"cube-scroll-nav-panel\",inject:[\"scrollNav\"],props:{label:{type:[String,Number],required:!0},title:{type:[String,Number],default:function(){return this.label}}},mounted:function(){this.scrollNav.addPanel(this)},beforeDestroy:function(){this.scrollNav.removePanel(this)},components:{CubeStickyEle:i.default}},t.exports=e.default})},\"g9J/\":function(t,e,a){function i(t){a(\"oiuS\")}var n=a(\"VU/8\")(a(\"XEOk\"),a(\"34AZ\"),i,null,null);t.exports=n.exports},gAqf:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"😀 😁 😂 🤣 😃 🙃 \",\"👈🏻  scroll 👉🏻 \",\"🙂 🤔 😄 🤨 😐 🙃 \",\"👈🏻  scroll 👉🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"👈🏻  scroll 👉🏻 \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👈🏻  scroll 👉🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"👈🏻  scroll 👉🏻 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👈🏻  scroll 👉🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"👈🏻  scroll 👉🏻 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👈🏻  scroll 👉🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"👈🏻  scroll 👉🏻 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{items:n}},components:{CubePage:i.default}},t.exports=e.default})},gBDM:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"O6S8\"),a(\"XPXN\"),a(\"1Vb/\"),a(\"6SSl\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);e.default={data:function(){return{text:\"\",disabled:!1,maxlength:60,width:\"274px\",showIndicator:!0,indicator:{negative:!0,remain:!0}}},methods:{updateDisabled:function(t){this.disabled=t},updateMaxlength:function(t){this.maxlength=t},updateWidth:function(t){this.width=t},updateIndicator:function(t){this.showIndicator=t},updateIndicatorNegative:function(t){this.indicator.negative=t},updateIndicatorRemain:function(t){this.indicator.remain=t}},components:{CubeButtonGroup:u.default,CubePage:o.default,SwitchOption:s.default,InputOption:r.default}},t.exports=e.default})},gCE8:function(t,e,a){function i(t){a(\"R+4a\")}var n=a(\"VU/8\")(a(\"pjk/\"),a(\"12+A\"),i,null,null);t.exports=n.exports},gLZT:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"8j/s\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e,a,i){return t.use(n.default,{componentPrefix:\"cube-\"}),t.createAPI(e,a,i)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var n=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},gMFX:function(t,e){},gSj3:function(t,e){},gTcW:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"canvas\",{ref:\"bubble\",style:t.style,attrs:{width:t.width,height:t.height}})},staticRenderFns:[]}},gYth:function(t,e,a){var i=a(\"VU/8\")(a(\"JOED\"),a(\"VOzN\"),null,null,null);t.exports=i.exports},gf9D:function(t,e){},gfHX:function(t,e){},go4C:function(t,e,a){var i=a(\"VU/8\")(a(\"g3dP\"),a(\"rcBQ\"),null,null,null);t.exports=i.exports},gqZP:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"panels\",staticClass:\"cube-tab-panels\"},[a(\"div\",{ref:\"panelsGroup\",staticClass:\"cube-tab-panels-group\"},[t._t(\"default\",t._l(t.data,function(e,i){return a(\"cube-tab-panel\",{key:e.value||e.label,attrs:{label:e.label,value:e.value}},[t._v(\"\\n        \"+t._s(e.label)+\"\\n      \")])}))],2)])},staticRenderFns:[]}},gz49:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-switch\",props:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},data:function(){return{checkboxValue:this.value}},watch:{value:function(t){this.checkboxValue=t},checkboxValue:function(t){this.$emit(\"input\",t)}}},t.exports=e.default})},h1qY:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/index-list/\"+t)}}},t.exports=e.default})},h7Gw:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.ease={swipe:{style:\"cubic-bezier(0.23, 1, 0.32, 1)\",fn:function(t){return 1+--t*t*t*t*t}},swipeBounce:{style:\"cubic-bezier(0.25, 0.46, 0.45, 0.94)\",fn:function(t){return t*(2-t)}},bounce:{style:\"cubic-bezier(0.165, 0.84, 0.44, 1)\",fn:function(t){return 1- --t*t*t*t}}}})},h8Kk:function(t,e,a){function i(t){a(\"QvWg\")}var n=a(\"VU/8\")(a(\"1j+8\"),a(\"d9cM\"),i,null,null);t.exports=n.exports},\"hC+w\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{selected:\"\",options:[\"Option1\",\"Option2\"],selected2:3,options2:[{label:\"Option1\",value:1},{label:\"Option2\",value:2},{label:\"Option3\",value:3,disabled:!0}],selected3:\"3\",options3:[{label:\"1\",value:\"1\"},{label:\"2\",value:\"2\"},{label:\"3\",value:\"3\",disabled:!0}],selected4:\"1\",options4:[{label:\"1\",value:\"1\",src:\"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg\"},{label:\"2\",value:\"2\",src:\"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg\"},{label:\"3\",value:\"3\",src:\"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg\",disabled:!0}],selected5:\"6\",options5:[{label:\"1\",value:\"1\"},{label:\"2\",value:\"2\"},{label:\"3\",value:\"3\",disabled:!0},{label:\"4\",value:\"4\"},{label:\"5\",value:\"5\"},{label:\"6\",value:\"6\",disabled:!0},{label:\"7\",value:\"7\"},{label:\"8\",value:\"8\"}],colNum:3}},components:{CubePage:i.default}},t.exports=e.default})},hHHY:function(t,e){},hIuT:function(t,e){},hahQ:function(t,e){},hdAL:function(t,e,a){function i(t){a(\"hIuT\")}var n=a(\"VU/8\")(a(\"eLAg\"),a(\"7JW3\"),i,null,null);t.exports=n.exports},hlu4:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"formItem\",staticClass:\"cube-form-item border-bottom-1px\",class:t.itemClass},[t.isBtnField?a(\"cube-button\",t._g(t._b({},\"cube-button\",t.fieldValue.props,!1),t.fieldValue.events),[t._v(t._s(t.fieldValue.label))]):[t._t(\"label\",[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.fieldValue.label,expression:\"fieldValue.label\"}],staticClass:\"cube-form-label\"},[a(\"span\",[t._v(t._s(t.fieldValue.label))])])]),t._v(\" \"),t.hasRules?a(\"cube-validator\",{ref:\"validator\",staticClass:\"cube-form-field\",attrs:{disabled:t.validatorDisabled,model:t.validatorModel,\"model-key\":t.validatorModelKey,rules:t.fieldValue.rules,messages:t.fieldValue.messages},on:{input:t.validatorChangeHandler,validating:t.validatingHandler,validated:t.validatedHandler,\"msg-click\":t.msgClick},model:{value:t.originValid,callback:function(e){t.originValid=e},expression:\"originValid\"}},[t._t(\"default\",[a(t.componentName,t._g(t._b({tag:\"component\",model:{value:t.modelValue,callback:function(e){t.modelValue=e},expression:\"modelValue\"}},\"component\",t.fieldValue.props,!1),t.fieldValue.events))])],2):a(\"div\",{staticClass:\"cube-form-field\"},[t._t(\"default\",[a(t.componentName,t._g(t._b({tag:\"component\",model:{value:t.modelValue,callback:function(e){t.modelValue=e},expression:\"modelValue\"}},\"component\",t.fieldValue.props,!1),t.fieldValue.events))])],2)]],2)},staticRenderFns:[]}},i3b6:function(t,e){},\"iQ/X\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"9zBd\"),a(\"K5n8\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=n.provinceList;s.forEach(function(t){t.children=n.cityList[t.value],t.children.forEach(function(t){t.children=n.areaList[t.value]})});var r=[{is:\"cube-date-picker\",title:\"入学时间\",min:new Date(2e3,0,1),max:new Date(2030,11,31)},{is:\"cube-date-picker\",title:\"毕业时间\",min:new Date(2e3,0,1),max:new Date(2030,11,31)}];e.default={mounted:function(){var t=this;this.dateSegmentPicker=this.$createSegmentPicker({data:r,onSelect:function(e,a,i){t.$createDialog({type:\"warn\",content:\"Selected Items: <br/> - 入学时间: \"+i[0].join(\"\")+\" <br/> - 毕业时间: \"+i[1].join(\"\"),icon:\"cubeic-alert\"}).show()},onNext:function(e,a,i,n){r[1].min=a,0===e&&t.dateSegmentPicker.$updateProps({data:r})}}),this.citySegmentPicker=this.$createSegmentPicker({data:[{title:\"选择快递\",data:[l.expressData],selectedIndex:[1]},{is:\"cube-cascade-picker\",title:\"寄件地址\",data:s,selectedIndex:[0,0,0],cancelTxt:\"返回\"},{is:\"cube-cascade-picker\",title:\"收件地址\",data:s,selectedIndex:[0,0,0]}],cancelTxt:\"Cancel\",confirmTxt:\"Confirm\",nextTxt:\"Next\",prevTxt:\"Prev\",onSelect:function(e,a,i){t.$createDialog({type:\"warn\",content:\"Selected Items: <br/> - 所选快递:  \"+i[0].join(\"\")+\" <br/> - 寄件地址: \"+i[1].join(\"\")+\" <br/> - 收件地址: \"+i[2].join(\"\"),icon:\"cubeic-alert\"}).show()}})},methods:{showDateSegmentPicker:function(){this.dateSegmentPicker.show()},showCitySegmentPicker:function(){this.citySegmentPicker.show()}},components:{CubePage:u.default,CubeButtonGroup:o.default}},t.exports=e.default})},iQe6:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-loading\",data:function(){return{balde:12}},props:{size:{type:Number}},computed:{style:function(){if(this.size){var t=this.size+\"px\";return{width:t,height:t}}}}},t.exports=e.default})},iQwk:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"GQaK\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default=i.default,t.exports=e.default})},iRyi:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-swipe\"},[t._t(\"default\",[a(\"transition-group\",{attrs:{name:\"cube-swipe\",tag:\"ul\"}},t._l(t.data,function(e,i){return a(\"li\",{key:e.item.value},[a(\"cube-swipe-item\",{attrs:{btns:e.btns,item:e.item,index:i,\"auto-shrink\":t.autoShrink}})],1)}))])],2)},staticRenderFns:[]}},iS0c:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"div\",{staticClass:\"scroll-wrapper\",attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Options\")]),t._v(\" \"),a(\"div\",{staticClass:\"option-list\"},[a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Pull Down Refresh\",value:t.pullDownRefresh},on:{\"update:value\":t.updatePullDownRefresh}}),t._v(\" \"),t.pullDownRefresh?a(\"input-option\",{staticClass:\"item sub first\",attrs:{name:\"threshold (≥ 40)\",value:t.pullDownRefreshThreshold,\"min-value\":\"40\"},on:{\"update:value\":t.updatePullDownRefreshThreshold}}):t._e(),t._v(\" \"),t.pullDownRefresh?a(\"input-option\",{staticClass:\"item sub\",attrs:{name:\"txt\",value:t.pullDownRefreshTxt},on:{\"update:value\":t.updatePullDownRefreshTxt}}):t._e(),t._v(\" \"),t.pullDownRefresh?a(\"switch-option\",{staticClass:\"item sub last\",attrs:{name:\"Custom Animation\",value:t.customPullDown},on:{\"update:value\":t.updateCustomPullDown}}):t._e()],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Pull Up Load\",value:t.pullUpLoad},on:{\"update:value\":t.updatePullUpLoad}}),t._v(\" \"),t.pullUpLoad?a(\"input-option\",{staticClass:\"item sub first\",attrs:{name:\"threshold\",value:t.pullUpLoadThreshold},on:{\"update:value\":t.updatePullUpLoadThreshold}}):t._e(),t._v(\" \"),t.pullUpLoad?a(\"input-option\",{staticClass:\"item sub\",attrs:{name:\"moreTxt\",value:t.pullUpLoadMoreTxt},on:{\"update:value\":t.updatePullUpLoadMoreTxt}}):t._e(),t._v(\" \"),t.pullUpLoad?a(\"input-option\",{staticClass:\"item sub last\",attrs:{name:\"noMoreTxt\",value:t.pullUpLoadNoMoreTxt},on:{\"update:value\":t.updatePullUpLoadNoMoreTxt}}):t._e()],1)])]),t._v(\" \"),a(\"div\",{staticClass:\"demo\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Demo\")]),t._v(\" \"),a(\"div\",{staticClass:\"scroll-list-wrap\"},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{data:t.items,options:t.options},on:{\"pulling-down\":t.onPullingDown,\"pulling-up\":t.onPullingUp},scopedSlots:t._u([{key:\"pulldown\",fn:function(e){return t.customPullDown?[e.pullDownRefresh?a(\"div\",{staticClass:\"cube-pulldown-wrapper\",style:e.pullDownStyle},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.beforePullDown,expression:\"props.beforePullDown\"}],staticClass:\"before-trigger\",style:{paddingTop:e.bubbleY+\"px\"}},[a(\"span\",{class:{rotate:e.bubbleY>t.pullDownRefreshThreshold-40}},[t._v(\"↓\")])]),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.beforePullDown,expression:\"!props.beforePullDown\"}],staticClass:\"after-trigger\"},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isPullingDown,expression:\"props.isPullingDown\"}],staticClass:\"loading\"},[a(\"cube-loading\")],1),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.isPullingDown,expression:\"!props.isPullingDown\"}],staticClass:\"text\"},[a(\"span\",{staticClass:\"refresh-text\"},[t._v(\"Refresh success\")])])])]):t._e()]:void 0}}])},[a(\"ul\",{staticClass:\"foods-wrapper\"},t._l(t.items,function(e){return a(\"li\",{staticClass:\"food-item border-1px\"},[a(\"div\",{staticClass:\"icon\"},[a(\"img\",{attrs:{width:\"57\",height:\"57\",src:e.icon}})]),t._v(\" \"),a(\"div\",{staticClass:\"food-content\"},[a(\"h2\",{staticClass:\"name\"},[t._v(t._s(e.name))]),t._v(\" \"),a(\"p\",{staticClass:\"description\"},[t._v(t._s(e.description))]),t._v(\" \"),a(\"div\",{staticClass:\"extra\"},[a(\"span\",{staticClass:\"count\"},[t._v(\"月售\"+t._s(e.sellCount)+\"份\")]),a(\"span\",[t._v(\"好评率\"+t._s(e.rating)+\"%\")])]),t._v(\" \"),a(\"div\",{staticClass:\"price\"},[a(\"span\",{staticClass:\"now\"},[t._v(\"￥\"+t._s(e.price))]),t._v(\" \"),a(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.oldPrice,expression:\"food.oldPrice\"}],staticClass:\"old\"},[t._v(\"￥\"+t._s(e.oldPrice))])])])])}))])],1)])])])},staticRenderFns:[]}},iXiC:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"div\",{staticClass:\"scroll-wrapper\",attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Basic Options\")]),t._v(\" \"),a(\"div\",{staticClass:\"option-list\"},[a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Scrollbar\",value:t.scrollbar},on:{\"update:value\":t.updateScrollbar}}),t._v(\" \"),t.scrollbar?a(\"switch-option\",{staticClass:\"item sub first last\",attrs:{name:\"fade\",value:t.scrollbarFade},on:{\"update:value\":t.updateScrollbarFade}}):t._e()],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"input-option\",{staticClass:\"item\",attrs:{name:\"startY\",value:t.startY},on:{\"update:value\":t.updateStartY}})],1)])]),t._v(\" \"),a(\"div\",{staticClass:\"demo\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Basic Demo\")]),t._v(\" \"),a(\"div\",{staticClass:\"scroll-list-wrap\"},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{data:t.items,options:t.options}})],1)]),t._v(\" \"),a(\"div\",{staticClass:\"methods\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Methods\")]),t._v(\" \"),a(\"ul\",{staticClass:\"method-list\"},[a(\"li\",{staticClass:\"group\"},[a(\"input-option\",{staticClass:\"item\",attrs:{name:\"y\",value:t.scrollToY},on:{\"update:value\":t.updateScrollToY}}),t._v(\" \"),a(\"input-option\",{staticClass:\"item\",attrs:{name:\"time\",value:t.scrollToTime},on:{\"update:value\":t.updateScrollToTime}}),t._v(\" \"),a(\"select-option\",{staticClass:\"item\",attrs:{name:\"easing\",value:t.scrollToEasing,options:t.scrollToEasingOptions},on:{\"update:value\":t.updateScrollToEasing}}),t._v(\" \"),a(\"button\",{on:{click:t.scrollTo}},[t._v(\"scrollTo\")])],1)])])])])},staticRenderFns:[]}},inlK:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e){(0,l.default)(t,e,[\"select\",\"cancel\",\"change\"]).before(function(t,e,a){a&&(0,i.tip)(\"DatePicker component can not be a singleton.\")})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},ir9C:function(t,e){},izCJ:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Yu0J\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},\"j/9N\":function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAADiJJREFUeNrtm2tUVFeWx/+nnkBRUBSIIEUJqFC6jBJRAyKIbRtbotgxahONj0yijD3x1T6mM3kYYxKXBu0Y2xgNdsfWEVuJS1qNUZetPEQE0/gmIo8CgeJNFVDvW/fMh2sFTaKUUAUza/h9uasW956zz3/fu8/Z+xyAfvrpp59++umnn/+PkL424KdQeu45QCIx1LhH8hdNnkz+HZvxYXQ0nUa+IHtUKoyiS+gShYJsxUZck0ggwXQwhNBPkIpRBgO+IzPI0aoqUs4uowtKSuhasgmpeXmmG6I829+ys31feqEMaGvr63Ha6TMHUEopQIhBnPcu/8jUqdjP/kDyU1LgBz4yZsxAPFagTiRyWodnyEIEm80w0ijMOn0ab/BUNHrvXokl9mNb8rlzfaVDrzugneZQPk1I4BWRIbi1dSsi6AEyZvz4vhIAAOjF77/nXaEzyKI//MH91/E6piI7u7f6drkDHg8p27dDhOHk6LJlkCAODPnfEwL1yIGAUhJEDtCX0tLcLW7/bftm9WpCxo4FDAZXdesyAYwbcqcASiU9RMP4pzMz6X0sIrMiI13Vn9OFmYvP6V9v3yaVtMK2MDHR/U78NeDBA6f34+wGTf+ZkyPeEhZme51ssFmzshBMt+FDhaJ3ZHMBD8gGvF9dzb9LfsX/V0KC2+zYj80nysqc1TzP2fbavqVaxm/YMATTbWTz5s0AQEhKiv1KzuEsDh4+3HsK9pCHL5Ctmp3GDD93rqMsPxkYONBZzfd6DNZnZe8AAgMxlowTCGpre7v/nkK+wj6ILl50X6WZyRimTiVk3jzAZut2ez01yCDNTRaYUlLwGv09hsyZ09X9dBx5kc4fMgS/o+fJn0JDe1tAZ0EJOYyl69d7ekzcw+xJTe1uO912gKHkIgUUCpouHCMY88MPWEc/x02JpK+FcRSGsdkIAZqbm5pEIqClpaVFJALMZrOZxwMsFouFEEAgEAgAQCKRSBgG8PaWyaxWYMD7AxZbovR6QSFfbc0OD/comTgAePYvuksHLFsaNSZqjFAofFNy3Hxm7FjeR+wWniIkZNxX4xa3vLViBf8C/zjJiInRarVagQDo6NDrBYJHB2I2EwJYrQxDCCCReHiwLODjI5dbLEBgYECA2QwolUql0QgMHhwcbDQCnp5SKcN0X2B7f2q1Wu3hAZSUlJR4egIVFdxvjUajEYsBhmFZPh8wm+XygADAYpFIZDKAZYVCsRjg8axWsxkQifR6rRYQi7XahgZAICDEagW81kv9rdvr61tvtCYIU/fvB9i7ZM3Jk7sSL++6lXj1KmcNpd12wAr3uK+fc3/rLfbfBAeEw3ftMhr9/ZVKwGiUy4OCuGtAAGAyyeWDBgFWq1Tq4wMwjFgskQBWq0QilXJGEAIIhUZjezvg4dHQUFkJSKXV1SUlgExWXn79OiAWt7bW1QF+fr6+ViugVA4erNcDoaEhIUYjEBQUFGQyAXK5XG61Alpta6tAAJSXV1R4eAD37tmF5n7r9UKhjw/Q3BwRER0NtLaqVOPHAzpdaOioUYBeHxAQFgawrEAgFHbtWB6PYaxWQCLRaMrKAG9vtfrmTcDP7/bt3FzA17e4+MoVgIxmvjdmvfnmn5dl6+5I9u9/UnuCrjqkp7ANLwqFPhd/vWD2OECtnjfvnXeAsjKz+dH7+HwuqUpM9PICgFOndLqn+/6XsTvAx6es7Pp1QCYrKysqAmSywsKiIsDTMzOztBQgxGZjGIBSHo/PB9ralMrhw4Hm5pEj4+KApqakpNhYoK0tNHTkSM79PCes+WJiZDKhELh/381NpQKqq4ODuWtc3Lx5QFTUzp1LlwJyRXFmwUKRCID0ae116QAyAxtwzmq1ra4tVA8APvkkMNBmAxYvrqri8wGTiWUBYMkSX18AWLhQLgeAM2e4ghfDPJsLzGYfn4AAoK5u7Njf/Kbz+qM9hGVtNkAk0ukaG7kvztfX8Te4u0REuLkBwBdfKJUAsHixWg0AjY1WK8sCQ4dmZu7aBXh7l5ffvAmQO2Qo5ra2AgCOP7ndLt8J2wHeYtuBjIyOqhtv5ycXFR0/vm3bxo1ASoqvL8sCSiVXMFuxwt8fAN5/n5uInlV4R/HwqKtTq7k3LSUFGDfu008XLgREoo4OrdZ1Dvj440GDAOD4cU7U69e58kRw8KVL6enASGXuvL1NLMufYfqzaW5SkqYgID6i4Nixrtrld3VD4bHKTY3HOjo+8Vo+wJx5/vy9wNzcmppVqyIiJk2aORPIzydEJgNKS7mQdPasa0u9o0alpW3YACQk+Prm5QFeXkZjQwOg1ba3i8VAS4tKFR3t/H5FIi7E7t/f3AwANpvVarUCkZF79qxcCcx9bQZffYaQV/PfWKrOXLFi4a41V+/e1eu7atfhqBgdGj/dkO3hERX1/PM6HVBZefVqVhYQEMB9+CdOuPL9A+TykpKCAmDgwIqK/HwgMXH69IYGYNKkSZOamwGFIifn2DGAz7dYjEbn93/oUEsLABgMXMj187t1KysL8PEhpKkJeO65kSPb2gD+RNM6oXLwYEfbddgB/CW2SfS3cnlkZGSkTgeo1enpX34JjBhhtXKmuQZ7zA8Pz8hITQWio194QasFpFJPT4YBVCqVqqMDCAqSShsbgbCwU6f27HGdPXaCg7OyjhwBnn8+MrKtDeDz+XxKATaerGEruYWIIzjsAGYK0dJyHk+hUChMJiA8XKmsqwOs1m+++fJLwN+fM8DZDBly8uTu3YBCodPdugVMnTplSmPjIwPgEUIp8MorL7+s0QAhIRcvHjwI+PnduXP5svPtsS83AwO5LzE+Pi6OC0ocgq94k0iU46UJhx3Ay6Z/4g3ujO9z5syerdEANtvlywcPAjExly795S+ATEZI9ysjnSgUOTlHjwLh4Rcu7NsHLFgwf35NDSASicVcEHgceyKXlDR9ek0NMHr0vn1r1gA+PqWlRUU9t8fNTautrwdGjDh8+MMPgcmTJ09uagKk0scTRls2Pid/fbj6cYAuJ2E7fxy2/Bars1h40ba5PN6GDWIxJ4Q9BNy+nZFx5w7g63v/fnEx0N7u6SmXAwYDl7ABhDxt+8Xdvbm5thYYPjw9ffNmTvj9+4Hk5OTk2lpg2LChQ7ue0oDg4OBgkwkQCrlM1WA4cuTSJfsWKNDRoVBERHRmuk+CEJZlWcDf/8aNCxeA0aP37l2zBhg3Lji4tBSYMSMxsb7+56Oi26zjmS82btyiObDJkY2cZ64FGWQ5SYLldXW0BuvxVWdZ1mLhSg/nz1+4MGAAUFBw7ZpMBuj1hHh5Ae3tQUHDhgGUPj5wN7eWFo2Gy4yrqoDQUC7znTlz5sz6emDQoMBAk6lTwKe78REhHt5fXl5eLpEA33773Xf+/sCDB/X1nD1KpUoFmExc3mFHKOSWs1JpdfW9e4CXF8u2tAAJCdxkHx8/cWJzM/CztO4aWrC1qkoyKW4Ws9bxSfiZHaBfl5Mt+OjoUWwCwQdz5z7pPovFauXxgOrqBw/c3ID6+oYGsbjTUQAnpLe3tzfDAMHBCoXBAPj6ciUIOzk5ly/L5UBLS3OzSATMmpWUVFf3ZPuKi4uLpVIgLy8/38cHeOON11+vqur8e22tRuPm1lkLam1tbRUKAZZlWUIAd3cPD5sNGDjQ399iAUJCQkIMBkAkEgp/KfT9yEZQfHDsmCQ1Lp55d948R/XsMhP+GQy2kpwzZwD8keLJDrAbHBYWFmYwdF6fFalUIrHZgKtXCwokEoBSToYnFRbu3y8tlUgAsVgk+iXB7F+U/eos6AiyiZ1z4gQA4F3Hn3vm6oixjHxtPZuRgVSyEqMcico9wz7HmM0mE48HnDvHhTi7I+zYhS8sLCyUyYAJE2JjXbk8tkM+ghYvtLdLXnfbyqoeOuBZnu9ux/qUHBN/y86d2IFC8t7Kla4eqFpdWenuDqSnp6cHBXWGDPtiQKfT6YRCIDGRmxxjYqKjHV+LdB9Sg2p6aPt2j/C4V23J69Y98/Pd7dgQntsIDBpEf0vFgvH37mEjbuBfnp6uHrB9Dikp4d54q9Vi4fGA0NDQUIMBkMm4DROXswmjMaajg01GIFMQFiYdE6cHHs1QHKPHW5IdZTnVgrVr15IAVGBn97fmeh0LyrGutpatwO95X0+dagvDd5Y6jcbRx5mFRAUwjN/JiQOA9vbumtHjCrkkTJPHbP/sM7KDHITnP//ZW/r1mJuQYQDDCNW81ST68b2Np+Ht1T4QMBh6Krwdp52K6Hjt8nXA35+MYDP47+XlYRWmkS1DhrhIvt5nJ87St8vK6F3eHNvmCRM8D8VGAg0NPW3WaeeC7AbxdZgm8HjxRXti0peaOYVL+Dt2VFbyVTwquDVtmrOEt+Oyc0GGzVeCgKAgHGR28zNPn6ZF8CWvjB7tar3IavIBEnQ6WCCju3fvpuV0NVnX/T0KXgtdw5w8fPj/zNHEn0LplSDA3d2QyWTxV6WmYgKOkr3Ll7vscG48BiItPV3yfVw4s2T+fFePr6f0+sk4I/9ymuC9mBg2k22ii3bswGTEkuFO3MMqhjdkDEPWk1cRcOECjaJ7kPzkL4B4EwtisrPd37VOYaakpREymQDOzJGfTp8fD+8YldvI106eTPzxEvn7smWYTVfgs1mzsBghuO/u7rSBPsxYocJ/YO0//mFbhEr6clqalMQRG7l0qa/G3+cO+Ck//j+BWJLEPxIbCzP7EX43YQLmwpPsUqkQjQr6qkJBduAdFDxyEm85IWRBSwvNwnVsbWhAOD7F327epGtRSf/r2jVJGP9t20u5uYTE1ACu2LTsp59++umnn3766cdx/geTPRpGyo0x8gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0yNVQxNDowNzoyMSswODowMJa0u+cAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMjVUMTQ6MDc6MjErMDg6MDDn6QNbAAAAe3RFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nYTZyZ2t4Y21tYS8lRTUlOEQlQTElRTklODAlOUElRTUlQTQlQjQlRTUlODMlOEYlRTglQTElQTglRTYlODMlODUxMC5zdmcQrbDUAAAAAElFTkSuQmCC\"},\"j/Id\":function(t,e,a){function i(t){a(\"qGk2\")}var n=a(\"VU/8\")(a(\"NFzl\"),a(\"NZLs\"),i,null,null);t.exports=n.exports},j9ag:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"bOdI\"),a(\"Xnqv\"),a(\"XRNA\"),a(\"UFDc\"),a(\"+rJ6\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=void 0,d={name:\"locale\",install:function(t){d.installed||(r=t.prototype,t.util.defineReactive(r,\"$cubeLang\",\"zh-CN\"),r.$cubeMessages=(0,o.default)({},\"zh-CN\",s.default),d.installed=!0)},use:function(t,e){r.$cubeLang=t;var a=r.$cubeMessages;t in a||(a[[t]]=e)},helpers:{toLocaleDateString:function(t,e){var a=(0,l.isNumber)(t)?t:t.replace(/-/g,\"/\"),i=new Date(a);return(0,l.isUndef)(e)?i.toDateString():(0,c.formatDate)(i,e)}},addHelper:function(t,e){if(t in d.helpers)return void(0,n.warn)(t+\" has already been registered on helpers function, please change another name\");d.helpers[t]=e}};e.default=d,t.exports=e.default})},jC7o:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"radio-view\",title:\"Radio\"}},[a(\"template\",{slot:\"content\"},[a(\"cube-radio-group\",{attrs:{options:t.options},model:{value:t.selected,callback:function(e){t.selected=e},expression:\"selected\"}}),t._v(\" \"),a(\"p\",[t._v(\"selected value: \"+t._s(t.selected))]),t._v(\" \"),a(\"cube-radio-group\",{attrs:{options:t.options2,position:\"right\",\"hollow-style\":!0},model:{value:t.selected2,callback:function(e){t.selected2=e},expression:\"selected2\"}}),t._v(\" \"),a(\"p\",[t._v(\"selected value: \"+t._s(t.selected2))]),t._v(\" \"),a(\"cube-radio-group\",{attrs:{options:t.options3,horizontal:!0},model:{value:t.selected3,callback:function(e){t.selected3=e},expression:\"selected3\"}}),t._v(\" \"),a(\"p\",[t._v(\"selected value: \"+t._s(t.selected3))]),t._v(\" \"),a(\"cube-radio-group\",{model:{value:t.selected4,callback:function(e){t.selected4=e},expression:\"selected4\"}},t._l(t.options4,function(t,e){return a(\"cube-radio\",{key:e,attrs:{option:t}},[a(\"img\",{attrs:{src:t.src}})])})),t._v(\" \"),a(\"p\",[t._v(\"selected img: \"+t._s(t.selected4))]),t._v(\" \"),a(\"hr\"),t._v(\" \"),a(\"cube-input\",{attrs:{placeholder:\"Input column number\"},model:{value:t.colNum,callback:function(e){t.colNum=e},expression:\"colNum\"}},[a(\"div\",{staticStyle:{paddingLeft:\"10px\"},attrs:{slot:\"prepend\"},slot:\"prepend\"},[t._v(\" Column number:\")])]),t._v(\" \"),a(\"cube-radio-group\",{attrs:{options:t.options5,\"col-num\":Math.floor(t.colNum)},model:{value:t.selected5,callback:function(e){t.selected5=e},expression:\"selected5\"}})],1)],2)},staticRenderFns:[]}},jMGR:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"jbJ7\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){var i=\"agreement\"===t.type;e.messages||(e.messages={}),(0,a.setMessages)(e,{required:t.errMsg||(i?\"请同意\":\"此题为必做题\")})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i,t.exports=e.default})},jWO0:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"ZrYO\"),a(\"FmUO\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},l.default.Item=c.default,e.default=l.default,t.exports=e.default})},jWap:function(t,e){},jbJ7:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"//Fk\"),a(\"woOf\"),a(\"9zBd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function l(t,e,a){var i=r[e];i||(i=r[e]={}),t.rules||(t.rules=i),(0,s.default)(t.rules,a)}function c(t,e){t.messages||(t.messages={}),(0,s.default)(t.messages,e)}function u(){return new o.default(function(t){setTimeout(function(){t(d)},500)})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.setRules=l,t.setMessages=c,t.loadCityData=u;var o=n(e),s=n(a),r={},d=i.provinceList;d.forEach(function(t){t.children=i.cityList[t.value],t.children.forEach(function(t){t.children=i.areaList[t.value]})})})},jdO8:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"index-list\",title:\"IndexList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"div\",{staticClass:\"index-list-wrapper\"},[a(\"cube-index-list\",{ref:\"indexList\",attrs:{data:t.data,title:t.title,options:t.options},on:{select:t.selectItem,\"title-click\":t.clickTitle,\"pulling-up\":t.onPullingUp}})],1)])])])},staticRenderFns:[]}},jjfl:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-checkbox\",props:{value:{type:[Boolean,String]},label:{type:[Boolean,String]},disabled:{type:Boolean,default:!1},option:{type:[Boolean,String,Object],default:function(){return{_def_option:!0}}},position:{type:String,default:\"left\"},shape:{type:String,default:\"circle\"},hollowStyle:{type:Boolean,default:!1}},data:function(){var t=this.$parent,e=t.$data._checkboxGroup;return{isInGroup:e,isInHorizontalGroup:e&&(t.$props.horizontal||t.$props.colNum>1)}},computed:{computedOption:function(){var t=this.option,e=this.label,a=this.disabled;return!0===t._def_option?t={label:e,value:e,disabled:a}:\"string\"==typeof t&&(t={label:t,value:t,disabled:!1}),t},checkValue:{get:function(){return this.isInGroup?this.$parent.value.indexOf(this.computedOption.value)>-1:Boolean(this.value)},set:function(t){var e=this.computedOption.value,a=e&&t?e:t;if(this.$emit(\"input\",a),this.isInGroup){t=!this.checkValue;var i=t?\"checked\":\"cancel-checked\";this.$parent.$emit(i,e||t)}}},_containerClass:function(){return{\"cube-checkbox-hollow\":this.hollowStyle,\"cube-checkbox_checked\":this.checkValue,\"cube-checkbox_disabled\":this.computedOption.disabled,\"border-right-1px\":this.isInHorizontalGroup}},_wrapClass:function(){if(this.isInGroup&&!this.isInHorizontalGroup)return\"border-bottom-1px\"},isSquare:function(){return\"square\"===this.shape||this.hollowStyle},_borderIconClass:function(){return this.isSquare?\"cubeic-square-border\":\"cubeic-round-border\"},_rightIconClass:function(){return this.isSquare?\"cubeic-square-right\":\"cubeic-right\"}}},t.exports=e.default})},jnfQ:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"fZjL\"),a(\"//Fk\"),a(\"XPXN\"),a(\"b1gV\"),a(\"nlvd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(c);e.default={data:function(){return{immediate:!1,text1:\"\",isValid:[void 0,void 0,void 0,void 0,void 0,void 0],rules1:{required:!0,type:\"email\",pattern:/didi.com$/,custom:function(t){return t.length>=12}},messages1:{pattern:\"The E-mail suffix need to be didi.com.\",custom:\"The E-mail need contain at least 12 characters.\"},text2:\"\",rules2:{type:\"string\",pattern:/^cube-/,min:8,max:10},messages2:{pattern:'Please start with \"cube-\"'},text3:\"100\",rules3:{type:\"number\",odd:!0},checkList:[],rules4:{required:!0},rate:0,rules5:{min:1,max:4},captcha:\"\",rules6:{type:\"number\",required:!0,len:6,captchaCheck:function(t){return function(e){setTimeout(function(){e(\"123456\"===t)},1e3)}}},messages6:{captchaCheck:'Please input \"123456\"'}}},created:function(){l.Locale.use(\"en-US\",d.default),l.Validator.addRule(\"odd\",function(t,e,a){return Number(t)%2==1}),l.Validator.addMessage(\"odd\",function(t){return\"Please input odd.\"}),l.Validator.addType(\"email\",function(t){return\"string\"==typeof t&&/^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)$/i.test(t)})},methods:{validatingHandler:function(){console.log(\"validating\")},validatedHandler:function(){console.log(\"validated\")},submit:function(){var t=this;s.default.all((0,o.default)(this.$refs).map(function(e){return t.$refs[e].validate()})).then(function(){t.isValid.every(function(t){return t})&&t.$createToast({type:\"correct\",txt:\"Submited\",time:1e3}).show()})}},components:{CubePage:r.default}},t.exports=e.default})},js4V:function(t,e){},jyim:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"multi-images-preview\",title:\"MultiImagesPreview\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"div\",{staticClass:\"tips\"},[t._v(\"Click Image\")]),t._v(\" \"),a(\"div\",{staticClass:\"imgs-container\"},t._l(t.imgs,function(e,i){return a(\"img\",{key:e,attrs:{src:e},on:{click:function(e){t.handleImgsClick(i)}}})}))])])])},staticRenderFns:[]}},\"k+Su\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"yjF1\"),a(\"7lCl\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);c.default.install=function(t){t.component(l.default.name,l.default),t.component(c.default.name,c.default)},c.default.Checkbox=l.default,e.default=c.default,t.exports=e.default})},kAHR:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e){(0,l.default)(t,e,[\"select\",\"value-change\",\"cancel\",\"change\"]).before(function(t,e,a){a&&(0,i.tip)(\"Picker component can not be a singleton.\")})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},kBQQ:function(t,e,a){function i(t){a(\"U6M5\")}var n=a(\"VU/8\")(a(\"xH1B\"),a(\"USmt\"),i,null,null);t.exports=n.exports},kCqI:function(t,e){},kLzu:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"bOdI\"),a(\"Gu7T\"),a(\"t7U9\"),a(\"agqa\"),a(\"Z5VE\"),a(\"d64j\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(i),d=o(l),v=o(c),p=o(u),f=(0,n.prefixStyle)(\"transform\");e.default={name:\"cube-drawer\",mixins:[v.default,p.default],props:{title:{type:String,default:\"\"},data:{type:Array,default:function(){return[]}},selectedIndex:{type:Array,default:function(){return[]}}},data:function(){return{index:-1,selectedVal:[],selectedText:[],selected:[].concat((0,r.default)(this.selectedIndex)),slideStyle:(0,s.default)({},f,\"translate3d(0, 0, 0)\")}},watch:{selectedIndex:function(t){this.selected=[].concat((0,r.default)(t))},index:function(t,e){this.showPanel(),t<e&&this.hidePanel()}},created:function(){this.panels=[]},methods:{show:function(){if(!this.isVisible){this.isVisible=!0;for(var t=this.data.length,e=0;e<t;e++)if(this.index=e,this.selected[e]<0||void 0===this.selected[e]){if(e>0){var a=e-1,i=this.selected[a];this.changeHandler(a,this.data[a][i],i)}break}this.computedStyle()}},hide:function(){this.slideStyle[f]=\"translate3d(0, 0, 0)\",this.shouldHide=!0},addPanel:function(t){this.panels.push(t)},removePanel:function(t){var e=this.panels.indexOf(t);this.panels.splice(e,1)},transitionend:function(){this.shouldHide&&(this.isVisible=!1,this.shouldHide=!1)},refill:function(t,e,a){this.$set(this.data,t,e),this.index=t,this.selected=this.selected.slice(0,t),this.selectedVal=this.selectedVal.slice(0,t),this.selectedText=this.selectedText.slice(0,t),a>=0&&(this.$set(this.selected,t,a),this.changeHandler(t,this.data[t][a],a))},showPanel:function(){for(var t=this.index,e=0;e<=t;)this.panels[e].show(),e++;this.computedStyle()},hidePanel:function(){for(var t=this.data.length,e=this.index+1;e<t;)this.panels[e].hide(),e++},computedStyle:function(){var t=this;this.$nextTick(function(){for(var e=0,a=0,i=t.index;a<=i;){var n=t.panels[a].$el;e+=n.offsetWidth;var l=window.getComputedStyle(n);e+=parseInt(l.marginLeft),e+=parseInt(l.marginRight),a++}t.slideStyle[f]=\"translate3d(-\"+e+\"px, 0, 0)\"})},changeHandler:function(t,e,a){\"string\"==typeof e?(this.selectedVal[t]=e,this.selectedText[t]=e):(this.selectedVal[t]=e.value,this.selectedText[t]=e.text),this.$set(this.selected,t,a),t===this.data.length-1?(this.$emit(\"select\",this.selectedVal,this.selected,this.selectedText),this.hide()):this.$emit(\"change\",t,e,this.selectedVal,this.selected,this.selectedText)},drawerClick:function(){this.hide(),this.$emit(\"cancel\")}},components:{CubeDrawerPanel:d.default}},t.exports=e.default})},kTpf:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"9zBd\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{selectedIndex:[],data:[i.provinceList,[],[]]}},methods:{showDrawer:function(){this.$refs.drawer.show()},changeHandler:function(t,e,a,n,l){var c=this;setTimeout(function(){var a=void 0;a=0===t?i.cityList[e.value]:i.areaList[e.value],c.$refs.drawer.refill(t+1,a)},200)},selectHandler:function(t,e,a){this.$createDialog({type:\"warn\",content:\"Selected Item: <br/> - value: \"+t.join(\", \")+\" <br/> - index: \"+e.join(\", \")+\" <br/> - text: \"+a.join(\" \"),icon:\"cubeic-alert\"}).show()},cancelHandler:function(){console.log(\"cancel\")}},components:{CubePage:n.default}},t.exports=e.default})},kVGr:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"d7EF\"),a(\"W3Iv\"),a(\"XRNA\"),a(\"LIRj\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i);e.default={methods:{_checkDeprecated:function(){var t=this,e=this.$options.props,a=this.$options.name;(0,o.default)(e).forEach(function(e){var i=(0,u.default)(e,2),c=i[0],o=i[1],s=o.deprecated;s&&void 0!==t[c]&&(0,n.tip)('The property \"'+(0,l.kebab)(c)+'\" is deprecated, please use the recommended property \"'+s.replacedBy+'\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/'+a.substr(5)+\"#cube-Propsconfiguration-anchor\",a)})}},mounted:function(){this._checkDeprecated()}},t.exports=e.default})},kYrI:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"toolbar\",title:\"Toolbar\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"option-list\"},[a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"More Actions\",value:t.more},on:{\"update:value\":t.updateMore}})],1)])]),t._v(\" \"),a(\"cube-toolbar\",{attrs:{actions:t.actions,\"more-actions\":t.more?t.moreActions:void 0},on:{click:t.clickHandler}})],1)])},staticRenderFns:[]}},kZI5:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"😀 😁 😂 🤣 😃 😄 \",\"🙂 🤗 🤩 🤔 🤨 😐 \",\"👆🏻 scroll up/down 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👆🏻 scroll up/down 👇🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👆🏻 scroll up/down 👇🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👆🏻 scroll up/down 👇🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{scrollEvents:[\"scroll\"],scrollY:0,items:n.concat(),items2:n.concat(),items3:n.concat()}},methods:{scrollHandler:function(t){var e=t.y;this.scrollY=-e}},components:{CubePage:i.default}},t.exports=e.default})},kZnE:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"a/uE\"),a(\"yjF1\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={name:\"cube-toolbar-item\",components:{CubeButton:l.default,CubeCheckbox:c.default},props:{action:{type:Object,default:function(){return{}}}}},t.exports=e.default})},kftu:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-upload-file\",class:t.fileCls,on:{click:t.clickHandler}},[t._t(\"default\",[a(\"div\",{staticClass:\"cube-upload-file-def\",style:t.fileStyle},[a(\"i\",{staticClass:\"cubeic-wrong\",on:{click:function(e){return e.stopPropagation(),t.removeFile(e)}}}),t._v(\" \"),a(\"div\",{staticClass:\"cube-upload-file-state\",class:t.fileStatusCls},[a(\"i\",{staticClass:\"cube-upload-file-status\",class:t.statusCls}),t._v(\" \"),a(\"span\",{staticClass:\"cube-upload-file-progress\"},[t._v(t._s(t.fileProgress))])])])],{imgStyle:t.fileStyle,progress:t.fileProgress})],2)},staticRenderFns:[]}},kgN1:function(t,e,a){function i(t){a(\"BbKW\")}var n=a(\"VU/8\")(a(\"txVD\"),a(\"zlrq\"),i,null,null);t.exports=n.exports},kjd8:function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var e=function(t,e){t.type=\"button\",t.props||(t.props={}),t.props.type=e};t.toButtonHandler=e})},\"kl+Y\":function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAACdNJREFUeNrtm3tQlWUawH/vdw544HC/qRiXRAWlvGJeEsEtY3fooumw1WpW47TNTmtltVMNtjXjjtWuTSOF1aiRDkm2MLajedmB0MFLcmldhEKIVjBAEPCcI4qcw3n3j+/gcVM4h8vhmMvvH2Y4z/e+z+X73ud93u/5YIQRRhhhhP9XhLsVcISUJ18EvR6uXIboaCSNEByMwATBwUhlA2i1IA6A0YjongjnzoESA6dPC5GQAJcuuduO3nB7AKSUEoSAsgxYtAisf4KHHgJ+BXffDXwJ06YB/1Id3W8T/wKVlSCPwaFDSLEHdu9G1P4I+flCpKVBd7e77B/2AEhrxXLw8UFcfgWefRYpK2H1agSTISZmGFX5HBoaQDwCGRlIJGzeLJSE2WAwDJcSLg/A1Ttcli6ClSsRMgE2bAB+C+Hhw2WoE4yH1lZgJbz2GiTshS1bhBACrFZXTeqyAEhrSTGEhIBshM8+QzAWFi921XxDb4B4GfLzEfwNVq5Uc0lj41BPM+QBkLK0FGbNAms15OUBMRAZOSxOcw1nbY4PhNRUIWYnw7ffDtXgQxaAaxzfCvn5qsL+/m5wmIsQj4PJBFYDpKQIcVcDHDs22FGVwQ4g5Yk/QHw80toE+/dzyzn+qqXbwdcXxHTYu/eq3YNkwAGw78+Vv0NeHoIwdc2/5XkTAgNBdMHu3WquG/gNN4gnoCsNNm4EuRcmTXK3V9zA72HCBAR58N57Ax2k3wGQ1hNLYeFCoBSeftqR/NGjx48HBYHBYDB4eLjXY85QX19f7+UFp05VVPj5OeWRCFi1SsrieEhK6u98A3gCxDPw5pvAbLWCvTHHjqmO37Pnq69Gj4asrB07IiLAapVSuL3+vp729gsXPDxgy5ZPPomKgpycXbvGjYOGhsZGna7PS1U/SELhrbf6O6/TAZDW0iaYOhWYCJGRSIKhthb7Ng2A1ta2Nk9P2L//4MGwMHjppeefr6kBvV6v7+6GI0eOHg0Kcre7ryc7e+fO226DlJTFi5ubIS1t+fKffoKdO9VAOETwV5g7V8qSEvVIxTkGfS/az3JKmuCLL6xWa50Qy5Z1dHR0aDTg6+vra7GA2WyxCAFmc1eXooC3t7e3+05grqdnifT39/c3m+3/NxqNRq0W/Pz8/CwWp1z6JWRnC5GwHlascCjtnIMVBcrLb5jtpSUL/PyguwxycnruBHc71G1ICqCjAwLqIThYKBPfhytXehN3IgBXk0sWFBa6275fEE9AcrIQsyvg0KHehJzIAeJTSEhwtzW/PMRMZ1YCJ87X5UFb8u3zIK1nd9PZefmy0o+9laenp6fVClqtVivl8Lnn5znJWby8dLrubhDC0VWyAiZPdjSe4wBI/gihoQi+70uspKSkJCAA9u1Tdz92Q81mVVVF8fYGjUZRrlwBRRHCbIb4+ClTTCZYvnzp0oYGV7r8f8nNzcsLD4eqqupqH5+eXKfqq9WCEFqtTgdarRCXLoEQQlit8MADqalNTTBz5vTpfb41kLxhO25/sC89HOcAa/F6OH4cQQrMmeNQ3mbItm1ZWVFR4OsbE7N6NaSlrV2bng7d3RaL2Qxnznz99eOPw/jxgYE5OcPn+J9jMplMWi28++6mTTExsHTpCy988AFMnbpw4T33gNF4/nxTE1gsFRWJiRAUpNfX1DgxsOQAfPONUGan97UUOX74BPf0VXD9nOrqmhofHzh5srzczw98fQMDg4Ptv2s0Wq2HB5w5c/78ggXXX19QUFgYEmIvhKqra2r0enuF2tjY1KTTQWtra6unp/1vff3Zs15eUFNTW6vXq+OEhkJGRmbm+PG961tYePhwSIh9HB+fwMBr6xQ/v5CQMWOgpKS8/M47+xFZId5w5lWnM0vQarh4EUGWM/MajeodFRIyblxEBJSV5efv3w86nbe3Xm+XO3gwO3vHDkhKev11IUBRFEVKSEpasKC1FbZt2749MhIyMz/66Pbb7U+WTqfTWa0QHBwc3NUFFou6lhsMRuOoURAVNWFCaCj8+GNVVXOzvRDsXV91nx8ZGRcXHw+5uZs2vf02LFz48MOPPgr19VVVlZXQ0lJZqb4FcHaLLQOgrQ04P7gACH4HZ886NylMmjRhwsWLEB2dmpqZCRcutLS0tMCmTWvWPPWUXW7GjGnTDAa743vQaNRk/OCD99/f1AR1defOxcSAt7ePj78/pKQkJhYU2NfgnsBs3frpp9HRYDBcvBgUBFOmxMWZTBAWFhbW+y4cEhLmzw8IgNjYZct27oQ9e7ZsyciA7OwNG9ats8s98khamtHorBcAWGsLwGuDCwC8D99/j4NdUA89FWNj4+nTK1ZAWVlRUVAQhIaGhHR1QWxsbKzJpCazc+d6H2f0aNVxERFhYT/8oCZvuD75qe9s4bHH0tLq6+GddzZuHDUK7rsvOfnCBcf6xsZGRZ06BVVV+/atWAF1dWVltbUQHj52bGcnzJ07Z057O8ybN2dOW1t//C/K4eRJh1KOBOxnG1JCQUF/VBgKOjs7OxUFNBqNBsDDw8Ojr1fkPbsuR3IuRwogMVHtsigq6k3MiQB8LUGnA59Dtq4BPXh7u9G0m51YMBrBMhnGjBFi3k9w+XJvwg53QUIsEtDZCbwOu3e727qbH5EAubmOHN9DP2pAZTls3epu825+ZBVs3+6sdL+Po6UsLrStaXpb6+AIKh1w5IjatnKjCufGDKDXkiRITwc225Ly7P4UajchxeoGg0qoq0OydmC9osp38Oqr/b1qwI6TsngmZGUBH8GqVcPosKFFis2wbp1QErbB+vXDPf1AngCb4lYDrFmD0LwF8+eDfAUmThxuAwaNIBzi4qS1bK7a5dAd5FQvqNQawWQSyowiaGkZ+PSDRFqLt8MddyDIgcOHudo3c8vyZ2hvBxkNiYlC3JUJFRUDHWwIWxNPhMO8eaD4w4ED9k6yWwZ1fy9FFaSmOiqwnMUFzbnFhTBjBtAOe/cCt8HYscPuLkkc7NuHEHdCff3gBxS58PHHQsyaBaWlQ6Wm69rT5YnPYcwYpFgCO3Yg+Dfce6+r5rvGpFTbp0nNEBvr+vkGqa2rJ7B3VZT+Gp58Eq5+oLEEQkNdMOV0sFhAPAXp6UjW2PqXHHhCPgHNzY5eog81bvhEqahFzQ2j3oNnnkGIWnjuOZBrwakWqKFirLo0iZdtvZ0vwocfDvdHfW4voKTctQs0Goj+DpKTQSTBkiUgHradwq6HKVPof8HXBWYzUvwGKioQ8h9QVIRU6mDXLsTMlWrl6tpPkBzh9gA4Qspj48DLC+lZqtYZchKMHg3kQ0AAwnq7Wrkq/4H2dmT3P6GtDXHpFaiquuYwcYQRRhhhhBFuKv4LZx7BFwViSIkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMTAtMjVUMTQ6MDc6MjErMDg6MDCWtLvnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTEwLTI1VDE0OjA3OjIxKzA4OjAw5+kDWwAAAHp0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2E2cmdreGNtbWEvJUU1JThEJUExJUU5JTgwJTlBJUU1JUE0JUI0JUU1JTgzJThGJUU4JUExJUE4JUU2JTgzJTg1Ny5zdmc0hUKDAAAAAElFTkSuQmCC\"},ku8z:function(t,e){},kww3:function(t,e,a){function i(t){a(\"o3ex\")}var n=a(\"VU/8\")(a(\"vpa7\"),a(\"JQOp\"),i,null,null);t.exports=n.exports},\"l+e5\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"O6S8\"),a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={data:function(){return{direction:\"\",tipStyle:\"\"}},methods:{showTip:function(t){switch(this.direction=t,this.$refs.tip2.show(),t){case\"bottom\":this.tipStyle=\"left: 96px; top: -50px;\";break;case\"top\":this.tipStyle=\"left: 96px; top: 40px;\";break;case\"right\":this.tipStyle=\"left: -2px; top: -5px;\";break;case\"left\":this.tipStyle=\"left: 190px; top: -5px;\"}},close:function(){console.log(\"click close button\")},clickHandler:function(){console.log(\"click tip area\")}},components:{CubeButtonGroup:l.default,CubePage:c.default}},t.exports=e.default})},l6Sg:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"textarea-view\",title:\"Textarea\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"textarea-wrapper\"},[a(\"cube-textarea\",{attrs:{disabled:t.disabled,maxlength:+t.maxlength||60,indicator:t.showIndicator?t.indicator:t.showIndicator,width:t.width||\"300px\"},model:{value:t.text,callback:function(e){t.text=e},expression:\"text\"}})],1),t._v(\" \"),a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Options\")]),t._v(\" \"),a(\"div\",{staticClass:\"option-list\"},[a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"disabled\",value:t.disabled},on:{\"update:value\":t.updateDisabled}}),t._v(\" \"),a(\"input-option\",{staticClass:\"item sub\",attrs:{name:\"maxlength\",value:t.maxlength},on:{\"update:value\":t.updateMaxlength}}),t._v(\" \"),a(\"input-option\",{staticClass:\"item sub\",attrs:{name:\"width\",value:t.width},on:{\"update:value\":t.updateWidth}})],1),t._v(\" \"),a(\"div\",{staticClass:\"group\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"indicator\",value:t.showIndicator},on:{\"update:value\":t.updateIndicator}}),t._v(\" \"),t.showIndicator?a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"negative\",value:t.indicator.negative},on:{\"update:value\":t.updateIndicatorNegative}}):t._e(),t._v(\" \"),t.showIndicator?a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"remain\",value:t.indicator.remain},on:{\"update:value\":t.updateIndicatorRemain}}):t._e()],1)])]),t._v(\" \"),a(\"div\",{staticClass:\"title\"},[t._v(\"named slot indicator & forceExpand: true\")]),t._v(\" \"),a(\"div\",{staticClass:\"textarea-wrapper\"},[a(\"cube-textarea\",{attrs:{\"force-expand\":!0,maxlength:+t.maxlength||60,indicator:!1,width:t.width||\"300px\"},scopedSlots:t._u([{key:\"indicator\",fn:function(e){var i=e.remain;return a(\"span\",{staticClass:\"cube-textarea-indicator\"},[t._v(t._s(i)+\"/\"+t._s(t.maxlength||60))])}}]),model:{value:t.text,callback:function(e){t.text=e},expression:\"text\"}})],1)])])},staticRenderFns:[]}},lLnp:function(t,e){},lQMO:function(t,e,a){function i(t){a(\"y9Aq\")}var n=a(\"VU/8\")(a(\"uE8O\"),a(\"Emnr\"),i,null,null);t.exports=n.exports},lS1B:function(t,e){},lVK7:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"b1gV\"),a(\"UFDc\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){n.installed||(n.installed=!0,l.forEach(function(e){e!==a.Radio&&e.install(t)}))}Object.defineProperty(e,\"__esModule\",{value:!0}),Object.keys(a).forEach(function(t){\"default\"!==t&&\"__esModule\"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return a[t]}})});var l=[a.Locale,a.Button,a.Loading,a.Tip,a.Toolbar,a.TabBar,a.TabPanels,a.Checkbox,a.CheckboxGroup,a.Checker,a.Radio,a.RadioGroup,a.Input,a.Textarea,a.Select,a.Switch,a.Rate,a.Validator,a.Upload,a.Form,a.Popup,a.Toast,a.Picker,a.CascadePicker,a.DatePicker,a.TimePicker,a.SegmentPicker,a.Dialog,a.ActionSheet,a.Drawer,a.ImagePreview,a.Scroll,a.Slide,a.IndexList,a.Swipe,a.Sticky,a.ScrollNav,a.ScrollNavBar,a.RecycleList],c={version:\"1.12.53\",install:n,BScroll:a.BetterScroll,createAPI:a.createAPI};l.forEach(function(t){var e=(0,i.processComponentName)(t,{firstUpperCase:!0});c[e]=t}),\"undefined\"!=typeof window&&window.Vue&&window.Vue.use(n),e.default=c,t.exports=e.default})},lVze:function(t,e,a){function i(t){a(\"+akI\")}var n=a(\"VU/8\")(a(\"MNuz\"),a(\"Eu3/\"),i,null,null);t.exports=n.exports},li82:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-slide-item\"},[t._t(\"default\",[a(\"a\",{attrs:{href:t.item.url}},[a(\"img\",{attrs:{src:t.item.image}})])])],2)},staticRenderFns:[]}},lzDd:function(t,e){},\"m/LA\":function(t,e,a){function i(t){a(\"aA6D\")}var n=a(\"VU/8\")(a(\"H+BD\"),a(\"udGh\"),i,null,null);t.exports=n.exports},mJX1:function(t,e){},mLUJ:function(t,e){},\"mW/s\":function(t,e){},mZtU:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"jd\",attrs:{type:\"scroll-view\",title:\"Scroll\"}},[a(\"div\",{staticClass:\"scroll-list-wrap\",attrs:{slot:\"content\"},slot:\"content\"},[a(\"header\",{ref:\"topHeader\"},[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/_tEw0ofPJ9/jd_header2.png\"}})]),t._v(\" \"),a(\"cube-scroll\",{ref:\"scroll\",attrs:{data:[],\"scroll-events\":[\"scroll\"],options:t.options},on:{scroll:t.onScrollHandle,\"pulling-down\":t.onPullingDown},scopedSlots:t._u([{key:\"pulldown\",fn:function(e){return[e.pullDownRefresh?a(\"div\",{staticClass:\"cube-pulldown-wrapper\",style:t.pullDownStyle},[a(\"div\",{staticClass:\"pulldown-content\"},[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/7d895941-251f-471f-abc4-3eca25762465.jpg\"},on:{load:t.onImgLoad}}),t._v(\" \"),e.beforePullDown?a(\"span\",[t._v(t._s(t.pullDownTip))]):[e.isPullingDown?a(\"span\",[t._v(\"正在更新...\")]):a(\"span\",[t._v(\"更新成功\")])]],2)]):t._e()]}}])},[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/RWEjWgWJ4x/jd_content.JPG\"},on:{load:t.onImgLoad}}),t._v(\" \"),a(\"img\",{staticClass:\"ghostly-img\",attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/cVujBAH2sp/jd_footer2.png\"},on:{load:t.onImgLoad}})]),t._v(\" \"),a(\"footer\",[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/cVujBAH2sp/jd_footer2.png\"}})]),t._v(\" \"),a(\"transition\",{attrs:{name:\"surprise-page\"}},[t.triggerSurprise?a(\"div\",{staticClass:\"surprise-page\",on:{click:t.surpriseHandle}},[a(\"img\",{attrs:{src:\"https://dpubstatic.udache.com/static/dpubimg/42DhMSHmIY/ad_fullpage2.jpg\"}})]):t._e()])],1)])},staticRenderFns:[]}},mkLW:function(t,e,a){function i(t){a(\"qITJ\")}var n=a(\"VU/8\")(a(\"oVd1\"),a(\"Fxpn\"),i,null,null);t.exports=n.exports},mok4:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"3kPI\"),a(\"kAHR\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);o.default.install=function(t){t.component(u.default.name,u.default),t.component(o.default.name,o.default),r.default.install(t),(0,s.default)(t,u.default)},o.default.Picker=u.default,e.default=o.default,t.exports=e.default})},mrVp:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"recycle-list\",title:\"RecycleList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-recycle-list\",{staticClass:\"list\",attrs:{size:t.size,\"on-fetch\":t.onFetch,offset:t.offset},scopedSlots:t._u([{key:\"item\",fn:function(e){var i=e.data;return[a(\"div\",{staticClass:\"item\",attrs:{id:i.id},on:{click:function(e){t.handleClick(i)}}},[a(\"div\",{staticClass:\"avatar\",style:{backgroundImage:\"url(\"+(i.avatar||\"\")+\")\"}}),t._v(\" \"),a(\"div\",{staticClass:\"bubble\"},[a(\"p\",[t._v(t._s(i.msg))]),t._v(\" \"),a(\"div\",{staticClass:\"meta\"},[a(\"time\",{staticClass:\"posted-date\"},[t._v(t._s(i.time))])])])])]}}])})],1)])])},staticRenderFns:[]}},mvDF:function(t,e,a){function i(t){a(\"OyTe\")}var n=a(\"VU/8\")(a(\"UKcw\"),a(\"mrVp\"),i,null,null);t.exports=n.exports},mwCR:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"page-move\"}},[a(\"router-view\",{staticClass:\"cube-view\"})],1)},staticRenderFns:[]}},\"mz/u\":function(t,e){},nDaK:function(t,e){},nFiz:function(t,e){},nPBw:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"😀 😁 😂 🤣 😃 😄 \",\"🙂 🤗 🤩 🤔 🤨 😐 \",\"👆🏻 scroll up/down 👇🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👆🏻 scroll up/down 👇🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \",\"🤓 🤓 🤓 🤓 🤓 🤓 \",\"👆🏻 scroll up/down 👇🏻 \",\"🦔 🦔 🦔 🦔 🦔 🦔 \",\"🙈 🙈 🙈 🙈 🙈 🙈 \",\"👆🏻 scroll up/down 👇🏻 \",\"🚖 🚖 🚖 🚖 🚖 🚖 \",\"✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 \"];e.default={data:function(){return{scrollY:0,checkTop:!1,items:n.concat(),items2:n.concat(),items3:n.concat()}},methods:{scrollHandler:function(t){this.scrollY=t.currentTarget.scrollTop}},components:{CubePage:i.default}},t.exports=e.default})},nSGU:function(t,e){},nb3f:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"tx1y\"),a(\"eZWf\"),a(\"6KDq\"),a(\"wIkl\"),a(\"TMiY\"),a(\"JgmB\"),a(\"8jxs\"),a(\"4xIg\"),a(\"yB4N\"),a(\"1H2N\"),a(\"DXQ8\"),a(\"m/LA\"),a(\"hdAL\"),a(\"Bhgd\"),a(\"BH5X\"),a(\"gYth\"),a(\"zZ81\"),a(\"Jp5a\"),a(\"p9oh\"),a(\"ZiC1\"),a(\"pmij\"),a(\"5HTY\"),a(\"YVqS\"),a(\"AnsX\"),a(\"AgjA\"),a(\"W2Hj\"),a(\"c7sT\"),a(\"SW1b\"),a(\"4BmD\"),a(\"BHjP\"),a(\"H61/\"),a(\"UgWs\"),a(\"JKih\"),a(\"DD7W\"),a(\"07pW\"),a(\"Bf/j\"),a(\"1btU\"),a(\"kBQQ\"),a(\"8F4S\"),a(\"A5db\"),a(\"Pe8L\"),a(\"KrQh\"),a(\"eE6y\"),a(\"dTzF\"),a(\"58Ml\"),a(\"qWZY\"),a(\"zI96\"),a(\"VcN6\"),a(\"DIVr\"),a(\"UqhO\"),a(\"eClu\"),a(\"cQz5\"),a(\"kgN1\"),a(\"h8Kk\"),a(\"uGVW\"),a(\"7tZM\"),a(\"QreJ\"),a(\"91me\"),a(\"U4Ng\"),a(\"TCNK\"),a(\"cSnO\"),a(\"Cfx3\"),a(\"8YJ/\"),a(\"3jWI\"),a(\"wnnB\"),a(\"0MNC\"),a(\"ZXOh\"),a(\"UchT\"),a(\"U8em\"),a(\"6boj\"),a(\"Ojzo\"),a(\"KIfi\"),a(\"YGd9\"),a(\"a0bD\"),a(\"mvDF\"),a(\"UrdA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r,d,v,p,f,h,x,y,m,b,g,_,w,k,A,C,T,j,P,S,M,D,V,I,O,E,U,R,B,H,N,L,F,X,K,z,Y,G,Q,q,W,Z,J,$,tt,et,at,it,nt,lt,ct,ut,ot,st,rt,dt,vt,pt,ft,ht,xt,yt,mt,bt,gt,_t,wt,kt){\"use strict\";function At(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var Ct=At(a),Tt=At(i),jt=At(n),Pt=At(l),St=At(c),Mt=At(u),Dt=At(o),Vt=At(s),It=At(r),Ot=At(d),Et=At(v),Ut=At(p),Rt=At(f),Bt=At(h),Ht=At(x),Nt=At(y),Lt=At(m),Ft=At(b),Xt=At(g),Kt=At(_),zt=At(w),Yt=At(k),Gt=At(A),Qt=At(C),qt=At(T),Wt=At(j),Zt=At(P),Jt=At(S),$t=At(M),te=At(D),ee=At(V),ae=At(I),ie=At(O),ne=At(E),le=At(U),ce=At(R),ue=At(B),oe=At(H),se=At(N),re=At(L),de=At(F),ve=At(X),pe=At(K),fe=At(z),he=At(Y),xe=At(G),ye=At(Q),me=At(q),be=At(W),ge=At(Z),_e=At(J),we=At($),ke=At(tt),Ae=At(et),Ce=At(at),Te=At(it),je=At(nt),Pe=At(lt),Se=At(ct),Me=At(ut),De=At(ot),Ve=At(st),Ie=At(rt),Oe=At(dt),Ee=At(vt),Ue=At(pt),Re=At(ft),Be=At(ht),He=At(xt),Ne=At(yt),Le=At(mt),Fe=At(bt),Xe=At(gt),Ke=At(_t),ze=At(wt),Ye=At(kt),Ge=[{path:\"/button\",component:Ct.default},{path:\"/checkbox\",component:Tt.default},{path:\"/checkbox-group\",component:jt.default},{path:\"/checker\",component:Xe.default},{path:\"/radio\",component:Pt.default},{path:\"/input\",component:Ot.default},{path:\"/textarea\",component:Et.default},{path:\"/switch\",component:St.default},{path:\"/form\",component:Rt.default,children:[{path:\"default\",component:Bt.default},{path:\"custom\",component:Ht.default},{path:\"classic\",component:Nt.default},{path:\"fresh\",component:Lt.default},{path:\"questionnaire\",component:Ft.default}]},{path:\"/loading\",component:Mt.default},{path:\"/tip\",component:Dt.default},{path:\"/toolbar\",component:Ce.default},{path:\"/popup\",component:Vt.default},{path:\"/toast\",component:It.default},{path:\"/rate\",component:Ut.default},{path:\"/picker\",component:Xt.default},{path:\"/cascade-picker\",component:Kt.default},{path:\"/segment-picker\",component:zt.default},{path:\"/date-picker\",component:Yt.default},{path:\"/time-picker\",component:Gt.default},{path:\"/select\",component:Qt.default},{path:\"/dialog\",component:qt.default},{path:\"/action-sheet\",component:Wt.default},{path:\"/drawer\",component:be.default,children:[{path:\"default\",component:ge.default},{path:\"custom\",component:_e.default}]},{path:\"/image-preview\",component:Ee.default,children:[{path:\"multi-images-preview\",component:Ue.default}]},{path:\"/scroll\",component:Zt.default,children:[{path:\"default\",component:Jt.default},{path:\"config\",component:$t.default},{path:\"jd\",component:te.default},{path:\"horizontal\",component:ee.default},{path:\"toutiao\",component:ae.default},{path:\"v-scrolls\",component:ie.default},{path:\"h-scrolls\",component:ne.default},{path:\"textarea\",component:le.default}]},{path:\"/index-list\",component:ce.default,children:[{path:\"default\",component:ue.default},{path:\"custom\",component:oe.default},{path:\"pull-up-load\",component:se.default},{path:\"pull-down-refresh\",component:re.default}]},{path:\"/upload\",component:de.default,children:[{path:\"default\",component:ve.default},{path:\"compress\",component:pe.default},{path:\"custom\",component:fe.default}]},{path:\"/validator\",component:he.default},{path:\"/swipe\",component:xe.default,children:[{path:\"default\",component:ye.default},{path:\"custom\",component:me.default}]},{path:\"/slide\",component:we.default,children:[{path:\"vertical\",component:ke.default},{path:\"horizontal\",component:Ae.default}]},{path:\"/toolbar\",component:Ce.default},{path:\"/sticky\",component:Te.default,children:[{path:\"scroll\",component:je.default},{path:\"native\",component:Pe.default},{path:\"wechat\",component:Se.default},{path:\"complex\",component:Me.default}]},{path:\"/scroll-nav-bar\",component:De.default},{path:\"/scroll-nav\",component:Ve.default,children:[{path:\"default\",component:Ie.default},{path:\"side\",component:Oe.default}]},{path:\"/tab-bar\",component:Re.default,children:[{path:\"tab-bar\",component:Be.default},{path:\"scroll-tab\",component:Fe.default},{path:\"tab\",component:He.default,children:[{path:\"basic\",component:Ne.default},{path:\"composite\",component:Le.default}]}]},{path:\"/recycle-list\",component:Ke.default,children:[{path:\"default\",component:ze.default},{path:\"tombstone\",component:Ye.default}]}];e.default=Ge,t.exports=e.default})},niVN:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){(0,n.default)(t,e,[\"mask-click\"],!0)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var n=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},nlvd:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={cancel:\"Cancel\",confirm:\"Confirm\",ok:\"OK\",prev:\"Prev\",next:\"Next\",selectText:\"Please select\",now:\"Now\",selectTime:\"Select time\",today:\"Today\",formatDate:\"M-D\",hours:\"\",minutes:\"\",validator:{required:\"Required.\",type:{string:\"Please input characters.\",number:\"Please input numbers.\",array:\"The data type should be array.\",date:\"Please select a valid date.\",email:\"Please input a valid E-mail.\",tel:\"Please input a valid telphone number.\",url:\"Please input a valid web site.\"},min:{string:\"Please input at least {{config}} characters.\",number:\"The number could not smaller than {{config}}.\",array:\"Please select at least {{config}} items.\",date:'Please select a date after {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',email:\"Please input at least {{config}} characters.\",tel:\"Please input at least {{config}} characters.\",url:\"Please input at least {{config}} characters.\"},max:{string:\"Please input no more than {{config}} characters.\",number:\"The number could not bigger than {{config}}\",array:\"Please select no more than  {{config}} items\",date:'Please select a date before {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',email:\"Please input no more than {{config}} characters.\",tel:\"Please input no more than {{config}} characters.\",url:\"Please input no more than {{config}} characters.\"},len:{string:\"Please input {{config}} characters.\",number:\"The length should equal {{config}}\",array:\"Please select {{config}} items\",date:'Please select {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',email:\"Please input {{config}} characters.\",tel:\"Please input {{config}} characters.\",url:\"Please input {{config}} characters.\"},pattern:'The input don\"t match pattern.',custom:\"Invalid.\",notWhitespace:\"Whitespace is invalid.\"}},t.exports=e.default})},nmXI:function(t,e){},nowG:function(t,e){},nqbe:function(t,e){},nr3t:function(t,e){},nrl6:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"VzLe\"),a(\"t3q3\"),a(\"kAHR\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l),v=u(c);s.default.install=function(t){t.component(o.default.name,o.default),t.component(s.default.name,s.default),v.default.install(t),(0,d.default)(t,o.default),(0,r.default)(t,s.default)},s.default.Picker=o.default,e.default=s.default,t.exports=e.default})},\"o/OE\":function(t,e){t.exports=[{name:\"★ Hot City\",shortcut:\"★\",items:[{name:\"BEIJING\",value:1},{name:\"SHANGHAI\",value:2}]},{name:\"A\",items:[{name:\"ANSHAN\",value:3},{name:\"ANQING\",value:4}]},{name:\"B\",items:[{name:\"BEIJING\",value:1},{name:\"BAYINGUOLENGZHOU\",value:5},{name:\"BOERTALAZHOU\",value:6}]},{name:\"C\",items:[{name:\"CHENGDU\",value:7}]},{name:\"E\",items:[{name:\"EERDUOSI\",value:8},{name:\"EZHOU\",value:9},{name:\"ENSHIZHOU\",value:10}]},{name:\"F\",items:[{name:\"FUZHOU\",value:11},{name:\"FOSHAN\",value:12},{name:\"FANGCHENGGANG\",value:13}]},{name:\"G\",items:[{name:\"GUANGZHOU\",value:14},{name:\"GUIYANG\",value:15}]},{name:\"H\",items:[{name:\"HANGZHOU\",value:16},{name:\"HETIANDIQU\",value:17}]},{name:\"Z\",items:[{name:\"ZHENGZHOU\",value:18},{name:\"ZHANGJIAKOU\",value:19},{name:\"ZHANGJIAJIE\",value:20},{name:\"ZHUHAI\",value:21},{name:\"ZHONGSHAN\",value:22},{name:\"ZIGONG\",value:23},{name:\"ZIYANG\",value:24},{name:\"ZHAOZHUANG\",value:25},{name:\"ZHOUSHAN\",value:26},{name:\"ZUNYI\",value:27},{name:\"ZIBO\",value:28},{name:\"ZHUZHOU\",value:29},{name:\"ZHONGWEI\",value:30}]}]},o3ex:function(t,e){},\"oIl+\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"checkbox-group-view\",title:\"CheckboxGroup\"}},[a(\"template\",{slot:\"content\"},[a(\"cube-checkbox-group\",{attrs:{options:t.options},model:{value:t.checkList,callback:function(e){t.checkList=e},expression:\"checkList\"}}),t._v(\" \"),a(\"p\",[t._v(\"checkList value : \"+t._s(t.checkList))]),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checkbox-group\",{attrs:{options:t.options,horizontal:!0,position:\"right\",shape:\"square\",\"hollow-style\":!0},model:{value:t.checkList,callback:function(e){t.checkList=e},expression:\"checkList\"}}),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-checkbox-group\",{model:{value:t.checkList,callback:function(e){t.checkList=e},expression:\"checkList\"}},[a(\"cube-checkbox\",{attrs:{option:\"1\"}},[a(\"i\",[t._v(\"Checkbox 1\")])]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{option:\"2\"}},[a(\"i\",[t._v(\"Checkbox 2\")])]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{option:{value:\"3\",disabled:!0}}},[a(\"i\",[t._v(\"Disabled Checkbox\")])]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{option:{value:\"4\",disabled:!0}}},[a(\"i\",[t._v(\"Disabled & Checked Checkbox\")])])],1),t._v(\" \"),a(\"br\"),t._v(\" \"),a(\"cube-input\",{attrs:{placeholder:\"Input column number\"},model:{value:t.colNum,callback:function(e){t.colNum=e},expression:\"colNum\"}},[a(\"div\",{staticStyle:{paddingLeft:\"10px\"},attrs:{slot:\"prepend\"},slot:\"prepend\"},[t._v(\" Column number:\")])]),t._v(\" \"),a(\"cube-checkbox-group\",{attrs:{options:t.colOptions,\"col-num\":Math.floor(t.colNum)},model:{value:t.colCheckList,callback:function(e){t.colCheckList=e},expression:\"colCheckList\"}}),t._v(\" \"),a(\"br\")],1)],2)},staticRenderFns:[]}},oLGW:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"BD2p\"),a(\"ZhPo\"),a(\"AQXh\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);c.default.install=function(t){t.component(c.default.name,c.default),t.component(u.default.name,u.default),t.component(o.default.name,o.default)},c.default.Btn=u.default,c.default.File=o.default,e.default=c.default,t.exports=e.default})},oVd1:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-radio\",inject:{radioGroup:{default:null}},props:{value:[String,Number],option:{type:[String,Object],required:!0},position:{type:String,default:\"left\"},hollowStyle:{type:Boolean,default:!1}},data:function(){return{radioValue:this.value}},created:function(){var t=this,e=this.radioGroup;e&&void 0!==e.radioValue&&(this.radioValue=e.radioValue,this._cancelWatchGroup=this.$watch(function(){return e.radioValue},function(e){t.radioValue=e}))},beforeDestroy:function(){this._cancelWatchGroup&&this._cancelWatchGroup(),this._cancelWatchGroup=null},watch:{value:function(t){this.radioValue=t},radioValue:function(t){\"number\"==typeof this.value&&(t=Number(t)),this.$emit(\"input\",t),this.radioGroup&&(this.radioGroup.radioValue=t)}},computed:{computedOption:function(){var t=this.option;return\"string\"==typeof t?{value:t,label:t}:t},_containerClass:function(){var t=this.computedOption;return{\"cube-radio-hollow\":this.hollowStyle,\"cube-radio_selected\":this.radioValue===t.value,\"cube-radio_disabled\":t.disabled,\"border-right-1px\":this.$parent.horizontal}},_wrapClass:function(){var t=this.$parent;if(!(t.horizontal||t.$props.colNum>1))return\"border-bottom-1px\"}}},t.exports=e.default})},oiuS:function(t,e){},ooaU:function(t,e){},osO1:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"j9ag\"),a(\"4KJe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);l.default.localeMixin=c.default,e.default=l.default,t.exports=e.default})},p9oh:function(t,e,a){var i=a(\"VU/8\")(a(\"e3O1\"),a(\"XU5Z\"),null,null,null);t.exports=i.exports},pVCu:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-tab\",class:{\"cube-tab_active\":t.isActive},on:{click:t.handleClick}},[t._t(\"icon\",[a(\"i\",{class:t.icon})]),t._v(\" \"),t._t(\"default\",[a(\"div\",{domProps:{innerHTML:t._s(t.label)}})])],2)},staticRenderFns:[]}},\"pWL+\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"YlpP\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i),u=c.default.goods;e.default={components:{CubePage:l.default},data:function(){return{data:u}},methods:{changeHandler:function(t){console.log(\"changed to:\",t)}}},t.exports=e.default})},pegF:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"tabs-basic-view\",title:\"tab-basic\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-tab-bar\",{attrs:{\"show-slider\":\"\"},model:{value:t.selectedLabel,callback:function(e){t.selectedLabel=e},expression:\"selectedLabel\"}},t._l(t.tabs,function(t,e){return a(\"cube-tab\",{key:t.label,attrs:{label:t.label,icon:t.icon}})})),t._v(\" \"),a(\"cube-tab-panels\",{model:{value:t.selectedLabel,callback:function(e){t.selectedLabel=e},expression:\"selectedLabel\"}},t._l(t.tabs,function(e,i){return a(\"cube-tab-panel\",{key:e.label,attrs:{label:e.label}},[a(\"ul\",t._l(e.heroes,function(e,i){return a(\"li\",{key:i,staticClass:\"tab-panel-li\"},[t._v(\"\\n            \"+t._s(e)+\"\\n          \")])}))])}))],1)])},staticRenderFns:[]}},phPD:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"tab-entry\",title:\"Tab Entry\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"basic\")}}},[t._v(\"tab-basic\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"composite\")}}},[t._v(\"tab-composite\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},piyO:function(t,e,a){function i(t){a(\"Jhh2\")}var n=a(\"VU/8\")(a(\"9O6X\"),a(\"atd8\"),i,null,null);t.exports=n.exports},\"pjk/\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"woOf\"),a(\"t7U9\"),a(\"cL1+\"),a(\"bh5B\"),a(\"6liq\"),a(\"QMhb\"),a(\"kVGr\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=s(a),d=s(l),v=s(c),p=s(u),f=s(o),h=n.inBrowser&&window.innerHeight<=480?17:18,x=(0,i.prefixStyle)(\"transform\");e.default={name:\"cube-index-list\",mixins:[p.default,f.default],props:{title:{type:String,default:\"\"},data:{type:Array,default:function(){return[]}},speed:{type:Number,default:0},navbar:{type:Boolean,default:!0},pullDownRefresh:{type:[Object,Boolean],default:void 0,deprecated:{replacedBy:\"options\"}},pullUpLoad:{type:[Object,Boolean],default:void 0,deprecated:{replacedBy:\"options\"}}},data:function(){return{scrollEvents:[\"scroll\"],currentIndex:0,scrollY:-1,diff:-1,titleHeight:0}},computed:{hasTitle:function(){return this.title||this.$slots.title},fixedTitle:function(){return this.hasTitle&&!this.titleHeight&&this._caculateTitleHeight(),this.scrollY<=-this.titleHeight&&this.data[this.currentIndex]?this.data[this.currentIndex].name:\"\"},shortcutList:function(){return this.data.map(function(t){return t?t.shortcut||t.name.substr(0,1):\"\"})},scrollOptions:function(){return(0,r.default)({},{pullDownRefresh:this.pullDownRefresh,pullUpLoad:this.pullUpLoad},this.options)}},created:function(){this.groupList=[],this.listHeight=[],this.touch={},this.subTitleHeight=0},mounted:function(){var t=this;this.$nextTick(function(){t.refresh()})},methods:{refresh:function(){this._caculateTitleHeight(),this._calculateHeight(),this.$refs.scroll&&this.$refs.scroll.refresh()},selectItem:function(t){this.$emit(\"select\",t)},scroll:function(t){this.scrollY=t.y},titleClick:function(){this.$emit(\"title-click\",this.title)},forceUpdate:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$refs.scroll.forceUpdate(e,a),e&&this.$nextTick(function(){t._calculateHeight()})},onShortcutTouchStart:function(t){var e=(0,i.getMatchedTarget)(t,\"cube-index-list-nav-item\");if(e){var a=(0,i.getData)(e,\"index\"),n=t.touches[0];this.touch.y1=n.pageY,this.touch.anchorIndex=a,this._scrollTo(a)}},onShortcutTouchMove:function(t){var e=t.touches[0];this.touch.y2=e.pageY;var a=(this.touch.y2-this.touch.y1)/h|0,i=parseInt(this.touch.anchorIndex)+a;this._scrollTo(i)},onPullingUp:function(){this.$emit(\"pulling-up\")},onPullingDown:function(){this.$emit(\"pulling-down\")},_caculateTitleHeight:function(){this.titleHeight=this.$refs.title?(0,i.getRect)(this.$refs.title).height:0},_calculateHeight:function(){this.groupList=this.$el.getElementsByClassName(\"cube-index-list-group\");var t=this.$el.getElementsByClassName(\"cube-index-list-anchor\")[0];if(this.subTitleHeight=t?(0,i.getRect)(t).height:0,this.listHeight=[],this.groupList){var e=this.titleHeight;this.listHeight.push(e);for(var a=0;a<this.groupList.length;a++){e+=this.groupList[a].clientHeight,this.listHeight.push(e)}}},_scrollTo:function(t){t<0?t=0:t>this.listHeight.length-2&&(t=this.listHeight.length-2),this.$refs.scroll.scrollToElement(this.groupList[t],this.speed),this.scrollY=this.$refs.scroll.scroll.y}},watch:{data:function(){var t=this;this.$nextTick(function(){t._calculateHeight()})},title:function(t){var e=this;this.$nextTick(function(){e.refresh()})},diff:function(t){var e=t>0&&t<this.subTitleHeight?t-this.subTitleHeight:0;this.fixedTop!==e&&(this.fixedTop=e,this.$refs.fixed.style[x]=\"translate3d(0,\"+e+\"px,0)\")},scrollY:function(t){var e=this.listHeight;if(t>-this.titleHeight)return void(this.currentIndex=0);for(var a=0;a<e.length-1;a++){var i=e[a],n=e[a+1];if(-t>=i&&-t<n)return this.currentIndex=a,void(this.diff=n+t)}this.currentIndex=e.length-2}},components:{CubeScroll:d.default,CubeIndexListGroup:v.default}},t.exports=e.default})},pjpa:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"group\",staticClass:\"cube-checkbox-group\",class:t.groupClass,attrs:{\"data-horz\":t.horizontal,\"data-col\":t.colNum>1}},[t._t(\"default\",t._l(t.options,function(e,i){return a(\"cube-checkbox\",{key:i,attrs:{option:e,shape:t.shape,position:t.position,\"hollow-style\":t.hollowStyle}})}))],2)},staticRenderFns:[]}},pmij:function(t,e,a){var i=a(\"VU/8\")(a(\"iQ/X\"),a(\"NmRe\"),null,null,null);t.exports=i.exports},pvDH:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"li\",{staticClass:\"cube-index-list-item\",class:t.itemClass,on:{touchstart:t.addActiveCls,touchend:t.removeActiveCls,click:function(e){t.selectItem()}}},[t._t(\"default\",[a(\"div\",{staticClass:\"cube-index-list-item-def border-bottom-1px\"},[t._v(\"\\n      \"+t._s(t.item.name)+\"\\n    \")])])],2)},staticRenderFns:[]}},pwV8:function(t,e,a){function i(t){a(\"CRpU\")}var n=a(\"VU/8\")(a(\"K/GD\"),a(\"u9X6\"),i,null,null);t.exports=n.exports},q70N:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-input\",class:{\"cube-input_active\":t.isFocus}},[t.$slots.prepend?a(\"div\",{staticClass:\"cube-input-prepend\"},[t._t(\"prepend\")],2):t._e(),t._v(\" \"),\"checkbox\"===t._type?a(\"input\",t._b({directives:[{name:\"model\",rawName:\"v-model\",value:t.inputValue,expression:\"inputValue\"}],ref:\"input\",staticClass:\"cube-input-field\",attrs:{disabled:t.disabled,readonly:t.readonly,autocomplete:t.autocomplete,autofocus:t.autofocus,type:\"checkbox\"},domProps:{checked:Array.isArray(t.inputValue)?t._i(t.inputValue,null)>-1:t.inputValue},on:{focus:t.handleFocus,blur:t.handleBlur,change:[function(e){var a=t.inputValue,i=e.target,n=!!i.checked;if(Array.isArray(a)){var l=t._i(a,null);i.checked?l<0&&(t.inputValue=a.concat([null])):l>-1&&(t.inputValue=a.slice(0,l).concat(a.slice(l+1)))}else t.inputValue=n},t.changeHander]}},\"input\",t.$props,!1)):\"radio\"===t._type?a(\"input\",t._b({directives:[{name:\"model\",rawName:\"v-model\",value:t.inputValue,expression:\"inputValue\"}],ref:\"input\",staticClass:\"cube-input-field\",attrs:{disabled:t.disabled,readonly:t.readonly,autocomplete:t.autocomplete,autofocus:t.autofocus,type:\"radio\"},domProps:{checked:t._q(t.inputValue,null)},on:{focus:t.handleFocus,blur:t.handleBlur,change:[function(e){t.inputValue=null},t.changeHander]}},\"input\",t.$props,!1)):a(\"input\",t._b({directives:[{name:\"model\",rawName:\"v-model\",value:t.inputValue,expression:\"inputValue\"}],ref:\"input\",staticClass:\"cube-input-field\",attrs:{disabled:t.disabled,readonly:t.readonly,autocomplete:t.autocomplete,autofocus:t.autofocus,type:t._type},domProps:{value:t.inputValue},on:{focus:t.handleFocus,blur:t.handleBlur,change:t.changeHander,input:function(e){e.target.composing||(t.inputValue=e.target.value)}}},\"input\",t.$props,!1)),t._v(\" \"),t.$slots.append||t._showClear||t._showPwdEye?a(\"div\",{staticClass:\"cube-input-append\"},[t._showClear?a(\"div\",{staticClass:\"cube-input-clear\",on:{touchend:t.handleClear}},[a(\"i\",{staticClass:\"cubeic-wrong\"})]):t._e(),t._v(\" \"),t._showPwdEye?a(\"div\",{staticClass:\"cube-input-eye\",on:{click:t.handlePwdEye}},[a(\"i\",{class:t.eyeClass})]):t._e(),t._v(\" \"),t._t(\"append\")],2):t._e()])},staticRenderFns:[]}},qC0d:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/tab-bar/\"+t)}}},t.exports=e.default})},qGk2:function(t,e){},qITJ:function(t,e){},qKQa:function(t,e){},qWZY:function(t,e,a){function i(t){a(\"nr3t\")}var n=a(\"VU/8\")(a(\"umxa\"),a(\"7wV/\"),i,null,null);t.exports=n.exports},qcQ4:function(t,e){},qefm:function(t,e,a){function i(t){a(\"CDIQ\")}var n=a(\"VU/8\")(a(\"MdHd\"),a(\"I0/a\"),i,null,null);t.exports=n.exports},qeyv:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-validator\",class:t.containerClass},[a(\"div\",{staticClass:\"cube-validator-content\"},[t._t(\"default\")],2),t._v(\" \"),a(\"div\",{staticClass:\"cube-validator-msg\",on:{click:t.msgClickHandler}},[t._t(\"message\",[a(\"span\",{staticClass:\"cube-validator-msg-def\"},[t._v(t._s(t.dirtyOrValidated?t.msg:\"\"))])],{message:t.msg,dirty:t.dirty,validated:t.validated,validating:t.validating,result:t.result})],2)])},staticRenderFns:[]}},qgN4:function(t,e,a){var i=a(\"VU/8\")(a(\"de/F\"),a(\"HS2u\"),null,null,null);t.exports=i.exports},qgol:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-sticky-ele\",inject:[\"sticky\"],props:{eleKey:{type:[Number,String]}},mounted:function(){this.sticky.addEle(this)},methods:{refresh:function(){var t=this.$el;t.firstElementChild&&(t.style.height=\"\",t.style.height=t.offsetHeight+\"px\")}},beforeDestroy:function(){this.sticky.removeEle(this)}},t.exports=e.default})},qqiS:function(t,e,a){function i(t){a(\"gMFX\")}var n=a(\"VU/8\")(a(\"iQe6\"),a(\"bZrS\"),i,null,null);t.exports=n.exports},qr3H:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"demo-select\",on:{click:t.clickHandler}},[a(\"cube-input\",t._b({ref:\"input\",model:{value:t.modelText,callback:function(e){t.modelText=e},expression:\"modelText\"}},\"cube-input\",t.$attrs,!1),[t.icon?a(\"i\",{class:t.icon,attrs:{slot:\"append\"},slot:\"append\"}):t._e()])],1)},staticRenderFns:[]}},qtvM:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"jbJ7\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){var i=t.required,n=\"agreement\"===t.type;if(n&&(i=!0),i){var l={};l.required=n?function(t){return t}:i,(0,a.setRules)(e,t.model,l)}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i,t.exports=e.default})},\"qx+r\":function(t,e){},r6LN:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"SOQt\"),a(\"j9ag\"),a(\"N/gd\"),a(\"Gp4f\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l){\"use strict\";function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var u=c(a),o=c(i),s=c(n),r=c(l);u.default.install=function(t){t.component(s.default.name,s.default),t.component(u.default.name,u.default),o.default.install(t),(0,r.default)(t,u.default)},u.default.Input=s.default,e.default=u.default,t.exports=e.default})},rQlO:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"cube-slide-item\",props:{item:{type:Object,default:function(){return{}}}}},t.exports=e.default})},rViw:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"transition\",{attrs:{name:\"cube-tip-zoom\"}},[a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isVisible,expression:\"isVisible\"}],staticClass:\"cube-tip\",attrs:{\"data-dir\":t.direction},on:{click:t.handleClick}},[a(\"i\",{ref:\"angle\",staticClass:\"cube-tip-angle\"}),t._v(\" \"),a(\"button\",{staticClass:\"cube-tip-close cubeic-close\",on:{click:function(e){return e.stopPropagation(),t.close(e)}}}),t._v(\" \"),a(\"div\",{staticClass:\"cube-tip-content\"},[t._t(\"default\")],2)])])},staticRenderFns:[]}},rcBQ:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"cube-scroll-nav-panel\"},[a(\"cube-sticky-ele\",{attrs:{\"ele-key\":t.label}},[a(\"h2\",{staticClass:\"cube-scroll-nav-panel-title\",domProps:{innerHTML:t._s(t.title)}})]),t._v(\" \"),t._t(\"default\")],2)},staticRenderFns:[]}},rwvr:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"yjF1\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},s0qb:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"cL1+\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";function a(t,e,a,n){for(var l=[],c=t.length,u=0,o=0;o<c;o++)i(t[o],o,e,function(t,e){if(u++,l[e]=t,a(t,e),u===c)return n(l)})}function i(t,e,a,i){a(t,function(t){var a=n(t.name,t.size,o,0,t);i(a,e)})}function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=n&&n.base64||\"\";return{name:t,size:e,url:c?\"\":l(n),base64:c,status:a,progress:i,file:n}}function l(t){return t&&u?u.createObjectURL(t):\"\"}function c(t){if(\"function\"==typeof t){for(var e=arguments.length,a=Array(e>1?e-1:0),i=1;i<e;i++)a[i-1]=arguments[i];return t.apply(this,a)}return t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.STATUS_SUCCESS=t.STATUS_ERROR=t.STATUS_UPLOADING=t.STATUS_READY=t.URL=void 0,t.processFiles=a,t.processFile=i,t.newFile=n,t.evalOpts=c;var u=t.URL=e.inBrowser?window.URL||window.webkitURL||window.mozURL:null,o=t.STATUS_READY=\"ready\";t.STATUS_UPLOADING=\"uploading\",t.STATUS_ERROR=\"error\",t.STATUS_SUCCESS=\"success\"})},\"s8G+\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"fZjL\"),a(\"Z5VE\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={name:\"cube-tip\",mixins:[c.default],props:{direction:{type:String,default:\"top\"},offsetLeft:{type:[String,Number],default:0},offsetRight:{type:[String,Number],default:0},offsetTop:{type:[String,Number],default:0},offsetBottom:{type:[String,Number],default:0}},mounted:function(){var t=this;this.$nextTick(function(){var e=t.$refs.angle.style,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"};[{name:\"offsetLeft\",target:\"left\",percentFix:{marginLeft:\"-6px\"}},{name:\"offsetRight\",target:\"right\",percentFix:{marginRight:\"-6px\"}},{name:\"offsetTop\",target:\"top\",percentFix:{marginTop:\"-6px\"}},{name:\"offsetBottom\",target:\"bottom\",percentFix:{marginBottom:\"-6px\"}}].forEach(function(i){var n=t[i.name];if(0!==n){var c=\"number\"==typeof n;e[i.target]=n+(c?\"px\":\"\"),i.percentFix&&!c&&(0,l.default)(i.percentFix).forEach(function(t){e[t]=i.percentFix[t]}),e[a[i.target]]=\"auto\"}})})},methods:{handleClick:function(){this.hide(),this.$emit(\"click\")},close:function(){this.hide(),this.$emit(\"close\")}}},t.exports=e.default})},sTLp:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"index-list\",title:\"IndexList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:function(e){t.goTo(\"default\")}}},[t._v(\"Default\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"custom\")}}},[t._v(\"Custom\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"pull-up-load\")}}},[t._v(\"Pull Up Load\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"pull-down-refresh\")}}},[t._v(\"Pull Down Refresh\")])],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},sawW:function(t,e){},sdgg:function(t,e){},suVo:function(t,e,a){function i(t){a(\"ooaU\")}var n=a(\"VU/8\")(a(\"G59/\"),a(\"BINl\"),i,null,null);t.exports=n.exports},t3q3:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e){(0,l.default)(t,e,[\"select\",\"cancel\",\"change\"]).before(function(t,e,a){a&&(0,i.tip)(\"CascadePicker component can not be a singleton.\")})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},t4A1:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a),n=[\"👈🏻  outer 👉🏻 \",\"🙂 🤔 😄 🤨 😐 🙃 \"],l=[\"👈🏻  inner 👉🏻  \",\"🙂 🤔 😄 🤨 😐 🙃 \",\"👈🏻  inner 👉🏻 \",\"😔 😕 🙃 🤑 😲 ☹️ \",\"👈🏻  inner 👉🏻 \",\"🐣 🐣 🐣 🐣 🐣 🐣 \",\"👈🏻  inner 👉🏻 \",\"🐥 🐥 🐥 🐥 🐥 🐥 \"];e.default={data:function(){return{items1:n,items2:l}},components:{CubePage:i.default}},t.exports=e.default})},t7U9:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"cL1+\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";function a(t,e){return new RegExp(\"(^|\\\\s)\"+e+\"(\\\\s|$)\").test(t.className)}function i(t,e){if(!a(t,e)){var i=t.className.split(\" \");i.push(e),t.className=i.join(\" \")}}function n(t,e){if(a(t,e)){var i=new RegExp(\"(^|\\\\s)\"+e+\"(\\\\s|$)\",\"g\");t.className=t.className.replace(i,\" \")}}function l(t,e){return t.getAttribute(\"data-\"+e)}function c(t){return{top:t.offsetTop,left:t.offsetLeft,width:t.offsetWidth,height:t.offsetHeight}}function u(t){return!1!==r&&(\"standard\"===r?\"transitionEnd\"===t?\"transitionend\":t:r+t.charAt(0).toUpperCase()+t.substr(1))}function o(t,e){for(var i=t.target;i&&!a(i,e);){if(i===t.currentTarget)return null;i=i.parentNode}return i}function s(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=a.type,n=void 0===i?\"Event\":i,l=a.bubbles,c=void 0===l||l,u=a.cancelable,o=void 0===u||u,s=document.createEvent(n);s.initEvent(e,c,o),t.dispatchEvent(s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasClass=a,t.addClass=i,t.removeClass=n,t.getData=l,t.getRect=c,t.prefixStyle=u,t.getMatchedTarget=o,t.dispatchEvent=s;var r=function(){if(!e.inBrowser)return!1;var t=document.createElement(\"div\").style,a={standard:\"transform\",webkit:\"webkitTransform\",Moz:\"MozTransform\",O:\"OTransform\",ms:\"msTransform\"};for(var i in a)if(void 0!==t[a[i]])return i;return!1}()})},tEcF:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"mkLW\"),a(\"0I1X\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={name:\"cube-radio-group\",mixins:[c.default],provide:function(){return{radioGroup:this}},props:{value:[String,Number],options:{type:Array,default:function(){return[]}},position:{type:String,default:\"left\"},horizontal:{type:Boolean,default:!1},hollowStyle:{type:Boolean,default:!1}},data:function(){return{radioValue:this.value}},watch:{value:function(t){this.radioValue=t},radioValue:function(t){this.$emit(\"input\",t)}},computed:{_groupClass:function(){if(!this.horizontal)return\"border-top-1px border-bottom-1px\"}},components:{CubeRadio:l.default}},t.exports=e.default})},tJl4:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a={STANDARD:\"standard\",CLASSIC:\"classic\",FRESH:\"fresh\"};e.default=a,t.exports=e.default})},tNeh:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"VzLe\"),a(\"JBFj\"),a(\"kAHR\"),a(\"t3q3\"),a(\"C2tW\"),a(\"j9ag\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=s(a),d=s(i),v=s(n),p=s(l),f=s(c),h=s(u),x=s(o);v.default.install=function(t){t.component(r.default.name,r.default),t.component(d.default.name,d.default),t.component(v.default.name,v.default),x.default.install(t),(0,p.default)(t,r.default),(0,f.default)(t,d.default),(0,h.default)(t,v.default)},v.default.Picker=r.default,d.default.Picker=r.default,v.default.CascadePicker=d.default,e.default=v.default,t.exports=e.default})},tTMC:function(t,e,a){function i(t){a(\"yLJt\")}var n=a(\"VU/8\")(a(\"BPTU\"),a(\"qr3H\"),i,null,null);t.exports=n.exports},tmZ1:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"index-list\",title:\"IndexList\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"div\",{staticClass:\"index-list-wrapper\"},[a(\"cube-index-list\",{ref:\"indexList\",attrs:{data:t.data,title:t.title,options:t.options},on:{select:t.selectItem,\"title-click\":t.clickTitle,\"pulling-down\":t.onPullingDown}})],1)])])])},staticRenderFns:[]}},tspx:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"t7U9\"),a(\"4BV0\"),a(\"+rJ6\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=(0,a.prefixStyle)(\"transform\"),c=(0,a.prefixStyle)(\"transitionProperty\"),u=(0,a.prefixStyle)(\"transitionDuration\"),o=(0,a.prefixStyle)(\"transitionTimingFunction\");e.default={name:\"cube-swipe-item\",inject:[\"swipe\"],props:{item:{type:Object,default:function(){return{}}},btns:{type:Array,default:function(){return[]}},index:{type:Number,index:-1},autoShrink:{type:Boolean,default:!1}},watch:{btns:function(){var t=this;this.$nextTick(function(){t.refresh()})}},created:function(){this.x=0,this.state=0,this.swipe.addItem(this)},mounted:function(){var t=this;this.scrollerStyle=this.$refs.swipeItem.style,this.$nextTick(function(){t.refresh()}),this.$on(\"scroll\",this._handleBtns)},methods:{_initCachedBtns:function(){this.cachedBtns=[];for(var t=this.$refs.btns.length,e=0;e<t;e++)this.cachedBtns.push({width:(0,a.getRect)(this.$refs.btns[e]).width})},_handleBtns:function(t){if(0!==this.btns.length)for(var e=this.$refs.btns.length,a=0,i=-this.maxScrollX,n=0;n<e;n++){var c=this.$refs.btns[n],o=(i-a)/i,s=void 0,r=o*t-t;s=t<this.maxScrollX?this.cachedBtns[n].width+o*(this.maxScrollX-t):this.cachedBtns[n].width,a+=this.cachedBtns[n].width,c.style.width=s+\"px\",c.style[l]=\"translate(\"+r+\"px)\",c.style[u]=\"0ms\"}},_isInBtns:function(t){for(var e=t,a=!1;e&&e.className.indexOf(\"cube-swipe-item\")<0;){if(e.className.indexOf(\"cube-swipe-btns\")>=0){a=!0;break}e=e.parentNode}return a},_calculateBtnsWidth:function(){for(var t=0,e=this.cachedBtns.length,a=0;a<e;a++)t+=this.cachedBtns[a].width;this.maxScrollX=-t},_translate:function(t,e){var a=e?\" translateZ(0)\":\"\";this.scrollerStyle[l]=\"translate(\"+t+\"px,0)\"+a,this.x=t},_transitionProperty:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"transform\";this.scrollerStyle[c]=t},_transitionTimingFunction:function(t){this.scrollerStyle[o]=t},_transitionTime:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.scrollerStyle[u]=t+\"ms\"},_getComputedPositionX:function(){var t=window.getComputedStyle(this.$refs.swipeItem,null);return t=t[l].split(\")\")[0].split(\", \"),+(t[12]||t[4])},_translateBtns:function(t,e,a){if(0!==this.btns.length)for(var i=this.$refs.btns.length,n=0,s=0,r=0;r<i;r++){var d=this.$refs.btns[r];s=1===this.state?n:0,n+=this.cachedBtns[r].width,d.style[l]=\"translate(\"+s+\"px,0) translateZ(0)\",d.style[c]=\"all\",d.style[o]=e,d.style[u]=t+\"ms\",a&&(d.style.width=this.cachedBtns[r].width+\"px\")}},refresh:function(){this.btns.length>0&&(this._initCachedBtns(),this._calculateBtnsWidth()),this.endTime=0},shrink:function(){var t=this;this.stop(),this.state=0,this.$nextTick(function(){t.scrollTo(0,600,i.easeOutQuart),t._translateBtns(600,i.easeOutQuart)})},grow:function(){this.state=1;var t=this.x<this.maxScrollX,e=i.easeOutCubic;this.scrollTo(this.maxScrollX,600,e),this._translateBtns(600,e,t)},scrollTo:function(t,e,a){this._transitionProperty(),this._transitionTimingFunction(a),this._transitionTime(e),this._translate(t,!0),e&&(this.isInTransition=!0)},genBtnStyl:function(t){return\"background: \"+t.color},clickItem:function(){this.swipe.onItemClick(this.item,this.index),this.$emit(\"item-click\",this.item,this.index)},clickBtn:function(t){this.swipe.onBtnClick(t,this.index),this.$emit(\"btn-click\",t,this.index),this.autoShrink&&this.shrink()},stop:function(){if(this.isInTransition){this.isInTransition=!1;var t=0===this.state?0:this._getComputedPositionX();this._translate(t),this.$emit(\"scroll\",this.x)}},onTouchStart:function(t){var e=this;this.swipe.onItemActive(this.index),this.$emit(\"active\",this.index),this.stop(),this.moved=!1,this.movingDirectionX=0;var a=t.touches[0];this.pointX=a.pageX,this.pointY=a.pageY,this.distX=0,this.distY=0,this.startX=this.x,this._transitionTime(),this.startTime=(0,n.getNow)(),1!==this.state||this._isInBtns(t.target)||(this.shrinkTimer=setTimeout(function(){e.shrink()},300))},onTouchMove:function(t){if(this.moved&&(clearTimeout(this.shrinkTimer),t.stopPropagation()),!this.isInTransition){t.preventDefault();var e=t.touches[0],a=e.pageX-this.pointX,i=e.pageY-this.pointY;this.pointX=e.pageX,this.pointY=e.pageY,this.distX+=a,this.distY+=i;var l=Math.abs(this.distX);if(!(l+5<=Math.abs(this.distY))){var c=(0,n.getNow)();if(!(c-this.endTime>300&&l<15)){this.movingDirectionX=a>0?-1:a<0?1:0;var u=this.x+a;u>0&&(u=0),u<this.maxScrollX&&(u=this.x+a/3),this.moved||(this.moved=!0),this._translate(u,!0),c-this.startTime>300&&(this.startTime=c,this.startX=this.x),this.$emit(\"scroll\",this.x)}}}},onTouchEnd:function(){if(this.moved){if(-1===this.movingDirectionX)return void this.shrink();this.endTime=(0,n.getNow)();var t=this.endTime-this.startTime,e=Math.abs(this.x-this.startX);t<300&&e>15||this.x<this.maxScrollX/2?this.grow():this.shrink()}},onTransitionEnd:function(){this.isInTransition=!1,this._transitionTime(),this._translate(this.x)}},beforeDestroy:function(){this.swipe.removeItem(this)}},t.exports=e.default})},twNj:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{title:{type:String,default:\"\",required:!0},type:{type:String,default:\"\"},desc:{type:String,default:\"\"},content:{type:String,default:\"\"}},methods:{back:function(){this.$router.back()}}},t.exports=e.default})},tx1y:function(t,e,a){var i=a(\"VU/8\")(a(\"JHHX\"),a(\"5gCL\"),null,null,null);t.exports=i.exports},txVD:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{items:[{url:\"http://www.didichuxing.com/\",image:\"https://dpubstatic.udache.com/static/dpubimg/C9lKs8y0E6/IMG_4014.jpg\"},{url:\"http://www.didichuxing.com/\",image:\"https://dpubstatic.udache.com/static/dpubimg/hD6agmm2ov/IMG_4012.jpg\"},{url:\"http://www.didichuxing.com/\",image:\"https://dpubstatic.udache.com/static/dpubimg/twV-VvZOA9/IMG_4011.jpg\"},{url:\"http://www.didichuxing.com/\",image:\"https://dpubstatic.udache.com/static/dpubimg/eR_MahwRUT/IMG_4010.jpg\"},{url:\"http://www.didichuxing.com/\",image:\"https://dpubstatic.udache.com/static/dpubimg/R3tKHhdZuK/IMG_4009.jpg\"}],loop:!0}},methods:{change:function(t){console.log(\"当前轮播图序号为:\"+t)}},components:{CubePage:i.default}},t.exports=e.default})},txtz:function(t,e){},u1ui:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"ZhPo\"),a(\"AQXh\"),a(\"/5me\"),a(\"3BKo\"),a(\"s0qb\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l);e.default={name:\"cube-upload\",mixins:[d.default],props:{value:{type:Array,default:function(){return[]}},action:{type:[String,Object],default:\"\"},max:{type:Number,default:10},auto:{type:Boolean,default:!0},simultaneousUploads:{type:Number,default:1},processFile:{type:Function,default:function(t,e){e(t)}}},data:function(){return{files:this.value,paused:!this.auto}},computed:{actionOptions:function(){var t=this.action;return\"string\"==typeof t?t?{target:t}:null:t},isShowBtn:function(){return this.files.length<this.max}},watch:{value:function(t){this.files=t},files:function(t){this.$emit(\"input\",t)}},methods:{addFiles:function(t){var e=this;this.$emit(\"files-added\",t);for(var a=this.files.length,i=[],n=this.max-a,l=0,u=t[l];i.length<n&&u;)u.ignore||(i.push(u),this.files.push((0,c.newFile)())),u=t[++l];(0,c.processFiles)(i,this.processFile,function(t,i){e.$set(e.files,a+i,t),e.$emit(\"file-submitted\",t)},function(){e.$nextTick(function(){e.upload()})})},removeFile:function(t){this.$emit(\"file-removed\",t),t._xhr&&t._xhr.abort(),t.url&&c.URL.revokeObjectURL(t.url);var e=this.files.indexOf(t);this.files.splice(e,1),this.upload()},fileClick:function(t,e){this.$emit(\"file-click\",t,e)},upload:function(t){var e=this,a=this.actionOptions;if(!this.paused&&a)for(var i=this.files.length,n=0,l=0;l<i&&n<this.simultaneousUploads;)!function(){var i=e.files[l],u=i.status;u===c.STATUS_READY||t&&u===c.STATUS_ERROR&&i._retryId!==e.retryId?((0,r.default)(i,a,function(a){u===c.STATUS_ERROR&&(a._retryId=e.retryId),e.$emit(a.status===c.STATUS_SUCCESS?\"file-success\":\"file-error\",a),e.upload(t)}),n++):u===c.STATUS_UPLOADING&&n++,l++}()},start:function(){this.paused=!1,this.upload()},pause:function(){this.paused=!0,this.files.forEach(function(t){t.status===c.STATUS_UPLOADING&&(t._xhr.abort(),t.status=c.STATUS_READY)})},retry:function(){this.retryId=Date.now(),this.paused=!1,this.upload(!0)}},components:{UploadBtn:o.default,UploadFile:s.default}},t.exports=e.default})},u3HD:function(t,e){},u9X6:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{attrs:{id:\"app\"}},[t._m(0),t._v(\" \"),a(\"section\",{ref:\"mfct\",staticClass:\"cube-content\"},[a(\"cube-index-list\",{staticClass:\"cube-list\",attrs:{data:t.components},scopedSlots:t._u([{key:\"nav-item\",fn:function(e){return a(\"span\",{staticClass:\"custom-nav-item\"},[t._v(t._s(e.item))])}}])},t._l(t.components,function(e,i){return a(\"cube-index-list-group\",{key:i,attrs:{group:e}},t._l(e.items,function(e,i){return a(\"cube-index-list-item\",{key:i,attrs:{item:e}},[a(\"div\",{staticClass:\"cube-item border-bottom-1px\"},[a(\"router-link\",{staticClass:\"link\",attrs:{to:e.path}},[t._v(t._s(e.text)),a(\"i\",{staticClass:\"cubeic-arrow\"})])],1)])}))}))],1),t._v(\" \"),a(\"cube-view\")],1)},staticRenderFns:[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"header\",{staticClass:\"cube-bar\"},[a(\"h1\",[t._v(\"cube-ui\")])])}]}},uCDH:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"xV+0\"),a(\"UFDc\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={data:function(){return{selectedLabel:\"推荐\",disabled:!1,tabLabels:[{label:\"关注\"},{label:\"推荐\"},{label:\"热榜\"}],loop:!1,autoPlay:!1,showDots:!1,slideOptions:{listenScroll:!0,probeType:3,directionLockThreshold:0},scrollOptions:{directionLockThreshold:0},followersData:i.FOLLOWERS_DATA,recommendData:i.RECOMMEND_DATA,hotData:i.HOT_DATA}},methods:{changePage:function(t){this.selectedLabel=this.tabLabels[t].label,console.log(t)},scroll:function(t){var e=Math.abs(t.x),a=this.$refs.tabNav.$el.clientWidth,i=this.$refs.slide.slide.scrollerWidth,n=e/i*a;this.$refs.tabNav.setSliderTransform(n)},resolveTitle:function(t){return t.name+\"关注了问题 · \"+t.postTime+\" 小时前\"},resolveQuestionFollowers:function(t){return t.answers+\" 赞同 · \"+t.followers+\" 评论\"}},computed:{initialIndex:function(){var t=this;return(0,n.findIndex)(this.tabLabels,function(e){return e.label===t.selectedLabel})}},components:{CubePage:l.default}},t.exports=e.default})},uE8O:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"PzHl\"),a(\"vJ9C\"),a(\"VKJd\"),a(\"bh5B\"),a(\"Z5VE\"),a(\"d64j\"),a(\"cL1+\"),a(\"0Oib\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var d=r(a),v=r(i),p=r(n),f=r(l),h=r(c),x=r(u);e.default={name:\"cube-image-preview\",mixins:[h.default,x.default],props:{initialIndex:{type:Number,default:0},imgs:{type:Array,default:function(){return[]}},loop:{type:Boolean,default:!0},speed:{type:Number,default:400},preventDefault:{type:Boolean,default:!0}},data:function(){return{currentPageIndex:this.initialIndex,options:{observeDOM:!1,bounce:{left:!0,right:!0},useTransition:!o.isAndroid&&s.USE_TRANSITION,probeType:3,preventDefault:this.preventDefault},scrollOptions:{useTransition:s.USE_TRANSITION,HWCompositing:o.isAndroid,observeDOM:!1,zoom:!0,bindToWrapper:!0,freeScroll:!0,scrollX:!0,scrollY:!0,probeType:3,bounce:!1,click:!1,dblclick:!0,bounceTime:300,preventDefault:this.preventDefault}}},watch:{initialIndex:function(t){this.setPageIndex(t)}},methods:{show:function(){var t=this;this.isVisible=!0,this.$nextTick(function(){t._listenSlide(),t._listenScroll()})},_listenSlide:function(){var t=this;this.$nextTick(function(){var e=t.$refs.slide.slide;e.on(\"scrollStart\",t.slideScrollStartHandler),e.on(\"scrollEnd\",t.slideScrollEndHandler)})},_listenScroll:function(){var t=this;this.$nextTick(function(){t.$refs.items.forEach(function(e){var a=e.scroll;a.on(\"zoomStart\",t.zoomStartHandler.bind(t,a)),a.on(\"beforeScrollStart\",t.beforeScrollHandler),a.on(\"scroll\",t.checkBoundary.bind(t,a)),a.on(\"scrollEnd\",t.scrollEndHandler.bind(t,a))})})},hide:function(){this.isVisible=!1,this.$emit(\"hide\")},prev:function(){var t=this.$refs.slide.slide;t&&t.prev()},next:function(){var t=this.$refs.slide.slide;t&&t.next()},goTo:function(t){var e=this.$refs.slide.slide;e&&e.goToPage(t,0)},imgLoad:function(t){this.isVisible&&this.$refs.items&&this.$refs.items[t].scroll.refresh()},setPageIndex:function(t){if(this.currentPageIndex>=0&&this.currentPageIndex!==t){var e=this.$refs.items[this.currentPageIndex];if(e){var a=e.scroll;1!==a.scale&&(a.scale=1,a.lastcale=1,a.refresh())}}this.currentPageIndex=t},slideChangeHandler:function(t){this.setPageIndex(t),this.slideScrollEndHandler(),this.$emit(\"change\",t)},slideScrollStartHandler:function(){var t=this.$refs.slide.slide;this._scrolling&&!this._hasEnableSlide?t.disable():t.enable()},slideScrollEndHandler:function(){var t=this;this.$refs.items.forEach(function(e){t.scrollEndHandler(e.scroll)})},_scroll:function(t){var e=this.$refs.slide.slide;e.disable(),e.refresh(),t.enable()},_slide:function(t){this.$refs.slide.slide.enable(),t.disable()},beforeScrollHandler:function(){clearTimeout(this.enableSlideTid)},scrollEndHandler:function(t){var e=this;clearTimeout(this.enableSlideTid),this.dblZooming&&(this.dblZooming=!1,clearTimeout(this.clickTid)),this._hasEnableSlide=!1,this._scrolling=!1,t.enable(),this.enableSlideTid=setTimeout(function(){e.$refs.slide.slide.enable()})},checkBoundary:function(t,e){if(t.distX&&Math.abs(t.distX)>Math.abs(t.distY)){this._scrolling=!0;(t.distX>0?e.x>=t.minScrollX:e.x<=t.maxScrollX)?(this._hasEnableSlide=!0,this._slide(t)):this._hasEnableSlide||this._scroll(t)}else t.distY&&(this._scrolling=!0,this._scroll(t))},zoomStartHandler:function(t){this._scroll(t)},dblclickHandler:function(t,e){var a=this.$refs.items[t].scroll;this.dblZooming=!0,this.zoomTo(a,a.scale>1?1:2,e),a.disable()},itemClickHandler:function(){var t=this;clearTimeout(this.clickTid),this.clickTid=setTimeout(function(){!t.dblZooming&&t.hide()},this.scrollOptions.bounceTime)},zoomTo:function(t,e,a){t.zoomTo(e,a.pageX,a.pageY)}},components:{CubePopup:d.default,CubeSlide:v.default,CubeSlideItem:p.default,CubeScroll:f.default}},t.exports=e.default})},uGVW:function(t,e,a){function i(t){a(\"HOtT\")}var n=a(\"VU/8\")(a(\"C/e8\"),a(\"kYrI\"),i,null,null);t.exports=n.exports},uXDz:function(t,e){},uYby:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={},t.exports=e.default})},ucs0:function(t,e){},udGh:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"rate-view\",title:\"Rate\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"rate-wrapper\"},[a(\"cube-rate\",{attrs:{disabled:t.disabled,max:t.max,justify:t.justify,allowHalf:t.allowHalf},model:{value:t.value,callback:function(e){t.value=e},expression:\"value\"}},t._l(t.max,function(e){return a(\"cube-rate-item\",{key:e,attrs:{value:t.value,index:e}},[t.customStar?a(\"div\",{staticClass:\"rate-item\"}):t._e()])}))],1),t._v(\" \"),a(\"div\",{staticClass:\"options\"},[a(\"div\",{staticClass:\"title\"},[t._v(\"Options\")]),t._v(\" \"),a(\"div\",{staticClass:\"option-list\"},[a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"disabled\",value:t.disabled},on:{\"update:value\":t.updateDisabled}}),t._v(\" \"),a(\"select-option\",{staticClass:\"item\",attrs:{name:\"star numbers\",value:t.max,options:t.options},on:{\"update:value\":t.updateStarNumbers}}),t._v(\" \"),a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"Justify\",value:t.justify},on:{\"update:value\":t.updateJustify}}),t._v(\" \"),a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"customStar\",value:t.customStar},on:{\"update:value\":t.updateRateItem}}),t._v(\" \"),a(\"switch-option\",{staticClass:\"item\",attrs:{name:\"allowHalf\",value:t.allowHalf},on:{\"update:value\":t.updateAllowHalf}})],1)])])])},staticRenderFns:[]}},ulou:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"o/OE\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={components:{CubePage:l.default},data:function(){return{title:\"Current City: BEIJING\",cityData:c.default}},methods:{selectItem:function(t){console.log(t.name)},clickTitle:function(t){console.log(t)}}},t.exports=e.default})},umxa:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/swipe/\"+t)}}},t.exports=e.default})},v1lR:function(t,e){},v4hj:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"qqiS\"),a(\"suVo\"),a(\"4Kqh\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);u.default.install=function(t){t.component(c.default.name,c.default),t.component(u.default.name,u.default),(0,o.default)(t,u.default)},u.default.Loading=c.default,e.default=u.default,t.exports=e.default})},\"v7b+\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{ref:\"swipeItem\",staticClass:\"cube-swipe-item\",on:{transitionend:t.onTransitionEnd,touchstart:t.onTouchStart,touchmove:t.onTouchMove,touchend:t.onTouchEnd}},[t._t(\"default\",[a(\"div\",{staticClass:\"cube-swipe-item-inner border-bottom-1px\",on:{click:t.clickItem}},[a(\"span\",[t._v(t._s(t.item.text))])])]),t._v(\" \"),a(\"ul\",{staticClass:\"cube-swipe-btns\"},t._l(t.btns,function(e){return a(\"li\",{ref:\"btns\",refInFor:!0,staticClass:\"cube-swipe-btn\",style:t.genBtnStyl(e),on:{click:function(a){a.preventDefault(),t.clickBtn(e)}}},[a(\"span\",{staticClass:\"text\"},[t._v(t._s(e.text))])])}))],2)},staticRenderFns:[]}},vJ9C:function(t,e,a){function i(t){a(\"mW/s\")}var n=a(\"VU/8\")(a(\"wLKS\"),a(\"XInt\"),i,null,null);t.exports=n.exports},vLxS:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"O6S8\"),a(\"Mr73\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={components:{CubePage:c.default,CubeButtonGroup:u.default,CubeView:o.default},methods:{goTo:function(t){this.$router.push(\"/tab-bar/tab/\"+t)}}},t.exports=e.default})},vhte:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(t,e){(0,n.default)(t,e,[\"select\",\"cancel\"],!0)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var n=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},vomq:function(t,e){},vpa7:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"Gu7T\"),a(\"GQaK\"),a(\"PzHl\"),a(\"Z5VE\"),a(\"d64j\"),a(\"yIJW\"),a(\"wih/\"),a(\"4KJe\"),a(\"0Oib\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u,o,s,r){\"use strict\";function d(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var v=d(a),p=d(i),f=d(n),h=d(l),x=d(c),y=d(u),m=d(o),b=d(s);e.default={name:\"cube-picker\",mixins:[h.default,x.default,y.default,m.default,b.default],props:{pending:{type:Boolean,default:!1}},data:function(){return{finalData:this.data.slice()}},created:function(){this._values=[],this._indexes=this.selectedIndex},methods:{confirm:function(){if(this._canConfirm()){this.hide();var t=!1,e=[],a=this.finalData.length,i=this._values.length;i!==a&&(t=!0,i>a&&(this._values.length=this._indexes.length=a));for(var n=0;n<a;n++){var l=this._getSelectIndex(this.wheels[n]);this._indexes[n]=l;var c=null,u=\"\";this.finalData[n].length&&(c=this.finalData[n][l][this.valueKey],u=this.finalData[n][l][this.textKey]),this._values[n]!==c&&(t=!0),this._values[n]=c,e[n]=u}this.$emit(\"select\",this._values,this._indexes,e),t&&this.$emit(\"value-change\",this._values,this._indexes,e)}},maskClick:function(){this.maskClosable&&this.cancel()},cancel:function(){this.hide(),this.$emit(\"cancel\")},show:function(){var t=this;if(!this.isVisible)if(this.isVisible=!0,!this.wheels||this.dirty)this.$nextTick(function(){t.wheels=t.wheels||[];for(var e=t.$refs.wheelWrapper,a=0;a<t.finalData.length;a++)t._createWheel(e,a).enable(),t.wheels[a].wheelTo(t._indexes[a]);t.dirty&&t._destroyExtraWheels(),t.dirty=!1});else for(var e=0;e<this.finalData.length;e++)this.wheels[e].enable(),this.wheels[e].wheelTo(this._indexes[e])},hide:function(){if(this.isVisible){this.isVisible=!1;for(var t=0;t<this.finalData.length;t++)this.wheels[t].disable()}},setData:function(t,e){var a=this;this._indexes=e?[].concat((0,v.default)(e)):[],this.finalData=t.slice(),this.isVisible?this.$nextTick(function(){var t=a.$refs.wheelWrapper;a.finalData.forEach(function(e,i){a._createWheel(t,i),a.wheels[i].wheelTo(a._indexes[i])}),a._destroyExtraWheels()}):this.dirty=!0},refill:function(t){var e=this,a=[];return t.length?(t.forEach(function(t,i){a[i]=e.refillColumn(i,t)}),a):a},refillColumn:function(t,e){var a=this,i=this.$refs.wheelWrapper,n=i.children[t].querySelector(\".cube-picker-wheel-scroll\"),l=!!this.wheels&&this.wheels[t],c=0;if(n&&l){var u=this.finalData[t];this.$set(this.finalData,t,e);var o=l.getSelectedIndex();if(u.length)for(var s=u[o][this.valueKey],r=0;r<e.length;r++)if(e[r][this.valueKey]===s){c=r;break}this._indexes[t]=c,this.$nextTick(function(){l=a._createWheel(i,t),l.wheelTo(c)})}return c},scrollTo:function(t,e){var a=this.wheels[t];this._indexes[t]=e,a.wheelTo(e)},refresh:function(){var t=this;this.$nextTick(function(){t.wheels.forEach(function(t){t.refresh()})})},_createWheel:function(t,e){var a=this;if(this.wheels[e])this.wheels[e].refresh();else{var i=this.wheels[e]=new p.default(t.children[e],{wheel:{selectedIndex:this._indexes[e]||0,wheelWrapperClass:\"cube-picker-wheel-scroll\",wheelItemClass:\"cube-picker-wheel-item\"},swipeTime:this.swipeTime,observeDOM:!1,useTransition:r.USE_TRANSITION});i.on(\"scrollEnd\",function(){a.$emit(\"change\",e,a._getSelectIndex(i))})}return this.wheels[e]},_destroyExtraWheels:function(){var t=this.finalData.length;if(this.wheels.length>t){this.wheels.splice(t).forEach(function(t){t.destroy()})}},_canConfirm:function(){return!this.pending&&this.wheels.every(function(t){return!t.isInTransition})},_getFlexOrder:function(t){return t[0]?t[0][this.orderKey]:0},_getSelectIndex:function(t){var e=t.y;return r.USE_TRANSITION?t.getSelectedIndex():e>t.minScrollY?0:e<t.maxScrollY?t.items.length-1:Math.round(Math.abs(e/t.itemHeight))}},beforeDestroy:function(){this.wheels&&this.wheels.forEach(function(t){t.destroy()}),this.wheels=null},components:{CubePopup:f.default}},t.exports=e.default})},vuoK:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"cube-cascade-picker\",{ref:\"picker\",attrs:{data:t.cascadeData,\"selected-index\":t.selectedIndex,title:t._title,subtitle:t.subtitle,\"cancel-txt\":t._cancelTxt,\"confirm-txt\":t._confirmTxt,\"swipe-time\":t.swipeTime,\"z-index\":t.zIndex,\"mask-closable\":t.maskClosable},on:{select:t._pickerSelect,cancel:t._pickerCancel,change:t._pickerChange},model:{value:t.isVisible,callback:function(e){t.isVisible=e},expression:\"isVisible\"}})},staticRenderFns:[]}},vx2j:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"upload-view-compress\",title:\"Upload\"}},[a(\"template\",{slot:\"content\"},[a(\"p\",[t._v(\"Compress&Base64 upload: \")]),t._v(\" \"),a(\"div\",[a(\"cube-upload\",{ref:\"upload\",attrs:{action:t.action,\"simultaneous-uploads\":1,\"process-file\":t.processFile},on:{\"file-submitted\":t.fileSubmitted}})],1)])],2)},staticRenderFns:[]}},w5NG:function(t,e){},wIkl:function(t,e,a){function i(t){a(\"wbz+\")}var n=a(\"VU/8\")(a(\"hC+w\"),a(\"jC7o\"),i,null,null);t.exports=n.exports},wLKS:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"woOf\"),a(\"VKJd\"),a(\"GQaK\"),a(\"QMhb\"),a(\"kVGr\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=u(a),s=u(i),r=u(n),d=u(l),v=u(c),p={momentum:!1,click:!0,observeDOM:!1,bounce:!1};e.default={name:\"cube-slide\",mixins:[d.default,v.default],props:{data:{type:Array,default:function(){return[]}},initialIndex:{type:Number,default:0},loop:{type:Boolean,default:!0},threshold:{type:Number,default:.3},speed:{type:Number,default:400},autoPlay:{type:Boolean,default:!0},interval:{type:Number,default:4e3},showDots:{type:Boolean,default:!0},direction:{type:String,default:\"horizontal\"},allowVertical:{type:Boolean,default:void 0,deprecated:{replacedBy:\"options\"}},stopPropagation:{type:Boolean,default:void 0,deprecated:{replacedBy:\"options\"}},refreshResetCurrent:{type:Boolean,default:!0}},data:function(){return{dots:0,currentPageIndex:this.initialIndex||0}},created:function(){var t=this;this._dataWatchers=[],[\"data\",\"loop\",\"autoPlay\",\"options.eventPassthrough\",\"threshold\",\"speed\",\"allowVertical\"].forEach(function(e){t._dataWatchers.push(t.$watch(e,function(){\"data\"===e&&t._destroy(),t.$nextTick(function(){t.refresh()})}))})},watch:{initialIndex:function(t){t!==this.currentPageIndex&&this._goToPage(t)}},methods:{clickItem:function(t,e){this.$emit(\"click\",t,e)},refresh:function(){null!==this.slide&&(this._destroy(),clearTimeout(this._timer),this.slide&&this.refreshResetCurrent&&(this.currentPageIndex=0),this._updateSlideDom(),this.showDots&&this._initDots(),this.currentPageIndex>=this.dots.length&&(this.currentPageIndex=this.dots.length-1),this._initSlide(),this.autoPlay&&this._play())},_destroy:function(){this.slide&&this.slide.destroy()},_refresh:function(){this._updateSlideDom(!0),this.slide.refresh()},_updateSlideDom:function(t){this._setSlideStyle(t)},_setSlideStyle:function(t){this.children=this.$refs.slideGroup.children;for(var e=\"horizontal\"===this.direction?\"width\":\"height\",a=0,i=this.$refs.slide[\"client\"+(e[0].toUpperCase()+e.slice(1))],n=this.children.length,l=0;l<n;l++){this.children[l].style[e]=i+\"px\",a+=i}this.loop&&!t&&n>1&&(a+=2*i),this.$refs.slideGroup.style[e]=a+\"px\"},_initSlide:function(){var t=this,e=\"horizontal\"===this.direction&&this.allowVertical?\"vertical\":\"\",a=(0,o.default)({},p,{scrollX:\"horizontal\"===this.direction,scrollY:\"vertical\"===this.direction,eventPassthrough:e,snap:{loop:this.loop,threshold:this.threshold,speed:this.speed},stopPropagation:this.stopPropagation},this.options);this.slide=new r.default(this.$refs.slide,a),this.slide.on(\"scrollEnd\",this._onScrollEnd),this._goToPage(this.currentPageIndex,0),this.options.listenScroll&&3===this.options.probeType&&this.slide.on(\"scroll\",this._onScroll);var i=this.$refs.slide;i.removeEventListener(\"touchend\",this._touchEndEvent,!1),this._touchEndEvent=function(){t.autoPlay&&t._play()},i.addEventListener(\"touchend\",this._touchEndEvent,!1),this.slide.on(\"beforeScrollStart\",function(){t.autoPlay&&clearTimeout(t._timer)})},_onScrollEnd:function(){var t=this.slide.getCurrentPage(),e=t.pageX,a=t.pageY,i=\"horizontal\"===this.direction?e:a;this.currentPageIndex!==i&&(this.currentPageIndex=i,this.$emit(\"change\",i)),this.$emit(\"scroll-end\",i),this.autoPlay&&this._play()},_onScroll:function(t){this.$emit(\"scroll\",t)},_initDots:function(){this.dots=new Array(this.children.length)},_play:function(){var t=this;clearTimeout(this._timer),this._timer=setTimeout(function(){t.slide.next()},this.interval)},_deactivated:function(){clearTimeout(this._timer),clearTimeout(this._resizeTimer),window.removeEventListener(\"resize\",this._resizeHandler);var t=this.$refs.slide;t&&t.removeEventListener(\"touchend\",this._touchEndEvent,!1)},_resizeHandler:function(){var t=this;this.slide&&(clearTimeout(this._resizeTimer),this._resizeTimer=setTimeout(function(){t.slide.isInTransition?t._onScrollEnd():t.autoPlay&&t._play(),t._refresh()},60))},_goToPage:function(t,e){\"horizontal\"===this.direction?this.slide&&this.slide.goToPage(t,0,e):\"vertical\"===this.direction&&this.slide&&this.slide.goToPage(0,t,e)}},mounted:function(){var t=this;this.$nextTick(function(){t.refresh()}),window.addEventListener(\"resize\",this._resizeHandler)},activated:function(){this.autoPlay&&this._play(),window.addEventListener(\"resize\",this._resizeHandler)},deactivated:function(){this._deactivated()},destroyed:function(){this._deactivated(),this._destroy(),this.slide=null,this._dataWatchers.forEach(function(t){t()}),this._dataWatchers=null},components:{CubeSlideItem:s.default}},t.exports=e.default})},wOxr:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\"),a(\"XRNA\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t,e){(0,l.default)(t,e,[\"select\",\"cancel\",\"change\"]).before(function(t,e,a){a&&(0,i.tip)(\"TimePicker component can not be a singleton.\")})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n;var l=function(t){return t&&t.__esModule?t:{default:t}}(a);t.exports=e.default})},wT65:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"bh5B\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);i.default.install=function(t){t.component(i.default.name,i.default)},e.default=i.default,t.exports=e.default})},waH8:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"kww3\"),a(\"Z5VE\"),a(\"d64j\"),a(\"yIJW\"),a(\"wih/\"),a(\"4KJe\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(i),d=o(n),v=o(l),p=o(c),f=o(u);e.default={name:\"cube-cascade-picker\",mixins:[r.default,d.default,v.default,p.default,f.default],props:{async:{type:Boolean,default:!1}},data:function(){return{cascadeData:this.data.slice(),pickerSelectedIndex:this.selectedIndex.slice(),pickerData:[],pending:!1}},created:function(){this._updatePickerData()},methods:{setData:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.pending=!1,this.cascadeData=t.slice(),this.pickerSelectedIndex=e.slice(),this._updatePickerData()},_pickerSelect:function(t,e,a){this.$emit(\"select\",t,e,a)},_pickerCancel:function(){this.$emit(\"cancel\")},_pickerChange:function(t,e){e!==this.pickerSelectedIndex[t]&&(this.pickerSelectedIndex.splice(t,1,e),this.async?this.pending=t!==this.pickerData.length-1:this._updatePickerData(t+1)),this.$emit(\"change\",t,e)},_updatePickerData:function(){for(var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=this.cascadeData,i=0;a;)i>=e&&function(){var n=[];a.forEach(function(e){n.push({value:e[t.valueKey],text:e[t.textKey],order:e[t.orderKey]})}),t.pickerData[i]=n,t.pickerSelectedIndex[i]=0===e?t.pickerSelectedIndex[i]<a.length?t.pickerSelectedIndex[i]||0:0:t.$refs.picker.refillColumn(i,n)}(),a=a.length?a[this.pickerSelectedIndex[i]].children:null,i++;i<this.pickerData.length&&this.pickerData.splice(i,this.pickerData.length-i),this.pickerData=this.pickerData.slice()}},components:{CubePicker:s.default}},t.exports=e.default})},\"wbz+\":function(t,e){},\"wih/\":function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={props:{title:{type:String},subtitle:{type:String},cancelTxt:{type:String,default:\"\"},confirmTxt:{type:String,default:\"\"},swipeTime:{type:Number,default:2500},maskClosable:{type:Boolean,default:!0}},computed:{_cancelTxt:function(){return this.cancelTxt||this.$t(\"cancel\")},_confirmTxt:function(){return this.confirmTxt||this.$t(\"ok\")}}},t.exports=e.default})},wlGF:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"validator-view\",title:\"Validator\",desc:\"\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"validator-item\"},[a(\"cube-input\",{attrs:{placeholder:\"E-mail\"},model:{value:t.text1,callback:function(e){t.text1=e},expression:\"text1\"}}),t._v(\" \"),a(\"cube-validator\",{ref:\"validator1\",attrs:{model:t.text1,rules:t.rules1,messages:t.messages1,immediate:t.immediate},model:{value:t.isValid[0],callback:function(e){t.$set(t.isValid,0,e)},expression:\"isValid[0]\"}})],1),t._v(\" \"),a(\"div\",{staticClass:\"validator-item\"},[a(\"cube-validator\",{ref:\"validator2\",attrs:{model:t.text2,rules:t.rules2,messages:t.messages2,immediate:t.immediate},scopedSlots:t._u([{key:\"message\",fn:function(e){return a(\"div\",{staticClass:\"custom-msg\"},[!e.dirty&&!e.validated||t.isValid[1]?t._e():a(\"div\",[a(\"i\",{staticClass:\"dd-cubeic-important\"}),t._v(\" \"+t._s(e.message)+\"\\n            \"),a(\"div\",t._l(Object.values(e.result),function(e,i){return e.inValid?a(\"span\",{key:i},[t._v(t._s(e.message+\" \"))]):t._e()}))])])}}]),model:{value:t.isValid[1],callback:function(e){t.$set(t.isValid,1,e)},expression:\"isValid[1]\"}},[a(\"cube-input\",{attrs:{placeholder:\"component name\"},model:{value:t.text2,callback:function(e){t.text2=e},expression:\"text2\"}})],1)],1),t._v(\" \"),a(\"div\",{staticClass:\"validator-item\"},[a(\"cube-validator\",{ref:\"validator3\",attrs:{model:t.text3,rules:t.rules3,immediate:t.immediate},model:{value:t.isValid[2],callback:function(e){t.$set(t.isValid,2,e)},expression:\"isValid[2]\"}},[a(\"cube-input\",{attrs:{placeholder:\"validate odd\"},model:{value:t.text3,callback:function(e){t.text3=e},expression:\"text3\"}})],1)],1),t._v(\" \"),a(\"div\",{staticClass:\"validator-item\"},[a(\"cube-checkbox-group\",{attrs:{horizontal:!0},model:{value:t.checkList,callback:function(e){t.checkList=e},expression:\"checkList\"}},[a(\"cube-checkbox\",{attrs:{label:\"1\"}},[t._v(\"1\")]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{label:\"2\"}},[t._v(\"2\")]),t._v(\" \"),a(\"cube-checkbox\",{attrs:{label:\"3\"}},[t._v(\"3\")])],1),t._v(\" \"),a(\"cube-validator\",{ref:\"validator4\",attrs:{model:t.checkList,rules:t.rules4,immediate:t.immediate},model:{value:t.isValid[3],callback:function(e){t.$set(t.isValid,3,e)},expression:\"isValid[3]\"}})],1),t._v(\" \"),a(\"div\",{staticClass:\"validator-item\"},[a(\"cube-rate\",{model:{value:t.rate,callback:function(e){t.rate=e},expression:\"rate\"}}),t._v(\" \"),a(\"cube-validator\",{ref:\"validator5\",attrs:{model:t.rate,rules:t.rules5,immediate:t.immediate},model:{value:t.isValid[4],callback:function(e){t.$set(t.isValid,4,e)},expression:\"isValid[4]\"}})],1),t._v(\" \"),a(\"div\",{staticClass:\"validator-item\"},[a(\"p\",[t._v(\"Async validate: \")]),t._v(\" \"),a(\"cube-validator\",{ref:\"validator6\",attrs:{model:t.captcha,rules:t.rules6,messages:t.messages6,immediate:t.immediate},on:{validating:t.validatingHandler,validated:t.validatedHandler},model:{value:t.isValid[5],callback:function(e){t.$set(t.isValid,5,e)},expression:\"isValid[5]\"}},[a(\"cube-input\",{attrs:{placeholder:\"Please input captcha\"},model:{value:t.captcha,callback:function(e){t.captcha=e},expression:\"captcha\"}})],1)],1),t._v(\" \"),a(\"cube-button\",{on:{click:t.submit}},[t._v(\"Submit\")])],1)])},staticRenderFns:[]}},wnnB:function(t,e,a){function i(t){a(\"nSGU\")}var n=a(\"VU/8\")(a(\"+iBg\"),a(\"x6wu\"),i,null,null);t.exports=n.exports},\"x/Fx\":function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"gLZT\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default=i.default,t.exports=e.default})},x1YM:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"select-option\"},[a(\"span\",{staticClass:\"name\"},[t._v(t._s(t.name))]),t._v(\" \"),a(\"span\",{staticClass:\"select\",on:{click:t.showPicker}},[t._v(t._s(t.selected))])])},staticRenderFns:[]}},x3Dq:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"sticky-view-complex\",title:\"Sticky\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",{staticClass:\"sticky-view-container\"},[a(\"cube-sticky\",{ref:\"sticky\",attrs:{pos:t.scrollY,offset:t.offsetTop},on:{\"diff-change\":t.diffChange},scopedSlots:t._u([{key:\"fixed\",fn:function(e){return[a(\"ul\",{staticClass:\"sticky-header\"},[a(\"li\",{ref:\"stickyHeader\"},[t._v(\"111\")])]),t._v(\" \"),e.index>=0?a(\"cube-tab-bar\",{attrs:{\"show-slider\":\"\",data:t.tabs,\"use-transition\":!1},model:{value:t.currentTab,callback:function(e){t.currentTab=e},expression:\"currentTab\"}}):t._e()]}}])},[a(\"cube-scroll\",{ref:\"scroll\",attrs:{data:t.scrollData,\"scroll-events\":t.scrollEvents,options:t.options},on:{scroll:t.scrollHandler,\"scroll-end\":t.scrollEndHandler,\"pulling-up\":t.onPullingUp}},[a(\"ul\",[a(\"li\",[t._v(\"title\")]),t._v(\" \"),a(\"li\",[t._v(\"title\")]),t._v(\" \"),a(\"li\",[t._v(\"title\")]),t._v(\" \"),a(\"li\",[t._v(\"title\")]),t._v(\" \"),a(\"li\",[t._v(\"title\")])]),t._v(\" \"),a(\"cube-sticky-ele\",[a(\"cube-tab-bar\",{attrs:{\"show-slider\":\"\",data:t.tabs,\"use-transition\":!1},model:{value:t.currentTab,callback:function(e){t.currentTab=e},expression:\"currentTab\"}})],1),t._v(\" \"),1===t.currentTab?a(\"ul\",t._l(t.items1,function(e){return a(\"li\",[t._v(t._s(e))])})):2===t.currentTab?a(\"ul\",t._l(t.items2,function(e){return a(\"li\",[t._v(t._s(e))])})):a(\"ul\",t._l(t.items3,function(e){return a(\"li\",[t._v(t._s(e))])}))],1)],1)],1)])],2)},staticRenderFns:[]}},x6wu:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"image-preview-def\",title:\"ImagePreview\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"view-wrapper\"},[a(\"cube-button-group\",[a(\"cube-button\",{on:{click:t.showImagePreview}},[t._v(\"Show ImagePreview\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.goTo(\"multi-images-preview\")}}},[t._v(\"Show MultiImagePreview\")]),t._v(\" \"),a(\"cube-button\",{on:{click:t.showCustomImagePreview}},[t._v(\"Show Custom ImagePreview\")])],1)],1),t._v(\" \"),a(\"cube-view\")],1)])},staticRenderFns:[]}},x9Ds:function(t,e,a){var i,n,l;!function(c,u){n=[e,a(\"bOdI\"),a(\"UFDc\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a){\"use strict\";function i(){for(var t=this._base.prototype,e=t.$cubeLang,i=t.$cubeMessages[e].validator,l=arguments.length,c=Array(l),u=0;u<l;u++)c[u]=arguments[u];\"string\"==typeof c[0]&&(c[0]=(0,n.default)({},c[0],c[1])),(0,a.deepAssign)(i,c[0])}Object.defineProperty(t,\"__esModule\",{value:!0}),t.addMessage=void 0;var n=function(t){return t&&t.__esModule?t:{default:t}}(e);t.addMessage=i})},xH1B:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"XPXN\"),a(\"0NVV\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i);e.default={components:{CubePage:l.default},data:function(){return{singerData:c.default}},methods:{selectItem:function(t){console.log(t.name)},clickTitle:function(t){console.log(t)}}},t.exports=e.default})},xIPZ:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"/5sW\"),a(\"XPXN\"),a(\"1Vb/\"),a(\"6SSl\"),a(\"5Fev\"),a(\"YlpP\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n,l,c,u){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=o(a),r=o(i),d=o(n),v=o(l),p=o(c),f=o(u),h=[];f.default.goods.forEach(function(t){h=h.concat(t.foods)}),e.default={data:function(){return{items:h,pullDownRefresh:!1,pullDownRefreshThreshold:60,pullDownRefreshStop:40,pullDownRefreshTxt:\"Refresh success\",pullUpLoad:!1,pullUpLoadThreshold:0,pullUpLoadMoreTxt:\"Load more\",pullUpLoadNoMoreTxt:\"No more data\",customPullDown:!1}},components:{CubePage:r.default,SwitchOption:d.default,InputOption:v.default,SelectOption:p.default},computed:{options:function(){return{pullDownRefresh:this.pullDownRefreshObj,pullUpLoad:this.pullUpLoadObj,scrollbar:!0}},pullDownRefreshObj:function(){return!!this.pullDownRefresh&&{threshold:parseInt(this.pullDownRefreshThreshold),txt:this.pullDownRefreshTxt}},pullUpLoadObj:function(){return!!this.pullUpLoad&&{threshold:parseInt(this.pullUpLoadThreshold),txt:{more:this.pullUpLoadMoreTxt,noMore:this.pullUpLoadNoMoreTxt}}}},methods:{onPullingDown:function(){var t=this;setTimeout(function(){Math.random()>.5?t.items.unshift(h[1]):t.$refs.scroll.forceUpdate()},1e3)},onPullingUp:function(){var t=this;setTimeout(function(){if(Math.random()>.5){var e=h.slice(0,5);t.items=t.items.concat(e)}else t.$refs.scroll.forceUpdate()},1e3)},updatePullDownRefresh:function(t){this.pullDownRefresh=t},updatePullDownRefreshThreshold:function(t){this.pullDownRefreshThreshold=t},updatePullDownRefreshTxt:function(t){this.pullDownRefreshTxt=t},updatePullUpLoad:function(t){this.pullUpLoad=t},updatePullUpLoadThreshold:function(t){this.pullUpLoadThreshold=t},updatePullUpLoadMoreTxt:function(t){this.pullUpLoadMoreTxt=t},updatePullUpLoadNoMoreTxt:function(t){this.pullUpLoadNoMoreTxt=t},updateCustomPullDown:function(t){this.customPullDown=t},rebuildScroll:function(){var t=this;s.default.nextTick(function(){t.$refs.scroll.destroy(),t.$refs.scroll.initScroll()})}}},t.exports=e.default})},xUY6:function(t,e,a){function i(t){a(\"zIl2\")}var n=a(\"VU/8\")(a(\"EF6b\"),a(\"yA1r\"),i,null,null);t.exports=n.exports},\"xV+0\":function(t,e,a){var i,n,l;!function(a,c){n=[e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.FOLLOWERS_DATA=[{name:\"嵇智\",avatar:\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=\",postTime:1,question:\"你可以左右滑动内容区域\",answers:445,followers:1366},{name:\"嵇智\",avatar:\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=\",postTime:2,question:\"你可以左右滑动内容区域\",answers:67,followers:18},{name:\"嵇智\",avatar:\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=\",postTime:3,question:\"你可以左右滑动内容区域\",answers:110,followers:1827},{name:\"嵇智\",avatar:\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=\",postTime:3,question:\"你可以左右滑动内容区域\",answers:8,followers:200},{name:\"嵇智\",avatar:\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=\",postTime:3,question:\"你可以左右滑动内容区域\",answers:7,followers:29}],t.RECOMMEND_DATA=[{question:\"你可以左右滑动内容区域。\",content:\"你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域\",answers:21,followers:2910},{question:\"男生如何看待胖胖的女孩子？\",content:\"你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。然后出现如下对话: 他这么认真但是我真的严肃不起来，甚至有点想笑，莫名戳中萌点 (๑^o^๑) ———————————————————跑题啦，跑题啦，但是忍不住想说一下\",answers:398,followers:10009},{question:\"你最喜欢的句子是？\",content:\"1.无论走到哪儿，都没有必要那么着急，这条路很长，你不用这么快走完，你也不用担心，害怕，不要被眼前暂时的幻想迷住了眼睛，只管放心下来，踏踏实实地大胆迈步走，心立得住，身体才不会倾倒。我告诉你我喜欢你，并不是一定要和你在一起，只是希望今后的你。\",answers:88,followers:1726},{question:\"如何看待《权力的游戏》中的「泰温·兰尼斯特」？\",content:\"让楼上那些吹捧泰温的去维斯特洛种几天地，就知道泰温大人有多伟大了。“俺开了……以前俺开了……以前俺开了家酒馆，大人，在榭尔，就在石桥旁边。大家都说俺酿的麦酒是颈泽以南最好的，大人，请您见谅。可是大人，现在全都没了。他们进来喝饱以后又把剩下…\",answers:62,followers:3940}],t.HOT_DATA=[{sequence:\"01\",label:\"置顶\",question:\"了不起的新时代：世界竞争中的中国奇迹\"},{sequence:\"02\",label:\"4017万热度\",question:\"男性怎样不算「幼稚」？\"},{sequence:\"03\",label:\"587万热度\",question:\"有哪些视频让你突然感到恋爱了？\"},{sequence:\"04\",label:\"530万热度\",question:\"相亲见到前女友是一种怎样的体验？\"},{sequence:\"05\",label:\"536万热度\",question:\"哪个瞬间你觉得你的宠物爱上了你？\"},{sequence:\"06\",label:\"380万热度\",question:\"如果把四大名著的故事连成一串，会怎么样？\"},{sequence:\"07\",label:\"317万热度\",question:\"唱歌跑调的原因到底是什么？\"},{sequence:\"08\",label:\"280万热度\",question:\"高考之后，人生转弯\"}],t.ALL_HEROES=[{name:\"猩红收割者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/29473e97-8253-498c-a893-b3605596c142.jpg\"},{name:\"无极剑圣\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/82866ed8-6285-4a56-b62a-455716a4a848.jpg\"},{name:\"雪原双子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c69a3408-e28e-420f-b4e6-4ff911cbd809.jpg\"},{name:\"牛头酋长\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/8a02642c-57eb-496f-b8c8-ffc638fe1277.jpg\"},{name:\"祖安怒兽\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/52e450c7-c213-4864-bb31-1a2d25b16875.jpg\"},{name:\"正义巨像\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/0007eb00-4d1f-47f2-aed2-51e005668429.jpg\"},{name:\"卡牌大师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/64bd809e-b39e-4365-bbf9-31171f8145ea.jpg\"},{name:\"狂战士\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/2cc4bae7-4ab6-49f0-a336-6a12e42f8e4a.jpg\"},{name:\"麦林炮手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/e89109b5-bb2e-4922-ab62-0e2dff556a0c.jpg\"},{name:\"众星之子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f55ca358-a6e7-40d7-a749-265a5e5c6ca6.jpg\"},{name:\"亡灵战神\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/a252aa07-4c52-4b75-9be6-e7da029552d8.jpg\"},{name:\"德邦总管\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/53da0bba-5485-4976-98db-28ef8257256a.jpg\"},{name:\"战争女神\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/832df15a-bacb-4bc9-b21a-0c1f41203447.jpg\"},{name:\"正义天使\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/49cef9ff-1200-4874-b9f6-70ef8f847cec.jpg\"},{name:\"黑暗之女\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f9f35675-5f1f-4e67-96cb-f020bcd7eaac.jpg\"},{name:\"远古恐惧\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9b32bdd0-f624-4087-b4a1-c3e825c2e907.jpg\"},{name:\"诡术妖姬\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f1a015df-8b18-4a27-adf1-53cb91899b06.jpg\"},{name:\"无畏战车\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f02bbc35-6496-4cd2-8614-b3e718f53978.jpg\"},{name:\"符文法师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/70bb2156-d66a-411f-b9b7-a5346333887f.jpg\"},{name:\"迅捷斥候\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/b99bcb11-132a-4b18-9595-674eda2ea137.jpg\"}],t.MAGE_HEROES=[{name:\"冰晶凤凰\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f8c9857a-f6ea-4865-a414-8ee6e1bf186e.jpg\"},{name:\"卡牌大师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/64bd809e-b39e-4365-bbf9-31171f8145ea.jpg\"},{name:\"诡术妖姬\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f1a015df-8b18-4a27-adf1-53cb91899b06.jpg\"},{name:\"虚空恐惧\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/1b658934-f385-4647-9d90-f4138690fb8c.jpg\"},{name:\"正义巨像\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/0007eb00-4d1f-47f2-aed2-51e005668429.jpg\"},{name:\"远古恐惧\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9b32bdd0-f624-4087-b4a1-c3e825c2e907.jpg\"},{name:\"猩红收割者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/29473e97-8253-498c-a893-b3605596c142.jpg\"},{name:\"众星之子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f55ca358-a6e7-40d7-a749-265a5e5c6ca6.jpg\"},{name:\"风暴之怒\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c6d639d2-27c4-49d7-87d7-5695deb956bc.jpg\"},{name:\"符文法师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/70bb2156-d66a-411f-b9b7-a5346333887f.jpg\"},{name:\"天启者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/2eb7c0ea-3391-467b-bfba-702c17bc06b1.jpg\"},{name:\"琴瑟仙女\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/dc22f287-beb0-45a9-992b-0dfaf1ba086c.jpg\"},{name:\"黑暗之女\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f9f35675-5f1f-4e67-96cb-f020bcd7eaac.jpg\"},{name:\"死亡颂唱者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/50af2556-81aa-453e-9c61-6a1f2a32d48f.jpg\"},{name:\"堕落天使\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f554b63a-5a5a-40ba-8b42-9dac62de27c5.jpg\"},{name:\"时光守护者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/4e01bc3f-42bc-4f82-8fc2-38fb83b9ce1b.jpg\"},{name:\"邪恶小法师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f57ade05-20db-46ad-a8cd-c0a27e8b1a60.jpg\"},{name:\"痛苦之拥\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/1b283500-d518-4648-9cea-074954a66f37.jpg\"},{name:\"殇之木乃伊\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/aeed76f4-bf64-44b1-9be3-1ff9286f7893.jpg\"},{name:\"虚空行者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/21725197-c177-4f4c-8839-025f3e9e0d69.jpg\"}],t.FIGHTER_HEROES=[{name:\"正义天使\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/49cef9ff-1200-4874-b9f6-70ef8f847cec.jpg\"},{name:\"无畏战车\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f02bbc35-6496-4cd2-8614-b3e718f53978.jpg\"},{name:\"蛮族之王\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/94faba51-193e-4ab2-9ac2-bdfd16ed6c85.jpg\"},{name:\"德邦总管\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/53da0bba-5485-4976-98db-28ef8257256a.jpg\"},{name:\"诺克萨斯统领\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c2507aa8-270b-4e95-99ec-95d6b6cb1181.jpg\"},{name:\"符文法师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/70bb2156-d66a-411f-b9b7-a5346333887f.jpg\"},{name:\"亡灵战神\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/a252aa07-4c52-4b75-9be6-e7da029552d8.jpg\"},{name:\"狂战士\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/2cc4bae7-4ab6-49f0-a336-6a12e42f8e4a.jpg\"},{name:\"海洋之灾\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/418468cf-3a68-4737-b17d-ad46a77c25af.jpg\"},{name:\"祖安狂人\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/78dc424a-f2a0-4922-9eff-60b96f6f30b4.jpg\"},{name:\"雪原双子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c69a3408-e28e-420f-b4e6-4ff911cbd809.jpg\"},{name:\"无极剑圣\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/82866ed8-6285-4a56-b62a-455716a4a848.jpg\"},{name:\"刀锋舞者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/46d1d308-a516-45ce-81e6-e3f19e48e5ba.jpg\"},{name:\"巨魔之王\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/85463a90-aabc-4b72-b800-d3073f5ead08.jpg\"},{name:\"瓦洛兰之盾\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/62824f25-e006-440d-a903-2d2bc7244726.jpg\"},{name:\"披甲龙龟\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f55593dd-d50e-4254-b843-fd451977bb35.jpg\"},{name:\"祖安怒兽\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/52e450c7-c213-4864-bb31-1a2d25b16875.jpg\"},{name:\"武器大师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/cc1d2374-1830-436f-abc8-a502341f54a0.jpg\"},{name:\"蒸汽机器人\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/cc90502e-d588-437c-99bd-57903a64e9b9.jpg\"},{name:\"炼金术士\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/ef3dd5a6-a077-4f9e-ac93-c0cf6fa2cd5e.jpg\"}],t.TANK_HEROES=[{name:\"正义巨像\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/0007eb00-4d1f-47f2-aed2-51e005668429.jpg\"},{name:\"德玛西亚皇子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/3bb5e805-1b0e-4450-b672-c201ff6183a9.jpg\"},{name:\"雪原双子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c69a3408-e28e-420f-b4e6-4ff911cbd809.jpg\"},{name:\"牛头酋长\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/8a02642c-57eb-496f-b8c8-ffc638fe1277.jpg\"},{name:\"水晶先锋\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/770c98b2-523c-4a5a-9d63-3c77d333dc91.jpg\"},{name:\"狂战士\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/2cc4bae7-4ab6-49f0-a336-6a12e42f8e4a.jpg\"},{name:\"炼金术士\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/ef3dd5a6-a077-4f9e-ac93-c0cf6fa2cd5e.jpg\"},{name:\"披甲龙龟\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f55593dd-d50e-4254-b843-fd451977bb35.jpg\"},{name:\"祖安狂人\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/78dc424a-f2a0-4922-9eff-60b96f6f30b4.jpg\"},{name:\"扭曲树精\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/d7583963-a931-4ac1-8790-226d482f5434.jpg\"},{name:\"虚空恐惧\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/1b658934-f385-4647-9d90-f4138690fb8c.jpg\"},{name:\"荒漠屠夫\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/3a6ec2ed-66dc-4b10-bf6c-5b3093ed4d1f.jpg\"},{name:\"蒸汽机器人\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/cc90502e-d588-437c-99bd-57903a64e9b9.jpg\"},{name:\"亡灵战神\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/a252aa07-4c52-4b75-9be6-e7da029552d8.jpg\"},{name:\"殇之木乃伊\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/aeed76f4-bf64-44b1-9be3-1ff9286f7893.jpg\"},{name:\"祖安怒兽\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/52e450c7-c213-4864-bb31-1a2d25b16875.jpg\"},{name:\"熔岩巨兽\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/b7525041-ae43-4e6a-8b57-2fb20fd95cd2.jpg\"},{name:\"无畏战车\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f02bbc35-6496-4cd2-8614-b3e718f53978.jpg\"},{name:\"齐天大圣\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/57e2ee1a-1824-4669-b8f8-831beac89b20.jpg\"},{name:\"巨魔之王\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/85463a90-aabc-4b72-b800-d3073f5ead08.jpg\"}],t.ASSASSIN_HEROES=[{name:\"迅捷斥候\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/b99bcb11-132a-4b18-9595-674eda2ea137.jpg\"},{name:\"不祥之刃\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/d1c8a5e1-4753-4cf3-ab05-abf0ebbc99e6.jpg\"},{name:\"诡术妖姬\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f1a015df-8b18-4a27-adf1-53cb91899b06.jpg\"},{name:\"德邦总管\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/53da0bba-5485-4976-98db-28ef8257256a.jpg\"},{name:\"虚空先知\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/6b058b7a-02fb-490d-9203-952bc2433789.jpg\"},{name:\"麦林炮手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/e89109b5-bb2e-4922-ab62-0e2dff556a0c.jpg\"},{name:\"暗夜猎手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9751fc11-0f98-4528-80f6-f84d34c9be1b.jpg\"},{name:\"永恒梦魇\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/1c58a713-c4fe-406f-9d5b-9b66c6ba2624.jpg\"},{name:\"蛮族之王\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/94faba51-193e-4ab2-9ac2-bdfd16ed6c85.jpg\"},{name:\"无极剑圣\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/82866ed8-6285-4a56-b62a-455716a4a848.jpg\"},{name:\"虚空行者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/21725197-c177-4f4c-8839-025f3e9e0d69.jpg\"},{name:\"瘟疫之源\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/d0e54f98-0e08-47af-a706-1e994ee11673.jpg\"},{name:\"痛苦之拥\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/1b283500-d518-4648-9cea-074954a66f37.jpg\"},{name:\"离群之刺\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/7c96be06-2868-4973-888c-ecb6d8353d1a.jpg\"},{name:\"刀锋舞者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/46d1d308-a516-45ce-81e6-e3f19e48e5ba.jpg\"},{name:\"不屈之枪\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c111a9ba-3b69-4afc-8adb-6383e89a488b.jpg\"},{name:\"盲僧\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9098319d-78d2-44ad-9829-a3814eeb7913.jpg\"},{name:\"武器大师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/cc1d2374-1830-436f-abc8-a502341f54a0.jpg\"},{name:\"恶魔小丑\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/dccf4d8c-33bb-4b97-97c9-6659c4401785.jpg\"},{name:\"狂野女猎手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/171ec928-98db-40af-9a32-10c57d949b13.jpg\"}],t.SUPPORT_HEROES=[{name:\"牛头酋长\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/8a02642c-57eb-496f-b8c8-ffc638fe1277.jpg\"},{name:\"大发明家\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/81711ecd-a986-47c2-906b-97a74dcf6967.jpg\"},{name:\"堕落天使\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f554b63a-5a5a-40ba-8b42-9dac62de27c5.jpg\"},{name:\"发条魔灵\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/81f7e648-a5e6-4da2-aeaa-0691ef4b5eed.jpg\"},{name:\"蒸汽机器人\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/cc90502e-d588-437c-99bd-57903a64e9b9.jpg\"},{name:\"风暴之怒\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c6d639d2-27c4-49d7-87d7-5695deb956bc.jpg\"},{name:\"曙光女神\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/54f4d286-c5d5-4dee-b2b7-364e5a0737a8.jpg\"},{name:\"正义天使\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/49cef9ff-1200-4874-b9f6-70ef8f847cec.jpg\"},{name:\"光辉女郎\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/49ab6e2f-d1d7-467e-ae35-ea07f15ea243.jpg\"},{name:\"仙灵女巫\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/0b853a5c-5145-4379-b56a-d95676d4a4ab.jpg\"},{name:\"暮光星灵\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9f1c463a-55ce-410c-bc4a-a5b2c5fa4c16.jpg\"},{name:\"琴瑟仙女\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/dc22f287-beb0-45a9-992b-0dfaf1ba086c.jpg\"},{name:\"寒冰射手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/5b30ccd1-2815-471c-86ac-90a8eaf5e1cb.jpg\"},{name:\"冰晶凤凰\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f8c9857a-f6ea-4865-a414-8ee6e1bf186e.jpg\"},{name:\"暗黑元首\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/0f415582-6820-440d-afe5-69dc4b83874b.jpg\"},{name:\"天启者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/2eb7c0ea-3391-467b-bfba-702c17bc06b1.jpg\"},{name:\"众星之子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/f55ca358-a6e7-40d7-a749-265a5e5c6ca6.jpg\"},{name:\"远古恐惧\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9b32bdd0-f624-4087-b4a1-c3e825c2e907.jpg\"},{name:\"瓦洛兰之盾\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/62824f25-e006-440d-a903-2d2bc7244726.jpg\"},{name:\"时光守护者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/4e01bc3f-42bc-4f82-8fc2-38fb83b9ce1b.jpg\"}],t.MARKSMAN_HEROES=[{name:\"未来守护者\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/a47a8774-9886-4486-90dd-d119555752f4.jpg\"},{name:\"寒冰射手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/5b30ccd1-2815-471c-86ac-90a8eaf5e1cb.jpg\"},{name:\"永猎双子\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/e85f3ec8-01f5-462e-87e3-00b9aa49271a.jpg\"},{name:\"法外狂徒\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c8b674c9-102b-431d-96fc-ac565e51d1e6.jpg\"},{name:\"狂暴之心\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/66bd37a9-5439-40f0-b847-2a54c99ebcd4.jpg\"},{name:\"瘟疫之源\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/d0e54f98-0e08-47af-a706-1e994ee11673.jpg\"},{name:\"赏金猎人\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/bff19bde-3439-459d-9d7f-6f6c46274b7a.jpg\"},{name:\"暗夜猎手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/9751fc11-0f98-4528-80f6-f84d34c9be1b.jpg\"},{name:\"戏命师\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/eb9c8392-1557-4ea8-a58b-287d210e48f1.jpg\"},{name:\"虚空之女\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/3e025f46-076a-4c0f-b176-f5362abf74a5.jpg\"},{name:\"惩戒之箭\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/2decda4f-ca77-409c-b69e-1e6cc5cfe6b9.jpg\"},{name:\"麦林炮手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/e89109b5-bb2e-4922-ab62-0e2dff556a0c.jpg\"},{name:\"皮城女警\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/ffb72a29-bfd2-4100-bb21-a69888775863.jpg\"},{name:\"德玛西亚之翼\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/b78db556-8700-47af-b3a4-6f386ab08258.jpg\"},{name:\"迅捷斥候\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/b99bcb11-132a-4b18-9595-674eda2ea137.jpg\"},{name:\"探险家\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c5fc7cf3-4569-44bc-8543-f8b37c4d2bb6.jpg\"},{name:\"战争女神\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/832df15a-bacb-4bc9-b21a-0c1f41203447.jpg\"},{name:\"荣耀行刑官\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/551a7edc-6ca1-4f64-b097-87bad5f53b3d.jpg\"},{name:\"深渊巨口\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/c0d35caf-2dd6-427f-8215-725700b57296.jpg\"},{name:\"英勇投弹手\",avatar:\"https://dpubstatic.udache.com/static/dpubimg/5f8dfef6-69de-4533-82fa-3fa2fce87588.jpg\"}]})},xYoV:function(t,e,a){function i(t){a(\"PpuX\")}var n=a(\"VU/8\")(a(\"1peF\"),a(\"qeyv\"),i,null,null);t.exports=n.exports},xomh:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"bOdI\"),a(\"Z5VE\"),a(\"d64j\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);e.default={name:\"cube-popup\",mixins:[u.default,o.default],props:{type:{type:String,default:\"\"},mask:{type:Boolean,default:!0},content:{type:String,default:\"\"},center:{type:Boolean,default:!0},position:{type:String,default:\"\"}},computed:{rootClass:function(){var t={\"cube-popup_mask\":this.mask};return this.type&&(t[\"cube-\"+this.type]=!0),t},containerClass:function(){var t=this.center,e=this.position;return e?(0,c.default)({},\"cube-popup-\"+e,!0):t?{\"cube-popup-center\":!0}:void 0}},methods:{maskClick:function(t){this.$emit(\"mask-click\",t),this.maskClosable&&this.hide()}}},t.exports=e.default})},xru3:function(t,e,a){function i(t){a(\"Cuup\")}var n=a(\"VU/8\")(a(\"7brH\"),a(\"MHqM\"),i,null,null);t.exports=n.exports},y9Aq:function(t,e){},yA1r:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"li\",{staticClass:\"cube-rate-item\",class:{\"cube-rate-item_active\":t.index<=t.$parent.tempValue,\"cube-rate-item_half_active\":t.index===t.$parent.tempValue+.5}},[t._t(\"default\",[a(\"div\",{staticClass:\"cube-rate-item-def\"})])],2)},staticRenderFns:[]}},yB4N:function(t,e,a){var i=a(\"VU/8\")(a(\"RO5T\"),a(\"KMzT\"),null,null,null);t.exports=i.exports},yE9A:function(t,e,a){function i(t){a(\"0ZfZ\")}var n=a(\"VU/8\")(a(\"XJZo\"),a(\"1/C+\"),i,null,null);t.exports=n.exports},yIJW:function(t,e,a){var i,n,l;!function(a,c){n=[t,e],i=c,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a={value:\"value\",text:\"text\",order:\"order\"};e.default={props:{data:{type:Array,default:function(){return[]}},selectedIndex:{type:Array,default:function(){return[]}},alias:{type:Object,default:function(){return{}}}},computed:{valueKey:function(){return this.alias.value||a.value},textKey:function(){return this.alias.text||a.text},orderKey:function(){return a.order},merge:function(){return[this.data,this.selectedIndex]}},watch:{merge:function(t){this.setData(t[0],t[1])}}},t.exports=e.default})},yLJt:function(t,e){},yVfC:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"popup-view\",title:\"popup\"}},[a(\"template\",{slot:\"content\"},[a(\"div\",[a(\"cube-popup\",{attrs:{type:\"my-popup\"},model:{value:t.visible1,callback:function(e){t.visible1=e},expression:\"visible1\"}},[t._v(\"My Popup Content 1\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showPopup(1)}}},[t._v(\"Show Popup\")])],1),t._v(\" \"),a(\"div\",[a(\"cube-popup\",{attrs:{type:\"my-popup\",mask:!1},model:{value:t.visible2,callback:function(e){t.visible2=e},expression:\"visible2\"}},[t._v(\"My Popup Content 2\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showPopup(2)}}},[t._v(\"Show Popup - no mask\")])],1),t._v(\" \"),a(\"div\",[a(\"cube-popup\",{ref:\"myPopup3\",attrs:{type:\"my-popup\",mask:!1,content:\"<i>My Popup Content 3</i>\"},model:{value:t.visible3,callback:function(e){t.visible3=e},expression:\"visible3\"}}),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showPopup(3)}}},[t._v(\"Show Popup - with content\")])],1),t._v(\" \"),a(\"div\",[a(\"cube-popup\",{ref:\"myPopup4\",attrs:{type:\"my-popup\",position:t.position,\"mask-closable\":!0},model:{value:t.visible4,callback:function(e){t.visible4=e},expression:\"visible4\"}},[t._v(\"My Popup Content 4\")]),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.showPopup(4)}}},[t._v(\"top/right/bottom/left/center\")])],1),t._v(\" \"),a(\"div\",[a(\"cube-extend-popup\",{ref:\"extendPopup\",attrs:{content:\"click here hide\"}}),t._v(\" \"),a(\"cube-button\",{on:{click:function(e){t.$refs.extendPopup.show()}}},[t._v(\"Show Extend Popup\")])],1)])],2)},staticRenderFns:[]}},yZl8:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"div\",{staticClass:\"cube-tab-panel\"},[t._t(\"default\")],2)},staticRenderFns:[]}},yb46:function(t,e,a){function i(t){a(\"eBbK\")}var n=a(\"VU/8\")(a(\"tEcF\"),a(\"Qx69\"),i,null,null);t.exports=n.exports},yjF1:function(t,e,a){function i(t){a(\"FI+X\")}var n=a(\"VU/8\")(a(\"jjfl\"),a(\"c8JE\"),i,null,null);t.exports=n.exports},\"yk/l\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{attrs:{type:\"scroll-tab-view\",title:\"ScrollTab\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"left-panel\"},[a(\"cube-scroll\",[a(\"cube-tab-bar\",{attrs:{data:t.tabs},on:{change:t.changeHandler},model:{value:t.selectedLabel,callback:function(e){t.selectedLabel=e},expression:\"selectedLabel\"}})],1)],1),t._v(\" \"),a(\"div\",{staticClass:\"right-panel\"},[a(\"cube-scroll\",{ref:\"scroll\"},[a(\"ul\",t._l(t.scrollData,function(e,i){return a(\"li\",[a(\"img\",{attrs:{src:e.avatar,alt:\"\"}}),t._v(\" \"),a(\"span\",[t._v(t._s(e.name))])])}))])],1)])])},staticRenderFns:[]}},z16Y:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"/ocq\"),a(\"nb3f\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(a),c=n(i),u=new l.default({routes:c.default});e.default=u,t.exports=e.default})},zI96:function(t,e,a){function i(t){a(\"Zvx6\")}var n=a(\"VU/8\")(a(\"EzL5\"),a(\"K3bW\"),i,null,null);t.exports=n.exports},zIl2:function(t,e){},zQyI:function(t,e,a){var i,n,l;!function(c,u){n=[t,e,a(\"a/uE\"),a(\"yjF1\"),a(\"yE9A\")],i=u,void 0!==(l=\"function\"==typeof i?i.apply(e,n):i)&&(t.exports=l)}(0,function(t,e,a,i,n){\"use strict\";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var c=l(a),u=l(i),o=l(n);o.default.install=function(t){t.component(c.default.name,c.default),t.component(u.default.name,u.default),t.component(o.default.name,o.default)},o.default.Button=c.default,o.default.Checkbox=u.default,e.default=o.default,t.exports=e.default})},zZ81:function(t,e,a){var i=a(\"VU/8\")(a(\"LXLj\"),a(\"IBT5\"),null,null,null);t.exports=i.exports},zlrq:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"option-demo\",attrs:{type:\"slide-view\",title:\"Slide\"}},[a(\"div\",{attrs:{slot:\"content\"},slot:\"content\"},[a(\"div\",{staticClass:\"slide-container-v\"},[a(\"cube-slide\",{attrs:{data:t.items,loop:t.loop,showDots:!1,direction:\"vertical\"},on:{change:t.change}})],1)])])},staticRenderFns:[]}},zlwF:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"cube-page\",{staticClass:\"page-questionnaire\",attrs:{title:\"Questionnaire\"}},[a(\"demo-questionnaire\",{attrs:{slot:\"content\",tip:t.tip,questions:t.questions,submit:t.submit},on:{submit:t.submitHandler},slot:\"content\"})],1)},staticRenderFns:[]}},zuie:function(t,e,a){function i(t){a(\"i3b6\")}var n=a(\"VU/8\")(a(\"QNIf\"),a(\"hlu4\"),i,null,null);t.exports=n.exports},zzMN:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"li\",{staticClass:\"cube-toolbar-item border-right-1px\"},[a(\"cube-button\",{attrs:{icon:t.action.icon}},[\"checkbox\"==t.action.type?a(\"cube-checkbox\",{staticClass:\"cube-toolbar-chb\",attrs:{label:t.action.text},model:{value:t.action.checked,callback:function(e){t.$set(t.action,\"checked\",e)},expression:\"action.checked\"}}):a(\"span\",{domProps:{innerHTML:t._s(t.action.text)}})],1),t._v(\" \"),a(\"i\",{staticClass:\"cube-toolbar-down\"})],1)},staticRenderFns:[]}}},[\"SrUm\"]);"
  },
  {
    "path": "docs/example/js/manifest.346dd10710fe9c0348bf.js",
    "content": "!function(r){function n(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}var e=window.webpackJsonp;window.webpackJsonp=function(o,u,c){for(var f,i,p,a=0,l=[];a<o.length;a++)i=o[a],t[i]&&l.push(t[i][0]),t[i]=0;for(f in u)Object.prototype.hasOwnProperty.call(u,f)&&(r[f]=u[f]);for(e&&e(o,u,c);l.length;)l.shift()();if(c)for(a=0;a<c.length;a++)p=n(n.s=c[a]);return p};var o={},t={2:0};n.m=r,n.c=o,n.d=function(r,e,o){n.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:o})},n.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(e,\"a\",e),e},n.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},n.p=\"\",n.oe=function(r){throw console.error(r),r}}([]);"
  },
  {
    "path": "docs/example/js/vendor.9655a2c38e3b841c4a21.js",
    "content": "webpackJsonp([1],{\"+E39\":function(t,e,n){t.exports=!n(\"S82l\")(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},\"+ZMJ\":function(t,e,n){var r=n(\"lOnJ\");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},\"+tPU\":function(t,e,n){n(\"xGkn\");for(var r=n(\"7KvD\"),i=n(\"hJx8\"),o=n(\"/bQp\"),s=n(\"dSzd\")(\"toStringTag\"),a=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),c=0;c<a.length;c++){var u=a[c],l=r[u],h=l&&l.prototype;h&&!h[s]&&i(h,s,u),o[u]=o.Array}},\"//Fk\":function(t,e,n){t.exports={default:n(\"U5ju\"),__esModule:!0}},\"/5sW\":function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),function(t,n){function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function s(t){return!1===t}function a(t){return\"string\"==typeof t||\"number\"==typeof t||\"symbol\"==typeof t||\"boolean\"==typeof t}function c(t){return null!==t&&\"object\"==typeof t}function u(t){return\"[object Object]\"===yr.call(t)}function l(t){return\"[object RegExp]\"===yr.call(t)}function h(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function f(t){return null==t?\"\":\"object\"==typeof t?JSON.stringify(t,null,2):String(t)}function p(t){var e=parseFloat(t);return isNaN(e)?t:e}function d(t,e){for(var n=Object.create(null),r=t.split(\",\"),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}function v(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}function m(t,e){return _r.call(t,e)}function g(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function y(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function b(t,e){return t.bind(e)}function _(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function w(t,e){for(var n in e)t[n]=e[n];return t}function x(t){for(var e={},n=0;n<t.length;n++)t[n]&&w(e,t[n]);return e}function E(t,e,n){}function S(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=Array.isArray(t),o=Array.isArray(e);if(i&&o)return t.length===e.length&&t.every(function(t,n){return S(t,e[n])});if(i||o)return!1;var s=Object.keys(t),a=Object.keys(e);return s.length===a.length&&s.every(function(n){return S(t[n],e[n])})}catch(t){return!1}}function T(t,e){for(var n=0;n<t.length;n++)if(S(t[n],e))return n;return-1}function O(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function k(t){var e=(t+\"\").charCodeAt(0);return 36===e||95===e}function C(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function M(t){if(!jr.test(t)){var e=t.split(\".\");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}function A(t){return\"function\"==typeof t&&/native code/.test(t.toString())}function P(t){Zr.target&&ti.push(Zr.target),Zr.target=t}function L(){Zr.target=ti.pop()}function j(t){return new ei(void 0,void 0,void 0,String(t))}function D(t){var e=new ei(t.tag,t.data,t.children,t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.isCloned=!0,e}function R(t){ai=t}function I(t,e,n){t.__proto__=e}function $(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];C(t,o,e[o])}}function N(t,e){if(c(t)&&!(t instanceof ei)){var n;return m(t,\"__ob__\")&&t.__ob__ instanceof ci?n=t.__ob__:ai&&!Vr()&&(Array.isArray(t)||u(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new ci(t)),e&&n&&n.vmCount++,n}}function X(t,e,n,r,i){var o=new Zr,s=Object.getOwnPropertyDescriptor(t,e);if(!s||!1!==s.configurable){var a=s&&s.get;a||2!==arguments.length||(n=t[e]);var c=s&&s.set,u=!i&&N(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=a?a.call(t):n;return Zr.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(e)&&B(e))),e},set:function(e){var r=a?a.call(t):n;e===r||e!==e&&r!==r||(c?c.call(t,e):n=e,u=!i&&N(e),o.notify())}})}}function Y(t,e,n){if(Array.isArray(t)&&h(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(X(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function z(t,e){if(Array.isArray(t)&&h(e))return void t.splice(e,1);var n=t.__ob__;t._isVue||n&&n.vmCount||m(t,e)&&(delete t[e],n&&n.dep.notify())}function B(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&B(e)}function F(t,e){if(!e)return t;for(var n,r,i,o=Object.keys(e),s=0;s<o.length;s++)n=o[s],r=t[n],i=e[n],m(t,n)?u(r)&&u(i)&&F(r,i):Y(t,n,i);return t}function H(t,e,n){return n?function(){var r=\"function\"==typeof e?e.call(n,n):e,i=\"function\"==typeof t?t.call(n,n):t;return r?F(r,i):i}:e?t?function(){return F(\"function\"==typeof e?e.call(this,this):e,\"function\"==typeof t?t.call(this,this):t)}:e:t}function U(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function W(t,e,n,r){var i=Object.create(t||null);return e?w(i,e):i}function q(t,e){var n=t.props;if(n){var r,i,o,s={};if(Array.isArray(n))for(r=n.length;r--;)\"string\"==typeof(i=n[r])&&(o=xr(i),s[o]={type:null});else if(u(n))for(var a in n)i=n[a],o=xr(a),s[o]=u(i)?i:{type:i};t.props=s}}function V(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(u(n))for(var o in n){var s=n[o];r[o]=u(s)?w({from:o},s):{from:s}}}}function Q(t){var e=t.directives;if(e)for(var n in e){var r=e[n];\"function\"==typeof r&&(e[n]={bind:r,update:r})}}function K(t,e,n){function r(r){var i=ui[r]||fi;c[r]=i(t[r],e[r],n,r)}\"function\"==typeof e&&(e=e.options),q(e,n),V(e,n),Q(e);var i=e.extends;if(i&&(t=K(t,i,n)),e.mixins)for(var o=0,s=e.mixins.length;o<s;o++)t=K(t,e.mixins[o],n);var a,c={};for(a in t)r(a);for(a in e)m(t,a)||r(a);return c}function G(t,e,n,r){if(\"string\"==typeof n){var i=t[e];if(m(i,n))return i[n];var o=xr(n);if(m(i,o))return i[o];var s=Er(o);if(m(i,s))return i[s];return i[n]||i[o]||i[s]}}function J(t,e,n,r){var i=e[t],o=!m(n,t),s=n[t],a=nt(Boolean,i.type);if(a>-1)if(o&&!m(i,\"default\"))s=!1;else if(\"\"===s||s===Tr(t)){var c=nt(String,i.type);(c<0||a<c)&&(s=!0)}if(void 0===s){s=Z(r,i,t);var u=ai;R(!0),N(s),R(u)}return s}function Z(t,e,n){if(m(e,\"default\")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:\"function\"==typeof r&&\"Function\"!==tt(e.type)?r.call(t):r}}function tt(t){var e=t&&t.toString().match(/^\\s*function (\\w+)/);return e?e[1]:\"\"}function et(t,e){return tt(t)===tt(e)}function nt(t,e){if(!Array.isArray(e))return et(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(et(e[n],t))return n;return-1}function rt(t,e,n){if(e)for(var r=e;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{var s=!1===i[o].call(r,t,e,n);if(s)return}catch(t){it(t,r,\"errorCaptured hook\")}}it(t,e,n)}function it(t,e,n){if(Lr.errorHandler)try{return Lr.errorHandler.call(null,t,e,n)}catch(t){ot(t,null,\"config.errorHandler\")}ot(t,e,n)}function ot(t,e,n){if(!Rr&&!Ir||\"undefined\"==typeof console)throw t;console.error(t)}function st(){di=!1;var t=pi.slice(0);pi.length=0;for(var e=0;e<t.length;e++)t[e]()}function at(t){return t._withTask||(t._withTask=function(){vi=!0;var e=t.apply(null,arguments);return vi=!1,e})}function ct(t,e){var n;if(pi.push(function(){if(t)try{t.call(e)}catch(t){rt(t,e,\"nextTick\")}else n&&n(e)}),di||(di=!0,vi?hi():li()),!t&&\"undefined\"!=typeof Promise)return new Promise(function(t){n=t})}function ut(t){lt(t,_i),_i.clear()}function lt(t,e){var n,r,i=Array.isArray(t);if(!(!i&&!c(t)||Object.isFrozen(t)||t instanceof ei)){if(t.__ob__){var o=t.__ob__.dep.id;if(e.has(o))return;e.add(o)}if(i)for(n=t.length;n--;)lt(t[n],e);else for(r=Object.keys(t),n=r.length;n--;)lt(t[r[n]],e)}}function ht(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=n.slice(),i=0;i<r.length;i++)r[i].apply(null,t)}return e.fns=t,e}function ft(t,e,n,i,o){var s,a,c,u;for(s in t)a=t[s],c=e[s],u=wi(s),r(a)||(r(c)?(r(a.fns)&&(a=t[s]=ht(a)),n(u.name,a,u.once,u.capture,u.passive,u.params)):a!==c&&(c.fns=a,t[s]=c));for(s in e)r(t[s])&&(u=wi(s),i(u.name,e[s],u.capture))}function pt(t,e,n){function s(){n.apply(this,arguments),v(a.fns,s)}t instanceof ei&&(t=t.data.hook||(t.data.hook={}));var a,c=t[e];r(c)?a=ht([s]):i(c.fns)&&o(c.merged)?(a=c,a.fns.push(s)):a=ht([c,s]),a.merged=!0,t[e]=a}function dt(t,e,n){var o=e.options.props;if(!r(o)){var s={},a=t.attrs,c=t.props;if(i(a)||i(c))for(var u in o){var l=Tr(u);vt(s,c,u,l,!0)||vt(s,a,u,l,!1)}return s}}function vt(t,e,n,r,o){if(i(e)){if(m(e,n))return t[n]=e[n],o||delete e[n],!0;if(m(e,r))return t[n]=e[r],o||delete e[r],!0}return!1}function mt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function gt(t){return a(t)?[j(t)]:Array.isArray(t)?bt(t):void 0}function yt(t){return i(t)&&i(t.text)&&s(t.isComment)}function bt(t,e){var n,s,c,u,l=[];for(n=0;n<t.length;n++)s=t[n],r(s)||\"boolean\"==typeof s||(c=l.length-1,u=l[c],Array.isArray(s)?s.length>0&&(s=bt(s,(e||\"\")+\"_\"+n),yt(s[0])&&yt(u)&&(l[c]=j(u.text+s[0].text),s.shift()),l.push.apply(l,s)):a(s)?yt(u)?l[c]=j(u.text+s):\"\"!==s&&l.push(j(s)):yt(s)&&yt(u)?l[c]=j(u.text+s.text):(o(t._isVList)&&i(s.tag)&&r(s.key)&&i(e)&&(s.key=\"__vlist\"+e+\"_\"+n+\"__\"),l.push(s)));return l}function _t(t,e){return(t.__esModule||Kr&&\"Module\"===t[Symbol.toStringTag])&&(t=t.default),c(t)?e.extend(t):t}function wt(t,e,n,r,i){var o=ri();return o.asyncFactory=t,o.asyncMeta={data:e,context:n,children:r,tag:i},o}function xt(t,e,n){if(o(t.error)&&i(t.errorComp))return t.errorComp;if(i(t.resolved))return t.resolved;if(o(t.loading)&&i(t.loadingComp))return t.loadingComp;if(!i(t.contexts)){var s=t.contexts=[n],a=!0,u=function(){for(var t=0,e=s.length;t<e;t++)s[t].$forceUpdate()},l=O(function(n){t.resolved=_t(n,e),a||u()}),h=O(function(e){i(t.errorComp)&&(t.error=!0,u())}),f=t(l,h);return c(f)&&(\"function\"==typeof f.then?r(t.resolved)&&f.then(l,h):i(f.component)&&\"function\"==typeof f.component.then&&(f.component.then(l,h),i(f.error)&&(t.errorComp=_t(f.error,e)),i(f.loading)&&(t.loadingComp=_t(f.loading,e),0===f.delay?t.loading=!0:setTimeout(function(){r(t.resolved)&&r(t.error)&&(t.loading=!0,u())},f.delay||200)),i(f.timeout)&&setTimeout(function(){r(t.resolved)&&h(null)},f.timeout))),a=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(n)}function Et(t){return t.isComment&&t.asyncFactory}function St(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(i(n)&&(i(n.componentOptions)||Et(n)))return n}}function Tt(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ct(t,e)}function Ot(t,e,n){n?bi.$once(t,e):bi.$on(t,e)}function kt(t,e){bi.$off(t,e)}function Ct(t,e,n){bi=t,ft(e,n||{},Ot,kt,t),bi=void 0}function Mt(t,e){var n={};if(!t)return n;for(var r=0,i=t.length;r<i;r++){var o=t[r],s=o.data;if(s&&s.attrs&&s.attrs.slot&&delete s.attrs.slot,o.context!==e&&o.fnContext!==e||!s||null==s.slot)(n.default||(n.default=[])).push(o);else{var a=s.slot,c=n[a]||(n[a]=[]);\"template\"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(At)&&delete n[u];return n}function At(t){return t.isComment&&!t.asyncFactory||\" \"===t.text}function Pt(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?Pt(t[n],e):e[t[n].key]=t[n].fn;return e}function Lt(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function jt(t,e,n){t.$el=e,t.$options.render||(t.$options.render=ri),Nt(t,\"beforeMount\");var r;return r=function(){t._update(t._render(),n)},new Ai(t,r,E,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Nt(t,\"mounted\")),t}function Dt(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==gr);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,t.$attrs=r.data.attrs||gr,t.$listeners=n||gr,e&&t.$options.props){R(!1);for(var s=t._props,a=t.$options._propKeys||[],c=0;c<a.length;c++){var u=a[c],l=t.$options.props;s[u]=J(u,l,e,t)}R(!0),t.$options.propsData=e}n=n||gr;var h=t.$options._parentListeners;t.$options._parentListeners=n,Ct(t,n,h),o&&(t.$slots=Mt(i,r.context),t.$forceUpdate())}function Rt(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function It(t,e){if(e){if(t._directInactive=!1,Rt(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)It(t.$children[n]);Nt(t,\"activated\")}}function $t(t,e){if(!(e&&(t._directInactive=!0,Rt(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)$t(t.$children[n]);Nt(t,\"deactivated\")}}function Nt(t,e){P();var n=t.$options[e];if(n)for(var r=0,i=n.length;r<i;r++)try{n[r].call(t)}catch(n){rt(n,t,e+\" hook\")}t._hasHookEvent&&t.$emit(\"hook:\"+e),L()}function Xt(){Ci=Ei.length=Si.length=0,Ti={},Oi=ki=!1}function Yt(){ki=!0;var t,e;for(Ei.sort(function(t,e){return t.id-e.id}),Ci=0;Ci<Ei.length;Ci++)t=Ei[Ci],e=t.id,Ti[e]=null,t.run();var n=Si.slice(),r=Ei.slice();Xt(),Ft(n),zt(r),Qr&&Lr.devtools&&Qr.emit(\"flush\")}function zt(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&Nt(r,\"updated\")}}function Bt(t){t._inactive=!1,Si.push(t)}function Ft(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,It(t[e],!0)}function Ht(t){var e=t.id;if(null==Ti[e]){if(Ti[e]=!0,ki){for(var n=Ei.length-1;n>Ci&&Ei[n].id>t.id;)n--;Ei.splice(n+1,0,t)}else Ei.push(t);Oi||(Oi=!0,ct(Yt))}}function Ut(t,e,n){Pi.get=function(){return this[e][n]},Pi.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Pi)}function Wt(t){t._watchers=[];var e=t.$options;e.props&&qt(t,e.props),e.methods&&Zt(t,e.methods),e.data?Vt(t):N(t._data={},!0),e.computed&&Kt(t,e.computed),e.watch&&e.watch!==Fr&&te(t,e.watch)}function qt(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[];!t.$parent||R(!1);for(var o in e)!function(o){i.push(o);var s=J(o,e,n,t);X(r,o,s),o in t||Ut(t,\"_props\",o)}(o);R(!0)}function Vt(t){var e=t.$options.data;e=t._data=\"function\"==typeof e?Qt(e,t):e||{},u(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);i--;){var o=n[i];r&&m(r,o)||k(o)||Ut(t,\"_data\",o)}N(e,!0)}function Qt(t,e){P();try{return t.call(e,e)}catch(t){return rt(t,e,\"data()\"),{}}finally{L()}}function Kt(t,e){var n=t._computedWatchers=Object.create(null),r=Vr();for(var i in e){var o=e[i],s=\"function\"==typeof o?o:o.get;r||(n[i]=new Ai(t,s||E,E,Li)),i in t||Gt(t,i,o)}}function Gt(t,e,n){var r=!Vr();\"function\"==typeof n?(Pi.get=r?Jt(e):n,Pi.set=E):(Pi.get=n.get?r&&!1!==n.cache?Jt(e):n.get:E,Pi.set=n.set?n.set:E),Object.defineProperty(t,e,Pi)}function Jt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),Zr.target&&e.depend(),e.value}}function Zt(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?E:Or(e[n],t)}function te(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)ee(t,n,r[i]);else ee(t,n,r)}}function ee(t,e,n,r){return u(n)&&(r=n,n=n.handler),\"string\"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function ne(t){var e=t.$options.provide;e&&(t._provided=\"function\"==typeof e?e.call(t):e)}function re(t){var e=ie(t.$options.inject,t);e&&(R(!1),Object.keys(e).forEach(function(n){X(t,n,e[n])}),R(!0))}function ie(t,e){if(t){for(var n=Object.create(null),r=Kr?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),i=0;i<r.length;i++){for(var o=r[i],s=t[o].from,a=e;a;){if(a._provided&&m(a._provided,s)){n[o]=a._provided[s];break}a=a.$parent}if(!a&&\"default\"in t[o]){var c=t[o].default;n[o]=\"function\"==typeof c?c.call(e):c}}return n}}function oe(t,e){var n,r,o,s,a;if(Array.isArray(t)||\"string\"==typeof t)for(n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=e(t[r],r);else if(\"number\"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(c(t))for(s=Object.keys(t),n=new Array(s.length),r=0,o=s.length;r<o;r++)a=s[r],n[r]=e(t[a],a,r);return i(n)&&(n._isVList=!0),n}function se(t,e,n,r){var i,o=this.$scopedSlots[t];if(o)n=n||{},r&&(n=w(w({},r),n)),i=o(n)||e;else{var s=this.$slots[t];s&&(s._rendered=!0),i=s||e}var a=n&&n.slot;return a?this.$createElement(\"template\",{slot:a},i):i}function ae(t){return G(this.$options,\"filters\",t,!0)||Cr}function ce(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function ue(t,e,n,r,i){var o=Lr.keyCodes[e]||n;return i&&r&&!Lr.keyCodes[e]?ce(i,r):o?ce(o,t):r?Tr(r)!==e:void 0}function le(t,e,n,r,i){if(n)if(c(n)){Array.isArray(n)&&(n=x(n));var o;for(var s in n)!function(s){if(\"class\"===s||\"style\"===s||br(s))o=t;else{var a=t.attrs&&t.attrs.type;o=r||Lr.mustUseProp(e,a,s)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}if(!(s in o)&&(o[s]=n[s],i)){(t.on||(t.on={}))[\"update:\"+s]=function(t){n[s]=t}}}(s)}else;return t}function he(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?r:(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),pe(r,\"__static__\"+t,!1),r)}function fe(t,e,n){return pe(t,\"__once__\"+e+(n?\"_\"+n:\"\"),!0),t}function pe(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&\"string\"!=typeof t[r]&&de(t[r],e+\"_\"+r,n);else de(t,e,n)}function de(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function ve(t,e){if(e)if(u(e)){var n=t.on=t.on?w({},t.on):{};for(var r in e){var i=n[r],o=e[r];n[r]=i?[].concat(i,o):o}}else;return t}function me(t){t._o=fe,t._n=p,t._s=f,t._l=oe,t._t=se,t._q=S,t._i=T,t._m=he,t._f=ae,t._k=ue,t._b=le,t._v=j,t._e=ri,t._u=Pt,t._g=ve}function ge(t,e,n,r,i){var s,a=i.options;m(r,\"_uid\")?(s=Object.create(r),s._original=r):(s=r,r=r._original);var c=o(a._compiled),u=!c;this.data=t,this.props=e,this.children=n,this.parent=r,this.listeners=t.on||gr,this.injections=ie(a.inject,r),this.slots=function(){return Mt(n,r)},c&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=t.scopedSlots||gr),a._scopeId?this._c=function(t,e,n,i){var o=Te(s,t,e,n,i,u);return o&&!Array.isArray(o)&&(o.fnScopeId=a._scopeId,o.fnContext=r),o}:this._c=function(t,e,n,r){return Te(s,t,e,n,r,u)}}function ye(t,e,n,r,o){var s=t.options,a={},c=s.props;if(i(c))for(var u in c)a[u]=J(u,c,e||gr);else i(n.attrs)&&_e(a,n.attrs),i(n.props)&&_e(a,n.props);var l=new ge(n,a,o,r,t),h=s.render.call(null,l._c,l);if(h instanceof ei)return be(h,n,l.parent,s);if(Array.isArray(h)){for(var f=gt(h)||[],p=new Array(f.length),d=0;d<f.length;d++)p[d]=be(f[d],n,l.parent,s);return p}}function be(t,e,n,r){var i=D(t);return i.fnContext=n,i.fnOptions=r,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function _e(t,e){for(var n in e)t[xr(n)]=e[n]}function we(t,e,n,s,a){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.extend(t)),\"function\"==typeof t){var l;if(r(t.cid)&&(l=t,void 0===(t=xt(l,u,n))))return wt(l,e,n,s,a);e=e||{},Pe(t),i(e.model)&&Se(t.options,e);var h=dt(e,t,a);if(o(t.options.functional))return ye(t,h,e,n,s);var f=e.on;if(e.on=e.nativeOn,o(t.options.abstract)){var p=e.slot;e={},p&&(e.slot=p)}Ee(e);var d=t.options.name||a;return new ei(\"vue-component-\"+t.cid+(d?\"-\"+d:\"\"),e,void 0,void 0,void 0,n,{Ctor:t,propsData:h,listeners:f,tag:a,children:s},l)}}}function xe(t,e,n,r){var o={_isComponent:!0,parent:e,_parentVnode:t,_parentElm:n||null,_refElm:r||null},s=t.data.inlineTemplate;return i(s)&&(o.render=s.render,o.staticRenderFns=s.staticRenderFns),new t.componentOptions.Ctor(o)}function Ee(t){for(var e=t.hook||(t.hook={}),n=0;n<Di.length;n++){var r=Di[n];e[r]=ji[r]}}function Se(t,e){var n=t.model&&t.model.prop||\"value\",r=t.model&&t.model.event||\"input\";(e.props||(e.props={}))[n]=e.model.value;var o=e.on||(e.on={});i(o[r])?o[r]=[e.model.callback].concat(o[r]):o[r]=e.model.callback}function Te(t,e,n,r,i,s){return(Array.isArray(n)||a(n))&&(i=r,r=n,n=void 0),o(s)&&(i=Ii),Oe(t,e,n,r,i)}function Oe(t,e,n,r,o){if(i(n)&&i(n.__ob__))return ri();if(i(n)&&i(n.is)&&(e=n.is),!e)return ri();Array.isArray(r)&&\"function\"==typeof r[0]&&(n=n||{},n.scopedSlots={default:r[0]},r.length=0),o===Ii?r=gt(r):o===Ri&&(r=mt(r));var s,a;if(\"string\"==typeof e){var c;a=t.$vnode&&t.$vnode.ns||Lr.getTagNamespace(e),s=Lr.isReservedTag(e)?new ei(Lr.parsePlatformTagName(e),n,r,void 0,void 0,t):i(c=G(t.$options,\"components\",e))?we(c,n,t,r,e):new ei(e,n,r,void 0,void 0,t)}else s=we(e,n,t,r);return Array.isArray(s)?s:i(s)?(i(a)&&ke(s,a),i(n)&&Ce(n),s):ri()}function ke(t,e,n){if(t.ns=e,\"foreignObject\"===t.tag&&(e=void 0,n=!0),i(t.children))for(var s=0,a=t.children.length;s<a;s++){var c=t.children[s];i(c.tag)&&(r(c.ns)||o(n)&&\"svg\"!==c.tag)&&ke(c,e,n)}}function Ce(t){c(t.style)&&ut(t.style),c(t.class)&&ut(t.class)}function Me(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=Mt(e._renderChildren,r),t.$scopedSlots=gr,t._c=function(e,n,r,i){return Te(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Te(t,e,n,r,i,!0)};var i=n&&n.data;X(t,\"$attrs\",i&&i.attrs||gr,null,!0),X(t,\"$listeners\",e._parentListeners||gr,null,!0)}function Ae(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function Pe(t){var e=t.options;if(t.super){var n=Pe(t.super);if(n!==t.superOptions){t.superOptions=n;var r=Le(t);r&&w(t.extendOptions,r),e=t.options=K(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function Le(t){var e,n=t.options,r=t.extendOptions,i=t.sealedOptions;for(var o in n)n[o]!==i[o]&&(e||(e={}),e[o]=je(n[o],r[o],i[o]));return e}function je(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var i=0;i<t.length;i++)(e.indexOf(t[i])>=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function De(t){this._init(t)}function Re(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=_(arguments,1);return n.unshift(this),\"function\"==typeof t.install?t.install.apply(t,n):\"function\"==typeof t&&t.apply(null,n),e.push(t),this}}function Ie(t){t.mixin=function(t){return this.options=K(this.options,t),this}}function $e(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,s=function(t){this._init(t)};return s.prototype=Object.create(n.prototype),s.prototype.constructor=s,s.cid=e++,s.options=K(n.options,t),s.super=n,s.options.props&&Ne(s),s.options.computed&&Xe(s),s.extend=n.extend,s.mixin=n.mixin,s.use=n.use,Ar.forEach(function(t){s[t]=n[t]}),o&&(s.options.components[o]=s),s.superOptions=n.options,s.extendOptions=t,s.sealedOptions=w({},s.options),i[r]=s,s}}function Ne(t){var e=t.options.props;for(var n in e)Ut(t.prototype,\"_props\",n)}function Xe(t){var e=t.options.computed;for(var n in e)Gt(t.prototype,n,e[n])}function Ye(t){Ar.forEach(function(e){t[e]=function(t,n){return n?(\"component\"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),\"directive\"===e&&\"function\"==typeof n&&(n={bind:n,update:n}),this.options[e+\"s\"][t]=n,n):this.options[e+\"s\"][t]}})}function ze(t){return t&&(t.Ctor.options.name||t.tag)}function Be(t,e){return Array.isArray(t)?t.indexOf(e)>-1:\"string\"==typeof t?t.split(\",\").indexOf(e)>-1:!!l(t)&&t.test(e)}function Fe(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var s=n[o];if(s){var a=ze(s.componentOptions);a&&!e(a)&&He(n,o,r,i)}}}function He(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,v(n,e)}function Ue(t){for(var e=t.data,n=t,r=t;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=We(r.data,e));for(;i(n=n.parent);)n&&n.data&&(e=We(e,n.data));return qe(e.staticClass,e.class)}function We(t,e){return{staticClass:Ve(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function qe(t,e){return i(t)||i(e)?Ve(t,Qe(e)):\"\"}function Ve(t,e){return t?e?t+\" \"+e:t:e||\"\"}function Qe(t){return Array.isArray(t)?Ke(t):c(t)?Ge(t):\"string\"==typeof t?t:\"\"}function Ke(t){for(var e,n=\"\",r=0,o=t.length;r<o;r++)i(e=Qe(t[r]))&&\"\"!==e&&(n&&(n+=\" \"),n+=e);return n}function Ge(t){var e=\"\";for(var n in t)t[n]&&(e&&(e+=\" \"),e+=n);return e}function Je(t){return to(t)?\"svg\":\"math\"===t?\"math\":void 0}function Ze(t){if(!Rr)return!0;if(eo(t))return!1;if(t=t.toLowerCase(),null!=no[t])return no[t];var e=document.createElement(t);return t.indexOf(\"-\")>-1?no[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:no[t]=/HTMLUnknownElement/.test(e.toString())}function tn(t){if(\"string\"==typeof t){var e=document.querySelector(t);return e||document.createElement(\"div\")}return t}function en(t,e){var n=document.createElement(t);return\"select\"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute(\"multiple\",\"multiple\"),n)}function nn(t,e){return document.createElementNS(Ji[t],e)}function rn(t){return document.createTextNode(t)}function on(t){return document.createComment(t)}function sn(t,e,n){t.insertBefore(e,n)}function an(t,e){t.removeChild(e)}function cn(t,e){t.appendChild(e)}function un(t){return t.parentNode}function ln(t){return t.nextSibling}function hn(t){return t.tagName}function fn(t,e){t.textContent=e}function pn(t,e){t.setAttribute(e,\"\")}function dn(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,s=r.$refs;e?Array.isArray(s[n])?v(s[n],o):s[n]===o&&(s[n]=void 0):t.data.refInFor?Array.isArray(s[n])?s[n].indexOf(o)<0&&s[n].push(o):s[n]=[o]:s[n]=o}}function vn(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&mn(t,e)||o(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function mn(t,e){if(\"input\"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||ro(r)&&ro(o)}function gn(t,e,n){var r,o,s={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(s[o]=r);return s}function yn(t,e){(t.data.directives||e.data.directives)&&bn(t,e)}function bn(t,e){var n,r,i,o=t===so,s=e===so,a=_n(t.data.directives,t.context),c=_n(e.data.directives,e.context),u=[],l=[];for(n in c)r=a[n],i=c[n],r?(i.oldValue=r.value,xn(i,\"update\",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(xn(i,\"bind\",e,t),i.def&&i.def.inserted&&u.push(i));if(u.length){var h=function(){for(var n=0;n<u.length;n++)xn(u[n],\"inserted\",e,t)};o?pt(e,\"insert\",h):h()}if(l.length&&pt(e,\"postpatch\",function(){for(var n=0;n<l.length;n++)xn(l[n],\"componentUpdated\",e,t)}),!o)for(n in a)c[n]||xn(a[n],\"unbind\",t,t,s)}function _n(t,e){var n=Object.create(null);if(!t)return n;var r,i;for(r=0;r<t.length;r++)i=t[r],i.modifiers||(i.modifiers=uo),n[wn(i)]=i,i.def=G(e.$options,\"directives\",i.name,!0);return n}function wn(t){return t.rawName||t.name+\".\"+Object.keys(t.modifiers||{}).join(\".\")}function xn(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch(r){rt(r,n.context,\"directive \"+t.name+\" \"+e+\" hook\")}}function En(t,e){var n=e.componentOptions;if(!(i(n)&&!1===n.Ctor.options.inheritAttrs||r(t.data.attrs)&&r(e.data.attrs))){var o,s,a=e.elm,c=t.data.attrs||{},u=e.data.attrs||{};i(u.__ob__)&&(u=e.data.attrs=w({},u));for(o in u)s=u[o],c[o]!==s&&Sn(a,o,s);(Xr||zr)&&u.value!==c.value&&Sn(a,\"value\",u.value);for(o in c)r(u[o])&&(Qi(o)?a.removeAttributeNS(Vi,Ki(o)):Wi(o)||a.removeAttribute(o))}}function Sn(t,e,n){t.tagName.indexOf(\"-\")>-1?Tn(t,e,n):qi(e)?Gi(n)?t.removeAttribute(e):(n=\"allowfullscreen\"===e&&\"EMBED\"===t.tagName?\"true\":e,t.setAttribute(e,n)):Wi(e)?t.setAttribute(e,Gi(n)||\"false\"===n?\"false\":\"true\"):Qi(e)?Gi(n)?t.removeAttributeNS(Vi,Ki(e)):t.setAttributeNS(Vi,e,n):Tn(t,e,n)}function Tn(t,e,n){if(Gi(n))t.removeAttribute(e);else{if(Xr&&!Yr&&\"TEXTAREA\"===t.tagName&&\"placeholder\"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener(\"input\",r)};t.addEventListener(\"input\",r),t.__ieph=!0}t.setAttribute(e,n)}}function On(t,e){var n=e.elm,o=e.data,s=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(s)||r(s.staticClass)&&r(s.class)))){var a=Ue(e),c=n._transitionClasses;i(c)&&(a=Ve(a,Qe(c))),a!==n._prevClass&&(n.setAttribute(\"class\",a),n._prevClass=a)}}function kn(t){if(i(t[po])){var e=Xr?\"change\":\"input\";t[e]=[].concat(t[po],t[e]||[]),delete t[po]}i(t[vo])&&(t.change=[].concat(t[vo],t.change||[]),delete t[vo])}function Cn(t,e,n){var r=zi;return function i(){null!==t.apply(null,arguments)&&An(e,i,n,r)}}function Mn(t,e,n,r,i){e=at(e),n&&(e=Cn(e,t,r)),zi.addEventListener(t,e,Hr?{capture:r,passive:i}:r)}function An(t,e,n,r){(r||zi).removeEventListener(t,e._withTask||e,n)}function Pn(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};zi=e.elm,kn(n),ft(n,i,Mn,An,e.context),zi=void 0}}function Ln(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,s=e.elm,a=t.data.domProps||{},c=e.data.domProps||{};i(c.__ob__)&&(c=e.data.domProps=w({},c));for(n in a)r(c[n])&&(s[n]=\"\");for(n in c){if(o=c[n],\"textContent\"===n||\"innerHTML\"===n){if(e.children&&(e.children.length=0),o===a[n])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if(\"value\"===n){s._value=o;var u=r(o)?\"\":String(o);jn(s,u)&&(s.value=u)}else s[n]=o}}}function jn(t,e){return!t.composing&&(\"OPTION\"===t.tagName||Dn(t,e)||Rn(t,e))}function Dn(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}function Rn(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return p(n)!==p(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}function In(t){var e=$n(t.style);return t.staticStyle?w(t.staticStyle,e):e}function $n(t){return Array.isArray(t)?x(t):\"string\"==typeof t?yo(t):t}function Nn(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=In(i.data))&&w(r,n);(n=In(t.data))&&w(r,n);for(var o=t;o=o.parent;)o.data&&(n=In(o.data))&&w(r,n);return r}function Xn(t,e){var n=e.data,o=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(o.staticStyle)&&r(o.style))){var s,a,c=e.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},h=u||l,f=$n(e.data.style)||{};e.data.normalizedStyle=i(f.__ob__)?w({},f):f;var p=Nn(e,!0);for(a in h)r(p[a])&&wo(c,a,\"\");for(a in p)(s=p[a])!==h[a]&&wo(c,a,null==s?\"\":s)}}function Yn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(/\\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+e+\" \")<0&&t.setAttribute(\"class\",(n+e).trim())}}function zn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(/\\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute(\"class\");else{for(var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \",r=\" \"+e+\" \";n.indexOf(r)>=0;)n=n.replace(r,\" \");n=n.trim(),n?t.setAttribute(\"class\",n):t.removeAttribute(\"class\")}}function Bn(t){if(t){if(\"object\"==typeof t){var e={};return!1!==t.css&&w(e,To(t.name||\"v\")),w(e,t),e}return\"string\"==typeof t?To(t):void 0}}function Fn(t){jo(function(){jo(t)})}function Hn(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Yn(t,e))}function Un(t,e){t._transitionClasses&&v(t._transitionClasses,e),zn(t,e)}function Wn(t,e,n){var r=qn(t,e),i=r.type,o=r.timeout,s=r.propCount;if(!i)return n();var a=i===ko?Ao:Lo,c=0,u=function(){t.removeEventListener(a,l),n()},l=function(e){e.target===t&&++c>=s&&u()};setTimeout(function(){c<s&&u()},o+1),t.addEventListener(a,l)}function qn(t,e){var n,r=window.getComputedStyle(t),i=r[Mo+\"Delay\"].split(\", \"),o=r[Mo+\"Duration\"].split(\", \"),s=Vn(i,o),a=r[Po+\"Delay\"].split(\", \"),c=r[Po+\"Duration\"].split(\", \"),u=Vn(a,c),l=0,h=0;return e===ko?s>0&&(n=ko,l=s,h=o.length):e===Co?u>0&&(n=Co,l=u,h=c.length):(l=Math.max(s,u),n=l>0?s>u?ko:Co:null,h=n?n===ko?o.length:c.length:0),{type:n,timeout:l,propCount:h,hasTransform:n===ko&&Do.test(r[Mo+\"Property\"])}}function Vn(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return Qn(e)+Qn(t[n])}))}function Qn(t){return 1e3*Number(t.slice(0,-1))}function Kn(t,e){var n=t.elm;i(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var o=Bn(t.data.transition);if(!r(o)&&!i(n._enterCb)&&1===n.nodeType){for(var s=o.css,a=o.type,u=o.enterClass,l=o.enterToClass,h=o.enterActiveClass,f=o.appearClass,d=o.appearToClass,v=o.appearActiveClass,m=o.beforeEnter,g=o.enter,y=o.afterEnter,b=o.enterCancelled,_=o.beforeAppear,w=o.appear,x=o.afterAppear,E=o.appearCancelled,S=o.duration,T=xi,k=xi.$vnode;k&&k.parent;)k=k.parent,T=k.context;var C=!T._isMounted||!t.isRootInsert;if(!C||w||\"\"===w){var M=C&&f?f:u,A=C&&v?v:h,P=C&&d?d:l,L=C?_||m:m,j=C&&\"function\"==typeof w?w:g,D=C?x||y:y,R=C?E||b:b,I=p(c(S)?S.enter:S),$=!1!==s&&!Yr,N=Zn(j),X=n._enterCb=O(function(){$&&(Un(n,P),Un(n,A)),X.cancelled?($&&Un(n,M),R&&R(n)):D&&D(n),n._enterCb=null});t.data.show||pt(t,\"insert\",function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),j&&j(n,X)}),L&&L(n),$&&(Hn(n,M),Hn(n,A),Fn(function(){Un(n,M),X.cancelled||(Hn(n,P),N||(Jn(I)?setTimeout(X,I):Wn(n,a,X)))})),t.data.show&&(e&&e(),j&&j(n,X)),$||N||X()}}}function Gn(t,e){function n(){E.cancelled||(t.data.show||((o.parentNode._pending||(o.parentNode._pending={}))[t.key]=t),d&&d(o),_&&(Hn(o,l),Hn(o,f),Fn(function(){Un(o,l),E.cancelled||(Hn(o,h),w||(Jn(x)?setTimeout(E,x):Wn(o,u,E)))})),v&&v(o,E),_||w||E())}var o=t.elm;i(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var s=Bn(t.data.transition);if(r(s)||1!==o.nodeType)return e();if(!i(o._leaveCb)){var a=s.css,u=s.type,l=s.leaveClass,h=s.leaveToClass,f=s.leaveActiveClass,d=s.beforeLeave,v=s.leave,m=s.afterLeave,g=s.leaveCancelled,y=s.delayLeave,b=s.duration,_=!1!==a&&!Yr,w=Zn(v),x=p(c(b)?b.leave:b),E=o._leaveCb=O(function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[t.key]=null),_&&(Un(o,h),Un(o,f)),E.cancelled?(_&&Un(o,l),g&&g(o)):(e(),m&&m(o)),o._leaveCb=null});y?y(n):n()}}function Jn(t){return\"number\"==typeof t&&!isNaN(t)}function Zn(t){if(r(t))return!1;var e=t.fns;return i(e)?Zn(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function tr(t,e){!0!==e.data.show&&Kn(e)}function er(t,e,n){nr(t,e,n),(Xr||zr)&&setTimeout(function(){nr(t,e,n)},0)}function nr(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,s,a=0,c=t.options.length;a<c;a++)if(s=t.options[a],i)o=T(r,ir(s))>-1,s.selected!==o&&(s.selected=o);else if(S(ir(s),r))return void(t.selectedIndex!==a&&(t.selectedIndex=a));i||(t.selectedIndex=-1)}}function rr(t,e){return e.every(function(e){return!S(e,t)})}function ir(t){return\"_value\"in t?t._value:t.value}function or(t){t.target.composing=!0}function sr(t){t.target.composing&&(t.target.composing=!1,ar(t.target,\"input\"))}function ar(t,e){var n=document.createEvent(\"HTMLEvents\");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function cr(t){return!t.componentInstance||t.data&&t.data.transition?t:cr(t.componentInstance._vnode)}function ur(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ur(St(e.children)):t}function lr(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[xr(o)]=i[o];return e}function hr(t,e){if(/\\d-keep-alive$/.test(e.tag))return t(\"keep-alive\",{props:e.componentOptions.propsData})}function fr(t){for(;t=t.parent;)if(t.data.transition)return!0}function pr(t,e){return e.key===t.key&&e.tag===t.tag}function dr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function vr(t){t.data.newPos=t.elm.getBoundingClientRect()}function mr(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform=\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration=\"0s\"}}/*!\n * Vue.js v2.5.17\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\nvar gr=Object.freeze({}),yr=Object.prototype.toString,br=(d(\"slot,component\",!0),d(\"key,ref,slot,slot-scope,is\")),_r=Object.prototype.hasOwnProperty,wr=/-(\\w)/g,xr=g(function(t){return t.replace(wr,function(t,e){return e?e.toUpperCase():\"\"})}),Er=g(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Sr=/\\B([A-Z])/g,Tr=g(function(t){return t.replace(Sr,\"-$1\").toLowerCase()}),Or=Function.prototype.bind?b:y,kr=function(t,e,n){return!1},Cr=function(t){return t},Mr=\"data-server-rendered\",Ar=[\"component\",\"directive\",\"filter\"],Pr=[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\"],Lr={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:kr,isReservedAttr:kr,isUnknownElement:kr,getTagNamespace:E,parsePlatformTagName:Cr,mustUseProp:kr,_lifecycleHooks:Pr},jr=/[^\\w.$]/,Dr=\"__proto__\"in{},Rr=\"undefined\"!=typeof window,Ir=\"undefined\"!=typeof WXEnvironment&&!!WXEnvironment.platform,$r=Ir&&WXEnvironment.platform.toLowerCase(),Nr=Rr&&window.navigator.userAgent.toLowerCase(),Xr=Nr&&/msie|trident/.test(Nr),Yr=Nr&&Nr.indexOf(\"msie 9.0\")>0,zr=Nr&&Nr.indexOf(\"edge/\")>0,Br=(Nr&&Nr.indexOf(\"android\"),Nr&&/iphone|ipad|ipod|ios/.test(Nr)||\"ios\"===$r),Fr=(Nr&&/chrome\\/\\d+/.test(Nr),{}.watch),Hr=!1;if(Rr)try{var Ur={};Object.defineProperty(Ur,\"passive\",{get:function(){Hr=!0}}),window.addEventListener(\"test-passive\",null,Ur)}catch(t){}var Wr,qr,Vr=function(){return void 0===Wr&&(Wr=!Rr&&!Ir&&void 0!==t&&\"server\"===t.process.env.VUE_ENV),Wr},Qr=Rr&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Kr=\"undefined\"!=typeof Symbol&&A(Symbol)&&\"undefined\"!=typeof Reflect&&A(Reflect.ownKeys);qr=\"undefined\"!=typeof Set&&A(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var Gr=E,Jr=0,Zr=function(){this.id=Jr++,this.subs=[]};Zr.prototype.addSub=function(t){this.subs.push(t)},Zr.prototype.removeSub=function(t){v(this.subs,t)},Zr.prototype.depend=function(){Zr.target&&Zr.target.addDep(this)},Zr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},Zr.target=null;var ti=[],ei=function(t,e,n,r,i,o,s,a){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=a,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ni={child:{configurable:!0}};ni.child.get=function(){return this.componentInstance},Object.defineProperties(ei.prototype,ni);var ri=function(t){void 0===t&&(t=\"\");var e=new ei;return e.text=t,e.isComment=!0,e},ii=Array.prototype,oi=Object.create(ii);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(t){var e=ii[t];C(oi,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=e.apply(this,n),s=this.__ob__;switch(t){case\"push\":case\"unshift\":i=n;break;case\"splice\":i=n.slice(2)}return i&&s.observeArray(i),s.dep.notify(),o})});var si=Object.getOwnPropertyNames(oi),ai=!0,ci=function(t){if(this.value=t,this.dep=new Zr,this.vmCount=0,C(t,\"__ob__\",this),Array.isArray(t)){(Dr?I:$)(t,oi,si),this.observeArray(t)}else this.walk(t)};ci.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)X(t,e[n])},ci.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)N(t[e])};var ui=Lr.optionMergeStrategies;ui.data=function(t,e,n){return n?H(t,e,n):e&&\"function\"!=typeof e?t:H(t,e)},Pr.forEach(function(t){ui[t]=U}),Ar.forEach(function(t){ui[t+\"s\"]=W}),ui.watch=function(t,e,n,r){if(t===Fr&&(t=void 0),e===Fr&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};w(i,t);for(var o in e){var s=i[o],a=e[o];s&&!Array.isArray(s)&&(s=[s]),i[o]=s?s.concat(a):Array.isArray(a)?a:[a]}return i},ui.props=ui.methods=ui.inject=ui.computed=function(t,e,n,r){if(!t)return e;var i=Object.create(null);return w(i,t),e&&w(i,e),i},ui.provide=H;var li,hi,fi=function(t,e){return void 0===e?t:e},pi=[],di=!1,vi=!1;if(void 0!==n&&A(n))hi=function(){n(st)};else if(\"undefined\"==typeof MessageChannel||!A(MessageChannel)&&\"[object MessageChannelConstructor]\"!==MessageChannel.toString())hi=function(){setTimeout(st,0)};else{var mi=new MessageChannel,gi=mi.port2;mi.port1.onmessage=st,hi=function(){gi.postMessage(1)}}if(\"undefined\"!=typeof Promise&&A(Promise)){var yi=Promise.resolve();li=function(){yi.then(st),Br&&setTimeout(E)}}else li=hi;var bi,_i=new qr,wi=g(function(t){var e=\"&\"===t.charAt(0);t=e?t.slice(1):t;var n=\"~\"===t.charAt(0);t=n?t.slice(1):t;var r=\"!\"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),xi=null,Ei=[],Si=[],Ti={},Oi=!1,ki=!1,Ci=0,Mi=0,Ai=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Mi,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new qr,this.newDepIds=new qr,this.expression=\"\",\"function\"==typeof e?this.getter=e:(this.getter=M(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};Ai.prototype.get=function(){P(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;rt(t,e,'getter for watcher \"'+this.expression+'\"')}finally{this.deep&&ut(t),L(),this.cleanupDeps()}return t},Ai.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Ai.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Ai.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Ht(this)},Ai.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){rt(t,this.vm,'callback for watcher \"'+this.expression+'\"')}else this.cb.call(this.vm,t,e)}}},Ai.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Ai.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},Ai.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var Pi={enumerable:!0,configurable:!0,get:E,set:E},Li={lazy:!0};me(ge.prototype);var ji={init:function(t,e,n,r){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var i=t;ji.prepatch(i,i)}else{(t.componentInstance=xe(t,xi,n,r)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;Dt(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Nt(n,\"mounted\")),t.data.keepAlive&&(e._isMounted?Bt(n):It(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?$t(e,!0):e.$destroy())}},Di=Object.keys(ji),Ri=1,Ii=2,$i=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=$i++,e._isVue=!0,t&&t._isComponent?Ae(e,t):e.$options=K(Pe(e.constructor),t||{},e),e._renderProxy=e,e._self=e,Lt(e),Tt(e),Me(e),Nt(e,\"beforeCreate\"),re(e),Wt(e),ne(e),Nt(e,\"created\"),e.$options.el&&e.$mount(e.$options.el)}}(De),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,\"$data\",e),Object.defineProperty(t.prototype,\"$props\",n),t.prototype.$set=Y,t.prototype.$delete=z,t.prototype.$watch=function(t,e,n){var r=this;if(u(e))return ee(r,t,e,n);n=n||{},n.user=!0;var i=new Ai(r,t,e,n);return n.immediate&&e.call(r,i.value),function(){i.teardown()}}}(De),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,i=this;if(Array.isArray(t))for(var o=0,s=t.length;o<s;o++)r.$on(t[o],n);else(i._events[t]||(i._events[t]=[])).push(n),e.test(t)&&(i._hasHookEvent=!0);return i},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var i=0,o=t.length;i<o;i++)n.$off(t[i],e);return r}var s=r._events[t];if(!s)return r;if(!e)return r._events[t]=null,r;if(e)for(var a,c=s.length;c--;)if((a=s[c])===e||a.fn===e){s.splice(c,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?_(n):n;for(var r=_(arguments,1),i=0,o=n.length;i<o;i++)try{n[i].apply(e,r)}catch(n){rt(n,e,'event handler for \"'+t+'\"')}}return e}}(De),function(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Nt(n,\"beforeUpdate\");var r=n.$el,i=n._vnode,o=xi;xi=n,n._vnode=t,i?n.$el=n.__patch__(i,t):(n.$el=n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),xi=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Nt(t,\"beforeDestroy\"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||v(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Nt(t,\"destroyed\"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(De),function(t){me(t.prototype),t.prototype.$nextTick=function(t){return ct(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;r&&(t.$scopedSlots=r.data.scopedSlots||gr),t.$vnode=r;var i;try{i=n.call(t._renderProxy,t.$createElement)}catch(e){rt(e,t,\"render\"),i=t._vnode}return i instanceof ei||(i=ri()),i.parent=r,i}}(De);var Ni=[String,RegExp,Array],Xi={name:\"keep-alive\",abstract:!0,props:{include:Ni,exclude:Ni,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)He(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch(\"include\",function(e){Fe(t,function(t){return Be(e,t)})}),this.$watch(\"exclude\",function(e){Fe(t,function(t){return!Be(e,t)})})},render:function(){var t=this.$slots.default,e=St(t),n=e&&e.componentOptions;if(n){var r=ze(n),i=this,o=i.include,s=i.exclude;if(o&&(!r||!Be(o,r))||s&&r&&Be(s,r))return e;var a=this,c=a.cache,u=a.keys,l=null==e.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):e.key;c[l]?(e.componentInstance=c[l].componentInstance,v(u,l),u.push(l)):(c[l]=e,u.push(l),this.max&&u.length>parseInt(this.max)&&He(c,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Yi={KeepAlive:Xi};!function(t){var e={};e.get=function(){return Lr},Object.defineProperty(t,\"config\",e),t.util={warn:Gr,extend:w,mergeOptions:K,defineReactive:X},t.set=Y,t.delete=z,t.nextTick=ct,t.options=Object.create(null),Ar.forEach(function(e){t.options[e+\"s\"]=Object.create(null)}),t.options._base=t,w(t.options.components,Yi),Re(t),Ie(t),$e(t),Ye(t)}(De),Object.defineProperty(De.prototype,\"$isServer\",{get:Vr}),Object.defineProperty(De.prototype,\"$ssrContext\",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(De,\"FunctionalRenderContext\",{value:ge}),De.version=\"2.5.17\";var zi,Bi,Fi=d(\"style,class\"),Hi=d(\"input,textarea,option,select,progress\"),Ui=function(t,e,n){return\"value\"===n&&Hi(t)&&\"button\"!==e||\"selected\"===n&&\"option\"===t||\"checked\"===n&&\"input\"===t||\"muted\"===n&&\"video\"===t},Wi=d(\"contenteditable,draggable,spellcheck\"),qi=d(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible\"),Vi=\"http://www.w3.org/1999/xlink\",Qi=function(t){return\":\"===t.charAt(5)&&\"xlink\"===t.slice(0,5)},Ki=function(t){return Qi(t)?t.slice(6,t.length):\"\"},Gi=function(t){return null==t||!1===t},Ji={svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},Zi=d(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),to=d(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),eo=function(t){return Zi(t)||to(t)},no=Object.create(null),ro=d(\"text,number,password,search,email,tel,url\"),io=Object.freeze({createElement:en,createElementNS:nn,createTextNode:rn,createComment:on,insertBefore:sn,removeChild:an,appendChild:cn,parentNode:un,nextSibling:ln,tagName:hn,setTextContent:fn,setStyleScope:pn}),oo={create:function(t,e){dn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(dn(t,!0),dn(e))},destroy:function(t){dn(t,!0)}},so=new ei(\"\",{},[]),ao=[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"],co={create:yn,update:yn,destroy:function(t){yn(t,so)}},uo=Object.create(null),lo=[oo,co],ho={create:En,update:En},fo={create:On,update:On},po=\"__r\",vo=\"__c\",mo={create:Pn,update:Pn},go={create:Ln,update:Ln},yo=g(function(t){var e={},n=/;(?![^(]*\\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),bo=/^--/,_o=/\\s*!important$/,wo=function(t,e,n){if(bo.test(e))t.style.setProperty(e,n);else if(_o.test(n))t.style.setProperty(e,n.replace(_o,\"\"),\"important\");else{var r=Eo(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},xo=[\"Webkit\",\"Moz\",\"ms\"],Eo=g(function(t){if(Bi=Bi||document.createElement(\"div\").style,\"filter\"!==(t=xr(t))&&t in Bi)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<xo.length;n++){var r=xo[n]+e;if(r in Bi)return r}}),So={create:Xn,update:Xn},To=g(function(t){return{enterClass:t+\"-enter\",enterToClass:t+\"-enter-to\",enterActiveClass:t+\"-enter-active\",leaveClass:t+\"-leave\",leaveToClass:t+\"-leave-to\",leaveActiveClass:t+\"-leave-active\"}}),Oo=Rr&&!Yr,ko=\"transition\",Co=\"animation\",Mo=\"transition\",Ao=\"transitionend\",Po=\"animation\",Lo=\"animationend\";Oo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Mo=\"WebkitTransition\",Ao=\"webkitTransitionEnd\"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Po=\"WebkitAnimation\",Lo=\"webkitAnimationEnd\"));var jo=Rr?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},Do=/\\b(transform|all)(,|$)/,Ro=Rr?{create:tr,activate:tr,remove:function(t,e){!0!==t.data.show?Gn(t,e):e()}}:{},Io=[ho,fo,mo,go,So,Ro],$o=Io.concat(lo),No=function(t){function e(t){return new ei(P.tagName(t).toLowerCase(),{},[],void 0,t)}function n(t,e){function n(){0==--n.listeners&&s(t)}return n.listeners=e,n}function s(t){var e=P.parentNode(t);i(e)&&P.removeChild(e,t)}function c(t,e,n,r,s,a,c){if(i(t.elm)&&i(a)&&(t=a[c]=D(t)),t.isRootInsert=!s,!u(t,e,n,r)){var l=t.data,h=t.children,d=t.tag;i(d)?(t.elm=t.ns?P.createElementNS(t.ns,d):P.createElement(d,t),g(t),p(t,h,e),i(l)&&m(t,e),f(n,t.elm,r)):o(t.isComment)?(t.elm=P.createComment(t.text),f(n,t.elm,r)):(t.elm=P.createTextNode(t.text),f(n,t.elm,r))}}function u(t,e,n,r){var s=t.data;if(i(s)){var a=i(t.componentInstance)&&s.keepAlive;if(i(s=s.hook)&&i(s=s.init)&&s(t,!1,n,r),i(t.componentInstance))return l(t,e),o(a)&&h(t,e,n,r),!0}}function l(t,e){i(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(m(t,e),g(t)):(dn(t),e.push(t))}function h(t,e,n,r){for(var o,s=t;s.componentInstance;)if(s=s.componentInstance._vnode,i(o=s.data)&&i(o=o.transition)){for(o=0;o<M.activate.length;++o)M.activate[o](so,s);e.push(s);break}f(n,t.elm,r)}function f(t,e,n){i(t)&&(i(n)?n.parentNode===t&&P.insertBefore(t,e,n):P.appendChild(t,e))}function p(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)c(e[r],n,t.elm,null,!0,e,r);else a(t.text)&&P.appendChild(t.elm,P.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return i(t.tag)}function m(t,e){for(var n=0;n<M.create.length;++n)M.create[n](so,t);k=t.data.hook,i(k)&&(i(k.create)&&k.create(so,t),i(k.insert)&&e.push(t))}function g(t){var e;if(i(e=t.fnScopeId))P.setStyleScope(t.elm,e);else for(var n=t;n;)i(e=n.context)&&i(e=e.$options._scopeId)&&P.setStyleScope(t.elm,e),n=n.parent;i(e=xi)&&e!==t.context&&e!==t.fnContext&&i(e=e.$options._scopeId)&&P.setStyleScope(t.elm,e)}function y(t,e,n,r,i,o){for(;r<=i;++r)c(n[r],o,t,e,!1,n,r)}function b(t){var e,n,r=t.data;if(i(r))for(i(e=r.hook)&&i(e=e.destroy)&&e(t),e=0;e<M.destroy.length;++e)M.destroy[e](t);if(i(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function _(t,e,n,r){for(;n<=r;++n){var o=e[n];i(o)&&(i(o.tag)?(w(o),b(o)):s(o.elm))}}function w(t,e){if(i(e)||i(t.data)){var r,o=M.remove.length+1;for(i(e)?e.listeners+=o:e=n(t.elm,o),i(r=t.componentInstance)&&i(r=r._vnode)&&i(r.data)&&w(r,e),r=0;r<M.remove.length;++r)M.remove[r](t,e);i(r=t.data.hook)&&i(r=r.remove)?r(t,e):e()}else s(t.elm)}function x(t,e,n,o,s){for(var a,u,l,h,f=0,p=0,d=e.length-1,v=e[0],m=e[d],g=n.length-1,b=n[0],w=n[g],x=!s;f<=d&&p<=g;)r(v)?v=e[++f]:r(m)?m=e[--d]:vn(v,b)?(S(v,b,o),v=e[++f],b=n[++p]):vn(m,w)?(S(m,w,o),m=e[--d],w=n[--g]):vn(v,w)?(S(v,w,o),x&&P.insertBefore(t,v.elm,P.nextSibling(m.elm)),v=e[++f],w=n[--g]):vn(m,b)?(S(m,b,o),x&&P.insertBefore(t,m.elm,v.elm),m=e[--d],b=n[++p]):(r(a)&&(a=gn(e,f,d)),u=i(b.key)?a[b.key]:E(b,e,f,d),r(u)?c(b,o,t,v.elm,!1,n,p):(l=e[u],vn(l,b)?(S(l,b,o),e[u]=void 0,x&&P.insertBefore(t,l.elm,v.elm)):c(b,o,t,v.elm,!1,n,p)),b=n[++p]);f>d?(h=r(n[g+1])?null:n[g+1].elm,y(t,h,n,p,g,o)):p>g&&_(t,e,f,d)}function E(t,e,n,r){for(var o=n;o<r;o++){var s=e[o];if(i(s)&&vn(t,s))return o}}function S(t,e,n,s){if(t!==e){var a=e.elm=t.elm;if(o(t.isAsyncPlaceholder))return void(i(e.asyncFactory.resolved)?O(t.elm,e,n):e.isAsyncPlaceholder=!0);if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))return void(e.componentInstance=t.componentInstance);var c,u=e.data;i(u)&&i(c=u.hook)&&i(c=c.prepatch)&&c(t,e);var l=t.children,h=e.children;if(i(u)&&v(e)){for(c=0;c<M.update.length;++c)M.update[c](t,e);i(c=u.hook)&&i(c=c.update)&&c(t,e)}r(e.text)?i(l)&&i(h)?l!==h&&x(a,l,h,n,s):i(h)?(i(t.text)&&P.setTextContent(a,\"\"),y(a,null,h,0,h.length-1,n)):i(l)?_(a,l,0,l.length-1):i(t.text)&&P.setTextContent(a,\"\"):t.text!==e.text&&P.setTextContent(a,e.text),i(u)&&i(c=u.hook)&&i(c=c.postpatch)&&c(t,e)}}function T(t,e,n){if(o(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}function O(t,e,n,r){var s,a=e.tag,c=e.data,u=e.children;if(r=r||c&&c.pre,e.elm=t,o(e.isComment)&&i(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(i(c)&&(i(s=c.hook)&&i(s=s.init)&&s(e,!0),i(s=e.componentInstance)))return l(e,n),!0;if(i(a)){if(i(u))if(t.hasChildNodes())if(i(s=c)&&i(s=s.domProps)&&i(s=s.innerHTML)){if(s!==t.innerHTML)return!1}else{for(var h=!0,f=t.firstChild,d=0;d<u.length;d++){if(!f||!O(f,u[d],n,r)){h=!1;break}f=f.nextSibling}if(!h||f)return!1}else p(e,u,n);if(i(c)){var v=!1;for(var g in c)if(!L(g)){v=!0,m(e,n);break}!v&&c.class&&ut(c.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var k,C,M={},A=t.modules,P=t.nodeOps;for(k=0;k<ao.length;++k)for(M[ao[k]]=[],C=0;C<A.length;++C)i(A[C][ao[k]])&&M[ao[k]].push(A[C][ao[k]]);var L=d(\"attrs,class,staticClass,staticStyle,key\");return function(t,n,s,a,u,l){if(r(n))return void(i(t)&&b(t));var h=!1,f=[];if(r(t))h=!0,c(n,f,u,l);else{var p=i(t.nodeType);if(!p&&vn(t,n))S(t,n,f,a);else{if(p){if(1===t.nodeType&&t.hasAttribute(Mr)&&(t.removeAttribute(Mr),s=!0),o(s)&&O(t,n,f))return T(n,f,!0),t;t=e(t)}var d=t.elm,m=P.parentNode(d);if(c(n,f,d._leaveCb?null:m,P.nextSibling(d)),i(n.parent))for(var g=n.parent,y=v(n);g;){for(var w=0;w<M.destroy.length;++w)M.destroy[w](g);if(g.elm=n.elm,y){for(var x=0;x<M.create.length;++x)M.create[x](so,g);var E=g.data.hook.insert;if(E.merged)for(var k=1;k<E.fns.length;k++)E.fns[k]()}else dn(g);g=g.parent}i(m)?_(m,[t],0,0):i(t.tag)&&b(t)}}return T(n,f,h),n.elm}}({nodeOps:io,modules:$o});Yr&&document.addEventListener(\"selectionchange\",function(){var t=document.activeElement;t&&t.vmodel&&ar(t,\"input\")});var Xo={inserted:function(t,e,n,r){\"select\"===n.tag?(r.elm&&!r.elm._vOptions?pt(n,\"postpatch\",function(){Xo.componentUpdated(t,e,n)}):er(t,e,n.context),t._vOptions=[].map.call(t.options,ir)):(\"textarea\"===n.tag||ro(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener(\"compositionstart\",or),t.addEventListener(\"compositionend\",sr),t.addEventListener(\"change\",sr),Yr&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if(\"select\"===n.tag){er(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,ir);if(i.some(function(t,e){return!S(t,r[e])})){(t.multiple?e.value.some(function(t){return rr(t,i)}):e.value!==e.oldValue&&rr(e.value,i))&&ar(t,\"change\")}}}},Yo={bind:function(t,e,n){var r=e.value;n=cr(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay=\"none\"===t.style.display?\"\":t.style.display;r&&i?(n.data.show=!0,Kn(n,function(){t.style.display=o})):t.style.display=r?o:\"none\"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&(n=cr(n),n.data&&n.data.transition?(n.data.show=!0,r?Kn(n,function(){t.style.display=t.__vOriginalDisplay}):Gn(n,function(){t.style.display=\"none\"})):t.style.display=r?t.__vOriginalDisplay:\"none\")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},zo={model:Xo,show:Yo},Bo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},Fo={name:\"transition\",props:Bo,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||Et(t)}),n.length)){var r=this.mode,i=n[0];if(fr(this.$vnode))return i;var o=ur(i);if(!o)return i;if(this._leaving)return hr(t,i);var s=\"__transition-\"+this._uid+\"-\";o.key=null==o.key?o.isComment?s+\"comment\":s+o.tag:a(o.key)?0===String(o.key).indexOf(s)?o.key:s+o.key:o.key;var c=(o.data||(o.data={})).transition=lr(this),u=this._vnode,l=ur(u);if(o.data.directives&&o.data.directives.some(function(t){return\"show\"===t.name})&&(o.data.show=!0),l&&l.data&&!pr(o,l)&&!Et(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var h=l.data.transition=w({},c);if(\"out-in\"===r)return this._leaving=!0,pt(h,\"afterLeave\",function(){e._leaving=!1,e.$forceUpdate()}),hr(t,i);if(\"in-out\"===r){if(Et(o))return u;var f,p=function(){f()};pt(c,\"afterEnter\",p),pt(c,\"enterCancelled\",p),pt(h,\"delayLeave\",function(t){f=t})}}return i}}},Ho=w({tag:String,moveClass:String},Bo);delete Ho.mode;var Uo={props:Ho,render:function(t){for(var e=this.tag||this.$vnode.data.tag||\"span\",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],s=lr(this),a=0;a<i.length;a++){var c=i[a];if(c.tag)if(null!=c.key&&0!==String(c.key).indexOf(\"__vlist\"))o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=s;else;}if(r){for(var u=[],l=[],h=0;h<r.length;h++){var f=r[h];f.data.transition=s,f.data.pos=f.elm.getBoundingClientRect(),n[f.key]?u.push(f):l.push(f)}this.kept=t(e,null,u),this.removed=l}return t(e,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||\"v\")+\"-move\";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(dr),t.forEach(vr),t.forEach(mr),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;Hn(n,e),r.transform=r.WebkitTransform=r.transitionDuration=\"\",n.addEventListener(Ao,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ao,t),n._moveCb=null,Un(n,e))})}}))},methods:{hasMove:function(t,e){if(!Oo)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){zn(n,t)}),Yn(n,e),n.style.display=\"none\",this.$el.appendChild(n);var r=qn(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},Wo={Transition:Fo,TransitionGroup:Uo};De.config.mustUseProp=Ui,De.config.isReservedTag=eo,De.config.isReservedAttr=Fi,De.config.getTagNamespace=Je,De.config.isUnknownElement=Ze,w(De.options.directives,zo),w(De.options.components,Wo),De.prototype.__patch__=Rr?No:E,De.prototype.$mount=function(t,e){return t=t&&Rr?tn(t):void 0,jt(this,t,e)},Rr&&setTimeout(function(){Lr.devtools&&Qr&&Qr.emit(\"init\",De)},0),e.default=De}.call(e,n(\"DuR2\"),n(\"162o\").setImmediate)},\"/bQp\":function(t,e){t.exports={}},\"/n6Q\":function(t,e,n){n(\"zQR9\"),n(\"+tPU\"),t.exports=n(\"Kh4W\").f(\"iterator\")},\"/ocq\":function(t,e,n){\"use strict\";function r(t,e){}function i(t){return Object.prototype.toString.call(t).indexOf(\"Error\")>-1}function o(t,e){switch(typeof e){case\"undefined\":return;case\"object\":return e;case\"function\":return e(t);case\"boolean\":return e?t.params:void 0}}function s(t,e){for(var n in e)t[n]=e[n];return t}function a(t,e,n){void 0===e&&(e={});var r,i=n||c;try{r=i(t||\"\")}catch(t){r={}}for(var o in e)r[o]=e[o];return r}function c(t){var e={};return(t=t.trim().replace(/^(\\?|#|&)/,\"\"))?(t.split(\"&\").forEach(function(t){var n=t.replace(/\\+/g,\" \").split(\"=\"),r=Yt(n.shift()),i=n.length>0?Yt(n.join(\"=\")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]}),e):e}function u(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return\"\";if(null===n)return Xt(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(Xt(e)):r.push(Xt(e)+\"=\"+Xt(t)))}),r.join(\"&\")}return Xt(e)+\"=\"+Xt(n)}).filter(function(t){return t.length>0}).join(\"&\"):null;return e?\"?\"+e:\"\"}function l(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=h(o)}catch(t){}var s={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||\"/\",hash:e.hash||\"\",query:o,params:e.params||{},fullPath:p(e,i),matched:t?f(t):[]};return n&&(s.redirectedFrom=p(n,i)),Object.freeze(s)}function h(t){if(Array.isArray(t))return t.map(h);if(t&&\"object\"==typeof t){var e={};for(var n in t)e[n]=h(t[n]);return e}return t}function f(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function p(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i=\"\");var o=e||u;return(n||\"/\")+o(r)+i}function d(t,e){return e===Bt?t===e:!!e&&(t.path&&e.path?t.path.replace(zt,\"\")===e.path.replace(zt,\"\")&&t.hash===e.hash&&v(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&v(t.query,e.query)&&v(t.params,e.params)))}function v(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],i=e[n];return\"object\"==typeof r&&\"object\"==typeof i?v(r,i):String(r)===String(i)})}function m(t,e){return 0===t.path.replace(zt,\"/\").indexOf(e.path.replace(zt,\"/\"))&&(!e.hash||t.hash===e.hash)&&g(t.query,e.query)}function g(t,e){for(var n in e)if(!(n in t))return!1;return!0}function y(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){if(/\\b_blank\\b/i.test(t.currentTarget.getAttribute(\"target\")))return}return t.preventDefault&&t.preventDefault(),!0}}function b(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],\"a\"===e.tag)return e;if(e.children&&(e=b(e.children)))return e}}function _(t){if(!_.installed||Dt!==t){_.installed=!0,Dt=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,\"_route\",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,\"$router\",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,\"$route\",{get:function(){return this._routerRoot._route}}),t.component(\"router-view\",Rt),t.component(\"router-link\",Ut);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}function w(t,e,n){var r=t.charAt(0);if(\"/\"===r)return t;if(\"?\"===r||\"#\"===r)return e+t;var i=e.split(\"/\");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\\//,\"\").split(\"/\"),s=0;s<o.length;s++){var a=o[s];\"..\"===a?i.pop():\".\"!==a&&i.push(a)}return\"\"!==i[0]&&i.unshift(\"\"),i.join(\"/\")}function x(t){var e=\"\",n=\"\",r=t.indexOf(\"#\");r>=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf(\"?\");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function E(t){return t.replace(/\\/\\//g,\"/\")}function S(t,e){for(var n,r=[],i=0,o=0,s=\"\",a=e&&e.delimiter||\"/\";null!=(n=Zt.exec(t));){var c=n[0],u=n[1],l=n.index;if(s+=t.slice(o,l),o=l+c.length,u)s+=u[1];else{var h=t[o],f=n[2],p=n[3],d=n[4],v=n[5],m=n[6],g=n[7];s&&(r.push(s),s=\"\");var y=null!=f&&null!=h&&h!==f,b=\"+\"===m||\"*\"===m,_=\"?\"===m||\"*\"===m,w=n[2]||a,x=d||v;r.push({name:p||i++,prefix:f||\"\",delimiter:w,optional:_,repeat:b,partial:y,asterisk:!!g,pattern:x?A(x):g?\".*\":\"[^\"+M(w)+\"]+?\"})}}return o<t.length&&(s+=t.substr(o)),s&&r.push(s),r}function T(t,e){return C(S(t,e))}function O(t){return encodeURI(t).replace(/[\\/?#]/g,function(t){return\"%\"+t.charCodeAt(0).toString(16).toUpperCase()})}function k(t){return encodeURI(t).replace(/[?#]/g,function(t){return\"%\"+t.charCodeAt(0).toString(16).toUpperCase()})}function C(t){for(var e=new Array(t.length),n=0;n<t.length;n++)\"object\"==typeof t[n]&&(e[n]=new RegExp(\"^(?:\"+t[n].pattern+\")$\"));return function(n,r){for(var i=\"\",o=n||{},s=r||{},a=s.pretty?O:encodeURIComponent,c=0;c<t.length;c++){var u=t[c];if(\"string\"!=typeof u){var l,h=o[u.name];if(null==h){if(u.optional){u.partial&&(i+=u.prefix);continue}throw new TypeError('Expected \"'+u.name+'\" to be defined')}if(qt(h)){if(!u.repeat)throw new TypeError('Expected \"'+u.name+'\" to not repeat, but received `'+JSON.stringify(h)+\"`\");if(0===h.length){if(u.optional)continue;throw new TypeError('Expected \"'+u.name+'\" to not be empty')}for(var f=0;f<h.length;f++){if(l=a(h[f]),!e[c].test(l))throw new TypeError('Expected all \"'+u.name+'\" to match \"'+u.pattern+'\", but received `'+JSON.stringify(l)+\"`\");i+=(0===f?u.prefix:u.delimiter)+l}}else{if(l=u.asterisk?k(h):a(h),!e[c].test(l))throw new TypeError('Expected \"'+u.name+'\" to match \"'+u.pattern+'\", but received \"'+l+'\"');i+=u.prefix+l}}else i+=u}return i}}function M(t){return t.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g,\"\\\\$1\")}function A(t){return t.replace(/([=!:$\\/()])/g,\"\\\\$1\")}function P(t,e){return t.keys=e,t}function L(t){return t.sensitive?\"\":\"i\"}function j(t,e){var n=t.source.match(/\\((?!\\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return P(t,e)}function D(t,e,n){for(var r=[],i=0;i<t.length;i++)r.push($(t[i],e,n).source);return P(new RegExp(\"(?:\"+r.join(\"|\")+\")\",L(n)),e)}function R(t,e,n){return I(S(t,n),e,n)}function I(t,e,n){qt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,i=!1!==n.end,o=\"\",s=0;s<t.length;s++){var a=t[s];if(\"string\"==typeof a)o+=M(a);else{var c=M(a.prefix),u=\"(?:\"+a.pattern+\")\";e.push(a),a.repeat&&(u+=\"(?:\"+c+u+\")*\"),u=a.optional?a.partial?c+\"(\"+u+\")?\":\"(?:\"+c+\"(\"+u+\"))?\":c+\"(\"+u+\")\",o+=u}}var l=M(n.delimiter||\"/\"),h=o.slice(-l.length)===l;return r||(o=(h?o.slice(0,-l.length):o)+\"(?:\"+l+\"(?=$))?\"),o+=i?\"$\":r&&h?\"\":\"(?=\"+l+\"|$)\",P(new RegExp(\"^\"+o,L(n)),e)}function $(t,e,n){return qt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?j(t,e):qt(t)?D(t,e,n):R(t,e,n)}function N(t,e,n){try{return(te[t]||(te[t]=Vt.compile(t)))(e||{},{pretty:!0})}catch(t){return\"\"}}function X(t,e,n,r){var i=e||[],o=n||Object.create(null),s=r||Object.create(null);t.forEach(function(t){Y(i,o,s,t)});for(var a=0,c=i.length;a<c;a++)\"*\"===i[a]&&(i.push(i.splice(a,1)[0]),c--,a--);return{pathList:i,pathMap:o,nameMap:s}}function Y(t,e,n,r,i,o){var s=r.path,a=r.name,c=r.pathToRegexpOptions||{},u=B(s,i,c.strict);\"boolean\"==typeof r.caseSensitive&&(c.sensitive=r.caseSensitive);var l={path:u,regex:z(u,c),components:r.components||{default:r.component},instances:{},name:a,parent:i,matchAs:o,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach(function(r){var i=o?E(o+\"/\"+r.path):void 0;Y(t,e,n,r,l,i)}),void 0!==r.alias){(Array.isArray(r.alias)?r.alias:[r.alias]).forEach(function(o){var s={path:o,children:r.children};Y(t,e,n,s,i,l.path||\"/\")})}e[l.path]||(t.push(l.path),e[l.path]=l),a&&(n[a]||(n[a]=l))}function z(t,e){var n=Vt(t,[],e);return n}function B(t,e,n){return n||(t=t.replace(/\\/$/,\"\")),\"/\"===t[0]?t:null==e?t:E(e.path+\"/\"+t)}function F(t,e,n,r){var i=\"string\"==typeof t?{path:t}:t;if(i.name||i._normalized)return i;if(!i.path&&i.params&&e){i=H({},i),i._normalized=!0;var o=H(H({},e.params),i.params);if(e.name)i.name=e.name,i.params=o;else if(e.matched.length){var s=e.matched[e.matched.length-1].path;i.path=N(s,o,\"path \"+e.path)}return i}var c=x(i.path||\"\"),u=e&&e.path||\"/\",l=c.path?w(c.path,u,n||i.append):u,h=a(c.query,i.query,r&&r.options.parseQuery),f=i.hash||c.hash;return f&&\"#\"!==f.charAt(0)&&(f=\"#\"+f),{_normalized:!0,path:l,query:h,hash:f}}function H(t,e){for(var n in e)t[n]=e[n];return t}function U(t,e){function n(t){X(t,c,u,h)}function r(t,n,r){var i=F(t,n,!1,e),o=i.name;if(o){var a=h[o];if(!a)return s(null,i);var l=a.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if(\"object\"!=typeof i.params&&(i.params={}),n&&\"object\"==typeof n.params)for(var f in n.params)!(f in i.params)&&l.indexOf(f)>-1&&(i.params[f]=n.params[f]);if(a)return i.path=N(a.path,i.params,'named route \"'+o+'\"'),s(a,i,r)}else if(i.path){i.params={};for(var p=0;p<c.length;p++){var d=c[p],v=u[d];if(W(v.regex,i.path,i.params))return s(v,i,r)}}return s(null,i)}function i(t,n){var i=t.redirect,o=\"function\"==typeof i?i(l(t,n,null,e)):i;if(\"string\"==typeof o&&(o={path:o}),!o||\"object\"!=typeof o)return s(null,n);var a=o,c=a.name,u=a.path,f=n.query,p=n.hash,d=n.params;if(f=a.hasOwnProperty(\"query\")?a.query:f,p=a.hasOwnProperty(\"hash\")?a.hash:p,d=a.hasOwnProperty(\"params\")?a.params:d,c){h[c];return r({_normalized:!0,name:c,query:f,hash:p,params:d},void 0,n)}if(u){var v=q(u,t);return r({_normalized:!0,path:N(v,d,'redirect route with path \"'+v+'\"'),query:f,hash:p},void 0,n)}return s(null,n)}function o(t,e,n){var i=N(n,e.params,'aliased route with path \"'+n+'\"'),o=r({_normalized:!0,path:i});if(o){var a=o.matched,c=a[a.length-1];return e.params=o.params,s(c,e)}return s(null,e)}function s(t,n,r){return t&&t.redirect?i(t,r||n):t&&t.matchAs?o(t,n,t.matchAs):l(t,n,r,e)}var a=X(t),c=a.pathList,u=a.pathMap,h=a.nameMap;return{match:r,addRoutes:n}}function W(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var i=1,o=r.length;i<o;++i){var s=t.keys[i-1],a=\"string\"==typeof r[i]?decodeURIComponent(r[i]):r[i];s&&(n[s.name]=a)}return!0}function q(t,e){return w(t,e.parent?e.parent.path:\"/\",!0)}function V(){window.history.replaceState({key:ot()},\"\"),window.addEventListener(\"popstate\",function(t){K(),t.state&&t.state.key&&st(t.state.key)})}function Q(t,e,n,r){if(t.app){var i=t.options.scrollBehavior;i&&t.app.$nextTick(function(){var t=G(),o=i(e,n,r?t:null);o&&(\"function\"==typeof o.then?o.then(function(e){rt(e,t)}).catch(function(t){}):rt(o,t))})}}function K(){var t=ot();t&&(ee[t]={x:window.pageXOffset,y:window.pageYOffset})}function G(){var t=ot();if(t)return ee[t]}function J(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),i=t.getBoundingClientRect();return{x:i.left-r.left-e.x,y:i.top-r.top-e.y}}function Z(t){return nt(t.x)||nt(t.y)}function tt(t){return{x:nt(t.x)?t.x:window.pageXOffset,y:nt(t.y)?t.y:window.pageYOffset}}function et(t){return{x:nt(t.x)?t.x:0,y:nt(t.y)?t.y:0}}function nt(t){return\"number\"==typeof t}function rt(t,e){var n=\"object\"==typeof t;if(n&&\"string\"==typeof t.selector){var r=document.querySelector(t.selector);if(r){var i=t.offset&&\"object\"==typeof t.offset?t.offset:{};i=et(i),e=J(r,i)}else Z(t)&&(e=tt(t))}else n&&Z(t)&&(e=tt(t));e&&window.scrollTo(e.x,e.y)}function it(){return re.now().toFixed(3)}function ot(){return ie}function st(t){ie=t}function at(t,e){K();var n=window.history;try{e?n.replaceState({key:ie},\"\",t):(ie=it(),n.pushState({key:ie},\"\",t))}catch(n){window.location[e?\"replace\":\"assign\"](t)}}function ct(t){at(t,!0)}function ut(t,e,n){var r=function(i){i>=t.length?n():t[i]?e(t[i],function(){r(i+1)}):r(i+1)};r(0)}function lt(t){return function(e,n,r){var o=!1,s=0,a=null;ht(t,function(t,e,n,c){if(\"function\"==typeof t&&void 0===t.cid){o=!0,s++;var u,l=dt(function(e){pt(e)&&(e=e.default),t.resolved=\"function\"==typeof e?e:Dt.extend(e),n.components[c]=e,--s<=0&&r()}),h=dt(function(t){var e=\"Failed to resolve async component \"+c+\": \"+t;a||(a=i(t)?t:new Error(e),r(a))});try{u=t(l,h)}catch(t){h(t)}if(u)if(\"function\"==typeof u.then)u.then(l,h);else{var f=u.component;f&&\"function\"==typeof f.then&&f.then(l,h)}}}),o||r()}}function ht(t,e){return ft(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function ft(t){return Array.prototype.concat.apply([],t)}function pt(t){return t.__esModule||oe&&\"Module\"===t[Symbol.toStringTag]}function dt(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}function vt(t){if(!t)if(Wt){var e=document.querySelector(\"base\");t=e&&e.getAttribute(\"href\")||\"/\",t=t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}else t=\"/\";return\"/\"!==t.charAt(0)&&(t=\"/\"+t),t.replace(/\\/$/,\"\")}function mt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]===e[n];n++);return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function gt(t,e,n,r){var i=ht(t,function(t,r,i,o){var s=yt(t,e);if(s)return Array.isArray(s)?s.map(function(t){return n(t,r,i,o)}):n(s,r,i,o)});return ft(r?i.reverse():i)}function yt(t,e){return\"function\"!=typeof t&&(t=Dt.extend(t)),t.options[e]}function bt(t){return gt(t,\"beforeRouteLeave\",wt,!0)}function _t(t){return gt(t,\"beforeRouteUpdate\",wt)}function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}function xt(t,e,n){return gt(t,\"beforeRouteEnter\",function(t,r,i,o){return Et(t,i,o,e,n)})}function Et(t,e,n,r,i){return function(o,s,a){return t(o,s,function(t){a(t),\"function\"==typeof t&&r.push(function(){St(t,e.instances,n,i)})})}}function St(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){St(t,e,n,r)},16)}function Tt(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||\"/\")+window.location.search+window.location.hash}function Ot(t){var e=Tt(t);if(!/^\\/#/.test(e))return window.location.replace(E(t+\"/#\"+e)),!0}function kt(){var t=Ct();return\"/\"===t.charAt(0)||(Pt(\"/\"+t),!1)}function Ct(){var t=window.location.href,e=t.indexOf(\"#\");return-1===e?\"\":t.slice(e+1)}function Mt(t){var e=window.location.href,n=e.indexOf(\"#\");return(n>=0?e.slice(0,n):e)+\"#\"+t}function At(t){ne?at(Mt(t)):window.location.hash=t}function Pt(t){ne?ct(Mt(t)):window.location.replace(Mt(t))}function Lt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function jt(t,e,n){var r=\"hash\"===n?\"#\"+e:e;return t?E(t+\"/\"+r):r}Object.defineProperty(e,\"__esModule\",{value:!0});var Dt,Rt={name:\"router-view\",functional:!0,props:{name:{type:String,default:\"default\"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,a=e.data;a.routerView=!0;for(var c=i.$createElement,u=n.name,l=i.$route,h=i._routerViewCache||(i._routerViewCache={}),f=0,p=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&f++,i._inactive&&(p=!0),i=i.$parent;if(a.routerViewDepth=f,p)return c(h[u],a,r);var d=l.matched[f];if(!d)return h[u]=null,c();var v=h[u]=d.components[u];a.registerRouteInstance=function(t,e){var n=d.instances[u];(e&&n!==t||!e&&n===t)&&(d.instances[u]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){d.instances[u]=e.componentInstance};var m=a.props=o(l,d.props&&d.props[u]);if(m){m=a.props=s({},m);var g=a.attrs=a.attrs||{};for(var y in m)v.props&&y in v.props||(g[y]=m[y],delete m[y])}return c(v,a,r)}},It=/[!'()*]/g,$t=function(t){return\"%\"+t.charCodeAt(0).toString(16)},Nt=/%2C/g,Xt=function(t){return encodeURIComponent(t).replace(It,$t).replace(Nt,\",\")},Yt=decodeURIComponent,zt=/\\/?$/,Bt=l(null,{path:\"/\"}),Ft=[String,Object],Ht=[String,Array],Ut={name:\"router-link\",props:{to:{type:Ft,required:!0},tag:{type:String,default:\"a\"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Ht,default:\"click\"}},render:function(t){var e=this,n=this.$router,r=this.$route,i=n.resolve(this.to,r,this.append),o=i.location,s=i.route,a=i.href,c={},u=n.options.linkActiveClass,h=n.options.linkExactActiveClass,f=null==u?\"router-link-active\":u,p=null==h?\"router-link-exact-active\":h,v=null==this.activeClass?f:this.activeClass,g=null==this.exactActiveClass?p:this.exactActiveClass,_=o.path?l(null,o,null,n):s;c[g]=d(r,_),c[v]=this.exact?c[g]:m(r,_);var w=function(t){y(t)&&(e.replace?n.replace(o):n.push(o))},x={click:y};Array.isArray(this.event)?this.event.forEach(function(t){x[t]=w}):x[this.event]=w;var E={class:c};if(\"a\"===this.tag)E.on=x,E.attrs={href:a};else{var S=b(this.$slots.default);if(S){S.isStatic=!1;var T=Dt.util.extend;(S.data=T({},S.data)).on=x;(S.data.attrs=T({},S.data.attrs)).href=a}else E.on=x}return t(this.tag,E,this.$slots.default)}},Wt=\"undefined\"!=typeof window,qt=Array.isArray||function(t){return\"[object Array]\"==Object.prototype.toString.call(t)},Vt=$,Qt=S,Kt=T,Gt=C,Jt=I,Zt=new RegExp([\"(\\\\\\\\.)\",\"([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))\"].join(\"|\"),\"g\");Vt.parse=Qt,Vt.compile=Kt,Vt.tokensToFunction=Gt,Vt.tokensToRegExp=Jt;var te=Object.create(null),ee=Object.create(null),ne=Wt&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf(\"Android 2.\")&&-1===t.indexOf(\"Android 4.0\")||-1===t.indexOf(\"Mobile Safari\")||-1!==t.indexOf(\"Chrome\")||-1!==t.indexOf(\"Windows Phone\"))&&(window.history&&\"pushState\"in window.history)}(),re=Wt&&window.performance&&window.performance.now?window.performance:Date,ie=it(),oe=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.toStringTag,se=function(t,e){this.router=t,this.base=vt(e),this.current=Bt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};se.prototype.listen=function(t){this.cb=t},se.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},se.prototype.onError=function(t){this.errorCbs.push(t)},se.prototype.transitionTo=function(t,e,n){var r=this,i=this.router.match(t,this.current);this.confirmTransition(i,function(){r.updateRoute(i),e&&e(i),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(i)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},se.prototype.confirmTransition=function(t,e,n){var o=this,s=this.current,a=function(t){i(t)&&(o.errorCbs.length?o.errorCbs.forEach(function(e){e(t)}):(r(!1,\"uncaught error during route navigation:\"),console.error(t))),n&&n(t)};if(d(t,s)&&t.matched.length===s.matched.length)return this.ensureURL(),a();var c=mt(this.current.matched,t.matched),u=c.updated,l=c.deactivated,h=c.activated,f=[].concat(bt(l),this.router.beforeHooks,_t(u),h.map(function(t){return t.beforeEnter}),lt(h));this.pending=t;var p=function(e,n){if(o.pending!==t)return a();try{e(t,s,function(t){!1===t||i(t)?(o.ensureURL(!0),a(t)):\"string\"==typeof t||\"object\"==typeof t&&(\"string\"==typeof t.path||\"string\"==typeof t.name)?(a(),\"object\"==typeof t&&t.replace?o.replace(t):o.push(t)):n(t)})}catch(t){a(t)}};ut(f,p,function(){var n=[];ut(xt(h,n,function(){return o.current===t}).concat(o.router.resolveHooks),p,function(){if(o.pending!==t)return a();o.pending=null,e(t),o.router.app&&o.router.app.$nextTick(function(){n.forEach(function(t){t()})})})})},se.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(n){n&&n(t,e)})};var ae=function(t){function e(e,n){var r=this;t.call(this,e,n);var i=e.options.scrollBehavior;i&&V();var o=Tt(this.base);window.addEventListener(\"popstate\",function(t){var n=r.current,s=Tt(r.base);r.current===Bt&&s===o||r.transitionTo(s,function(t){i&&Q(e,t,n,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){at(E(r.base+t.fullPath)),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){ct(E(r.base+t.fullPath)),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.ensureURL=function(t){if(Tt(this.base)!==this.current.fullPath){var e=E(this.base+this.current.fullPath);t?at(e):ct(e)}},e.prototype.getCurrentLocation=function(){return Tt(this.base)},e}(se),ce=function(t){function e(e,n,r){t.call(this,e,n),r&&Ot(this.base)||kt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this,e=this.router,n=e.options.scrollBehavior,r=ne&&n;r&&V(),window.addEventListener(ne?\"popstate\":\"hashchange\",function(){var e=t.current;kt()&&t.transitionTo(Ct(),function(n){r&&Q(t.router,n,e,!0),ne||Pt(n.fullPath)})})},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){At(t.fullPath),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){Pt(t.fullPath),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Ct()!==e&&(t?At(e):Pt(e))},e.prototype.getCurrentLocation=function(){return Ct()},e}(se),ue=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:\"/\"},e.prototype.ensureURL=function(){},e}(se),le=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=U(t.routes||[],this);var e=t.mode||\"hash\";switch(this.fallback=\"history\"===e&&!ne&&!1!==t.fallback,this.fallback&&(e=\"hash\"),Wt||(e=\"abstract\"),this.mode=e,e){case\"history\":this.history=new ae(this,t.base);break;case\"hash\":this.history=new ce(this,t.base,this.fallback);break;case\"abstract\":this.history=new ue(this,t.base)}},he={currentRoute:{configurable:!0}};le.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},he.currentRoute.get=function(){return this.history&&this.history.current},le.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof ae)n.transitionTo(n.getCurrentLocation());else if(n instanceof ce){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},le.prototype.beforeEach=function(t){return Lt(this.beforeHooks,t)},le.prototype.beforeResolve=function(t){return Lt(this.resolveHooks,t)},le.prototype.afterEach=function(t){return Lt(this.afterHooks,t)},le.prototype.onReady=function(t,e){this.history.onReady(t,e)},le.prototype.onError=function(t){this.history.onError(t)},le.prototype.push=function(t,e,n){this.history.push(t,e,n)},le.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},le.prototype.go=function(t){this.history.go(t)},le.prototype.back=function(){this.go(-1)},le.prototype.forward=function(){this.go(1)},le.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},le.prototype.resolve=function(t,e,n){var r=F(t,e||this.history.current,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:jt(this.history.base,o,this.mode),normalizedTo:r,resolved:i}},le.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==Bt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(le.prototype,he),le.install=_,le.version=\"2.8.1\",Wt&&window.Vue&&window.Vue.use(le),e.default=le},\"06OY\":function(t,e,n){var r=n(\"3Eo+\")(\"meta\"),i=n(\"EqjI\"),o=n(\"D2L2\"),s=n(\"evD5\").f,a=0,c=Object.isExtensible||function(){return!0},u=!n(\"S82l\")(function(){return c(Object.preventExtensions({}))}),l=function(t){s(t,r,{value:{i:\"O\"+ ++a,w:{}}})},h=function(t,e){if(!i(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,r)){if(!c(t))return\"F\";if(!e)return\"E\";l(t)}return t[r].i},f=function(t,e){if(!o(t,r)){if(!c(t))return!0;if(!e)return!1;l(t)}return t[r].w},p=function(t){return u&&d.NEED&&c(t)&&!o(t,r)&&l(t),t},d=t.exports={KEY:r,NEED:!1,fastKey:h,getWeak:f,onFreeze:p}},\"162o\":function(t,e,n){(function(t){function r(t,e){this._id=t,this._clearFn=e}var i=void 0!==t&&t||\"undefined\"!=typeof self&&self||window,o=Function.prototype.apply;e.setTimeout=function(){return new r(o.call(setTimeout,i,arguments),clearTimeout)},e.setInterval=function(){return new r(o.call(setInterval,i,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(i,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(\"mypn\"),e.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(\"DuR2\"))},\"1kS7\":function(t,e){e.f=Object.getOwnPropertySymbols},\"2KxR\":function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t}},\"3Eo+\":function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},\"3fs2\":function(t,e,n){var r=n(\"RY/4\"),i=n(\"dSzd\")(\"iterator\"),o=n(\"/bQp\");t.exports=n(\"FeBl\").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t[\"@@iterator\"]||o[r(t)]}},\"4mcu\":function(t,e){t.exports=function(){}},\"52gC\":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on  \"+t);return t}},\"5PlU\":function(t,e,n){var r=n(\"RY/4\"),i=n(\"dSzd\")(\"iterator\"),o=n(\"/bQp\");t.exports=n(\"FeBl\").isIterable=function(t){var e=Object(t);return void 0!==e[i]||\"@@iterator\"in e||o.hasOwnProperty(r(e))}},\"5QVw\":function(t,e,n){t.exports={default:n(\"BwfY\"),__esModule:!0}},\"5zde\":function(t,e,n){n(\"zQR9\"),n(\"qyJz\"),t.exports=n(\"FeBl\").Array.from},\"70Rd\":function(t,e,n){(function(n){var r,i;!function(n){var o=\"object\"==typeof window&&window||\"object\"==typeof self&&self;void 0===e||e.nodeType?o&&(o.hljs=n({}),r=[],void 0!==(i=function(){return o.hljs}.apply(e,r))&&(t.exports=i)):n(e)}(function(t){function e(t){return t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function r(t){return t.nodeName.toLowerCase()}function i(t,e){var n=t&&t.exec(e);return n&&0===n.index}function o(t){return X.test(t)}function s(t){var e,n,r,i,s=t.className+\" \";if(s+=t.parentNode?t.parentNode.className:\"\",n=Y.exec(s)){var a=M(n[1]);return a||(console.warn(F.replace(\"{}\",n[1])),console.warn(\"Falling back to no-highlight mode for this block.\",t)),a?n[1]:\"no-highlight\"}for(s=s.split(/\\s+/),e=0,r=s.length;e<r;e++)if(i=s[e],o(i)||M(i))return i}function a(t){var e,n={},r=Array.prototype.slice.call(arguments,1);for(e in t)n[e]=t[e];return r.forEach(function(t){for(e in t)n[e]=t[e]}),n}function c(t){var e=[];return function t(n,i){for(var o=n.firstChild;o;o=o.nextSibling)3===o.nodeType?i+=o.nodeValue.length:1===o.nodeType&&(e.push({event:\"start\",offset:i,node:o}),i=t(o,i),r(o).match(/br|hr|img|input/)||e.push({event:\"stop\",offset:i,node:o}));return i}(t,0),e}function u(t,n,i){function o(){return t.length&&n.length?t[0].offset!==n[0].offset?t[0].offset<n[0].offset?t:n:\"start\"===n[0].event?t:n:t.length?t:n}function s(t){function n(t){return\" \"+t.nodeName+'=\"'+e(t.value).replace(/\"/g,\"&quot;\")+'\"'}l+=\"<\"+r(t)+D.map.call(t.attributes,n).join(\"\")+\">\"}function a(t){l+=\"</\"+r(t)+\">\"}function c(t){(\"start\"===t.event?s:a)(t.node)}for(var u=0,l=\"\",h=[];t.length||n.length;){var f=o();if(l+=e(i.substring(u,f[0].offset)),u=f[0].offset,f===t){h.reverse().forEach(a);do{c(f.splice(0,1)[0]),f=o()}while(f===t&&f.length&&f[0].offset===u);h.reverse().forEach(s)}else\"start\"===f[0].event?h.push(f[0].node):h.pop(),c(f.splice(0,1)[0])}return l+e(i.substr(u))}function l(t){return!!t&&(t.endsWithParent||l(t.starts))}function h(t){return t.variants&&!t.cached_variants&&(t.cached_variants=t.variants.map(function(e){return a(t,{variants:null},e)})),t.cached_variants?t.cached_variants:l(t)?[a(t,{starts:t.starts?a(t.starts):null})]:Object.isFrozen(t)?[a(t)]:[t]}function f(t){if(L&&!t.langApiRestored){t.langApiRestored=!0;for(var e in L)t[e]&&(t[L[e]]=t[e]);(t.contains||[]).concat(t.variants||[]).forEach(f)}}function p(t,e){function n(t,n){e&&(n=n.toLowerCase()),n.split(\" \").forEach(function(e){var n=e.split(\"|\");r[n[0]]=[t,d(n[0],n[1])]})}var r={};return\"string\"==typeof t?n(\"keyword\",t):R(t).forEach(function(e){n(e,t[e])}),r}function d(t,e){return e?Number(e):v(t)?0:1}function v(t){return-1!=U.indexOf(t.toLowerCase())}function m(t){function e(t){return t&&t.source||t}function n(n,r){return new RegExp(e(n),\"m\"+(t.case_insensitive?\"i\":\"\")+(r?\"g\":\"\"))}function r(t){return new RegExp(t.toString()+\"|\").exec(\"\").length-1}function i(t,n){for(var r=/\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./,i=0,o=\"\",s=0;s<t.length;s++){i+=1;var a=i,c=e(t[s]);for(s>0&&(o+=n),o+=\"(\";c.length>0;){var u=r.exec(c);if(null==u){o+=c;break}o+=c.substring(0,u.index),c=c.substring(u.index+u[0].length),\"\\\\\"==u[0][0]&&u[1]?o+=\"\\\\\"+String(Number(u[1])+a):(o+=u[0],\"(\"==u[0]&&i++)}o+=\")\"}return o}function o(t){function e(t,e){a[l]=t,c.push([t,e]),l+=r(e)+1}for(var o,s,a={},c=[],u={},l=1,h=0;h<t.contains.length;h++){var f;s=t.contains[h],f=s.beginKeywords?\"\\\\.?(?:\"+s.begin+\")\\\\.?\":s.begin,e(s,f)}t.terminator_end&&e(\"end\",t.terminator_end),t.illegal&&e(\"illegal\",t.illegal);var p=c.map(function(t){return t[1]});return o=n(i(p,\"|\"),!0),u.lastIndex=0,u.exec=function(e){var n;if(0===c.length)return null;o.lastIndex=u.lastIndex;var r=o.exec(e);if(!r)return null;for(var i=0;i<r.length;i++)if(void 0!=r[i]&&void 0!=a[\"\"+i]){n=a[\"\"+i];break}return\"string\"==typeof n?(r.type=n,r.extra=[t.illegal,t.terminator_end]):(r.type=\"begin\",r.rule=n),r},u}function s(r,i){r.compiled||(r.compiled=!0,r.keywords=r.keywords||r.beginKeywords,r.keywords&&(r.keywords=p(r.keywords,t.case_insensitive)),r.lexemesRe=n(r.lexemes||/\\w+/,!0),i&&(r.beginKeywords&&(r.begin=\"\\\\b(\"+r.beginKeywords.split(\" \").join(\"|\")+\")\\\\b\"),r.begin||(r.begin=/\\B|\\b/),r.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\\B|\\b/),r.end&&(r.endRe=n(r.end)),r.terminator_end=e(r.end)||\"\",r.endsWithParent&&i.terminator_end&&(r.terminator_end+=(r.end?\"|\":\"\")+i.terminator_end)),r.illegal&&(r.illegalRe=n(r.illegal)),null==r.relevance&&(r.relevance=1),r.contains||(r.contains=[]),r.contains=Array.prototype.concat.apply([],r.contains.map(function(t){return h(\"self\"===t?r:t)})),r.contains.forEach(function(t){s(t,r)}),r.starts&&s(r.starts,i),r.terminators=o(r))}if(t.contains&&-1!=t.contains.indexOf(\"self\")){if(!N)throw new Error(\"ERR: contains `self` is not supported at the top-level of a language.  See documentation.\");t.contains=t.contains.filter(function(t){return\"self\"!=t})}s(t)}function g(){return!!H.hideUpgradeWarningAcceptNoSupportOrSecurityUpdates||(!(\"object\"!=typeof n||!Object({NODE_ENV:\"production\"}).HLJS_HIDE_UPGRADE_WARNING)||void 0)}function y(t,n,r,o){function s(t){return new RegExp(t.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),\"m\")}function a(t,e){if(i(t.endRe,e)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.endsWithParent)return a(t.parent,e)}function c(t,e){var n=E.case_insensitive?e[0].toLowerCase():e[0];return t.keywords.hasOwnProperty(n)&&t.keywords[n]}function u(t,e,n,r){if(!n&&\"\"===e)return\"\";if(!t)return e;var i=r?\"\":H.classPrefix,o='<span class=\"'+i,s=n?\"\":B;return(o+=t+'\">')+e+s}function l(){var t,n,r,i;if(!T.keywords)return e(C);for(i=\"\",n=0,T.lexemesRe.lastIndex=0,r=T.lexemesRe.exec(C);r;)i+=e(C.substring(n,r.index)),t=c(T,r),t?(A+=t[1],i+=u(t[0],e(r[0]))):i+=e(r[0]),n=T.lexemesRe.lastIndex,r=T.lexemesRe.exec(C);return i+e(C.substr(n))}function h(){var t=\"string\"==typeof T.subLanguage;if(t&&!I[T.subLanguage])return e(C);var n=t?y(T.subLanguage,C,!0,O[T.subLanguage]):b(C,T.subLanguage.length?T.subLanguage:void 0);return T.relevance>0&&(A+=n.relevance),t&&(O[T.subLanguage]=n.top),u(n.language,n.value,!1,!0)}function f(){k+=null!=T.subLanguage?h():l(),C=\"\"}function p(t){k+=t.className?u(t.className,\"\",!0):\"\",T=Object.create(t,{parent:{value:T}})}function d(t){var e=t[0],n=t.rule;return n&&n.endSameAsBegin&&(n.endRe=s(e)),n.skip?C+=e:(n.excludeBegin&&(C+=e),f(),n.returnBegin||n.excludeBegin||(C=e)),p(n),n.returnBegin?0:e.length}function v(t){var e=t[0],n=w.substr(t.index),r=a(T,n);if(r){var i=T;i.skip?C+=e:(i.returnEnd||i.excludeEnd||(C+=e),f(),i.excludeEnd&&(C=e));do{T.className&&(k+=B),T.skip||T.subLanguage||(A+=T.relevance),T=T.parent}while(T!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),p(r.starts)),i.returnEnd?0:e.length}}function _(t,e){var n=e&&e[0];if(C+=t,null==n)return f(),0;if(\"begin\"==x.type&&\"end\"==e.type&&x.index==e.index&&\"\"===n)return C+=w.slice(e.index,e.index+1),1;if(\"illegal\"===x.type&&\"\"===n)return C+=w.slice(e.index,e.index+1),1;if(x=e,\"begin\"===e.type)return d(e);if(\"illegal\"===e.type&&!r)throw new Error('Illegal lexeme \"'+n+'\" for mode \"'+(T.className||\"<unnamed>\")+'\"');if(\"end\"===e.type){var i=v(e);if(void 0!=i)return i}return C+=n,n.length}g()||j||(j=!0,console.log(\"Version 9 of Highlight.js has reached EOL and is no longer supported.\\nPlease upgrade or ask whatever dependency you are using to upgrade.\\nhttps://github.com/highlightjs/highlight.js/issues/2877\"));var w=n,x={},E=M(t);if(!E)throw console.error(F.replace(\"{}\",t)),new Error('Unknown language: \"'+t+'\"');m(E);var S,T=o||E,O={},k=\"\";for(S=T;S!==E;S=S.parent)S.className&&(k=u(S.className,\"\",!0)+k);var C=\"\",A=0;try{for(var P,L,D=0;;){if(T.terminators.lastIndex=D,!(P=T.terminators.exec(w)))break;L=_(w.substring(D,P.index),P),D=P.index+L}for(_(w.substr(D)),S=T;S.parent;S=S.parent)S.className&&(k+=B);return{relevance:A,value:k,illegal:!1,language:t,top:T}}catch(n){if(n.message&&-1!==n.message.indexOf(\"Illegal\"))return{illegal:!0,relevance:0,value:e(w)};if(N)return{relevance:0,value:e(w),language:t,top:T,errorRaised:n};throw n}}function b(t,n){n=n||H.languages||R(I);var r={relevance:0,value:e(t)},i=r;return n.filter(M).filter(A).forEach(function(e){var n=y(e,t,!1);n.language=e,n.relevance>i.relevance&&(i=n),n.relevance>r.relevance&&(i=r,r=n)}),i.language&&(r.second_best=i),r}function _(t){return H.tabReplace||H.useBR?t.replace(z,function(t,e){return H.useBR&&\"\\n\"===t?\"<br>\":H.tabReplace?e.replace(/\\t/g,H.tabReplace):\"\"}):t}function w(t,e,n){var r=e?$[e]:n,i=[t.trim()];return t.match(/\\bhljs\\b/)||i.push(\"hljs\"),-1===t.indexOf(r)&&i.push(r),i.join(\" \").trim()}function x(t){var e,n,r,i,a,l=s(t);o(l)||(H.useBR?(e=document.createElement(\"div\"),e.innerHTML=t.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\")):e=t,a=e.textContent,r=l?y(l,a,!0):b(a),n=c(e),n.length&&(i=document.createElement(\"div\"),i.innerHTML=r.value,r.value=u(n,c(i),a)),r.value=_(r.value),t.innerHTML=r.value,t.className=w(t.className,l,r.language),t.result={language:r.language,re:r.relevance},r.second_best&&(t.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function E(t){H=a(H,t)}function S(){if(!S.called){S.called=!0;var t=document.querySelectorAll(\"pre code\");D.forEach.call(t,x)}}function T(){window.addEventListener(\"DOMContentLoaded\",S,!1),window.addEventListener(\"load\",S,!1)}function O(e,n){var r;try{r=n(t)}catch(t){if(console.error(\"Language definition for '{}' could not be registered.\".replace(\"{}\",e)),!N)throw t;console.error(t),r=W}I[e]=r,f(r),r.rawDefinition=n.bind(null,t),r.aliases&&r.aliases.forEach(function(t){$[t]=e})}function k(){return R(I)}function C(t){var e=M(t);if(e)return e;throw new Error(\"The '{}' language is required, but not loaded.\".replace(\"{}\",t))}function M(t){return t=(t||\"\").toLowerCase(),I[t]||I[$[t]]}function A(t){var e=M(t);return e&&!e.disableAutodetect}function P(t){Object.freeze(t);var e=\"function\"==typeof t;return Object.getOwnPropertyNames(t).forEach(function(n){!t.hasOwnProperty(n)||null===t[n]||\"object\"!=typeof t[n]&&\"function\"!=typeof t[n]||e&&(\"caller\"===n||\"callee\"===n||\"arguments\"===n)||Object.isFrozen(t[n])||P(t[n])}),t}var L,j=!1,D=[],R=Object.keys,I=Object.create(null),$=Object.create(null),N=!0,X=/^(no-?highlight|plain|text)$/i,Y=/\\blang(?:uage)?-([\\w-]+)\\b/i,z=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,B=\"</span>\",F=\"Could not find the language '{}', did you forget to load/include a language module?\",H={hideUpgradeWarningAcceptNoSupportOrSecurityUpdates:!1,classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0},U=\"of and for in not or if then\".split(\" \"),W={disableAutodetect:!0};return t.highlight=y,t.highlightAuto=b,t.fixMarkup=_,t.highlightBlock=x,t.configure=E,t.initHighlighting=S,t.initHighlightingOnLoad=T,t.registerLanguage=O,t.listLanguages=k,t.getLanguage=M,t.requireLanguage=C,t.autoDetection=A,t.inherit=a,t.debugMode=function(){N=!1},t.IDENT_RE=\"[a-zA-Z]\\\\w*\",t.UNDERSCORE_IDENT_RE=\"[a-zA-Z_]\\\\w*\",t.NUMBER_RE=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",t.C_NUMBER_RE=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",t.BINARY_NUMBER_RE=\"\\\\b(0b[01]+)\",t.RE_STARTERS_RE=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",t.BACKSLASH_ESCAPE={begin:\"\\\\\\\\[\\\\s\\\\S]\",relevance:0},t.APOS_STRING_MODE={className:\"string\",begin:\"'\",end:\"'\",illegal:\"\\\\n\",contains:[t.BACKSLASH_ESCAPE]},t.QUOTE_STRING_MODE={className:\"string\",begin:'\"',end:'\"',illegal:\"\\\\n\",contains:[t.BACKSLASH_ESCAPE]},t.PHRASAL_WORDS_MODE={begin:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},t.COMMENT=function(e,n,r){var i=t.inherit({className:\"comment\",begin:e,end:n,contains:[]},r||{});return i.contains.push(t.PHRASAL_WORDS_MODE),i.contains.push({className:\"doctag\",begin:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",relevance:0}),i},t.C_LINE_COMMENT_MODE=t.COMMENT(\"//\",\"$\"),t.C_BLOCK_COMMENT_MODE=t.COMMENT(\"/\\\\*\",\"\\\\*/\"),t.HASH_COMMENT_MODE=t.COMMENT(\"#\",\"$\"),t.NUMBER_MODE={className:\"number\",begin:t.NUMBER_RE,relevance:0},t.C_NUMBER_MODE={className:\"number\",begin:t.C_NUMBER_RE,relevance:0},t.BINARY_NUMBER_MODE={className:\"number\",begin:t.BINARY_NUMBER_RE,relevance:0},t.CSS_NUMBER_MODE={className:\"number\",begin:t.NUMBER_RE+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",relevance:0},t.REGEXP_MODE={className:\"regexp\",begin:/\\//,end:/\\/[gimuy]*/,illegal:/\\n/,contains:[t.BACKSLASH_ESCAPE,{begin:/\\[/,end:/\\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}]},t.TITLE_MODE={className:\"title\",begin:t.IDENT_RE,relevance:0},t.UNDERSCORE_TITLE_MODE={className:\"title\",begin:t.UNDERSCORE_IDENT_RE,relevance:0},t.METHOD_GUARD={begin:\"\\\\.\\\\s*\"+t.UNDERSCORE_IDENT_RE,relevance:0},[t.BACKSLASH_ESCAPE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,t.PHRASAL_WORDS_MODE,t.COMMENT,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.HASH_COMMENT_MODE,t.NUMBER_MODE,t.C_NUMBER_MODE,t.BINARY_NUMBER_MODE,t.CSS_NUMBER_MODE,t.REGEXP_MODE,t.TITLE_MODE,t.UNDERSCORE_TITLE_MODE,t.METHOD_GUARD].forEach(function(t){P(t)}),t})}).call(e,n(\"W2nU\"))},\"77Pl\":function(t,e,n){var r=n(\"EqjI\");t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},\"7KvD\":function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},\"7UMu\":function(t,e,n){var r=n(\"R9M2\");t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},\"82Mu\":function(t,e,n){var r=n(\"7KvD\"),i=n(\"L42u\").set,o=r.MutationObserver||r.WebKitMutationObserver,s=r.process,a=r.Promise,c=\"process\"==n(\"R9M2\")(s);t.exports=function(){var t,e,n,u=function(){var r,i;for(c&&(r=s.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){s.nextTick(u)};else if(!o||r.navigator&&r.navigator.standalone)if(a&&a.resolve){var l=a.resolve(void 0);n=function(){l.then(u)}}else n=function(){i.call(r,u)};else{var h=!0,f=document.createTextNode(\"\");new o(u).observe(f,{characterData:!0}),n=function(){f.data=h=!h}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},\"880/\":function(t,e,n){t.exports=n(\"hJx8\")},\"8j/s\":function(t,e,n){\"use strict\";function r(t){return(t+\"\").replace(g,function(t,e){return e?e.toUpperCase():\"\"})}function i(t,e){return(t+\"\").replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\"+(e||\"\")+\"-]\",\"g\"),\"\\\\$&\")}function o(t){return\"boolean\"==typeof t}function s(t){return void 0===t}function a(t){return\"string\"==typeof t}function c(t){return\"function\"==typeof t}function u(t,e){if(!t)throw new Error(\"[vue-create-api error]: \"+e)}function l(t,e,n,r,i){var o=void 0,s=void 0,a=new t(m({},i,{render:function(t){var n=s&&s(t);return n&&!Array.isArray(n)&&(n=[n]),t(e,m({},o),n||[])},methods:{init:function(){document.body.appendChild(this.$el)},destroy:function(){this.$destroy(),this.$el&&this.$el.parentNode===document.body&&document.body.removeChild(this.$el)}}}));a.updateRenderData=function(t,e){o=t,s=e},a.updateRenderData(n,r),a.$mount(),a.init();var c=a.$children[0];return c.$updateProps=function(t){m(o.props,t),a.$forceUpdate()},c}function h(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=f(e);var n=m({},t),r={};for(var i in e)if(e.hasOwnProperty(i)){var o=e[i];n[o]&&(r[i]=n[o],delete n[o])}return{props:n,on:r}}function f(t){var e={};return t.forEach(function(t){e[t]=r(\"on-\"+t)}),e}function p(t){function e(e,n,r,i){v.forEach(function(t){t(e,n,i)});var o=r.parent?r.parent._uid:-1,s=d[o]?d[o]:{},a=s.comp,c=s.ins;if(i&&a&&c)return c.updateRenderData(e,n),c.$forceUpdate(),a;var u=l(p,t,e,n,r),h=u.$parent,f=u.remove;u.remove=function(){if(i){if(!d[o])return;d[o]=null}f&&f.apply(this,arguments),h.destroy()};var m=u.show;u.show=function(){return m&&m.apply(this,arguments),this};var g=u.hide;return u.hide=function(){return g&&g.apply(this,arguments),this},i&&(d[o]={comp:u,ins:h}),u}function n(t,e,n,r){var i=e.props.$props;if(i){delete e.props.$props;var o=[],s=[];if(Object.keys(i).forEach(function(n){var r=i[n];a(r)&&r in t?(e.props[n]=t[r],o.push(n),s.push(r)):e.props[n]=r}),n){var c=t.$watch(function(){var e={};return o.forEach(function(n,r){e[n]=t[s[r]]}),e},r);t.__unwatchFns__.push(c)}}}function r(t,e){var n=t.props.$events;n&&(delete t.props.$events,Object.keys(n).forEach(function(r){var i=n[r];\"string\"==typeof i&&(i=e[i]),t.on[r]=i}))}function i(t){var e=t.props;Object.keys(e).forEach(function(n){\"$\"===n.charAt(0)&&(t[n.slice(1)]=e[n],delete e[n])})}function o(t){t.__unwatchFns__&&(t.__unwatchFns__.forEach(function(t){t()}),t.__unwatchFns__=null)}var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],f=arguments.length>2&&void 0!==arguments[2]&&arguments[2],p=this,d={},v=[];return{before:function(t){v.push(t)},create:function(t,a,l){function p(){o(d),b.remove(),b=null}!c(a)&&s(l)&&(l=a,a=null),s(l)&&(l=f);var d=this,v=!!d.$on,m={};v&&(m.parent=d,d.__unwatchFns__||(d.__unwatchFns__=[]));var g=h(t,u),b=null;return n(d,g,v,function(t){b&&b.$updateProps(t)}),r(g,d),i(g),b=e(g,a,m,l),v&&d.$on(y,p),b}}}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.componentPrefix,r=void 0===n?\"\":n,i=e.apiPrefix,s=void 0===i?\"$create-\":i;t.createAPI=function(e,n,i){o(n)&&(i=n,n=[]);var a=p.call(this,e,n,i),c=v(e,{componentPrefix:r,apiPrefix:s});return t.prototype[c]=e.$create=a.create,a}}function v(t,e){var n=e.componentPrefix,o=e.apiPrefix,s=t.name;u(s,\"Component must have name while using create-api!\");var a=new RegExp(\"^\"+i(n),\"i\");return\"\"+r(\"\"+o+s.replace(a,\"\"))}Object.defineProperty(e,\"__esModule\",{value:!0});/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar m=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},g=/-(\\w)/g,y=\"hook:beforeDestroy\",b={install:d,instantiateComponent:l,version:\"0.2.3\"};e.default=b},\"94VQ\":function(t,e,n){\"use strict\";var r=n(\"Yobk\"),i=n(\"X8DO\"),o=n(\"e6n0\"),s={};n(\"hJx8\")(s,n(\"dSzd\")(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(s,{next:i(1,n)}),o(t,e+\" Iterator\")}},\"9bBU\":function(t,e,n){n(\"mClu\");var r=n(\"FeBl\").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},BO1k:function(t,e,n){t.exports={default:n(\"fxRn\"),__esModule:!0}},BwfY:function(t,e,n){n(\"fWfb\"),n(\"M6a0\"),n(\"OYls\"),n(\"QWe/\"),t.exports=n(\"FeBl\").Symbol},C4MV:function(t,e,n){t.exports={default:n(\"9bBU\"),__esModule:!0}},CXw9:function(t,e,n){\"use strict\";var r,i,o,s,a=n(\"O4g8\"),c=n(\"7KvD\"),u=n(\"+ZMJ\"),l=n(\"RY/4\"),h=n(\"kM2E\"),f=n(\"EqjI\"),p=n(\"lOnJ\"),d=n(\"2KxR\"),v=n(\"NWt+\"),m=n(\"t8x9\"),g=n(\"L42u\").set,y=n(\"82Mu\")(),b=n(\"qARP\"),_=n(\"dNDb\"),w=n(\"iUbK\"),x=n(\"fJUb\"),E=c.TypeError,S=c.process,T=S&&S.versions,O=T&&T.v8||\"\",k=c.Promise,C=\"process\"==l(S),M=function(){},A=i=b.f,P=!!function(){try{var t=k.resolve(1),e=(t.constructor={})[n(\"dSzd\")(\"species\")]=function(t){t(M,M)};return(C||\"function\"==typeof PromiseRejectionEvent)&&t.then(M)instanceof e&&0!==O.indexOf(\"6.6\")&&-1===w.indexOf(\"Chrome/66\")}catch(t){}}(),L=function(t){var e;return!(!f(t)||\"function\"!=typeof(e=t.then))&&e},j=function(t,e){if(!t._n){t._n=!0;var n=t._c;y(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,a=i?e.ok:e.fail,c=e.resolve,u=e.reject,l=e.domain;try{a?(i||(2==t._h&&I(t),t._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&(l.exit(),s=!0)),n===e.promise?u(E(\"Promise-chain cycle\")):(o=L(n))?o.call(n,c,u):c(n)):u(r)}catch(t){l&&!s&&l.exit(),u(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&D(t)})}},D=function(t){g.call(c,function(){var e,n,r,i=t._v,o=R(t);if(o&&(e=_(function(){C?S.emit(\"unhandledRejection\",i,t):(n=c.onunhandledrejection)?n({promise:t,reason:i}):(r=c.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),t._h=C||R(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},I=function(t){g.call(c,function(){var e;C?S.emit(\"rejectionHandled\",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},$=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),j(e,!0))},N=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw E(\"Promise can't be resolved itself\");(e=L(t))?y(function(){var r={_w:n,_d:!1};try{e.call(t,u(N,r,1),u($,r,1))}catch(t){$.call(r,t)}}):(n._v=t,n._s=1,j(n,!1))}catch(t){$.call({_w:n,_d:!1},t)}}};P||(k=function(t){d(this,k,\"Promise\",\"_h\"),p(t),r.call(this);try{t(u(N,this,1),u($,this,1))}catch(t){$.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(\"xH/j\")(k.prototype,{then:function(t,e){var n=A(m(this,k));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=C?S.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&j(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=u(N,t,1),this.reject=u($,t,1)},b.f=A=function(t){return t===k||t===s?new o(t):i(t)}),h(h.G+h.W+h.F*!P,{Promise:k}),n(\"e6n0\")(k,\"Promise\"),n(\"bRrM\")(\"Promise\"),s=n(\"FeBl\").Promise,h(h.S+h.F*!P,\"Promise\",{reject:function(t){var e=A(this);return(0,e.reject)(t),e.promise}}),h(h.S+h.F*(a||!P),\"Promise\",{resolve:function(t){return x(a&&this===s?k:this,t)}}),h(h.S+h.F*!(P&&n(\"dY0y\")(function(t){k.all(t).catch(M)})),\"Promise\",{all:function(t){var e=this,n=A(e),r=n.resolve,i=n.reject,o=_(function(){var n=[],o=0,s=1;v(t,!1,function(t){var a=o++,c=!1;n.push(void 0),s++,e.resolve(t).then(function(t){c||(c=!0,n[a]=t,--s||r(n))},i)}),--s||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=A(e),r=n.reject,i=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},Cdx3:function(t,e,n){var r=n(\"sB3e\"),i=n(\"lktj\");n(\"uqUo\")(\"keys\",function(){return function(t){return i(r(t))}})},D2L2:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},Dd8w:function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(\"woOf\"),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=i.default||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}},DuR2:function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},EGZi:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},EqBC:function(t,e,n){\"use strict\";var r=n(\"kM2E\"),i=n(\"FeBl\"),o=n(\"7KvD\"),s=n(\"t8x9\"),a=n(\"fJUb\");r(r.P+r.R,\"Promise\",{finally:function(t){var e=s(this,i.Promise||o.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return a(e,t()).then(function(){return n})}:t,n?function(n){return a(e,t()).then(function(){throw n})}:t)}})},EqjI:function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},\"FZ+f\":function(t,e){function n(t,e){var n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?\"@media \"+e[2]+\"{\"+r+\"}\":r}).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];\"number\"==typeof o&&(r[o]=!0)}for(i=0;i<t.length;i++){var s=t[i];\"number\"==typeof s[0]&&r[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]=\"(\"+s[2]+\") and (\"+n+\")\"),e.push(s))}},e}},FeBl:function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},GQaK:function(t,e,n){\"use strict\";function r(){return window.performance&&window.performance.now?window.performance.now()+window.performance.timing.navigationStart:+new Date}function i(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];for(var i=0;i<n.length;i++){var o=n[i];for(var s in o)t[s]=o[s]}return t}function o(t){return void 0===t||null===t}function s(t,e){return Math.sqrt(t*t+e*e)}function a(t){return!1!==I&&(\"standard\"===I?\"transitionEnd\"===t?\"transitionend\":t:I+t.charAt(0).toUpperCase()+t.substr(1))}function c(t,e,n,r){t.addEventListener(e,n,{passive:!1,capture:!!r})}function u(t,e,n,r){t.removeEventListener(e,n,{passive:!1,capture:!!r})}function l(t){for(var e=0,n=0;t;)e-=t.offsetLeft,n-=t.offsetTop,t=t.offsetParent;return{left:e,top:n}}function h(t){var e=t.getBoundingClientRect();return{left:-(e.left+window.pageXOffset),top:-(e.top+window.pageYOffset)}}function f(t){if(t instanceof window.SVGElement){var e=t.getBoundingClientRect();return{top:e.top,left:e.left,width:e.width,height:e.height}}return{top:t.offsetTop,left:t.offsetLeft,width:t.offsetWidth,height:t.offsetHeight}}function p(t,e){for(var n in e)if(e[n].test(t[n]))return!0;return!1}function d(t,e){var n=document.createEvent(\"Event\");n.initEvent(e,!0,!0),n.pageX=t.pageX,n.pageY=t.pageY,t.target.dispatchEvent(n)}function v(t){function e(){s=document.createEvent(\"Event\"),s.initEvent(n,a,c),i(s,o)}var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"click\",r=void 0;\"mouseup\"===t.type||\"mousecancel\"===t.type?r=t:\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(r=t.changedTouches[0]);var o={};r&&(o.screenX=r.screenX||0,o.screenY=r.screenY||0,o.clientX=r.clientX||0,o.clientY=r.clientY||0);var s=void 0,a=!0,c=!0;if(\"undefined\"!=typeof MouseEvent)try{s=new MouseEvent(n,i({bubbles:a,cancelable:c},o))}catch(t){e()}else e();s.forwardedTouchEvent=!0,s._constructed=!0,t.target.dispatchEvent(s)}function m(t){v(t,\"dblclick\")}function g(t,e){e.firstChild?y(t,e.firstChild):e.appendChild(t)}function y(t,e){e.parentNode.insertBefore(t,e)}function b(t,e){t.removeChild(e)}function _(t,e,n,r,i,o,s){var a=t-e,c=Math.abs(a)/n,u=s.deceleration,l=s.itemHeight,h=s.swipeBounceTime,f=s.wheel,p=s.swipeTime,d=p,v=f?4:15,m=t+c/u*(a<0?-1:1);return f&&l&&(m=Math.round(m/l)*l),m<r?(m=o?Math.max(r-o/4,r-o/v*c):r,d=h):m>i&&(m=o?Math.min(i+o/4,i+o/v*c):i,d=h),{destination:Math.round(m),duration:d}}function w(){}function x(t){console.error(\"[BScroll warn]: \"+t)}function E(t,e){if(!t)throw new Error(\"[BScroll] \"+e)}function S(t){var e=document.createElement(\"div\"),n=document.createElement(\"div\");return e.style.cssText=\"position:absolute;z-index:9999;pointerEvents:none\",n.style.cssText=\"box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;\",n.className=\"bscroll-indicator\",\"horizontal\"===t?(e.style.cssText+=\";height:7px;left:2px;right:2px;bottom:0\",n.style.height=\"100%\",e.className=\"bscroll-horizontal-scrollbar\"):(e.style.cssText+=\";width:7px;bottom:2px;top:2px;right:1px\",n.style.width=\"100%\",e.className=\"bscroll-vertical-scrollbar\"),e.style.cssText+=\";overflow:hidden\",e.appendChild(n),e}function T(t,e){this.wrapper=e.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=t,this.direction=e.direction,e.fade?(this.visible=0,this.wrapperStyle.opacity=\"0\"):this.visible=1,this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.x=0,this.y=0,e.interactive&&this._addDOMEvents()}function O(t){if(t&&t.classList)return t.classList.contains(\"tombstone\")}function k(t,e){var n=this;this.options=e,E(\"function\"==typeof this.options.createTombstone,\"Infinite scroll need createTombstone Function to create tombstone\"),E(\"function\"==typeof this.options.fetch,\"Infinite scroll need fetch Function to fetch new data.\"),E(\"function\"==typeof this.options.render,\"Infinite scroll need render Function to render each item.\"),this.firstAttachedItem=0,this.lastAttachedItem=0,this.anchorScrollTop=0,this.anchorItem={index:0,offset:0},this.tombstoneHeight=0,this.tombstoneWidth=0,this.tombstones=[],this.items=[],this.loadedItems=0,this.requestInProgress=!1,this.hasMore=!0,this.scroller=t,this.wrapperEl=this.scroller.wrapper,this.scrollerEl=this.scroller.scroller,this.scroller.on(\"scroll\",function(){n.onScroll()}),this.scroller.on(\"resize\",function(){n.onResize()}),this.onResize()}function C(t,e){this.wrapper=\"string\"==typeof t?document.querySelector(t):t,this.wrapper||x(\"Can not resolve the wrapper DOM.\"),this.scroller=this.wrapper.children[0],this.scroller||x(\"The wrapper need at least one child element to be scroller.\"),this.scrollerStyle=this.scroller.style,this._init(t,e)}Object.defineProperty(e,\"__esModule\",{value:!0});/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar M=function(){function t(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),A=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)},P=\"undefined\"!=typeof window,L=P&&navigator.userAgent.toLowerCase(),j=L&&/wechatdevtools/.test(L),D=L&&L.indexOf(\"android\")>0,R=P&&document.createElement(\"div\").style,I=function(){if(!P)return!1;var t={webkit:\"webkitTransform\",Moz:\"MozTransform\",O:\"OTransform\",ms:\"msTransform\",standard:\"transform\"};for(var e in t)if(void 0!==R[t[e]])return e;return!1}(),$=a(\"transform\"),N=P&&a(\"perspective\")in R,X=P&&(\"ontouchstart\"in window||j),Y=!1!==$,z=P&&a(\"transition\")in R,B={transform:$,transitionTimingFunction:a(\"transitionTimingFunction\"),transitionDuration:a(\"transitionDuration\"),transitionDelay:a(\"transitionDelay\"),transformOrigin:a(\"transformOrigin\"),transitionEnd:a(\"transitionEnd\")},F=1,H={touchstart:F,touchmove:F,touchend:F,mousedown:2,mousemove:2,mouseup:2},U={startX:0,startY:0,scrollX:!1,scrollY:!0,freeScroll:!1,directionLockThreshold:5,eventPassthrough:\"\",click:!1,tap:!1,bounce:!0,bounceTime:800,momentum:!0,momentumLimitTime:300,momentumLimitDistance:15,swipeTime:2500,swipeBounceTime:500,deceleration:.0015,flickLimitTime:200,flickLimitDistance:100,resizePolling:60,probeType:0,preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0,bindToWrapper:!1,disableMouse:X,disableTouch:!X,observeDOM:!0,autoBlur:!0,wheel:!1,snap:!1,scrollbar:!1,pullDownRefresh:!1,pullUpLoad:!1,mouseWheel:!1,stopPropagation:!1,zoom:!1,infinity:!1,dblclick:!1},W={swipe:{style:\"cubic-bezier(0.23, 1, 0.32, 1)\",fn:function(t){return 1+--t*t*t*t*t}},swipeBounce:{style:\"cubic-bezier(0.25, 0.46, 0.45, 0.94)\",fn:function(t){return t*(2-t)}},bounce:{style:\"cubic-bezier(0.165, 0.84, 0.44, 1)\",fn:function(t){return 1- --t*t*t*t}}},q=function(){return P?window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||function(t){return window.setTimeout(t,(t.interval||100/60)/2)}:w}(),V=function(){return P?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||function(t){window.clearTimeout(t)}:w}(),Q=1,K=-1,G=1,J=-1,Z=1,tt=3;T.prototype.handleEvent=function(t){switch(t.type){case\"touchstart\":case\"mousedown\":this._start(t);break;case\"touchmove\":case\"mousemove\":this._move(t);break;case\"touchend\":case\"mouseup\":case\"touchcancel\":case\"mousecancel\":this._end(t)}},T.prototype.refresh=function(){this._shouldShow()&&(this.transitionTime(),this._calculate(),this.updatePosition())},T.prototype.fade=function(t,e){var n=this;if(!e||this.visible){var r=t?250:500;t=t?\"1\":\"0\",this.wrapperStyle[B.transitionDuration]=r+\"ms\",clearTimeout(this.fadeTimeout),this.fadeTimeout=setTimeout(function(){n.wrapperStyle.opacity=t,n.visible=+t},0)}},T.prototype.updatePosition=function(){if(\"vertical\"===this.direction){var t=Math.round(this.sizeRatioY*this.scroller.y);if(t<0){this.transitionTime(500);var e=Math.max(this.indicatorHeight+3*t,8);this.indicatorStyle.height=e+\"px\",t=0}else if(t>this.maxPosY){this.transitionTime(500);var n=Math.max(this.indicatorHeight-3*(t-this.maxPosY),8);this.indicatorStyle.height=n+\"px\",t=this.maxPosY+this.indicatorHeight-n}else this.indicatorStyle.height=this.indicatorHeight+\"px\";this.y=t,this.scroller.options.useTransform?this.indicatorStyle[B.transform]=\"translateY(\"+t+\"px)\"+this.scroller.translateZ:this.indicatorStyle.top=t+\"px\"}else{var r=Math.round(this.sizeRatioX*this.scroller.x);if(r<0){this.transitionTime(500);var i=Math.max(this.indicatorWidth+3*r,8);this.indicatorStyle.width=i+\"px\",r=0}else if(r>this.maxPosX){this.transitionTime(500);var o=Math.max(this.indicatorWidth-3*(r-this.maxPosX),8);this.indicatorStyle.width=o+\"px\",r=this.maxPosX+this.indicatorWidth-o}else this.indicatorStyle.width=this.indicatorWidth+\"px\";this.x=r,this.scroller.options.useTransform?this.indicatorStyle[B.transform]=\"translateX(\"+r+\"px)\"+this.scroller.translateZ:this.indicatorStyle.left=r+\"px\"}},T.prototype.transitionTime=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.indicatorStyle[B.transitionDuration]=t+\"ms\"},T.prototype.transitionTimingFunction=function(t){this.indicatorStyle[B.transitionTimingFunction]=t},T.prototype.destroy=function(){this._removeDOMEvents(),this.wrapper.parentNode.removeChild(this.wrapper)},T.prototype._start=function(t){var e=t.touches?t.touches[0]:t;t.preventDefault(),t.stopPropagation(),this.transitionTime(),this.initiated=!0,this.moved=!1,this.lastPointX=e.pageX,this.lastPointY=e.pageY,this.startTime=r(),this._handleMoveEvents(c),this.scroller.trigger(\"beforeScrollStart\")},T.prototype._move=function(t){var e=t.touches?t.touches[0]:t;t.preventDefault(),t.stopPropagation(),this.moved||this.scroller.trigger(\"scrollStart\"),this.moved=!0;var n=e.pageX-this.lastPointX;this.lastPointX=e.pageX;var r=e.pageY-this.lastPointY;this.lastPointY=e.pageY;var i=this.x+n,o=this.y+r;this._pos(i,o)},T.prototype._end=function(t){if(this.initiated){this.initiated=!1,t.preventDefault(),t.stopPropagation(),this._handleMoveEvents(u);var e=this.scroller.options.snap;if(e){var n=e.speed,r=e.easing,i=void 0===r?W.bounce:r,o=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),s=n||Math.max(Math.max(Math.min(Math.abs(this.scroller.x-o.x),1e3),Math.min(Math.abs(this.scroller.y-o.y),1e3)),300);this.scroller.x===o.x&&this.scroller.y===o.y||(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=o,this.scroller.scrollTo(o.x,o.y,s,i))}this.moved&&this.scroller.trigger(\"scrollEnd\",{x:this.scroller.x,y:this.scroller.y})}},T.prototype._pos=function(t,e){t<0?t=0:t>this.maxPosX&&(t=this.maxPosX),e<0?e=0:e>this.maxPosY&&(e=this.maxPosY),t=Math.round(t/this.sizeRatioX),e=Math.round(e/this.sizeRatioY),this.scroller.scrollTo(t,e),this.scroller.trigger(\"scroll\",{x:this.scroller.x,y:this.scroller.y})},T.prototype._shouldShow=function(){return\"vertical\"===this.direction&&this.scroller.hasVerticalScroll||\"horizontal\"===this.direction&&this.scroller.hasHorizontalScroll?(this.wrapper.style.display=\"\",!0):(this.wrapper.style.display=\"none\",!1)},T.prototype._calculate=function(){if(\"vertical\"===this.direction){var t=this.wrapper.clientHeight;this.indicatorHeight=Math.max(Math.round(t*t/(this.scroller.scrollerHeight||t||1)),8),this.indicatorStyle.height=this.indicatorHeight+\"px\",this.maxPosY=t-this.indicatorHeight,this.sizeRatioY=this.maxPosY/this.scroller.maxScrollY}else{var e=this.wrapper.clientWidth;this.indicatorWidth=Math.max(Math.round(e*e/(this.scroller.scrollerWidth||e||1)),8),this.indicatorStyle.width=this.indicatorWidth+\"px\",this.maxPosX=e-this.indicatorWidth,this.sizeRatioX=this.maxPosX/this.scroller.maxScrollX}},T.prototype._addDOMEvents=function(){var t=c;this._handleDOMEvents(t)},T.prototype._removeDOMEvents=function(){var t=u;this._handleDOMEvents(t),this._handleMoveEvents(t)},T.prototype._handleMoveEvents=function(t){this.scroller.options.disableTouch||t(window,\"touchmove\",this),this.scroller.options.disableMouse||t(window,\"mousemove\",this)},T.prototype._handleDOMEvents=function(t){this.scroller.options.disableTouch||(t(this.indicator,\"touchstart\",this),t(window,\"touchend\",this)),this.scroller.options.disableMouse||(t(this.indicator,\"mousedown\",this),t(window,\"mouseup\",this))};var et=2e3;k.prototype.onScroll=function(){var t=-this.scroller.y,e=t-this.anchorScrollTop;this.anchorItem=0===t?{index:0,offset:0}:this._calculateAnchoredItem(this.anchorItem,e),this.anchorScrollTop=t;var n=this._calculateAnchoredItem(this.anchorItem,this.wrapperEl.offsetHeight),r=this.anchorItem.index,i=n.index;e<0?(r-=30,i+=10):(r-=10,i+=30),this.fill(r,i),this.maybeRequestContent()},k.prototype.onResize=function(){var t=this.options.createTombstone();t.style.position=\"absolute\",this.scrollerEl.appendChild(t),t.style.display=\"\",this.tombstoneHeight=t.offsetHeight,this.tombstoneWidth=t.offsetWidth,this.scrollerEl.removeChild(t);for(var e=0;e<this.items.length;e++)this.items[e].height=this.items[e].width=0;this.onScroll()},k.prototype.fill=function(t,e){this.firstAttachedItem=Math.max(0,t),this.hasMore||(e=Math.min(e,this.items.length)),this.lastAttachedItem=e,this.attachContent()},k.prototype.maybeRequestContent=function(){var t=this;if(!this.requestInProgress&&this.hasMore){var e=this.lastAttachedItem-this.loadedItems;e<=0||(this.requestInProgress=!0,this.options.fetch(e).then(function(e){if(t.requestInProgress=!1,e)t.addContent(e);else{t.hasMore=!1;var n=t._removeTombstones(),r=0;t.anchorItem.index<=t.items.length?(r=t._fixScrollPosition(),t._setupAnimations({},r),t.scroller.resetPosition(t.scroller.options.bounceTime)):(t.anchorItem.index-=n,r=t._fixScrollPosition(),t._setupAnimations({},r),t.scroller.stop(),t.scroller.resetPosition(),t.onScroll())}}))}},k.prototype.addContent=function(t){for(var e=0;e<t.length;e++)this.items.length<=this.loadedItems&&this._addItem(),this.items[this.loadedItems++].data=t[e];this.attachContent(),this.maybeRequestContent()},k.prototype.attachContent=function(){var t=this._collectUnusedNodes(),e=this._createDOMNodes(t);this._cleanupUnusedNodes(t),this._cacheNodeSize();var n=this._fixScrollPosition();this._setupAnimations(e,n)},k.prototype.resetMore=function(){this.hasMore=!0},k.prototype._removeTombstones=function(){for(var t=void 0,e=0,n=this.items.length,r=0;r<n;r++){var i=this.items[r].node,o=this.items[r].data;i&&!O(i)||o||(t||(t=r),i&&this.scrollerEl.removeChild(i))}return e=n-t,this.items.splice(t),this.lastAttachedItem=Math.min(this.lastAttachedItem,this.items.length),e},k.prototype._collectUnusedNodes=function(){for(var t=[],e=0;e<this.items.length;e++)if(e!==this.firstAttachedItem){var n=this.items[e].node;n&&(O(n)?(this.tombstones.push(n),this.tombstones[this.tombstones.length-1].style.display=\"none\"):t.push(n)),this.items[e].node=null}else e=this.lastAttachedItem-1;return t},k.prototype._createDOMNodes=function(t){for(var e={},n=this.firstAttachedItem;n<this.lastAttachedItem;n++){for(;this.items.length<=n;)this._addItem();var r=this.items[n].node,i=this.items[n].data;if(r){if(!O(r)||!i)continue;r.style.zIndex=1,e[n]=[r,this.items[n].top-this.anchorScrollTop],this.items[n].node=null}var o=i?this.options.render(i,t.pop()):this._getTombStone();o.style.position=\"absolute\",this.items[n].top=-1,this.scrollerEl.appendChild(o),this.items[n].node=o}return e},k.prototype._cleanupUnusedNodes=function(t){for(;t.length;)this.scrollerEl.removeChild(t.pop())},k.prototype._cacheNodeSize=function(){for(var t=this.firstAttachedItem;t<this.lastAttachedItem;t++)this.items[t].data&&!this.items[t].height&&(this.items[t].height=this.items[t].node.offsetHeight,this.items[t].width=this.items[t].node.offsetWidth)},k.prototype._fixScrollPosition=function(){this.anchorScrollTop=0;for(var t=0;t<this.anchorItem.index;t++)this.anchorScrollTop+=this.items[t].height||this.tombstoneHeight;this.anchorScrollTop+=this.anchorItem.offset;for(var e=this.anchorScrollTop-this.anchorItem.offset,n=this.anchorItem.index;n>this.firstAttachedItem;)e-=this.items[n-1].height||this.tombstoneHeight,n--;return e},k.prototype._setupAnimations=function(t,e){var n=this;for(var r in t){var i=t[r];this.items[r].node.style.transform=\"translateY(\"+(this.anchorScrollTop+i[1])+\"px) scale(\"+this.tombstoneWidth/this.items[r].width+\", \"+this.tombstoneHeight/this.items[r].height+\")\",this.items[r].node.offsetTop,i[0].offsetTop,this.items[r].node.style.transition=\"transform 200ms\"}for(var o=this.firstAttachedItem;o<this.lastAttachedItem;o++){var s=t[o];if(s){var a=s[0];a.style.transition=\"transform 200ms, opacity 200ms\",a.style.transform=\"translateY(\"+e+\"px) scale(\"+this.items[o].width/this.tombstoneWidth+\", \"+this.items[o].height/this.tombstoneHeight+\")\",a.style.opacity=0}e!==this.items[o].top&&(s||(this.items[o].node.style.transition=\"\"),this.items[o].node.style.transform=\"translateY(\"+e+\"px)\"),this.items[o].top=e,e+=this.items[o].height||this.tombstoneHeight}this.scroller.maxScrollY=-(e-this.wrapperEl.offsetHeight+(this.hasMore?et:0)),setTimeout(function(){for(var e in t){var r=t[e];r[0].style.display=\"none\",n.tombstones.push(r[0])}},200)},k.prototype._getTombStone=function(){var t=this.tombstones.pop();return t?(t.style.display=\"\",t.style.opacity=1,t.style.transform=\"\",t.style.transition=\"\",t):this.options.createTombstone()},k.prototype._addItem=function(){this.items.push({data:null,node:null,height:0,width:0,top:0})},k.prototype._calculateAnchoredItem=function(t,e){if(0===e)return t;var n=t.index,r=0;if((e+=t.offset)<0){for(;e<0&&n>0&&this.items[n-1].height;)e+=this.items[n-1].height,n--;r=Math.max(-n,Math.ceil(Math.min(e,0)/this.tombstoneHeight))}else{for(;e>0&&n<this.items.length&&this.items[n].height&&this.items[n].height<e;)e-=this.items[n].height,n++;(n>=this.items.length||!this.items[n].height)&&(r=Math.floor(Math.max(e,0)/this.tombstoneHeight))}return n+=r,e-=r*this.tombstoneHeight,{index:n,offset:e}},function(t){t.prototype._init=function(t,e){this._handleOptions(e),this._events={},this.x=0,this.y=0,this.directionX=0,this.directionY=0,this.setScale(1),this._addDOMEvents(),this._initExtFeatures(),this._watchTransition(),this.options.observeDOM&&this._initDOMObserver(),this.options.autoBlur&&this._handleAutoBlur(),this.refresh(),this.options.snap||this.scrollTo(this.options.startX,this.options.startY),this.enable()},t.prototype.setScale=function(t){this.lastScale=o(this.scale)?t:this.scale,this.scale=t},t.prototype._handleOptions=function(t){this.options=i({},U,t),this.translateZ=this.options.HWCompositing&&N?\" translateZ(0)\":\"\",this.options.useTransition=this.options.useTransition&&z,this.options.useTransform=this.options.useTransform&&Y,this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault,this.options.scrollX=\"horizontal\"!==this.options.eventPassthrough&&this.options.scrollX,this.options.scrollY=\"vertical\"!==this.options.eventPassthrough&&this.options.scrollY,this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough,this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold,!0===this.options.tap&&(this.options.tap=\"tap\")},t.prototype._addDOMEvents=function(){var t=c;this._handleDOMEvents(t)},t.prototype._removeDOMEvents=function(){var t=u;this._handleDOMEvents(t)},t.prototype._handleDOMEvents=function(t){var e=this.options.bindToWrapper?this.wrapper:window;t(window,\"orientationchange\",this),t(window,\"resize\",this),this.options.click&&t(this.wrapper,\"click\",this,!0),this.options.disableMouse||(t(this.wrapper,\"mousedown\",this),t(e,\"mousemove\",this),t(e,\"mousecancel\",this),t(e,\"mouseup\",this)),X&&!this.options.disableTouch&&(t(this.wrapper,\"touchstart\",this),t(e,\"touchmove\",this),t(e,\"touchcancel\",this),t(e,\"touchend\",this)),t(this.scroller,B.transitionEnd,this)},t.prototype._initExtFeatures=function(){this.options.snap&&this._initSnap(),this.options.scrollbar&&this._initScrollbar(),this.options.pullUpLoad&&this._initPullUp(),this.options.pullDownRefresh&&this._initPullDown(),this.options.wheel&&this._initWheel(),this.options.mouseWheel&&this._initMouseWheel(),this.options.zoom&&this._initZoom(),this.options.infinity&&this._initInfinite()},t.prototype._watchTransition=function(){if(\"function\"==typeof Object.defineProperty){var t=this,e=!1,n=this.useTransition?\"isInTransition\":\"isAnimating\";Object.defineProperty(this,n,{get:function(){return e},set:function(n){e=n;for(var r=t.scroller.children.length?t.scroller.children:[t.scroller],i=e&&!t.pulling?\"none\":\"auto\",o=0;o<r.length;o++)r[o].style.pointerEvents=i}})}},t.prototype._handleAutoBlur=function(){this.on(\"scrollStart\",function(){var t=document.activeElement;!t||\"INPUT\"!==t.tagName&&\"TEXTAREA\"!==t.tagName||t.blur()})},t.prototype._initDOMObserver=function(){var t=this;if(\"undefined\"!=typeof MutationObserver){var e=void 0,n=new MutationObserver(function(n){if(!t._shouldNotRefresh()){for(var r=!1,i=!1,o=0;o<n.length;o++){var s=n[o];if(\"attributes\"!==s.type){r=!0;break}if(s.target!==t.scroller){i=!0;break}}r?t.refresh():i&&(clearTimeout(e),e=setTimeout(function(){t._shouldNotRefresh()||t.refresh()},60))}}),r={attributes:!0,childList:!0,subtree:!0};n.observe(this.scroller,r),this.on(\"destroy\",function(){n.disconnect()})}else this._checkDOMUpdate()},t.prototype._shouldNotRefresh=function(){var t=this.x>this.minScrollX||this.x<this.maxScrollX||this.y>this.minScrollY||this.y<this.maxScrollY;return this.isInTransition||this.stopFromTransition||t},t.prototype._checkDOMUpdate=function(){function t(){if(!this.destroyed){n=f(this.scroller);var t=n.width,o=n.height;r===t&&i===o||this.refresh(),r=t,i=o,e.call(this)}}function e(){var e=this;setTimeout(function(){t.call(e)},1e3)}var n=f(this.scroller),r=n.width,i=n.height;e.call(this)},t.prototype.handleEvent=function(t){switch(t.type){case\"touchstart\":case\"mousedown\":this._start(t),this.options.zoom&&t.touches&&t.touches.length>1&&this._zoomStart(t);break;case\"touchmove\":case\"mousemove\":this.options.zoom&&t.touches&&t.touches.length>1?this._zoom(t):this._move(t);break;case\"touchend\":case\"mouseup\":case\"touchcancel\":case\"mousecancel\":this.scaled?this._zoomEnd(t):this._end(t);break;case\"orientationchange\":case\"resize\":this._resize();break;case\"transitionend\":case\"webkitTransitionEnd\":case\"oTransitionEnd\":case\"MSTransitionEnd\":this._transitionEnd(t);break;case\"click\":this.enabled&&!t._constructed&&(p(t.target,this.options.preventDefaultException)||(t.preventDefault(),t.stopPropagation()));break;case\"wheel\":case\"DOMMouseScroll\":case\"mousewheel\":this._onMouseWheel(t)}},t.prototype.refresh=function(){var t=\"static\"===window.getComputedStyle(this.wrapper,null).position,e=f(this.wrapper);this.wrapperWidth=e.width,this.wrapperHeight=e.height;var n=f(this.scroller);this.scrollerWidth=Math.round(n.width*this.scale),this.scrollerHeight=Math.round(n.height*this.scale),this.relativeX=n.left,this.relativeY=n.top,t&&(this.relativeX-=e.left,this.relativeY-=e.top),this.minScrollX=0,this.minScrollY=0;var r=this.options.wheel;r?(this.items=this.scroller.children,this.options.itemHeight=this.itemHeight=this.items.length?this.scrollerHeight/this.items.length:0,void 0===this.selectedIndex&&(this.selectedIndex=r.selectedIndex||0),this.options.startY=-this.selectedIndex*this.itemHeight,this.maxScrollX=0,this.maxScrollY=-this.itemHeight*(this.items.length-1)):(this.maxScrollX=this.wrapperWidth-this.scrollerWidth,this.options.infinity||(this.maxScrollY=this.wrapperHeight-this.scrollerHeight),this.maxScrollX<0?(this.maxScrollX-=this.relativeX,this.minScrollX=-this.relativeX):this.scale>1&&(this.maxScrollX=this.maxScrollX/2-this.relativeX,this.minScrollX=this.maxScrollX),this.maxScrollY<0?(this.maxScrollY-=this.relativeY,this.minScrollY=-this.relativeY):this.scale>1&&(this.maxScrollY=this.maxScrollY/2-this.relativeY,this.minScrollY=this.maxScrollY)),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<this.minScrollX,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<this.minScrollY,this.hasHorizontalScroll||(this.maxScrollX=this.minScrollX,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=this.minScrollY,this.scrollerHeight=this.wrapperHeight),this.endTime=0,this.directionX=0,this.directionY=0,this.wrapperOffset=l(this.wrapper),this.trigger(\"refresh\"),!this.scaled&&this.resetPosition()},t.prototype.enable=function(){this.enabled=!0},t.prototype.disable=function(){this.enabled=!1}}(C),function(t){t.prototype._start=function(t){var e=H[t.type];if((e===F||0===t.button)&&!(!this.enabled||this.destroyed||this.initiated&&this.initiated!==e)){this.initiated=e,this.options.preventDefault&&!p(t.target,this.options.preventDefaultException)&&t.preventDefault(),this.options.stopPropagation&&t.stopPropagation(),this.moved=!1,this.distX=0,this.distY=0,this.directionX=0,this.directionY=0,this.movingDirectionX=0,this.movingDirectionY=0,this.directionLocked=0,this._transitionTime(),this.startTime=r(),this.options.wheel&&(this.target=t.target),this.stop();var n=t.touches?t.touches[0]:t;this.startX=this.x,this.startY=this.y,this.absStartX=this.x,this.absStartY=this.y,this.pointX=n.pageX,this.pointY=n.pageY,this.trigger(\"beforeScrollStart\")}},t.prototype._move=function(t){if(this.enabled&&!this.destroyed&&H[t.type]===this.initiated){this.options.preventDefault&&t.preventDefault(),this.options.stopPropagation&&t.stopPropagation();var e=t.touches?t.touches[0]:t,n=e.pageX-this.pointX,i=e.pageY-this.pointY;this.pointX=e.pageX,this.pointY=e.pageY,this.distX+=n,this.distY+=i;var o=Math.abs(this.distX),s=Math.abs(this.distY),a=r();if(!(a-this.endTime>this.options.momentumLimitTime&&s<this.options.momentumLimitDistance&&o<this.options.momentumLimitDistance)){if(this.directionLocked||this.options.freeScroll||(o>s+this.options.directionLockThreshold?this.directionLocked=\"h\":s>=o+this.options.directionLockThreshold?this.directionLocked=\"v\":this.directionLocked=\"n\"),\"h\"===this.directionLocked){if(\"vertical\"===this.options.eventPassthrough)t.preventDefault();else if(\"horizontal\"===this.options.eventPassthrough)return void(this.initiated=!1);i=0}else if(\"v\"===this.directionLocked){if(\"horizontal\"===this.options.eventPassthrough)t.preventDefault();else if(\"vertical\"===this.options.eventPassthrough)return void(this.initiated=!1);n=0}n=this.hasHorizontalScroll?n:0,i=this.hasVerticalScroll?i:0,this.movingDirectionX=n>0?J:n<0?G:0,this.movingDirectionY=i>0?K:i<0?Q:0;var c=this.x+n,u=this.y+i,l=!1,h=!1,f=!1,p=!1,d=this.options.bounce;!1!==d&&(l=void 0===d.top||d.top,h=void 0===d.bottom||d.bottom,f=void 0===d.left||d.left,p=void 0===d.right||d.right),(c>this.minScrollX||c<this.maxScrollX)&&(c=c>this.minScrollX&&f||c<this.maxScrollX&&p?this.x+n/3:c>this.minScrollX?this.minScrollX:this.maxScrollX),(u>this.minScrollY||u<this.maxScrollY)&&(u=u>this.minScrollY&&l||u<this.maxScrollY&&h?this.y+i/3:u>this.minScrollY?this.minScrollY:this.maxScrollY),this.moved||(this.moved=!0,this.trigger(\"scrollStart\")),this._translate(c,u),a-this.startTime>this.options.momentumLimitTime&&(this.startTime=a,this.startX=this.x,this.startY=this.y,this.options.probeType===Z&&this.trigger(\"scroll\",{x:this.x,y:this.y})),this.options.probeType>Z&&this.trigger(\"scroll\",{x:this.x,y:this.y});var v=document.documentElement.scrollLeft||window.pageXOffset||document.body.scrollLeft,m=document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop,g=this.pointX-v,y=this.pointY-m;(g>document.documentElement.clientWidth-this.options.momentumLimitDistance||g<this.options.momentumLimitDistance||y<this.options.momentumLimitDistance||y>document.documentElement.clientHeight-this.options.momentumLimitDistance)&&this._end(t)}}},t.prototype._end=function(t){if(this.enabled&&!this.destroyed&&H[t.type]===this.initiated){this.initiated=!1,this.options.preventDefault&&!p(t.target,this.options.preventDefaultException)&&t.preventDefault(),this.options.stopPropagation&&t.stopPropagation(),this.trigger(\"touchEnd\",{x:this.x,y:this.y}),this.isInTransition=!1;var e=Math.round(this.x),n=Math.round(this.y),i=e-this.absStartX,o=n-this.absStartY;if(this.directionX=i>0?J:i<0?G:0,this.directionY=o>0?K:o<0?Q:0,!this.options.pullDownRefresh||!this._checkPullDown()){if(this._checkClick(t))return void this.trigger(\"scrollCancel\");if(!this.resetPosition(this.options.bounceTime,W.bounce)){this._translate(e,n),this.endTime=r();var s=this.endTime-this.startTime,a=Math.abs(e-this.startX),c=Math.abs(n-this.startY);if(this._events.flick&&s<this.options.flickLimitTime&&a<this.options.flickLimitDistance&&c<this.options.flickLimitDistance)return void this.trigger(\"flick\");var u=0;if(this.options.momentum&&s<this.options.momentumLimitTime&&(c>this.options.momentumLimitDistance||a>this.options.momentumLimitDistance)){var l=!1,h=!1,f=!1,d=!1,v=this.options.bounce;!1!==v&&(l=void 0===v.top||v.top,h=void 0===v.bottom||v.bottom,f=void 0===v.left||v.left,d=void 0===v.right||v.right);var m=this.directionX===J&&f||this.directionX===G&&d?this.wrapperWidth:0,g=this.directionY===K&&l||this.directionY===Q&&h?this.wrapperHeight:0,y=this.hasHorizontalScroll?_(this.x,this.startX,s,this.maxScrollX,this.minScrollX,m,this.options):{destination:e,duration:0},b=this.hasVerticalScroll?_(this.y,this.startY,s,this.maxScrollY,this.minScrollY,g,this.options):{destination:n,duration:0};e=y.destination,n=b.destination,u=Math.max(y.duration,b.duration),this.isInTransition=!0}else this.options.wheel&&(n=Math.round(n/this.itemHeight)*this.itemHeight,u=this.options.wheel.adjustTime||400);var w=W.swipe;if(this.options.snap){var x=this._nearestSnap(e,n);this.currentPage=x,u=this.options.snapSpeed||Math.max(Math.max(Math.min(Math.abs(e-x.x),1e3),Math.min(Math.abs(n-x.y),1e3)),300),e=x.x,n=x.y,this.directionX=0,this.directionY=0,w=this.options.snap.easing||W.bounce}if(e!==this.x||n!==this.y)return(e>this.minScrollX||e<this.maxScrollX||n>this.minScrollY||n<this.maxScrollY)&&(w=W.swipeBounce),void this.scrollTo(e,n,u,w);this.options.wheel&&(this.selectedIndex=Math.round(Math.abs(this.y/this.itemHeight))),this.trigger(\"scrollEnd\",{x:this.x,y:this.y})}}}},t.prototype._checkClick=function(t){var e=this.stopFromTransition&&!this.pulling;if(this.stopFromTransition=!1,!this.moved){if(this.options.wheel){if(this.target&&this.target.classList.contains(this.options.wheel.wheelWrapperClass)){var n=Math.abs(Math.round(this.y/this.itemHeight)),i=Math.round((this.pointY+h(this.wrapper).top-this.wrapperHeight/2)/this.itemHeight);this.target=this.items[n+i]}return this.scrollToElement(this.target,this.options.wheel.adjustTime||400,!0,!0,W.swipe),!0}if(!e){var o=this.options.dblclick,s=!1;if(o&&this.lastClickTime){var a=o.delay,c=void 0===a?300:a;r()-this.lastClickTime<c&&(s=!0,m(t))}return this.options.tap&&d(t,this.options.tap),this.options.click&&!p(t.target,this.options.preventDefaultException)&&v(t),this.lastClickTime=s?null:r(),!0}return!1}return!1},t.prototype._resize=function(){var t=this;this.enabled&&(D&&(this.wrapper.scrollTop=0),clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(function(){t.refresh()},this.options.resizePolling))},t.prototype._startProbe=function(){function t(){var n=e.getComputedPosition();if(e.trigger(\"scroll\",n),!e.isInTransition)return void e.trigger(\"scrollEnd\",n);e.probeTimer=q(t)}V(this.probeTimer),this.probeTimer=q(t);var e=this},t.prototype._transitionTime=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this.scrollerStyle[B.transitionDuration]=t+\"ms\",this.options.wheel)for(var e=0;e<this.items.length;e++)this.items[e].style[B.transitionDuration]=t+\"ms\";if(this.indicators)for(var n=0;n<this.indicators.length;n++)this.indicators[n].transitionTime(t)},t.prototype._transitionTimingFunction=function(t){if(this.scrollerStyle[B.transitionTimingFunction]=t,this.options.wheel)for(var e=0;e<this.items.length;e++)this.items[e].style[B.transitionTimingFunction]=t;if(this.indicators)for(var n=0;n<this.indicators.length;n++)this.indicators[n].transitionTimingFunction(t)},t.prototype._transitionEnd=function(t){t.target===this.scroller&&this.isInTransition&&(this._transitionTime(),(!this.pulling||this.movingDirectionY===Q)&&!this.resetPosition(this.options.bounceTime,W.bounce)&&(this.isInTransition=!1,this.options.probeType!==tt&&this.trigger(\"scrollEnd\",{x:this.x,y:this.y})))},t.prototype._translate=function(t,e,n){if(E(!o(t)&&!o(e),\"Translate x or y is null or undefined.\"),o(n)&&(n=this.scale),this.options.useTransform?this.scrollerStyle[B.transform]=\"translate(\"+t+\"px,\"+e+\"px) scale(\"+n+\")\"+this.translateZ:(t=Math.round(t),e=Math.round(e),this.scrollerStyle.left=t+\"px\",this.scrollerStyle.top=e+\"px\"),this.options.wheel)for(var r=this.options.wheel.rotate,i=void 0===r?25:r,s=0;s<this.items.length;s++){var a=i*(e/this.itemHeight+s);this.items[s].style[B.transform]=\"rotateX(\"+a+\"deg)\"}if(this.x=t,this.y=e,this.setScale(n),this.indicators)for(var c=0;c<this.indicators.length;c++)this.indicators[c].updatePosition()},t.prototype._animate=function(t,e,n,i){function o(){var p=r();if(p>=f)return s.isAnimating=!1,s._translate(t,e,l),s.trigger(\"scroll\",{x:s.x,y:s.y}),void(s.pulling||s.resetPosition(s.options.bounceTime)||s.trigger(\"scrollEnd\",{x:s.x,y:s.y}));p=(p-h)/n;var d=i(p),v=(t-a)*d+a,m=(e-c)*d+c,g=(l-u)*d+u;s._translate(v,m,g),s.isAnimating&&(s.animateTimer=q(o)),s.options.probeType===tt&&s.trigger(\"scroll\",{x:s.x,y:s.y})}var s=this,a=this.x,c=this.y,u=this.lastScale,l=this.scale,h=r(),f=h+n;this.isAnimating=!0,V(this.animateTimer),o()},t.prototype.scrollBy=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:W.bounce;t=this.x+t,e=this.y+e,this.scrollTo(t,e,n,r)},t.prototype.scrollTo=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:W.bounce;this.isInTransition=this.options.useTransition&&n>0&&(t!==this.x||e!==this.y),!n||this.options.useTransition?(this._transitionTimingFunction(r.style),this._transitionTime(n),this._translate(t,e),n&&this.options.probeType===tt&&this._startProbe(),n||t===this.x&&e===this.y||(this.trigger(\"scroll\",{x:t,y:e}),this._reflow=document.body.offsetHeight,this.resetPosition(this.options.bounceTime,W.bounce)||this.trigger(\"scrollEnd\",{x:t,y:e})),this.options.wheel&&(e>this.minScrollY?this.selectedIndex=0:e<this.maxScrollY?this.selectedIndex=this.items.length-1:this.selectedIndex=Math.round(Math.abs(e/this.itemHeight)))):this._animate(t,e,n,r.fn)},t.prototype.scrollToElement=function(t,e,n,r,i){if(t&&(t=t.nodeType?t:this.scroller.querySelector(t),!this.options.wheel||t.classList.contains(this.options.wheel.wheelItemClass))){var o=l(t);o.left-=this.wrapperOffset.left,o.top-=this.wrapperOffset.top,!0===n&&(n=Math.round(t.offsetWidth/2-this.wrapper.offsetWidth/2)),!0===r&&(r=Math.round(t.offsetHeight/2-this.wrapper.offsetHeight/2)),o.left-=n||0,o.top-=r||0,o.left=o.left>this.minScrollX?this.minScrollX:o.left<this.maxScrollX?this.maxScrollX:o.left,o.top=o.top>this.minScrollY?this.minScrollY:o.top<this.maxScrollY?this.maxScrollY:o.top,this.options.wheel&&(o.top=Math.round(o.top/this.itemHeight)*this.itemHeight),this.scrollTo(o.left,o.top,e,i)}},t.prototype.resetPosition=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:W.bounce,n=this.x,r=Math.round(n);!this.hasHorizontalScroll||r>this.minScrollX?n=this.minScrollX:r<this.maxScrollX&&(n=this.maxScrollX);var i=this.y,o=Math.round(i);return!this.hasVerticalScroll||o>this.minScrollY?i=this.minScrollY:o<this.maxScrollY&&(i=this.maxScrollY),(n!==this.x||i!==this.y)&&(this.scrollTo(n,i,t,e),!0)},t.prototype.getComputedPosition=function(){var t=window.getComputedStyle(this.scroller,null),e=void 0,n=void 0;return this.options.useTransform?(t=t[B.transform].split(\")\")[0].split(\", \"),e=+(t[12]||t[4]),n=+(t[13]||t[5])):(e=+t.left.replace(/[^-\\d.]/g,\"\"),n=+t.top.replace(/[^-\\d.]/g,\"\")),{x:e,y:n}},t.prototype.stop=function(){if(this.options.useTransition&&this.isInTransition){this.isInTransition=!1,V(this.probeTimer);var t=this.getComputedPosition();this._translate(t.x,t.y),this.options.wheel?this.target=this.items[Math.round(-t.y/this.itemHeight)]:this.trigger(\"scrollEnd\",{x:this.x,y:this.y}),this.stopFromTransition=!0}else!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,V(this.animateTimer),this.trigger(\"scrollEnd\",{x:this.x,y:this.y}),this.stopFromTransition=!0)},t.prototype.destroy=function(){this.destroyed=!0,this.trigger(\"destroy\"),V(this.options.useTransition?this.probeTimer:this.animateTimer),this._removeDOMEvents(),this._events={}}}(C),function(t){t.prototype.on=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this;this._events[t]||(this._events[t]=[]),this._events[t].push([e,n])},t.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(r,arguments)}var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this;n.fn=e,this.on(t,n)},t.prototype.off=function(t,e){var n=this._events[t];if(n)for(var r=n.length;r--;)(n[r][0]===e||n[r][0]&&n[r][0].fn===e)&&(n[r][0]=void 0)},t.prototype.trigger=function(t){var e=this._events[t];if(e)for(var n=e.length,r=[].concat(A(e)),i=0;i<n;i++){var o=r[i],s=M(o,2),a=s[0],c=s[1];a&&a.apply(c,[].slice.call(arguments,1))}}}(C),function(t){t.prototype._initSnap=function(){var t=this;this.currentPage={};var e=this.options.snap;if(e.loop){var n=this.scroller.children;n.length>1?(g(n[n.length-1].cloneNode(!0),this.scroller),this.scroller.appendChild(n[1].cloneNode(!0))):e.loop=!1}var r=e.el;\"string\"==typeof r&&(r=this.scroller.querySelectorAll(r)),this.on(\"refresh\",function(){if(t.pages=[],t.wrapperWidth&&t.wrapperHeight&&t.scrollerWidth&&t.scrollerHeight){var n=e.stepX||t.wrapperWidth,i=e.stepY||t.wrapperHeight,o=0,s=void 0,a=void 0,c=void 0,u=0,l=void 0,h=0,p=void 0,d=void 0;if(r)for(l=r.length,p=-1;u<l;u++)d=f(r[u]),(0===u||d.left<=f(r[u-1]).left)&&(h=0,p++),t.pages[h]||(t.pages[h]=[]),o=Math.max(-d.left,t.maxScrollX),s=Math.max(-d.top,t.maxScrollY),a=o-Math.round(d.width/2),c=s-Math.round(d.height/2),t.pages[h][p]={x:o,y:s,width:d.width,height:d.height,cx:a,cy:c},o>t.maxScrollX&&h++;else for(a=Math.round(n/2),c=Math.round(i/2);o>-t.scrollerWidth;){for(t.pages[u]=[],l=0,s=0;s>-t.scrollerHeight;)t.pages[u][l]={x:Math.max(o,t.maxScrollX),y:Math.max(s,t.maxScrollY),width:n,height:i,cx:o-a,cy:s-c},s-=i,l++;o-=n,u++}t._checkSnapLoop();var v=e._loopX?1:0,m=e._loopY?1:0;t._goToPage(t.currentPage.pageX||v,t.currentPage.pageY||m,0);var g=e.threshold;g%1==0?(t.snapThresholdX=g,t.snapThresholdY=g):(t.snapThresholdX=Math.round(t.pages[t.currentPage.pageX][t.currentPage.pageY].width*g),t.snapThresholdY=Math.round(t.pages[t.currentPage.pageX][t.currentPage.pageY].height*g))}}),this.on(\"scrollEnd\",function(){e.loop&&(e._loopX?(0===t.currentPage.pageX&&t._goToPage(t.pages.length-2,t.currentPage.pageY,0),t.currentPage.pageX===t.pages.length-1&&t._goToPage(1,t.currentPage.pageY,0)):(0===t.currentPage.pageY&&t._goToPage(t.currentPage.pageX,t.pages[0].length-2,0),t.currentPage.pageY===t.pages[0].length-1&&t._goToPage(t.currentPage.pageX,1,0)))}),!1!==e.listenFlick&&this.on(\"flick\",function(){var n=e.speed||Math.max(Math.max(Math.min(Math.abs(t.x-t.startX),1e3),Math.min(Math.abs(t.y-t.startY),1e3)),300);t._goToPage(t.currentPage.pageX+t.directionX,t.currentPage.pageY+t.directionY,n)}),this.on(\"destroy\",function(){if(e.loop){var n=t.scroller.children;n.length>2&&(b(t.scroller,n[n.length-1]),b(t.scroller,n[0]))}})},t.prototype._checkSnapLoop=function(){var t=this.options.snap;t.loop&&this.pages&&this.pages.length&&(this.pages.length>1&&(t._loopX=!0),this.pages[0]&&this.pages[0].length>1&&(t._loopY=!0),t._loopX&&t._loopY&&x(\"Loop does not support two direction at the same time.\"))},t.prototype._nearestSnap=function(t,e){if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var n=0;if(Math.abs(t-this.absStartX)<=this.snapThresholdX&&Math.abs(e-this.absStartY)<=this.snapThresholdY)return this.currentPage;t>this.minScrollX?t=this.minScrollX:t<this.maxScrollX&&(t=this.maxScrollX),e>this.minScrollY?e=this.minScrollY:e<this.maxScrollY&&(e=this.maxScrollY);for(var r=this.pages.length;n<r;n++)if(t>=this.pages[n][0].cx){t=this.pages[n][0].x;break}r=this.pages[n].length;for(var i=0;i<r;i++)if(e>=this.pages[0][i].cy){e=this.pages[0][i].y;break}return n===this.currentPage.pageX&&(n+=this.directionX,n<0?n=0:n>=this.pages.length&&(n=this.pages.length-1),t=this.pages[n][0].x),i===this.currentPage.pageY&&(i+=this.directionY,i<0?i=0:i>=this.pages[0].length&&(i=this.pages[0].length-1),e=this.pages[0][i].y),{x:t,y:e,pageX:n,pageY:i}},t.prototype._goToPage=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments[2],r=arguments[3],i=this.options.snap;if(i&&this.pages&&this.pages.length&&(r=r||i.easing||W.bounce,t>=this.pages.length?t=this.pages.length-1:t<0&&(t=0),this.pages[t])){e>=this.pages[t].length?e=this.pages[t].length-1:e<0&&(e=0);var o=this.pages[t][e].x,s=this.pages[t][e].y;n=void 0===n?i.speed||Math.max(Math.max(Math.min(Math.abs(o-this.x),1e3),Math.min(Math.abs(s-this.y),1e3)),300):n,this.currentPage={x:o,y:s,pageX:t,pageY:e},this.scrollTo(o,s,n,r)}},t.prototype.goToPage=function(t,e,n,r){var i=this.options.snap;if(i&&this.pages&&this.pages.length){if(i.loop){var o=void 0;i._loopX?(o=this.pages.length-2,t>=o?t=o-1:t<0&&(t=0),t+=1):(o=this.pages[0].length-2,e>=o?e=o-1:e<0&&(e=0),e+=1)}this._goToPage(t,e,n,r)}},t.prototype.next=function(t,e){if(this.options.snap){var n=this.currentPage.pageX,r=this.currentPage.pageY;n++,n>=this.pages.length&&this.hasVerticalScroll&&(n=0,r++),this._goToPage(n,r,t,e)}},t.prototype.prev=function(t,e){if(this.options.snap){var n=this.currentPage.pageX,r=this.currentPage.pageY;n--,n<0&&this.hasVerticalScroll&&(n=0,r--),this._goToPage(n,r,t,e)}},t.prototype.getCurrentPage=function(){var t=this.options.snap;return t?t.loop?t._loopX?i({},this.currentPage,{pageX:this.currentPage.pageX-1}):i({},this.currentPage,{pageY:this.currentPage.pageY-1}):this.currentPage:null}}(C),function(t){t.prototype.wheelTo=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.options.wheel&&(this.y=-t*this.itemHeight,this.scrollTo(0,this.y))},t.prototype.getSelectedIndex=function(){return this.options.wheel&&this.selectedIndex},t.prototype._initWheel=function(){var t=this.options.wheel;t.wheelWrapperClass||(t.wheelWrapperClass=\"wheel-scroll\"),t.wheelItemClass||(t.wheelItemClass=\"wheel-item\"),void 0===t.selectedIndex&&(t.selectedIndex=0,x(\"wheel option selectedIndex is required!\"))}}(C),function(t){t.prototype._initScrollbar=function(){var t=this,e=this.options.scrollbar,n=e.fade,r=void 0===n||n,i=e.interactive,o=void 0!==i&&i;this.indicators=[];var s=void 0;this.options.scrollX&&(s={el:S(\"horizontal\"),direction:\"horizontal\",fade:r,interactive:o},this._insertScrollBar(s.el),this.indicators.push(new T(this,s))),this.options.scrollY&&(s={el:S(\"vertical\"),direction:\"vertical\",fade:r,interactive:o},this._insertScrollBar(s.el),this.indicators.push(new T(this,s))),this.on(\"refresh\",function(){for(var e=0;e<t.indicators.length;e++)t.indicators[e].refresh()}),r&&(this.on(\"scrollEnd\",function(){for(var e=0;e<t.indicators.length;e++)t.indicators[e].fade()}),this.on(\"scrollCancel\",function(){for(var e=0;e<t.indicators.length;e++)t.indicators[e].fade()}),this.on(\"scrollStart\",function(){for(var e=0;e<t.indicators.length;e++)t.indicators[e].fade(!0)}),this.on(\"beforeScrollStart\",function(){for(var e=0;e<t.indicators.length;e++)t.indicators[e].fade(!0,!0)})),this.on(\"destroy\",function(){t._removeScrollBars()})},t.prototype._insertScrollBar=function(t){this.wrapper.appendChild(t)},t.prototype._removeScrollBars=function(){for(var t=0;t<this.indicators.length;t++)this.indicators[t].destroy()}}(C),function(t){t.prototype._initPullDown=function(){this.options.probeType=tt},t.prototype._checkPullDown=function(){var t=this.options.pullDownRefresh,e=t.threshold,n=void 0===e?90:e,r=t.stop,i=void 0===r?40:r;return!(this.directionY!==K||this.y<n)&&(this.pulling||(this.pulling=!0,this.trigger(\"pullingDown\")),this.scrollTo(this.x,i,this.options.bounceTime,W.bounce),this.pulling)},t.prototype.finishPullDown=function(){this.pulling=!1,this.resetPosition(this.options.bounceTime,W.bounce)},t.prototype.openPullDown=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.options.pullDownRefresh=t,this._initPullDown()},t.prototype.closePullDown=function(){this.options.pullDownRefresh=!1}}(C),function(t){t.prototype._initPullUp=function(){this.options.probeType=tt,this.pullupWatching=!1,this._watchPullUp()},t.prototype._watchPullUp=function(){this.pullupWatching||(this.pullupWatching=!0,this.on(\"scroll\",this._checkToEnd))},t.prototype._checkToEnd=function(t){var e=this,n=this.options.pullUpLoad.threshold,r=void 0===n?0:n;this.movingDirectionY===Q&&t.y<=this.maxScrollY+r&&(this.once(\"scrollEnd\",function(){e.pullupWatching=!1}),this.trigger(\"pullingUp\"),this.off(\"scroll\",this._checkToEnd))},t.prototype.finishPullUp=function(){var t=this;this.pullupWatching?this.once(\"scrollEnd\",function(){t._watchPullUp()}):this._watchPullUp()},t.prototype.openPullUp=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.options.pullUpLoad=t,this._initPullUp()},t.prototype.closePullUp=function(){this.options.pullUpLoad=!1,this.pullupWatching&&(this.pullupWatching=!1,this.off(\"scroll\",this._checkToEnd))}}(C),function(t){t.prototype._initMouseWheel=function(){var t=this;this._handleMouseWheelEvent(c),this.on(\"destroy\",function(){clearTimeout(t.mouseWheelTimer),clearTimeout(t.mouseWheelEndTimer),t._handleMouseWheelEvent(u)}),this.firstWheelOpreation=!0},t.prototype._handleMouseWheelEvent=function(t){t(this.wrapper,\"wheel\",this),t(this.wrapper,\"mousewheel\",this),t(this.wrapper,\"DOMMouseScroll\",this)},t.prototype._onMouseWheel=function(t){var e=this;if(this.enabled){t.preventDefault(),this.options.stopPropagation&&t.stopPropagation(),this.firstWheelOpreation&&this.trigger(\"scrollStart\"),this.firstWheelOpreation=!1;var n=this.options.mouseWheel,r=n.speed,i=void 0===r?20:r,o=n.invert,s=void 0!==o&&o,a=n.easeTime,c=void 0===a?300:a;clearTimeout(this.mouseWheelTimer),this.mouseWheelTimer=setTimeout(function(){e.options.snap||c||e.trigger(\"scrollEnd\",{x:e.x,y:e.y}),e.firstWheelOpreation=!0},400);var u=void 0,l=void 0;switch(!0){case\"deltaX\"in t:1===t.deltaMode?(u=-t.deltaX*i,l=-t.deltaY*i):(u=-t.deltaX,l=-t.deltaY);break;case\"wheelDeltaX\"in t:u=t.wheelDeltaX/120*i,l=t.wheelDeltaY/120*i;break;case\"wheelDelta\"in t:u=l=t.wheelDelta/120*i;break;case\"detail\"in t:u=l=-t.detail/3*i;break;default:return}var h=s?-1:1;u*=h,l*=h,this.hasVerticalScroll||(u=l,l=0);var f=void 0,p=void 0;if(this.options.snap)return f=this.currentPage.pageX,p=this.currentPage.pageY,u>0?f--:u<0&&f++,l>0?p--:l<0&&p++,void this._goToPage(f,p);f=this.x+Math.round(this.hasHorizontalScroll?u:0),p=this.y+Math.round(this.hasVerticalScroll?l:0),this.movingDirectionX=this.directionX=u>0?-1:u<0?1:0,this.movingDirectionY=this.directionY=l>0?-1:l<0?1:0,f>this.minScrollX?f=this.minScrollX:f<this.maxScrollX&&(f=this.maxScrollX),p>this.minScrollY?p=this.minScrollY:p<this.maxScrollY&&(p=this.maxScrollY);var d=this.y===p;this.scrollTo(f,p,c,W.swipe),this.trigger(\"scroll\",{x:this.x,y:this.y}),clearTimeout(this.mouseWheelEndTimer),d&&(this.mouseWheelEndTimer=setTimeout(function(){e.trigger(\"scrollEnd\",{x:e.x,y:e.y})},c))}}}(C),function(t){t.prototype._initZoom=function(){var t=this.options.zoom,e=t.start,n=void 0===e?1:e,r=t.min,i=void 0===r?1:r,o=t.max,s=void 0===o?4:o;this.scale=Math.min(Math.max(n,i),s),this.setScale(this.scale),this.scrollerStyle[B.transformOrigin]=\"0 0\"},t.prototype._zoomTo=function(t,e,n,r){this.scaled=!0;var i=t/(r||this.scale);this.setScale(t),this.refresh();var o=Math.round(this.startX-(e-this.relativeX)*(i-1)),s=Math.round(this.startY-(n-this.relativeY)*(i-1));o>this.minScrollX?o=this.minScrollX:o<this.maxScrollX&&(o=this.maxScrollX),s>this.minScrollY?s=this.minScrollY:s<this.maxScrollY&&(s=this.maxScrollY),this.x===o&&this.y===s||this.scrollTo(o,s,this.options.bounceTime),this.scaled=!1},t.prototype.zoomTo=function(t,e,n){var r=h(this.wrapper),i=r.left,o=r.top,s=e+i-this.x,a=n+o-this.y;this._zoomTo(t,s,a)},t.prototype._zoomStart=function(t){var e=t.touches[0],n=t.touches[1],r=Math.abs(e.pageX-n.pageX),i=Math.abs(e.pageY-n.pageY);this.startDistance=s(r,i),this.startScale=this.scale;var o=h(this.wrapper),a=o.left,c=o.top;this.originX=Math.abs(e.pageX+n.pageX)/2+a-this.x,this.originY=Math.abs(e.pageY+n.pageY)/2+c-this.y,this.trigger(\"zoomStart\")},t.prototype._zoom=function(t){if(this.enabled&&!this.destroyed&&H[t.type]===this.initiated){this.options.preventDefault&&t.preventDefault(),this.options.stopPropagation&&t.stopPropagation();var e=t.touches[0],n=t.touches[1],r=Math.abs(e.pageX-n.pageX),i=Math.abs(e.pageY-n.pageY),o=s(r,i),a=o/this.startDistance*this.startScale;this.scaled=!0;var c=this.options.zoom,u=c.min,l=void 0===u?1:u,h=c.max,f=void 0===h?4:h;a<l?a=.5*l*Math.pow(2,a/l):a>f&&(a=2*f*Math.pow(.5,f/a));var p=a/this.startScale,d=this.startX-(this.originX-this.relativeX)*(p-1),v=this.startY-(this.originY-this.relativeY)*(p-1);this.setScale(a),this.scrollTo(d,v,0)}},t.prototype._zoomEnd=function(t){if(this.enabled&&!this.destroyed&&H[t.type]===this.initiated){this.options.preventDefault&&t.preventDefault(),this.options.stopPropagation&&t.stopPropagation(),this.isInTransition=!1,this.isAnimating=!1,this.initiated=0;var e=this.options.zoom,n=e.min,r=void 0===n?1:n,i=e.max,o=void 0===i?4:i,s=this.scale>o?o:this.scale<r?r:this.scale;this._zoomTo(s,this.originX,this.originY,this.startScale),this.trigger(\"zoomEnd\")}}}(C),function(t){t.prototype._initInfinite=function(){this.options.probeType=3,this.maxScrollY=-et,this.infiniteScroller=new k(this,this.options.infinity)}}(C),C.Version=\"1.12.6\",e.default=C},GdJY:function(t,e){t.exports=function(t){var e={literal:\"true false null\"},n=[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],r=[t.QUOTE_STRING_MODE,t.C_NUMBER_MODE],i={end:\",\",endsWithParent:!0,excludeEnd:!0,contains:r,keywords:e},o={begin:\"{\",end:\"}\",contains:[{className:\"attr\",begin:/\"/,end:/\"/,contains:[t.BACKSLASH_ESCAPE],illegal:\"\\\\n\"},t.inherit(i,{begin:/:/})].concat(n),illegal:\"\\\\S\"},s={begin:\"\\\\[\",end:\"\\\\]\",contains:[t.inherit(i)],illegal:\"\\\\S\"};return r.push(o,s),n.forEach(function(t){r.push(t)}),{contains:r,keywords:e,illegal:\"\\\\S\"}}},Gu7T:function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(\"c/Tr\"),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return(0,i.default)(t)}},Ibhu:function(t,e,n){var r=n(\"D2L2\"),i=n(\"TcQ7\"),o=n(\"vFc/\")(!1),s=n(\"ax3d\")(\"IE_PROTO\");t.exports=function(t,e){var n,a=i(t),c=0,u=[];for(n in a)n!=s&&r(a,n)&&u.push(n);for(;e.length>c;)r(a,n=e[c++])&&(~o(u,n)||u.push(n));return u}},Kh4W:function(t,e,n){e.f=n(\"dSzd\")},L42u:function(t,e,n){var r,i,o,s=n(\"+ZMJ\"),a=n(\"knuC\"),c=n(\"RPLV\"),u=n(\"ON07\"),l=n(\"7KvD\"),h=l.process,f=l.setImmediate,p=l.clearImmediate,d=l.MessageChannel,v=l.Dispatch,m=0,g={},y=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},b=function(t){y.call(t.data)};f&&p||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++m]=function(){a(\"function\"==typeof t?t:Function(t),e)},r(m),m},p=function(t){delete g[t]},\"process\"==n(\"R9M2\")(h)?r=function(t){h.nextTick(s(y,t,1))}:v&&v.now?r=function(t){v.now(s(y,t,1))}:d?(i=new d,o=i.port2,i.port1.onmessage=b,r=s(o.postMessage,o,1)):l.addEventListener&&\"function\"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+\"\",\"*\")},l.addEventListener(\"message\",b,!1)):r=\"onreadystatechange\"in u(\"script\")?function(t){c.appendChild(u(\"script\")).onreadystatechange=function(){c.removeChild(this),y.call(t)}}:function(t){setTimeout(s(y,t,1),0)}),t.exports={set:f,clear:p}},LKZe:function(t,e,n){var r=n(\"NpIQ\"),i=n(\"X8DO\"),o=n(\"TcQ7\"),s=n(\"MmMw\"),a=n(\"D2L2\"),c=n(\"SfB7\"),u=Object.getOwnPropertyDescriptor;e.f=n(\"+E39\")?u:function(t,e){if(t=o(t),e=s(e,!0),c)try{return u(t,e)}catch(t){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},M6a0:function(t,e){},MU5D:function(t,e,n){var r=n(\"R9M2\");t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},Mhyx:function(t,e,n){var r=n(\"/bQp\"),i=n(\"dSzd\")(\"iterator\"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},MmMw:function(t,e,n){var r=n(\"EqjI\");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&\"function\"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if(\"function\"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&\"function\"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},\"NWt+\":function(t,e,n){var r=n(\"+ZMJ\"),i=n(\"msXi\"),o=n(\"Mhyx\"),s=n(\"77Pl\"),a=n(\"QRG4\"),c=n(\"3fs2\"),u={},l={},e=t.exports=function(t,e,n,h,f){var p,d,v,m,g=f?function(){return t}:c(t),y=r(n,h,e?2:1),b=0;if(\"function\"!=typeof g)throw TypeError(t+\" is not iterable!\");if(o(g)){for(p=a(t.length);p>b;b++)if((m=e?y(s(d=t[b])[0],d[1]):y(t[b]))===u||m===l)return m}else for(v=g.call(t);!(d=v.next()).done;)if((m=i(v,y,d.value,e))===u||m===l)return m};e.BREAK=u,e.RETURN=l},NpIQ:function(t,e){e.f={}.propertyIsEnumerable},O4g8:function(t,e){t.exports=!0},ON07:function(t,e,n){var r=n(\"EqjI\"),i=n(\"7KvD\").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},OYls:function(t,e,n){n(\"crlp\")(\"asyncIterator\")},PzxK:function(t,e,n){var r=n(\"D2L2\"),i=n(\"sB3e\"),o=n(\"ax3d\")(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},QRG4:function(t,e,n){var r=n(\"UuGF\"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},\"QWe/\":function(t,e,n){n(\"crlp\")(\"observable\")},R4wc:function(t,e,n){var r=n(\"kM2E\");r(r.S+r.F,\"Object\",{assign:n(\"To3L\")})},R9M2:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},RPLV:function(t,e,n){var r=n(\"7KvD\").document;t.exports=r&&r.documentElement},\"RY/4\":function(t,e,n){var r=n(\"R9M2\"),i=n(\"dSzd\")(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),i))?n:o?r(e):\"Object\"==(a=r(e))&&\"function\"==typeof e.callee?\"Arguments\":a}},Rrel:function(t,e,n){var r=n(\"TcQ7\"),i=n(\"n0T6\").f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?a(t):i(r(t))}},S82l:function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},SfB7:function(t,e,n){t.exports=!n(\"+E39\")&&!n(\"S82l\")(function(){return 7!=Object.defineProperty(n(\"ON07\")(\"div\"),\"a\",{get:function(){return 7}}).a})},SldL:function(t,e){!function(e){\"use strict\";function n(t,e,n,r){var o=e&&e.prototype instanceof i?e:i,s=Object.create(o.prototype),a=new p(r||[]);return s._invoke=u(t,n,a),s}function r(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}function i(){}function o(){}function s(){}function a(t){[\"next\",\"throw\",\"return\"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function c(t){function e(n,i,o,s){var a=r(t[n],t,i);if(\"throw\"!==a.type){var c=a.arg,u=c.value;return u&&\"object\"==typeof u&&y.call(u,\"__await\")?Promise.resolve(u.__await).then(function(t){e(\"next\",t,o,s)},function(t){e(\"throw\",t,o,s)}):Promise.resolve(u).then(function(t){c.value=t,o(c)},s)}s(a.arg)}function n(t,n){function r(){return new Promise(function(r,i){e(t,n,r,i)})}return i=i?i.then(r,r):r()}var i;this._invoke=n}function u(t,e,n){var i=T;return function(o,s){if(i===k)throw new Error(\"Generator is already running\");if(i===C){if(\"throw\"===o)throw s;return v()}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var c=l(a,n);if(c){if(c===M)continue;return c}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(i===T)throw i=C,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=k;var u=r(t,e,n);if(\"normal\"===u.type){if(i=n.done?C:O,u.arg===M)continue;return{value:u.arg,done:n.done}}\"throw\"===u.type&&(i=C,n.method=\"throw\",n.arg=u.arg)}}}function l(t,e){var n=t.iterator[e.method];if(n===m){if(e.delegate=null,\"throw\"===e.method){if(t.iterator.return&&(e.method=\"return\",e.arg=m,l(t,e),\"throw\"===e.method))return M;e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return M}var i=r(n,t.iterator,e.arg);if(\"throw\"===i.type)return e.method=\"throw\",e.arg=i.arg,e.delegate=null,M;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=m),e.delegate=null,M):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,M)}function h(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function f(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function p(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(h,this),this.reset(!0)}function d(t){if(t){var e=t[_];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(y.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=m,e.done=!0,e};return r.next=r}}return{next:v}}function v(){return{value:m,done:!0}}var m,g=Object.prototype,y=g.hasOwnProperty,b=\"function\"==typeof Symbol?Symbol:{},_=b.iterator||\"@@iterator\",w=b.asyncIterator||\"@@asyncIterator\",x=b.toStringTag||\"@@toStringTag\",E=\"object\"==typeof t,S=e.regeneratorRuntime;if(S)return void(E&&(t.exports=S));S=e.regeneratorRuntime=E?t.exports:{},S.wrap=n;var T=\"suspendedStart\",O=\"suspendedYield\",k=\"executing\",C=\"completed\",M={},A={};A[_]=function(){return this};var P=Object.getPrototypeOf,L=P&&P(P(d([])));L&&L!==g&&y.call(L,_)&&(A=L);var j=s.prototype=i.prototype=Object.create(A);o.prototype=j.constructor=s,s.constructor=o,s[x]=o.displayName=\"GeneratorFunction\",S.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===o||\"GeneratorFunction\"===(e.displayName||e.name))},S.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,x in t||(t[x]=\"GeneratorFunction\")),t.prototype=Object.create(j),t},S.awrap=function(t){return{__await:t}},a(c.prototype),c.prototype[w]=function(){return this},S.AsyncIterator=c,S.async=function(t,e,r,i){var o=new c(n(t,e,r,i));return S.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},a(j),j[x]=\"Generator\",j[_]=function(){return this},j.toString=function(){return\"[object Generator]\"},S.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},S.values=d,p.prototype={constructor:p,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=m,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=m,this.tryEntries.forEach(f),!t)for(var e in this)\"t\"===e.charAt(0)&&y.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=m)},stop:function(){this.done=!0;var t=this.tryEntries[0],e=t.completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(t){function e(e,r){return o.type=\"throw\",o.arg=t,n.next=e,r&&(n.method=\"next\",n.arg=m),!!r}if(this.done)throw t;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if(\"root\"===i.tryLoc)return e(\"end\");if(i.tryLoc<=this.prev){var s=y.call(i,\"catchLoc\"),a=y.call(i,\"finallyLoc\");if(s&&a){if(this.prev<i.catchLoc)return e(i.catchLoc,!0);if(this.prev<i.finallyLoc)return e(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return e(i.catchLoc,!0)}else{if(!a)throw new Error(\"try statement without catch or finally\");if(this.prev<i.finallyLoc)return e(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&y.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var i=r;break}}i&&(\"break\"===t||\"continue\"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method=\"next\",this.next=i.finallyLoc,M):this.complete(o)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),M},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),f(n),M}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;f(n)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:d(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=m),M}}}(function(){return this}()||Function(\"return this\")())},TcQ7:function(t,e,n){var r=n(\"MU5D\"),i=n(\"52gC\");t.exports=function(t){return r(i(t))}},To3L:function(t,e,n){\"use strict\";var r=n(\"lktj\"),i=n(\"1kS7\"),o=n(\"NpIQ\"),s=n(\"sB3e\"),a=n(\"MU5D\"),c=Object.assign;t.exports=!c||n(\"S82l\")(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join(\"\")!=r})?function(t,e){for(var n=s(t),c=arguments.length,u=1,l=i.f,h=o.f;c>u;)for(var f,p=a(arguments[u++]),d=l?r(p).concat(l(p)):r(p),v=d.length,m=0;v>m;)h.call(p,f=d[m++])&&(n[f]=p[f]);return n}:c},U5ju:function(t,e,n){n(\"M6a0\"),n(\"zQR9\"),n(\"+tPU\"),n(\"CXw9\"),n(\"EqBC\"),n(\"jKW+\"),t.exports=n(\"FeBl\").Promise},UuGF:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},V3tA:function(t,e,n){n(\"R4wc\"),t.exports=n(\"FeBl\").Object.assign},\"VU/8\":function(t,e){t.exports=function(t,e,n,r,i){var o,s=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(o=t,s=t.default);var c=\"function\"==typeof s?s.options:s;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns),r&&(c._scopeId=r);var u;if(i?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},c._ssrRegister=u):n&&(u=n),u){var l=c.functional,h=l?c.render:c.beforeCreate;l?c.render=function(t,e){return u.call(e),h(t,e)}:c.beforeCreate=h?[].concat(h,u):[u]}return{esModule:o,exports:s,options:c}}},W2nU:function(t,e){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(h===clearTimeout)return clearTimeout(t);if((h===r||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(t);try{return h(t)}catch(e){try{return h.call(null,t)}catch(e){return h.call(this,t)}}}function s(){v&&p&&(v=!1,p.length?d=p.concat(d):m=-1,d.length&&a())}function a(){if(!v){var t=i(s);v=!0;for(var e=d.length;e;){for(p=d,d=[];++m<e;)p&&p[m].run();m=-1,e=d.length}p=null,v=!1,o(t)}}function c(t,e){this.fun=t,this.array=e}function u(){}var l,h,f=t.exports={};!function(){try{l=\"function\"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{h=\"function\"==typeof clearTimeout?clearTimeout:r}catch(t){h=r}}();var p,d=[],v=!1,m=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];d.push(new c(t,e)),1!==d.length||v||i(a)},c.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=u,f.addListener=u,f.once=u,f.off=u,f.removeListener=u,f.removeAllListeners=u,f.emit=u,f.prependListener=u,f.prependOnceListener=u,f.listeners=function(t){return[]},f.binding=function(t){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(t){throw new Error(\"process.chdir is not supported\")},f.umask=function(){return 0}},W3Iv:function(t,e,n){t.exports={default:n(\"wEtr\"),__esModule:!0}},X8DO:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},Xc4G:function(t,e,n){var r=n(\"lktj\"),i=n(\"1kS7\"),o=n(\"NpIQ\");t.exports=function(t){var e=r(t),n=i.f;if(n)for(var s,a=n(t),c=o.f,u=0;a.length>u;)c.call(t,s=a[u++])&&e.push(s);return e}},Xd32:function(t,e,n){n(\"+tPU\"),n(\"zQR9\"),t.exports=n(\"5PlU\")},Xxa5:function(t,e,n){t.exports=n(\"jyFz\")},Yobk:function(t,e,n){var r=n(\"77Pl\"),i=n(\"qio6\"),o=n(\"xnc9\"),s=n(\"ax3d\")(\"IE_PROTO\"),a=function(){},c=function(){var t,e=n(\"ON07\")(\"iframe\"),r=o.length;for(e.style.display=\"none\",n(\"RPLV\").appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),c=t.F;r--;)delete c.prototype[o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[s]=t):n=c(),void 0===e?n:i(n,e)}},Zzip:function(t,e,n){t.exports={default:n(\"/n6Q\"),__esModule:!0}},ax3d:function(t,e,n){var r=n(\"e8AB\")(\"keys\"),i=n(\"3Eo+\");t.exports=function(t){return r[t]||(r[t]=i(t))}},bOdI:function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(\"C4MV\"),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t,e,n){return e in t?(0,i.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},bRrM:function(t,e,n){\"use strict\";var r=n(\"7KvD\"),i=n(\"FeBl\"),o=n(\"evD5\"),s=n(\"+E39\"),a=n(\"dSzd\")(\"species\");t.exports=function(t){var e=\"function\"==typeof i[t]?i[t]:r[t];s&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},\"c/Tr\":function(t,e,n){t.exports={default:n(\"5zde\"),__esModule:!0}},cTzj:function(t,e,n){/*!\n * Vue-Lazyload.js v1.2.6\n * (c) 2018 Awe <hilongjw@gmail.com>\n * Released under the MIT License.\n */\n!function(e,n){t.exports=n()}(0,function(){\"use strict\";function t(t){return t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function e(t){t=t||{};var e=arguments.length,i=0;if(1===e)return t;for(;++i<e;){var o=arguments[i];y(t)&&(t=o),r(o)&&n(t,o)}return t}function n(t,n){b(t,n);for(var o in n)if(\"__proto__\"!==o&&i(n,o)){var s=n[o];r(s)?(\"undefined\"===w(t[o])&&\"function\"===w(s)&&(t[o]=s),t[o]=e(t[o]||{},s)):t[o]=s}return t}function r(t){return\"object\"===w(t)||\"function\"===w(t)}function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function o(t,e){if(t.length){var n=t.indexOf(e);return n>-1?t.splice(n,1):void 0}}function s(t,e){for(var n=!1,r=0,i=t.length;r<i;r++)if(e(t[r])){n=!0;break}return n}function a(t,e){if(\"IMG\"===t.tagName&&t.getAttribute(\"data-srcset\")){var n=t.getAttribute(\"data-srcset\"),r=[],i=t.parentNode,o=i.offsetWidth*e,s=void 0,a=void 0,c=void 0;n=n.trim().split(\",\"),n.map(function(t){t=t.trim(),s=t.lastIndexOf(\" \"),-1===s?(a=t,c=999998):(a=t.substr(0,s),c=parseInt(t.substr(s+1,t.length-s-2),10)),r.push([c,a])}),r.sort(function(t,e){if(t[0]<e[0])return-1;if(t[0]>e[0])return 1;if(t[0]===e[0]){if(-1!==e[1].indexOf(\".webp\",e[1].length-5))return 1;if(-1!==t[1].indexOf(\".webp\",t[1].length-5))return-1}return 0});for(var u=\"\",l=void 0,h=r.length,f=0;f<h;f++)if(l=r[f],l[0]>=o){u=l[1];break}return u}}function c(t,e){for(var n=void 0,r=0,i=t.length;r<i;r++)if(e(t[r])){n=t[r];break}return n}function u(){if(!E)return!1;var t=!0,e=document;try{var n=e.createElement(\"object\");n.type=\"image/webp\",n.style.visibility=\"hidden\",n.innerHTML=\"!\",e.body.appendChild(n),t=!n.offsetWidth,e.body.removeChild(n)}catch(e){t=!1}return t}function l(t,e){var n=null,r=0;return function(){if(!n){var i=Date.now()-r,o=this,s=arguments,a=function(){r=Date.now(),n=!1,t.apply(o,s)};i>=e?a():n=setTimeout(a,e)}}}function h(t){return null!==t&&\"object\"===(void 0===t?\"undefined\":v(t))}function f(t){if(!(t instanceof Object))return[];if(Object.keys)return Object.keys(t);var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e}function p(t){for(var e=t.length,n=[],r=0;r<e;r++)n.push(t[r]);return n}function d(){}var v=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},m=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},g=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),y=function(t){return null==t||\"function\"!=typeof t&&\"object\"!==(void 0===t?\"undefined\":v(t))},b=function(t,e){if(null===t||void 0===t)throw new TypeError(\"expected first argument to be an object.\");if(void 0===e||\"undefined\"==typeof Symbol)return t;if(\"function\"!=typeof Object.getOwnPropertySymbols)return t;for(var n=Object.prototype.propertyIsEnumerable,r=Object(t),i=arguments.length,o=0;++o<i;)for(var s=Object(arguments[o]),a=Object.getOwnPropertySymbols(s),c=0;c<a.length;c++){var u=a[c];n.call(s,u)&&(r[u]=s[u])}return r},_=Object.prototype.toString,w=function(e){var n=void 0===e?\"undefined\":v(e);return\"undefined\"===n?\"undefined\":null===e?\"null\":!0===e||!1===e||e instanceof Boolean?\"boolean\":\"string\"===n||e instanceof String?\"string\":\"number\"===n||e instanceof Number?\"number\":\"function\"===n||e instanceof Function?void 0!==e.constructor.name&&\"Generator\"===e.constructor.name.slice(0,9)?\"generatorfunction\":\"function\":void 0!==Array.isArray&&Array.isArray(e)?\"array\":e instanceof RegExp?\"regexp\":e instanceof Date?\"date\":(n=_.call(e),\"[object RegExp]\"===n?\"regexp\":\"[object Date]\"===n?\"date\":\"[object Arguments]\"===n?\"arguments\":\"[object Error]\"===n?\"error\":\"[object Promise]\"===n?\"promise\":t(e)?\"buffer\":\"[object Set]\"===n?\"set\":\"[object WeakSet]\"===n?\"weakset\":\"[object Map]\"===n?\"map\":\"[object WeakMap]\"===n?\"weakmap\":\"[object Symbol]\"===n?\"symbol\":\"[object Map Iterator]\"===n?\"mapiterator\":\"[object Set Iterator]\"===n?\"setiterator\":\"[object String Iterator]\"===n?\"stringiterator\":\"[object Array Iterator]\"===n?\"arrayiterator\":\"[object Int8Array]\"===n?\"int8array\":\"[object Uint8Array]\"===n?\"uint8array\":\"[object Uint8ClampedArray]\"===n?\"uint8clampedarray\":\"[object Int16Array]\"===n?\"int16array\":\"[object Uint16Array]\"===n?\"uint16array\":\"[object Int32Array]\"===n?\"int32array\":\"[object Uint32Array]\"===n?\"uint32array\":\"[object Float32Array]\"===n?\"float32array\":\"[object Float64Array]\"===n?\"float64array\":\"object\")},x=e,E=\"undefined\"!=typeof window,S=E&&\"IntersectionObserver\"in window,T={event:\"event\",observer:\"observer\"},O=function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}if(E)return\"function\"==typeof window.CustomEvent?window.CustomEvent:(t.prototype=window.Event.prototype,t)}(),k=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return E?window.devicePixelRatio||t:t},C=function(){if(E){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e)}catch(t){}return t}}(),M={on:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];C?t.addEventListener(e,n,{capture:r,passive:!0}):t.addEventListener(e,n,r)},off:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t.removeEventListener(e,n,r)}},A=function(t,e,n){var r=new Image;r.src=t.src,r.onload=function(){e({naturalHeight:r.naturalHeight,naturalWidth:r.naturalWidth,src:r.src})},r.onerror=function(t){n(t)}},P=function(t,e){return\"undefined\"!=typeof getComputedStyle?getComputedStyle(t,null).getPropertyValue(e):t.style[e]},L=function(t){return P(t,\"overflow\")+P(t,\"overflow-y\")+P(t,\"overflow-x\")},j=function(t){if(E){if(!(t instanceof HTMLElement))return window;for(var e=t;e&&e!==document.body&&e!==document.documentElement&&e.parentNode;){if(/(scroll|auto)/.test(L(e)))return e;e=e.parentNode}return window}},D={},R=function(){function t(e){var n=e.el,r=e.src,i=e.error,o=e.loading,s=e.bindType,a=e.$parent,c=e.options,u=e.elRenderer;m(this,t),this.el=n,this.src=r,this.error=i,this.loading=o,this.bindType=s,this.attempt=0,this.naturalHeight=0,this.naturalWidth=0,this.options=c,this.rect=null,this.$parent=a,this.elRenderer=u,this.performanceData={init:Date.now(),loadStart:0,loadEnd:0},this.filter(),this.initState(),this.render(\"loading\",!1)}return g(t,[{key:\"initState\",value:function(){\"dataset\"in this.el?this.el.dataset.src=this.src:this.el.setAttribute(\"data-src\",this.src),this.state={error:!1,loaded:!1,rendered:!1}}},{key:\"record\",value:function(t){this.performanceData[t]=Date.now()}},{key:\"update\",value:function(t){var e=t.src,n=t.loading,r=t.error,i=this.src;this.src=e,this.loading=n,this.error=r,this.filter(),i!==this.src&&(this.attempt=0,this.initState())}},{key:\"getRect\",value:function(){this.rect=this.el.getBoundingClientRect()}},{key:\"checkInView\",value:function(){return this.getRect(),this.rect.top<window.innerHeight*this.options.preLoad&&this.rect.bottom>this.options.preLoadTop&&this.rect.left<window.innerWidth*this.options.preLoad&&this.rect.right>0}},{key:\"filter\",value:function(){var t=this;f(this.options.filter).map(function(e){t.options.filter[e](t,t.options)})}},{key:\"renderLoading\",value:function(t){var e=this;A({src:this.loading},function(n){e.render(\"loading\",!1),t()},function(){t(),e.options.silent||console.warn(\"VueLazyload log: load failed with loading image(\"+e.loading+\")\")})}},{key:\"load\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;return this.attempt>this.options.attempt-1&&this.state.error?(this.options.silent||console.log(\"VueLazyload log: \"+this.src+\" tried too more than \"+this.options.attempt+\" times\"),void e()):this.state.loaded||D[this.src]?(this.state.loaded=!0,e(),this.render(\"loaded\",!0)):void this.renderLoading(function(){t.attempt++,t.record(\"loadStart\"),A({src:t.src},function(n){t.naturalHeight=n.naturalHeight,t.naturalWidth=n.naturalWidth,t.state.loaded=!0,t.state.error=!1,t.record(\"loadEnd\"),t.render(\"loaded\",!1),D[t.src]=1,e()},function(e){!t.options.silent&&console.error(e),t.state.error=!0,t.state.loaded=!1,t.render(\"error\",!1)})})}},{key:\"render\",value:function(t,e){this.elRenderer(this,t,e)}},{key:\"performance\",value:function(){var t=\"loading\",e=0;return this.state.loaded&&(t=\"loaded\",e=(this.performanceData.loadEnd-this.performanceData.loadStart)/1e3),this.state.error&&(t=\"error\"),{src:this.src,state:t,time:e}}},{key:\"destroy\",value:function(){this.el=null,this.src=null,this.error=null,this.loading=null,this.bindType=null,this.attempt=0}}]),t}(),I=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\",$=[\"scroll\",\"wheel\",\"mousewheel\",\"resize\",\"animationend\",\"transitionend\",\"touchmove\"],N={rootMargin:\"0px\",threshold:0},X=function(t){return function(){function e(t){var n=t.preLoad,r=t.error,i=t.throttleWait,o=t.preLoadTop,s=t.dispatchEvent,a=t.loading,c=t.attempt,h=t.silent,f=void 0===h||h,p=t.scale,d=t.listenEvents,v=(t.hasbind,t.filter),g=t.adapter,y=t.observer,b=t.observerOptions;m(this,e),this.version=\"1.2.6\",this.mode=T.event,this.ListenerQueue=[],this.TargetIndex=0,this.TargetQueue=[],this.options={silent:f,dispatchEvent:!!s,throttleWait:i||200,preLoad:n||1.3,preLoadTop:o||0,error:r||I,loading:a||I,attempt:c||3,scale:p||k(p),ListenEvents:d||$,hasbind:!1,supportWebp:u(),filter:v||{},adapter:g||{},observer:!!y,observerOptions:b||N},this._initEvent(),this.lazyLoadHandler=l(this._lazyLoadHandler.bind(this),this.options.throttleWait),this.setMode(this.options.observer?T.observer:T.event)}return g(e,[{key:\"config\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};x(this.options,t)}},{key:\"performance\",value:function(){var t=[];return this.ListenerQueue.map(function(e){t.push(e.performance())}),t}},{key:\"addLazyBox\",value:function(t){this.ListenerQueue.push(t),E&&(this._addListenerTarget(window),this._observer&&this._observer.observe(t.el),t.$el&&t.$el.parentNode&&this._addListenerTarget(t.$el.parentNode))}},{key:\"add\",value:function(e,n,r){var i=this;if(s(this.ListenerQueue,function(t){return t.el===e}))return this.update(e,n),t.nextTick(this.lazyLoadHandler);var o=this._valueFormatter(n.value),c=o.src,u=o.loading,l=o.error;t.nextTick(function(){c=a(e,i.options.scale)||c,i._observer&&i._observer.observe(e);var o=Object.keys(n.modifiers)[0],s=void 0;o&&(s=r.context.$refs[o],s=s?s.$el||s:document.getElementById(o)),s||(s=j(e));var h=new R({bindType:n.arg,$parent:s,el:e,loading:u,error:l,src:c,elRenderer:i._elRenderer.bind(i),options:i.options});i.ListenerQueue.push(h),E&&(i._addListenerTarget(window),i._addListenerTarget(s)),i.lazyLoadHandler(),t.nextTick(function(){return i.lazyLoadHandler()})})}},{key:\"update\",value:function(e,n){var r=this,i=this._valueFormatter(n.value),o=i.src,s=i.loading,u=i.error;o=a(e,this.options.scale)||o;var l=c(this.ListenerQueue,function(t){return t.el===e});l&&l.update({src:o,loading:s,error:u}),this._observer&&(this._observer.unobserve(e),this._observer.observe(e)),this.lazyLoadHandler(),t.nextTick(function(){return r.lazyLoadHandler()})}},{key:\"remove\",value:function(t){if(t){this._observer&&this._observer.unobserve(t);var e=c(this.ListenerQueue,function(e){return e.el===t});e&&(this._removeListenerTarget(e.$parent),this._removeListenerTarget(window),o(this.ListenerQueue,e)&&e.destroy())}}},{key:\"removeComponent\",value:function(t){t&&(o(this.ListenerQueue,t),this._observer&&this._observer.unobserve(t.el),t.$parent&&t.$el.parentNode&&this._removeListenerTarget(t.$el.parentNode),this._removeListenerTarget(window))}},{key:\"setMode\",value:function(t){var e=this;S||t!==T.observer||(t=T.event),this.mode=t,t===T.event?(this._observer&&(this.ListenerQueue.forEach(function(t){e._observer.unobserve(t.el)}),this._observer=null),this.TargetQueue.forEach(function(t){e._initListen(t.el,!0)})):(this.TargetQueue.forEach(function(t){e._initListen(t.el,!1)}),this._initIntersectionObserver())}},{key:\"_addListenerTarget\",value:function(t){if(t){var e=c(this.TargetQueue,function(e){return e.el===t});return e?e.childrenCount++:(e={el:t,id:++this.TargetIndex,childrenCount:1,listened:!0},this.mode===T.event&&this._initListen(e.el,!0),this.TargetQueue.push(e)),this.TargetIndex}}},{key:\"_removeListenerTarget\",value:function(t){var e=this;this.TargetQueue.forEach(function(n,r){n.el===t&&(--n.childrenCount||(e._initListen(n.el,!1),e.TargetQueue.splice(r,1),n=null))})}},{key:\"_initListen\",value:function(t,e){var n=this;this.options.ListenEvents.forEach(function(r){return M[e?\"on\":\"off\"](t,r,n.lazyLoadHandler)})}},{key:\"_initEvent\",value:function(){var t=this;this.Event={listeners:{loading:[],loaded:[],error:[]}},this.$on=function(e,n){t.Event.listeners[e]||(t.Event.listeners[e]=[]),t.Event.listeners[e].push(n)},this.$once=function(e,n){function r(){i.$off(e,r),n.apply(i,arguments)}var i=t;t.$on(e,r)},this.$off=function(e,n){if(!n){if(!t.Event.listeners[e])return;return void(t.Event.listeners[e].length=0)}o(t.Event.listeners[e],n)},this.$emit=function(e,n,r){t.Event.listeners[e]&&t.Event.listeners[e].forEach(function(t){return t(n,r)})}}},{key:\"_lazyLoadHandler\",value:function(){var t=this,e=[];this.ListenerQueue.forEach(function(t,n){if(!t.state.error&&t.state.loaded)return e.push(t);t.checkInView()&&t.load()}),e.forEach(function(e){return o(t.ListenerQueue,e)})}},{key:\"_initIntersectionObserver\",value:function(){var t=this;S&&(this._observer=new IntersectionObserver(this._observerHandler.bind(this),this.options.observerOptions),this.ListenerQueue.length&&this.ListenerQueue.forEach(function(e){t._observer.observe(e.el)}))}},{key:\"_observerHandler\",value:function(t,e){var n=this;t.forEach(function(t){t.isIntersecting&&n.ListenerQueue.forEach(function(e){if(e.el===t.target){if(e.state.loaded)return n._observer.unobserve(e.el);e.load()}})})}},{key:\"_elRenderer\",value:function(t,e,n){if(t.el){var r=t.el,i=t.bindType,o=void 0;switch(e){case\"loading\":o=t.loading;break;case\"error\":o=t.error;break;default:o=t.src}if(i?r.style[i]='url(\"'+o+'\")':r.getAttribute(\"src\")!==o&&r.setAttribute(\"src\",o),r.setAttribute(\"lazy\",e),this.$emit(e,t,n),this.options.adapter[e]&&this.options.adapter[e](t,this.options),this.options.dispatchEvent){var s=new O(e,{detail:t});r.dispatchEvent(s)}}}},{key:\"_valueFormatter\",value:function(t){var e=t,n=this.options.loading,r=this.options.error;return h(t)&&(t.src||this.options.silent||console.error(\"Vue Lazyload warning: miss src with \"+t),e=t.src,n=t.loading||this.options.loading,r=t.error||this.options.error),{src:e,loading:n,error:r}}}]),e}()},Y=function(t){return{props:{tag:{type:String,default:\"div\"}},render:function(t){return!1===this.show?t(this.tag):t(this.tag,null,this.$slots.default)},data:function(){return{el:null,state:{loaded:!1},rect:{},show:!1}},mounted:function(){this.el=this.$el,t.addLazyBox(this),t.lazyLoadHandler()},beforeDestroy:function(){t.removeComponent(this)},methods:{getRect:function(){this.rect=this.$el.getBoundingClientRect()},checkInView:function(){return this.getRect(),E&&this.rect.top<window.innerHeight*t.options.preLoad&&this.rect.bottom>0&&this.rect.left<window.innerWidth*t.options.preLoad&&this.rect.right>0},load:function(){this.show=!0,this.state.loaded=!0,this.$emit(\"show\",this)}}}},z=function(){function t(e){var n=e.lazy;m(this,t),this.lazy=n,n.lazyContainerMananger=this,this._queue=[]}return g(t,[{key:\"bind\",value:function(t,e,n){var r=new F({el:t,binding:e,vnode:n,lazy:this.lazy});this._queue.push(r)}},{key:\"update\",value:function(t,e,n){var r=c(this._queue,function(e){return e.el===t});r&&r.update({el:t,binding:e,vnode:n})}},{key:\"unbind\",value:function(t,e,n){var r=c(this._queue,function(e){return e.el===t});r&&(r.clear(),o(this._queue,r))}}]),t}(),B={selector:\"img\"},F=function(){function t(e){var n=e.el,r=e.binding,i=e.vnode,o=e.lazy;m(this,t),this.el=null,this.vnode=i,this.binding=r,this.options={},this.lazy=o,this._queue=[],this.update({el:n,binding:r})}return g(t,[{key:\"update\",value:function(t){var e=this,n=t.el,r=t.binding;this.el=n,this.options=x({},B,r.value),this.getImgs().forEach(function(t){e.lazy.add(t,x({},e.binding,{value:{src:\"dataset\"in t?t.dataset.src:t.getAttribute(\"data-src\"),error:\"dataset\"in t?t.dataset.error:t.getAttribute(\"data-error\"),loading:\"dataset\"in t?t.dataset.loading:t.getAttribute(\"data-loading\")}}),e.vnode)})}},{key:\"getImgs\",value:function(){return p(this.el.querySelectorAll(this.options.selector))}},{key:\"clear\",value:function(){var t=this;this.getImgs().forEach(function(e){return t.lazy.remove(e)}),this.vnode=null,this.binding=null,this.lazy=null}}]),t}(),H=function(t){return{props:{src:[String,Object],tag:{type:String,default:\"img\"}},render:function(t){return t(this.tag,{attrs:{src:this.renderSrc}},this.$slots.default)},data:function(){return{el:null,options:{src:\"\",error:\"\",loading:\"\",attempt:t.options.attempt},state:{loaded:!1,error:!1,attempt:0},rect:{},renderSrc:\"\"}},watch:{src:function(){this.init(),t.addLazyBox(this),t.lazyLoadHandler()}},created:function(){this.init(),this.renderSrc=this.options.loading},mounted:function(){this.el=this.$el,t.addLazyBox(this),t.lazyLoadHandler()},beforeDestroy:function(){t.removeComponent(this)},methods:{init:function(){var e=t._valueFormatter(this.src),n=e.src,r=e.loading,i=e.error;this.state.loaded=!1,this.options.src=n,this.options.error=i,this.options.loading=r,this.renderSrc=this.options.loading},getRect:function(){this.rect=this.$el.getBoundingClientRect()},checkInView:function(){return this.getRect(),E&&this.rect.top<window.innerHeight*t.options.preLoad&&this.rect.bottom>0&&this.rect.left<window.innerWidth*t.options.preLoad&&this.rect.right>0},load:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;if(this.state.attempt>this.options.attempt-1&&this.state.error)return t.options.silent||console.log(\"VueLazyload log: \"+this.options.src+\" tried too more than \"+this.options.attempt+\" times\"),void n();var r=this.options.src;A({src:r},function(t){var n=t.src;e.renderSrc=n,e.state.loaded=!0},function(t){e.state.attempt++,e.renderSrc=e.options.error,e.state.error=!0})}}}};return{install:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=X(t),r=new n(e),i=new z({lazy:r}),o=\"2\"===t.version.split(\".\")[0];t.prototype.$Lazyload=r,e.lazyComponent&&t.component(\"lazy-component\",Y(r)),e.lazyImage&&t.component(\"lazy-image\",H(r)),o?(t.directive(\"lazy\",{bind:r.add.bind(r),update:r.update.bind(r),componentUpdated:r.lazyLoadHandler.bind(r),unbind:r.remove.bind(r)}),t.directive(\"lazy-container\",{bind:i.bind.bind(i),update:i.update.bind(i),unbind:i.unbind.bind(i)})):(t.directive(\"lazy\",{bind:r.lazyLoadHandler.bind(r),update:function(t,e){x(this.vm.$refs,this.vm.$els),r.add(this.el,{modifiers:this.modifiers||{},arg:this.arg,value:t,oldValue:e},{context:this.vm})},unbind:function(){r.remove(this.el)}}),t.directive(\"lazy-container\",{update:function(t,e){i.update(this.el,{modifiers:this.modifiers||{},arg:this.arg,value:t,oldValue:e},{context:this.vm})},unbind:function(){i.unbind(this.el)}}))}}})},crlp:function(t,e,n){var r=n(\"7KvD\"),i=n(\"FeBl\"),o=n(\"O4g8\"),s=n(\"Kh4W\"),a=n(\"evD5\").f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},d7EF:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=n(\"us/S\"),o=r(i),s=n(\"BO1k\"),a=r(s);e.default=function(){function t(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=(0,a.default)(t);!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&c.return&&c.return()}finally{if(i)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,o.default)(Object(e)))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}()},dNDb:function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},dSzd:function(t,e,n){var r=n(\"e8AB\")(\"wks\"),i=n(\"3Eo+\"),o=n(\"7KvD\").Symbol,s=\"function\"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)(\"Symbol.\"+t))}).store=r},dY0y:function(t,e,n){var r=n(\"dSzd\")(\"iterator\"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],s=o[r]();s.next=function(){return{done:n=!0}},o[r]=function(){return s},t(o)}catch(t){}return n}},e6n0:function(t,e,n){var r=n(\"evD5\").f,i=n(\"D2L2\"),o=n(\"dSzd\")(\"toStringTag\");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},e8AB:function(t,e,n){var r=n(\"FeBl\"),i=n(\"7KvD\"),o=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:r.version,mode:n(\"O4g8\")?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},evD5:function(t,e,n){var r=n(\"77Pl\"),i=n(\"SfB7\"),o=n(\"MmMw\"),s=Object.defineProperty;e.f=n(\"+E39\")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},exGp:function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(\"//Fk\"),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t){return function(){var e=t.apply(this,arguments);return new i.default(function(t,n){function r(o,s){try{var a=e[o](s),c=a.value}catch(t){return void n(t)}if(!a.done)return i.default.resolve(c).then(function(t){r(\"next\",t)},function(t){r(\"throw\",t)});t(c)}return r(\"next\")})}}},fBQ2:function(t,e,n){\"use strict\";var r=n(\"evD5\"),i=n(\"X8DO\");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},fJUb:function(t,e,n){var r=n(\"77Pl\"),i=n(\"EqjI\"),o=n(\"qARP\");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},fWfb:function(t,e,n){\"use strict\";var r=n(\"7KvD\"),i=n(\"D2L2\"),o=n(\"+E39\"),s=n(\"kM2E\"),a=n(\"880/\"),c=n(\"06OY\").KEY,u=n(\"S82l\"),l=n(\"e8AB\"),h=n(\"e6n0\"),f=n(\"3Eo+\"),p=n(\"dSzd\"),d=n(\"Kh4W\"),v=n(\"crlp\"),m=n(\"Xc4G\"),g=n(\"7UMu\"),y=n(\"77Pl\"),b=n(\"EqjI\"),_=n(\"TcQ7\"),w=n(\"MmMw\"),x=n(\"X8DO\"),E=n(\"Yobk\"),S=n(\"Rrel\"),T=n(\"LKZe\"),O=n(\"evD5\"),k=n(\"lktj\"),C=T.f,M=O.f,A=S.f,P=r.Symbol,L=r.JSON,j=L&&L.stringify,D=p(\"_hidden\"),R=p(\"toPrimitive\"),I={}.propertyIsEnumerable,$=l(\"symbol-registry\"),N=l(\"symbols\"),X=l(\"op-symbols\"),Y=Object.prototype,z=\"function\"==typeof P,B=r.QObject,F=!B||!B.prototype||!B.prototype.findChild,H=o&&u(function(){return 7!=E(M({},\"a\",{get:function(){return M(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=C(Y,e);r&&delete Y[e],M(t,e,n),r&&t!==Y&&M(Y,e,r)}:M,U=function(t){var e=N[t]=E(P.prototype);return e._k=t,e},W=z&&\"symbol\"==typeof P.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof P},q=function(t,e,n){return t===Y&&q(X,e,n),y(t),e=w(e,!0),y(n),i(N,e)?(n.enumerable?(i(t,D)&&t[D][e]&&(t[D][e]=!1),n=E(n,{enumerable:x(0,!1)})):(i(t,D)||M(t,D,x(1,{})),t[D][e]=!0),H(t,e,n)):M(t,e,n)},V=function(t,e){y(t);for(var n,r=m(e=_(e)),i=0,o=r.length;o>i;)q(t,n=r[i++],e[n]);return t},Q=function(t,e){return void 0===e?E(t):V(E(t),e)},K=function(t){var e=I.call(this,t=w(t,!0));return!(this===Y&&i(N,t)&&!i(X,t))&&(!(e||!i(this,t)||!i(N,t)||i(this,D)&&this[D][t])||e)},G=function(t,e){if(t=_(t),e=w(e,!0),t!==Y||!i(N,e)||i(X,e)){var n=C(t,e);return!n||!i(N,e)||i(t,D)&&t[D][e]||(n.enumerable=!0),n}},J=function(t){for(var e,n=A(_(t)),r=[],o=0;n.length>o;)i(N,e=n[o++])||e==D||e==c||r.push(e);return r},Z=function(t){for(var e,n=t===Y,r=A(n?X:_(t)),o=[],s=0;r.length>s;)!i(N,e=r[s++])||n&&!i(Y,e)||o.push(N[e]);return o};z||(P=function(){if(this instanceof P)throw TypeError(\"Symbol is not a constructor!\");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===Y&&e.call(X,n),i(this,D)&&i(this[D],t)&&(this[D][t]=!1),H(this,t,x(1,n))};return o&&F&&H(Y,t,{configurable:!0,set:e}),U(t)},a(P.prototype,\"toString\",function(){return this._k}),T.f=G,O.f=q,n(\"n0T6\").f=S.f=J,n(\"NpIQ\").f=K,n(\"1kS7\").f=Z,o&&!n(\"O4g8\")&&a(Y,\"propertyIsEnumerable\",K,!0),d.f=function(t){return U(p(t))}),s(s.G+s.W+s.F*!z,{Symbol:P});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)p(tt[et++]);for(var nt=k(p.store),rt=0;nt.length>rt;)v(nt[rt++]);s(s.S+s.F*!z,\"Symbol\",{for:function(t){return i($,t+=\"\")?$[t]:$[t]=P(t)},keyFor:function(t){if(!W(t))throw TypeError(t+\" is not a symbol!\");for(var e in $)if($[e]===t)return e},useSetter:function(){F=!0},useSimple:function(){F=!1}}),s(s.S+s.F*!z,\"Object\",{create:Q,defineProperty:q,defineProperties:V,getOwnPropertyDescriptor:G,getOwnPropertyNames:J,getOwnPropertySymbols:Z}),L&&s(s.S+s.F*(!z||u(function(){var t=P();return\"[null]\"!=j([t])||\"{}\"!=j({a:t})||\"{}\"!=j(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(b(e)||void 0!==t)&&!W(t))return g(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!W(e))return e}),r[1]=e,j.apply(L,r)}}),P.prototype[R]||n(\"hJx8\")(P.prototype,R,P.prototype.valueOf),h(P,\"Symbol\"),h(Math,\"Math\",!0),h(r.JSON,\"JSON\",!0)},fZjL:function(t,e,n){t.exports={default:n(\"jFbC\"),__esModule:!0}},fkB2:function(t,e,n){var r=n(\"UuGF\"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},fxRn:function(t,e,n){n(\"+tPU\"),n(\"zQR9\"),t.exports=n(\"g8Ux\")},g8Ux:function(t,e,n){var r=n(\"77Pl\"),i=n(\"3fs2\");t.exports=n(\"FeBl\").getIterator=function(t){var e=i(t);if(\"function\"!=typeof e)throw TypeError(t+\" is not iterable!\");return r(e.call(t))}},gSvA:function(t,e,n){var r=n(\"kM2E\"),i=n(\"mbce\")(!0);r(r.S,\"Object\",{entries:function(t){return i(t)}})},h65t:function(t,e,n){var r=n(\"UuGF\"),i=n(\"52gC\");t.exports=function(t){return function(e,n){var o,s,a=String(i(e)),c=r(n),u=a.length;return c<0||c>=u?t?\"\":void 0:(o=a.charCodeAt(c),o<55296||o>56319||c+1===u||(s=a.charCodeAt(c+1))<56320||s>57343?t?a.charAt(c):o:t?a.slice(c,c+2):s-56320+(o-55296<<10)+65536)}}},hJx8:function(t,e,n){var r=n(\"evD5\"),i=n(\"X8DO\");t.exports=n(\"+E39\")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},iUbK:function(t,e,n){var r=n(\"7KvD\"),i=r.navigator;t.exports=i&&i.userAgent||\"\"},jFbC:function(t,e,n){n(\"Cdx3\"),t.exports=n(\"FeBl\").Object.keys},\"jKW+\":function(t,e,n){\"use strict\";var r=n(\"kM2E\"),i=n(\"qARP\"),o=n(\"dNDb\");r(r.S,\"Promise\",{try:function(t){var e=i.f(this),n=o(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},jyFz:function(t,e,n){var r=function(){return this}()||Function(\"return this\")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf(\"regeneratorRuntime\")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,t.exports=n(\"SldL\"),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(t){r.regeneratorRuntime=void 0}},kM2E:function(t,e,n){var r=n(\"7KvD\"),i=n(\"FeBl\"),o=n(\"+ZMJ\"),s=n(\"hJx8\"),a=n(\"D2L2\"),c=function(t,e,n){var u,l,h,f=t&c.F,p=t&c.G,d=t&c.S,v=t&c.P,m=t&c.B,g=t&c.W,y=p?i:i[e]||(i[e]={}),b=y.prototype,_=p?r:d?r[e]:(r[e]||{}).prototype;p&&(n=e);for(u in n)(l=!f&&_&&void 0!==_[u])&&a(y,u)||(h=l?_[u]:n[u],y[u]=p&&\"function\"!=typeof _[u]?n[u]:m&&l?o(h,r):g&&_[u]==h?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(h):v&&\"function\"==typeof h?o(Function.call,h):h,v&&((y.virtual||(y.virtual={}))[u]=h,t&c.R&&b&&!b[u]&&s(b,u,h)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},knuC:function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},kxFB:function(t,e){t.exports=function(t){return\"string\"!=typeof t?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),/[\"'() \\t\\n]/.test(t)?'\"'+t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\")+'\"':t)}},lOnJ:function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},lktj:function(t,e,n){var r=n(\"Ibhu\"),i=n(\"xnc9\");t.exports=Object.keys||function(t){return r(t,i)}},mClu:function(t,e,n){var r=n(\"kM2E\");r(r.S+r.F*!n(\"+E39\"),\"Object\",{defineProperty:n(\"evD5\").f})},mbce:function(t,e,n){var r=n(\"lktj\"),i=n(\"TcQ7\"),o=n(\"NpIQ\").f;t.exports=function(t){return function(e){for(var n,s=i(e),a=r(s),c=a.length,u=0,l=[];c>u;)o.call(s,n=a[u++])&&l.push(t?[n,s[n]]:s[n]);return l}}},msXi:function(t,e,n){var r=n(\"77Pl\");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},mvHQ:function(t,e,n){t.exports={default:n(\"qkKv\"),__esModule:!0}},mypn:function(t,e,n){(function(t,e){!function(t,n){\"use strict\";function r(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var r={callback:t,args:e};return u[c]=r,a(c),c++}function i(t){delete u[t]}function o(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}function s(t){if(l)setTimeout(s,0,t);else{var e=u[t];if(e){l=!0;try{o(e)}finally{i(t),l=!1}}}}if(!t.setImmediate){var a,c=1,u={},l=!1,h=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,\"[object process]\"==={}.toString.call(t.process)?function(){a=function(t){e.nextTick(function(){s(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage(\"\",\"*\"),t.onmessage=n,e}}()?function(){var e=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===t&&\"string\"==typeof n.data&&0===n.data.indexOf(e)&&s(+n.data.slice(e.length))};t.addEventListener?t.addEventListener(\"message\",n,!1):t.attachEvent(\"onmessage\",n),a=function(n){t.postMessage(e+n,\"*\")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){s(t.data)},a=function(e){t.port2.postMessage(e)}}():h&&\"onreadystatechange\"in h.createElement(\"script\")?function(){var t=h.documentElement;a=function(e){var n=h.createElement(\"script\");n.onreadystatechange=function(){s(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():function(){a=function(t){setTimeout(s,0,t)}}(),f.setImmediate=r,f.clearImmediate=i}}(\"undefined\"==typeof self?void 0===t?this:t:self)}).call(e,n(\"DuR2\"),n(\"W2nU\"))},n0T6:function(t,e,n){var r=n(\"Ibhu\"),i=n(\"xnc9\").concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},pFYg:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=n(\"Zzip\"),o=r(i),s=n(\"5QVw\"),a=r(s),c=\"function\"==typeof a.default&&\"symbol\"==typeof o.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof a.default&&\"symbol\"===c(o.default)?function(t){return void 0===t?\"undefined\":c(t)}:function(t){return t&&\"function\"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?\"symbol\":void 0===t?\"undefined\":c(t)}},qARP:function(t,e,n){\"use strict\";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=i(e),this.reject=i(n)}var i=n(\"lOnJ\");t.exports.f=function(t){return new r(t)}},qio6:function(t,e,n){var r=n(\"evD5\"),i=n(\"77Pl\"),o=n(\"lktj\");t.exports=n(\"+E39\")?Object.defineProperties:function(t,e){i(t);for(var n,s=o(e),a=s.length,c=0;a>c;)r.f(t,n=s[c++],e[n]);return t}},qkKv:function(t,e,n){var r=n(\"FeBl\"),i=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return i.stringify.apply(i,arguments)}},qyJz:function(t,e,n){\"use strict\";var r=n(\"+ZMJ\"),i=n(\"kM2E\"),o=n(\"sB3e\"),s=n(\"msXi\"),a=n(\"Mhyx\"),c=n(\"QRG4\"),u=n(\"fBQ2\"),l=n(\"3fs2\");i(i.S+i.F*!n(\"dY0y\")(function(t){Array.from(t)}),\"Array\",{from:function(t){var e,n,i,h,f=o(t),p=\"function\"==typeof this?this:Array,d=arguments.length,v=d>1?arguments[1]:void 0,m=void 0!==v,g=0,y=l(f);if(m&&(v=r(v,d>2?arguments[2]:void 0,2)),void 0==y||p==Array&&a(y))for(e=c(f.length),n=new p(e);e>g;g++)u(n,g,m?v(f[g],g):f[g]);else for(h=y.call(f),n=new p;!(i=h.next()).done;g++)u(n,g,m?s(h,v,[i.value,g],!0):i.value);return n.length=g,n}})},rjj0:function(t,e,n){function r(t){for(var e=0;e<t.length;e++){var n=t[e],r=l[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(o(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var s=[],i=0;i<n.parts.length;i++)s.push(o(n.parts[i]));l[n.id]={id:n.id,refs:1,parts:s}}}}function i(){var t=document.createElement(\"style\");return t.type=\"text/css\",h.appendChild(t),t}function o(t){var e,n,r=document.querySelector(\"style[\"+g+'~=\"'+t.id+'\"]');if(r){if(d)return v;r.parentNode.removeChild(r)}if(y){var o=p++;r=f||(f=i()),e=s.bind(null,r,o,!1),n=s.bind(null,r,o,!0)}else r=i(),e=a.bind(null,r),n=function(){r.parentNode.removeChild(r)};return e(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;e(t=r)}else n()}}function s(t,e,n,r){var i=n?\"\":r.css;if(t.styleSheet)t.styleSheet.cssText=b(e,i);else{var o=document.createTextNode(i),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(o,s[e]):t.appendChild(o)}}function a(t,e){var n=e.css,r=e.media,i=e.sourceMap;if(r&&t.setAttribute(\"media\",r),m.ssrId&&t.setAttribute(g,e.id),i&&(n+=\"\\n/*# sourceURL=\"+i.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var c=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!c)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var u=n(\"tTVk\"),l={},h=c&&(document.head||document.getElementsByTagName(\"head\")[0]),f=null,p=0,d=!1,v=function(){},m=null,g=\"data-vue-ssr-id\",y=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n,i){d=n,m=i||{};var o=u(t,e);return r(o),function(e){for(var n=[],i=0;i<o.length;i++){var s=o[i],a=l[s.id];a.refs--,n.push(a)}e?(o=u(t,e),r(o)):o=[];for(var i=0;i<n.length;i++){var a=n[i];if(0===a.refs){for(var c=0;c<a.parts.length;c++)a.parts[c]();delete l[a.id]}}}};var b=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join(\"\\n\")}}()},sB3e:function(t,e,n){var r=n(\"52gC\");t.exports=function(t){return Object(r(t))}},t8x9:function(t,e,n){var r=n(\"77Pl\"),i=n(\"lOnJ\"),o=n(\"dSzd\")(\"species\");t.exports=function(t,e){var n,s=r(t).constructor;return void 0===s||void 0==(n=r(s)[o])?e:i(n)}},tTVk:function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i<e.length;i++){var o=e[i],s=o[0],a=o[1],c=o[2],u=o[3],l={id:t+\":\"+i,css:a,media:c,sourceMap:u};r[s]?r[s].parts.push(l):n.push(r[s]={id:s,parts:[l]})}return n}},uqUo:function(t,e,n){var r=n(\"kM2E\"),i=n(\"FeBl\"),o=n(\"S82l\");t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],s={};s[t]=e(n),r(r.S+r.F*o(function(){n(1)}),\"Object\",s)}},\"us/S\":function(t,e,n){t.exports={default:n(\"Xd32\"),__esModule:!0}},v5o6:function(t,e,n){var r;!function(){\"use strict\";/**\n\t * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.\n\t *\n\t * @codingstandard ftlabs-jsv2\n\t * @copyright The Financial Times Limited [All Rights Reserved]\n\t * @license MIT License (see LICENSE.txt)\n\t */\nfunction i(t,e){var n;if(e=e||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=e.touchBoundary||10,this.layer=t,this.tapDelay=e.tapDelay||200,this.tapTimeout=e.tapTimeout||700,!i.notNeeded(t)){for(var r=[\"onMouse\",\"onClick\",\"onTouchStart\",\"onTouchMove\",\"onTouchEnd\",\"onTouchCancel\"],o=this,a=0,c=r.length;a<c;a++)o[r[a]]=function(t,e){return function(){return t.apply(e,arguments)}}(o[r[a]],o);s&&(t.addEventListener(\"mouseover\",this.onMouse,!0),t.addEventListener(\"mousedown\",this.onMouse,!0),t.addEventListener(\"mouseup\",this.onMouse,!0)),t.addEventListener(\"click\",this.onClick,!0),t.addEventListener(\"touchstart\",this.onTouchStart,!1),t.addEventListener(\"touchmove\",this.onTouchMove,!1),t.addEventListener(\"touchend\",this.onTouchEnd,!1),t.addEventListener(\"touchcancel\",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(t.removeEventListener=function(e,n,r){var i=Node.prototype.removeEventListener;\"click\"===e?i.call(t,e,n.hijacked||n,r):i.call(t,e,n,r)},t.addEventListener=function(e,n,r){var i=Node.prototype.addEventListener;\"click\"===e?i.call(t,e,n.hijacked||(n.hijacked=function(t){t.propagationStopped||n(t)}),r):i.call(t,e,n,r)}),\"function\"==typeof t.onclick&&(n=t.onclick,t.addEventListener(\"click\",function(t){n(t)},!1),t.onclick=null)}}var o=navigator.userAgent.indexOf(\"Windows Phone\")>=0,s=navigator.userAgent.indexOf(\"Android\")>0&&!o,a=/iP(ad|hone|od)/.test(navigator.userAgent)&&!o,c=a&&/OS 4_\\d(_\\d)?/.test(navigator.userAgent),u=a&&/OS [6-7]_\\d/.test(navigator.userAgent),l=navigator.userAgent.indexOf(\"BB10\")>0;i.prototype.needsClick=function(t){switch(t.nodeName.toLowerCase()){case\"button\":case\"select\":case\"textarea\":if(t.disabled)return!0;break;case\"input\":if(a&&\"file\"===t.type||t.disabled)return!0;break;case\"label\":case\"iframe\":case\"video\":return!0}return/\\bneedsclick\\b/.test(t.className)},i.prototype.needsFocus=function(t){switch(t.nodeName.toLowerCase()){case\"textarea\":return!0;case\"select\":return!s;case\"input\":switch(t.type){case\"button\":case\"checkbox\":case\"file\":case\"image\":case\"radio\":case\"submit\":return!1}return!t.disabled&&!t.readOnly;default:return/\\bneedsfocus\\b/.test(t.className)}},i.prototype.sendClick=function(t,e){var n,r;document.activeElement&&document.activeElement!==t&&document.activeElement.blur(),r=e.changedTouches[0],n=document.createEvent(\"MouseEvents\"),n.initMouseEvent(this.determineEventType(t),!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.forwardedTouchEvent=!0,t.dispatchEvent(n)},i.prototype.determineEventType=function(t){return s&&\"select\"===t.tagName.toLowerCase()?\"mousedown\":\"click\"},i.prototype.focus=function(t){var e;a&&t.setSelectionRange&&0!==t.type.indexOf(\"date\")&&\"time\"!==t.type&&\"month\"!==t.type?(e=t.value.length,t.setSelectionRange(e,e)):t.focus()},i.prototype.updateScrollParent=function(t){var e,n;if(!(e=t.fastClickScrollParent)||!e.contains(t)){n=t;do{if(n.scrollHeight>n.offsetHeight){e=n,t.fastClickScrollParent=n;break}n=n.parentElement}while(n)}e&&(e.fastClickLastScrollTop=e.scrollTop)},i.prototype.getTargetElementFromEventTarget=function(t){return t.nodeType===Node.TEXT_NODE?t.parentNode:t},i.prototype.onTouchStart=function(t){var e,n,r;if(t.targetTouches.length>1)return!0;if(e=this.getTargetElementFromEventTarget(t.target),n=t.targetTouches[0],a){if(r=window.getSelection(),r.rangeCount&&!r.isCollapsed)return!0;if(!c){if(n.identifier&&n.identifier===this.lastTouchIdentifier)return t.preventDefault(),!1;this.lastTouchIdentifier=n.identifier,this.updateScrollParent(e)}}return this.trackingClick=!0,this.trackingClickStart=t.timeStamp,this.targetElement=e,this.touchStartX=n.pageX,this.touchStartY=n.pageY,t.timeStamp-this.lastClickTime<this.tapDelay&&t.preventDefault(),!0},i.prototype.touchHasMoved=function(t){var e=t.changedTouches[0],n=this.touchBoundary;return Math.abs(e.pageX-this.touchStartX)>n||Math.abs(e.pageY-this.touchStartY)>n},i.prototype.onTouchMove=function(t){return!this.trackingClick||((this.targetElement!==this.getTargetElementFromEventTarget(t.target)||this.touchHasMoved(t))&&(this.trackingClick=!1,this.targetElement=null),!0)},i.prototype.findControl=function(t){return void 0!==t.control?t.control:t.htmlFor?document.getElementById(t.htmlFor):t.querySelector(\"button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea\")},i.prototype.onTouchEnd=function(t){var e,n,r,i,o,l=this.targetElement;if(!this.trackingClick)return!0;if(t.timeStamp-this.lastClickTime<this.tapDelay)return this.cancelNextClick=!0,!0;if(t.timeStamp-this.trackingClickStart>this.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=t.timeStamp,n=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,u&&(o=t.changedTouches[0],l=document.elementFromPoint(o.pageX-window.pageXOffset,o.pageY-window.pageYOffset)||l,l.fastClickScrollParent=this.targetElement.fastClickScrollParent),\"label\"===(r=l.tagName.toLowerCase())){if(e=this.findControl(l)){if(this.focus(l),s)return!1;l=e}}else if(this.needsFocus(l))return t.timeStamp-n>100||a&&window.top!==window&&\"input\"===r?(this.targetElement=null,!1):(this.focus(l),this.sendClick(l,t),a&&\"select\"===r||(this.targetElement=null,t.preventDefault()),!1);return!(!a||c||!(i=l.fastClickScrollParent)||i.fastClickLastScrollTop===i.scrollTop)||(this.needsClick(l)||(t.preventDefault(),this.sendClick(l,t)),!1)},i.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},i.prototype.onMouse=function(t){return!this.targetElement||(!!t.forwardedTouchEvent||(!t.cancelable||(!(!this.needsClick(this.targetElement)||this.cancelNextClick)||(t.stopImmediatePropagation?t.stopImmediatePropagation():t.propagationStopped=!0,t.stopPropagation(),t.preventDefault(),!1))))},i.prototype.onClick=function(t){var e;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):\"submit\"===t.target.type&&0===t.detail||(e=this.onMouse(t),e||(this.targetElement=null),e)},i.prototype.destroy=function(){var t=this.layer;s&&(t.removeEventListener(\"mouseover\",this.onMouse,!0),t.removeEventListener(\"mousedown\",this.onMouse,!0),t.removeEventListener(\"mouseup\",this.onMouse,!0)),t.removeEventListener(\"click\",this.onClick,!0),t.removeEventListener(\"touchstart\",this.onTouchStart,!1),t.removeEventListener(\"touchmove\",this.onTouchMove,!1),t.removeEventListener(\"touchend\",this.onTouchEnd,!1),t.removeEventListener(\"touchcancel\",this.onTouchCancel,!1)},i.notNeeded=function(t){var e,n,r;if(void 0===window.ontouchstart)return!0;if(n=+(/Chrome\\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!s)return!0;if(e=document.querySelector(\"meta[name=viewport]\")){if(-1!==e.content.indexOf(\"user-scalable=no\"))return!0;if(n>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(l&&(r=navigator.userAgent.match(/Version\\/([0-9]*)\\.([0-9]*)/),r[1]>=10&&r[2]>=3&&(e=document.querySelector(\"meta[name=viewport]\")))){if(-1!==e.content.indexOf(\"user-scalable=no\"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return\"none\"===t.style.msTouchAction||\"manipulation\"===t.style.touchAction||(!!(+(/Firefox\\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]>=27&&(e=document.querySelector(\"meta[name=viewport]\"))&&(-1!==e.content.indexOf(\"user-scalable=no\")||document.documentElement.scrollWidth<=window.outerWidth))||(\"none\"===t.style.touchAction||\"manipulation\"===t.style.touchAction))},i.attach=function(t,e){return new i(t,e)},void 0!==(r=function(){return i}.call(e,n,e,t))&&(t.exports=r)}()},\"vFc/\":function(t,e,n){var r=n(\"TcQ7\"),i=n(\"QRG4\"),o=n(\"fkB2\");t.exports=function(t){return function(e,n,s){var a,c=r(e),u=i(c.length),l=o(s,u);if(t&&n!=n){for(;u>l;)if((a=c[l++])!=a)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===n)return t||l||0;return!t&&-1}}},\"vIB/\":function(t,e,n){\"use strict\";var r=n(\"O4g8\"),i=n(\"kM2E\"),o=n(\"880/\"),s=n(\"hJx8\"),a=n(\"/bQp\"),c=n(\"94VQ\"),u=n(\"e6n0\"),l=n(\"PzxK\"),h=n(\"dSzd\")(\"iterator\"),f=!([].keys&&\"next\"in[].keys()),p=function(){return this};t.exports=function(t,e,n,d,v,m,g){c(n,e,d);var y,b,_,w=function(t){if(!f&&t in T)return T[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},x=e+\" Iterator\",E=\"values\"==v,S=!1,T=t.prototype,O=T[h]||T[\"@@iterator\"]||v&&T[v],k=O||w(v),C=v?E?w(\"entries\"):k:void 0,M=\"Array\"==e?T.entries||O:O;if(M&&(_=l(M.call(new t)))!==Object.prototype&&_.next&&(u(_,x,!0),r||\"function\"==typeof _[h]||s(_,h,p)),E&&O&&\"values\"!==O.name&&(S=!0,k=function(){return O.call(this)}),r&&!g||!f&&!S&&T[h]||s(T,h,k),a[e]=k,a[x]=p,v)if(y={values:E?k:w(\"values\"),keys:m?k:w(\"keys\"),entries:C},g)for(b in y)b in T||o(T,b,y[b]);else i(i.P+i.F*(f||S),e,y);return y}},wEtr:function(t,e,n){n(\"gSvA\"),t.exports=n(\"FeBl\").Object.entries},woOf:function(t,e,n){t.exports={default:n(\"V3tA\"),__esModule:!0}},xGkn:function(t,e,n){\"use strict\";var r=n(\"4mcu\"),i=n(\"EGZi\"),o=n(\"/bQp\"),s=n(\"TcQ7\");t.exports=n(\"vIB/\")(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):\"keys\"==e?i(0,n):\"values\"==e?i(0,t[n]):i(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},\"xH/j\":function(t,e,n){var r=n(\"hJx8\");t.exports=function(t,e,n){for(var i in e)n&&t[i]?t[i]=e[i]:r(t,i,e[i]);return t}},xnc9:function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},zQR9:function(t,e,n){\"use strict\";var r=n(\"h65t\")(!0);n(\"vIB/\")(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})}});"
  },
  {
    "path": "docs/index.html",
    "content": "<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content=\"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no\"><meta name=x5-cache content=disable><meta name=keywords content=CUBE,UI,VUE,COMPONENT,LIB,LIBRARY><link rel=\"shortcut icon\" type=images/x-icon href=//webapp.didistatic.com/static/webapp/shield/Cube-UI_logo.ico><title>cube-ui Document</title><link href=/cube-ui/css/app.eff0dd361031a52994230f4aae1f87da.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/cube-ui/js/manifest.ce5efbe71aaf8ececafa.js></script><script type=text/javascript src=/cube-ui/js/vendor.03c1e619c9792283e75e.js></script><script type=text/javascript src=/cube-ui/js/app.86543725b2fbb55f515f.js></script></body></html>"
  },
  {
    "path": "docs/js/0.9cf876f3d8a0dd614939.js",
    "content": "webpackJsonp([0],{LGbK:function(t,e,n){e=t.exports=n(\"FZ+f\")(!1),e.push([t.i,\"\",\"\"])},RUos:function(t,e,n){function o(t){n(\"vNny\")}var r=n(\"VU/8\")(n(\"ZNNx\"),n(\"jgw8\"),o,null,null);t.exports=r.exports},ZNNx:function(t,e,n){var o,r,u;!function(s,c){r=[t,e,n(\"YKRY\")],o=c,void 0!==(u=\"function\"==typeof o?o.apply(e,r):o)&&(t.exports=u)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default={components:{Viewport:o.default}},t.exports=e.default})},jgw8:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"viewport\",{attrs:{lang:\"zh-CN\"}})},staticRenderFns:[]}},vNny:function(t,e,n){var o=n(\"LGbK\");\"string\"==typeof o&&(o=[[t.i,o,\"\"]]),o.locals&&(t.exports=o.locals);n(\"rjj0\")(\"21533b8c\",o,!0,{})}});"
  },
  {
    "path": "docs/js/1.8cbaaf36e614ee3d9b86.js",
    "content": "webpackJsonp([1],{\"+GB6\":function(t,e,n){function o(t){n(\"XPRW\")}var r=n(\"VU/8\")(n(\"ICiJ\"),n(\"L2q9\"),o,null,null);t.exports=r.exports},ICiJ:function(t,e,n){var o,r,u;!function(i,s){r=[t,e,n(\"YKRY\")],o=s,void 0!==(u=\"function\"==typeof o?o.apply(e,r):o)&&(t.exports=u)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default={components:{Viewport:o.default}},t.exports=e.default})},L2q9:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"viewport\",{attrs:{lang:\"en-US\"}})},staticRenderFns:[]}},XPRW:function(t,e,n){var o=n(\"pPQa\");\"string\"==typeof o&&(o=[[t.i,o,\"\"]]),o.locals&&(t.exports=o.locals);n(\"rjj0\")(\"53fa6c94\",o,!0,{})},pPQa:function(t,e,n){e=t.exports=n(\"FZ+f\")(!1),e.push([t.i,\"\",\"\"])}});"
  },
  {
    "path": "docs/js/10.5930217e28de542041c0.js",
    "content": "webpackJsonp([10],{\"2y7F\":function(s,a,t){s.exports=t(\"jfD8\")},C7g3:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"TabBar\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TabBar-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TabBar\")]),s._v(\" \"),s._m(0),s._v(\" \"),t(\"p\",[s._v(\"选项卡。\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"示例\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"CubeTabBar\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeTabBar-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeTabBar\")]),s._v(\" \"),t(\"p\",[s._v(\"支持默认的点击高亮效果，又支持下划线跟随的效果，并且支持自定义的插槽，实现icon与label搭配的类似于app底部选项卡的样式。\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"h3\",{attrs:{id:\"CubeTabBar&CubeTabPanels\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeTabBar&CubeTabPanels-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeTabBar & CubeTabPanels\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),t(\"h3\",{attrs:{id:\"Props配置\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(7),s._v(\" \"),t(\"h3\",{attrs:{id:\"插槽\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(8),s._v(\" \"),t(\"h3\",{attrs:{id:\"事件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(9),s._v(\" \"),t(\"h3\",{attrs:{id:\"实例方法\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(10)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"1.10.0 新增\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"如下示例相关代码在\"),t(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/tree/master/example/pages/tab-bar\"}},[s._v(\"这里\")]),s._v(\"。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"默认样式\")]),s._v(\" \"),t(\"p\",[s._v(\"传入如下 \"),t(\"code\",{pre:!0},[s._v(\"tabs\")]),s._v(\" 的数据结构便能初始化 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\"，必须使用 \"),t(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\" 指令来选中对应的 tab， v-model 的参数的值必须与某一项 tab 的 label 属性对应（1.12.5 版本后是和 value 属性对应），icon 属性是用做于 class 选择器，一般是用字体图标样式，\"),t(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" 在不同的时机派发 \"),t(\"code\",{pre:!0},[s._v(\"click\")]),s._v(\" 与 \"),t(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" 事件，参数则是每次选中的 tab 对应的 label 值（1.12.5 版本后是 value 值）。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabelDefault\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tabs\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data () {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedLabelDefault\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Vip'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tabs\")]),s._v(\": [{\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Home'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-home'\")]),s._v(\"\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Like'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-like'\")]),s._v(\"\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Vip'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-vip'\")]),s._v(\"\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Me'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-person'\")]),s._v(\"\\n      }]\\n    }\\n  }，\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    clickHandler (label) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if you clicked home tab, then print 'Home'\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(label)\\n    },\\n    changeHandler (label) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if you clicked different tab, this methods can be emitted\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"自定义插槽\")]),s._v(\" \"),t(\"p\",[s._v(\"实际上我们更常见的需求是图标搭配文字效果，因此 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" 组件也支持了插槽的使用方式，\\n注意必须搭配 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab\")]),s._v(\" 组件作为第一层级的子组件，来包裹你自定义插槽。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabelSlots\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"show-slider\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"inline\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in tabs\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- name为icon的插槽 --\\x3e\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.icon\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- 默认插槽 --\\x3e\")]),s._v(\"\\n      {{item.label}}\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data () {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedLabelSlots\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Like'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tabs\")]),s._v(\": [{\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Home'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-home'\")]),s._v(\"\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Like'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-like'\")]),s._v(\"\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Vip'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-vip'\")]),s._v(\"\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Me'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-person'\")]),s._v(\"\\n      }]\\n    }\\n  }，\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    clickHandler (label) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if you clicked home tab, then print 'Home'\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(label)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"同时还支持一些配置项， \"),t(\"code\",{pre:!0},[s._v(\"showSlider\")]),s._v(\" 控制是否开启下划线跟随的效果，\"),t(\"code\",{pre:!0},[s._v(\"inline\")]),s._v(\" 来决定icon与label是否处于一行，\"),t(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\" 控制下划线是否使用transition过渡，如示例代码所示。\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"往往我们的需求是随着 tab 的切换显示不同的容器，这个时候需要搭配 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-panels\")]),s._v(\" 组件。\"),t(\"code\",{pre:!0},[s._v(\"cube-tab-panels\")]),s._v(\" 必须嵌套 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-panel\")]),s._v(\"，传入 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab\")]),s._v(\" 与 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-panel\")]),s._v(\" 的label值必须一致（1.12.5 版本后和 value 值一致），因为需要建立一个 tab 对应一个 panel 的关系。他们通过相同的 \"),t(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\" 联动。查看效果可点击右边的 \"),t(\"code\",{pre:!0},[s._v(\"tab-basic\")]),s._v(\" 示例。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabel\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"show-slider\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in tabs\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":icon\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.icon\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panels\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabel\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panel\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in tabs\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tab-panel-li\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(hero, index) in item.heroes\"')]),s._v(\">\")]),s._v(\"\\n          {{hero}}\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panel\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panels\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data () {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedLabel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'天辉'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tabs\")]),s._v(\": [{\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'天辉'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-like'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"heroes\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'敌法师'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'卓尔游侠'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'主宰'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'米拉娜'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'变体精灵'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幻影长矛手'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'复仇之魂'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'力丸'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'矮人狙击手'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'圣堂刺客'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'露娜'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'赏金猎人'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'熊战士'\")]),s._v(\"]\\n      }, {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'夜魇'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-star'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"heroes\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'血魔'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'影魔'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剃刀'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒术士'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'虚空假面'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幻影刺客'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'冥界亚龙'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'克林克兹'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'育母蜘蛛'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'编织者'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'司夜刺客'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'米波'\")]),s._v(\"]\\n      }]\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"事实上，\"),t(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" 还能搭配许多其他cube-ui的组件(cube-slide ，cube-scroll)来做出类似原生 app 布局的效果。可点击右边的 \"),t(\"code\",{pre:!0},[s._v(\"ScrollTab Demo\")]),s._v(\" 与 \"),t(\"code\",{pre:!0},[s._v(\"tab-composite\")]),s._v(\" 示例来查看效果\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"CubeTabBar\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"示例\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"value\")]),s._v(\" \"),t(\"td\",[s._v(\"使用 v-model，初始化时选中对应的 tab\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"data\")]),s._v(\" \"),t(\"td\",[s._v(\"用于 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" 渲染的数据，当需要使用内置的默认插槽，此参数必传，数组的每一项是一个 Object 类型，包括 \"),t(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"、\"),t(\"code\",{pre:!0},[s._v(\"icon\")]),s._v(\" 和 \"),t(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\"（默认值等于 \"),t(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"）\"),t(\"sup\",[s._v(\"1.12.5+\")]),s._v(\"，如果使用自定义插槽，可不传此值\")]),s._v(\" \"),t(\"td\",[s._v(\"Array\")]),s._v(\" \"),t(\"td\",[s._v(\"[{label: 1, value: 1, icon: 'cubeic-like'}， {label: 2, value: 2, icon: 'cubeic-like'}]\")]),s._v(\" \"),t(\"td\",[s._v(\"[]\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"showSlider\")]),s._v(\" \"),t(\"td\",[s._v(\"是否开启下划线跟随效果\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"false\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"inline\")]),s._v(\" \"),t(\"td\",[s._v(\"文字与图标是否显示在一行\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"false\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"useTransition\")]),s._v(\" \"),t(\"td\",[s._v(\"是否开启 transition 过渡\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"true\")])])])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"CubeTab\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"是否必传\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"label\")]),s._v(\" \"),t(\"td\",[s._v(\"1.12.5 版本前作为哪个 tab 的值作为选中值，1.12.5 版本后主要用作展示\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"是\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"value\")]),s._v(\" \"),t(\"td\",[s._v(\"用于判断哪个 tab 的值作为选中值\"),t(\"sup\",[s._v(\"1.12.5+\")])]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"否\")]),s._v(\" \"),t(\"td\",[t(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" 的值\")])])])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"CubeTabPanels\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"示例\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"value\")]),s._v(\" \"),t(\"td\",[s._v(\"使用 v-model，初始化时显示对应的 panels\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"data\")]),s._v(\" \"),t(\"td\",[s._v(\"用于 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-panels\")]),s._v(\" 渲染的数据，当需要使用内置的默认插槽，此参数必传，数组的每一项是一个 Object 类型，包括 \"),t(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" 和 \"),t(\"code\",{pre:!0},[s._v(\"value\")]),t(\"sup\",[s._v(\"1.12.5+\")]),s._v(\"，如果使用自定义插槽，可不传此值\")]),s._v(\" \"),t(\"td\",[s._v(\"Array\")]),s._v(\" \"),t(\"td\",[s._v(\"[{label: 1, value: 1}, {label: 2, value: 2}]\")]),s._v(\" \"),t(\"td\",[s._v(\"[]\")])])])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"CubeTabPanel\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"是否必传\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"label\")]),s._v(\" \"),t(\"td\",[s._v(\"用于显示 panel\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"是\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"value\")]),s._v(\" \"),t(\"td\",[s._v(\"panel 的 key 值，决定了选中的值\"),t(\"sup\",[s._v(\"1.12.5+\")])]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"是\")]),s._v(\" \"),t(\"td\",[t(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 的值\")])])])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"CubeTab\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"名称\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"default\")]),s._v(\" \"),t(\"td\",[t(\"code\",{pre:!0},[s._v(\"cube-tab\")]),s._v(\" 渲染的文案\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"icon\")]),s._v(\" \"),t(\"td\",[s._v(\"一般是用来添加 icon 图标\")])])])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"CubeTabBar\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"事件名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数1\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"click\")]),s._v(\" \"),t(\"td\",[s._v(\"当 tab 被点击时派发\")]),s._v(\" \"),t(\"td\",[s._v(\"点中的tab的label/value\"),t(\"sup\",[s._v(\"1.12.5+\")]),s._v(\"值\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"change\")]),s._v(\" \"),t(\"td\",[s._v(\"当点击不同的 tab 时派发\")]),s._v(\" \"),t(\"td\",[s._v(\"点中的tab的label/value\"),t(\"sup\",[s._v(\"1.12.5+\")]),s._v(\"值\")])])])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"CubeTabBar\")]),s._v(\" \"),t(\"p\",[s._v(\"当该实例的 \"),t(\"code\",{pre:!0},[s._v(\"showSlider\")]),s._v(\" 属性设置为true，该方法才有效。\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"方法名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数类型\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"setSliderTransform\")]),s._v(\" \"),t(\"td\",[s._v(\"改变 \"),t(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" 组件的下划线的 transformX，如果传 Number，会转成像素，也可以传带有单位的 String\")]),s._v(\" \"),t(\"td\",[s._v(\"Number/String\")])])])])])])}]}},jfD8:function(s,a,t){var v=t(\"VU/8\")(null,t(\"C7g3\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/11.7bf9df3122c98050b7d4.js",
    "content": "webpackJsonp([11],{hpvZ:function(t,s,a){t.exports=a(\"nl7T\")},mqGW:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Switch滑动开关\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Switch滑动开关-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Switch 滑动开关\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"p\",[t._v(\"滑动开关，用于切换 on/off 状态。\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(3)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"1.4.0 新增\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"基本用法\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),t._v(\"\\n  Switch\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"value\")]),t._v(\"值\"),a(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\"对应着 on 状态（开） ，\"),a(\"code\",{pre:!0},[t._v(\"value\")]),t._v(\"值\"),a(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\"对应着 off 状态（关）。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"禁用状态\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"\\n  Disbled Switch\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\">\")]),t._v(\"\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"开关状态，双向数据绑定\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"是否禁用\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"事件名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"参数\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"绑定值变化时触发\")]),t._v(\" \"),a(\"td\",[t._v(\"更新后的绑定值\")])])])])}]}},nl7T:function(t,s,a){var e=a(\"VU/8\")(null,a(\"mqGW\"),null,null,null);t.exports=e.exports}});"
  },
  {
    "path": "docs/js/12.9bba651f6de7f3c71b3f.js",
    "content": "webpackJsonp([12],{HXbc:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Swipe滑块组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Swipe滑块组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Swipe 滑块组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"滑块组件，提供类似微信列表左滑功能，可以方便地对列表项做一些功能操作。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.5.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" 组件的示例相关代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/tree/master/example/pages/swipe\"}},[s._v(\"这里\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本使用\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" 组件常见的场景是搭配 \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" 组件使用，既可以纵向滚动，又可以横向左滑出一些按钮对列表项做操作，当然，\"),a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" 组件也可以单独使用。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@item-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemClick\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@btn-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onBtnClick\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipeData\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"swipeData\")]),s._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'测试1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n          }\\n        ]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'测试2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n          }\\n        ]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'测试3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n          }\\n        ]\\n      }]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onItemClick(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click item:'\")]),s._v(\", item)\\n    },\\n    onBtnClick(btn, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (btn.action === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createActionSheet({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认要删除吗'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"active\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n            {\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\"}\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".swipeData.splice(index, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n          }\\n        }).show()\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" 组件如果使用默认插槽，则需要传递示例所示的数据结构。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义插槽\")]),s._v(\" \"),a(\"p\",[s._v(\"实际上我们更常见的需求是需要自定义列表的内容展示，因此 \"),a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" 组件也支持了插槽的使用方式。\")]),s._v(\" \"),a(\"p\",[s._v(\"默认插槽可以搭配 \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 组件实现列表的循环。自定义插槽非常灵活，但它也需要自己手动去写一些逻辑，比如如果你想要在列表删除的时候自定义动画，需要使用 \"),a(\"code\",{pre:!0},[s._v(\"transition-group\")]),s._v(\"，需要手动去管理每个激活的 \"),a(\"code\",{pre:!0},[s._v(\"swipe-item\")]),s._v(\" 的收缩，如示例代码所示。\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"1.11 之后\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tag\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ul\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-item-wrapper\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(data,index) in swipeData\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.id\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipeItem\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":btns\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.btns\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@btn-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onBtnClick\"')]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemClick(data.item, index)\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-inner\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"width\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"height\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.imgurl\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-name\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.name\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-desc\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.desc\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"swipeData\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3646653877'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'还不是因为你长得不好看'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'伤感：歌词再狠，也抵不过现实伤人'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1789676645'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秋水浮萍任飘渺'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'『武侠配乐』快意恩仇江湖情'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3649034125'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'念葳蕊'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'江海迦：热恋后哼一首歌为自己悲悯的歌'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onItemClick(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click item:'\")]),s._v(\", item)\\n    },\\n    onBtnClick(btn, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (btn.action === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createActionSheet({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认要删除吗'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"active\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n            {\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\"}\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".swipeData.splice(index, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n          }\\n        }).show()\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.swipeItem[index].shrink()\\n      }\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"1.11 之前\")]),s._v(\" \"),a(\"p\",[s._v(\"需要自己手工处理 CubeSwipeItem 的 \"),a(\"code\",{pre:!0},[s._v(\"active\")]),s._v(\" 事件逻辑 \"),a(\"code\",{pre:!0},[s._v(\"onItemActive\")]),s._v(\" 中。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tag\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ul\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-item-wrapper\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(data,index) in swipeData\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.id\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipeItem\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":btns\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.btns\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@btn-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onBtnClick\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@active\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemActive\"')]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemClick(data.item, index)\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-inner\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"width\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"height\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.imgurl\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-name\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.name\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-desc\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.desc\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"swipeData\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3646653877'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'还不是因为你长得不好看'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'伤感：歌词再狠，也抵不过现实伤人'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1789676645'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秋水浮萍任飘渺'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'『武侠配乐』快意恩仇江湖情'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3649034125'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'念葳蕊'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'江海迦：热恋后哼一首歌为自己悲悯的歌'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n      ]\\n    }\\n  },\\n  created() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"-1\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onItemClick(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click item:'\")]),s._v(\", item)\\n    },\\n    onBtnClick(btn, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (btn.action === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createActionSheet({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认要删除吗'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"active\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n            {\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\"}\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".swipeData.splice(index, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n          }\\n        }).show()\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.swipeItem[index].shrink()\\n      }\\n    },\\n    onItemActive(index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (index === \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\"\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex !== \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"-1\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" activeItem = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.swipeItem[\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex]\\n        activeItem.shrink()\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex = index\\n    }\\n  }\\n}\\n\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe\")]),s._v(\" 配置\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"用于 \"),a(\"code\",{pre:!0},[s._v(\"swipe\")]),s._v(\" 列表渲染的数据，当需要使用内置的默认插槽，此参数必传，数组的每一项是一个 Object 类型，包括 \"),a(\"code\",{pre:!0},[s._v(\"item\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"btns\")]),s._v(\"，这俩参数见 \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 的描述。如果使用自定义插槽，可不传此值。\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"autoShrink\")]),s._v(\" \"),a(\"td\",[s._v(\"用于当点击滑块的按钮后，是否需要自动收缩滑块，如果使用自定义插槽，则直接给 \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 传递此值即可。\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 配置\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"item\")]),s._v(\" \"),a(\"td\",[s._v(\"用于 \"),a(\"code\",{pre:!0},[s._v(\"swipe-item\")]),s._v(\" 列表项渲染的数据，当需要使用内置的默认插槽，此参数必传，且需要有 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\" 2 个字段，分别表示数据项的值和显示的文案，但如果使用自定义插槽，可不传此值。\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"btns\")]),s._v(\" \"),a(\"td\",[s._v(\"用于 \"),a(\"code\",{pre:!0},[s._v(\"swipe-item\")]),s._v(\" 列表项渲染按钮数组，数组的每一项是一个 Object 类型，至少要包含 \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"color\")]),s._v(\" 2 个字段，分别表示按钮的文案和颜色。\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"index\")]),s._v(\" \"),a(\"td\",[s._v(\"表示当前的 \"),a(\"code\",{pre:!0},[s._v(\"swpie-item\")]),s._v(\" 在整个列表中的索引值，必传。\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-1\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"autoShrink\")]),s._v(\" \"),a(\"td\",[s._v(\"用于当点击滑块的按钮后，是否需要自动收缩滑块。\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe\")]),s._v(\" 事件\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"当使用自定义插槽时，直接监听 \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 上的事件即可。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"item-click\")]),s._v(\" \"),a(\"td\",[s._v(\"当列表项目被点击时派发\")]),s._v(\" \"),a(\"td\",[s._v(\"点击的列表项\")]),s._v(\" \"),a(\"td\",[s._v(\"点击项在列表中的索引\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"btn-click\")]),s._v(\" \"),a(\"td\",[s._v(\"当按钮被点击时派发\")]),s._v(\" \"),a(\"td\",[s._v(\"点击的按钮\")]),s._v(\" \"),a(\"td\",[s._v(\"点击按钮在列表中的索引\")]),s._v(\" \"),a(\"td\",[s._v(\"列表项\"),a(\"sup\",[s._v(\"1.9.7\")])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 事件\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"item-click\")]),s._v(\" \"),a(\"td\",[s._v(\"当列表项目被点击时派发\")]),s._v(\" \"),a(\"td\",[s._v(\"点击的列表项\")]),s._v(\" \"),a(\"td\",[s._v(\"点击项在列表中的索引\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"btn-click\")]),s._v(\" \"),a(\"td\",[s._v(\"当按钮被点击时派发\")]),s._v(\" \"),a(\"td\",[s._v(\"点击的按钮\")]),s._v(\" \"),a(\"td\",[s._v(\"点击按钮在列表中的索引\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"active\")]),s._v(\" \"),a(\"td\",[s._v(\"当开始滑动某个列表项目时派发\")]),s._v(\" \"),a(\"td\",[s._v(\"激活项在列表中的索引\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 实例方法\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"shrink\")]),s._v(\" \"),a(\"td\",[s._v(\"收缩该滑块项\")])])])])}]}},YVHs:function(s,t,a){s.exports=a(\"wCYs\")},wCYs:function(s,t,a){var n=a(\"VU/8\")(null,a(\"HXbc\"),null,null,null);s.exports=n.exports}});"
  },
  {
    "path": "docs/js/13.d9efc3abe297630dced6.js",
    "content": "webpackJsonp([13],{\"eaw/\":function(t,s,a){var e=a(\"VU/8\")(null,a(\"flel\"),null,null,null);t.exports=e.exports},flel:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"style模块\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-style模块-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" style 模块\")]),t._v(\" \"),a(\"p\",[t._v(\"style 模块主要包含就是样式部分，包含内置 icon、基础的 reset 以及基础通用样式。\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"内置icon\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-内置icon-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 内置 icon\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"p\",[t._v(\"内置 icon 有 65 个：\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"reset.css\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-reset.css-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" reset.css\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"base.css\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-base.css-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" base.css\")]),t._v(\" \"),t._m(5),t._v(\" \"),t._m(6)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"图标是利用 \"),a(\"a\",{attrs:{href:\"https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face\"}},[t._v(\"font-face\")]),t._v(\" 规则自定义字体 \"),a(\"code\",{pre:!0},[t._v('\"cube-icon\"')]),t._v(\" 实现的。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"使用的时候只需要加入对应的类名即可，例如 alert 图标，可以这样用：\"),a(\"code\",{pre:!0},[t._v('<i class=\"cubeic-alert\"></i>')]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")]),t._v(\" \"),a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")]),t._v(\" \"),a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")]),t._v(\" \"),a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-eye-invisible\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-eye-visible\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-person\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-select\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-pulldown\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-pullup\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-back\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-arrow\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-more\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-close\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-warn\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-question\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-right\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-wrong\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-add\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-remove\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-info\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-share\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-no-wifi\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-wifi\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-sad\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-smile\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-game\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-email\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-hot\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-notification\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-delete\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-vip\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-mute\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-volume\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-good\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-bad\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-mobile-phone\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-aim\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-navigation\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-safe-pay\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-tag\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-lock\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-unlock\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-edit\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-scan\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-qr-code\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-calendar\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-time\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-red-packet\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-star\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-setting\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-home\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-credit-card\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-mall\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-microphone\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-search\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-danger\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-alert\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-picture\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-message\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-phone\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-location\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-like\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-camera\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-square-right\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-square-border\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-round-border\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-ok\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-important\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}}),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}}),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}})])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"源码地址：\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/src/common/stylus/reset.styl\"}},[t._v(\"reset\")]),t._v(\"，使用的就是 Eric Meyer's Reset CSS。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"/**\\n * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)\\n * http://cssreset.com\\n */\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"html\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"div\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"span\")]),t._v(\", applet, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"object\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"iframe\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h1\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h2\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h3\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h4\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h5\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h6\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"p\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\", pre,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"a\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"abbr\")]),t._v(\", acronym, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"address\")]),t._v(\", big, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"cite\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"code\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"del\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dfn\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"em\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"img\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"ins\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"kbd\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\", s, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"samp\")]),t._v(\",\\nsmall, strike, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"strong\")]),t._v(\", sub, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"sup\")]),t._v(\", tt, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"var\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"b\")]),t._v(\", u, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"i\")]),t._v(\", center,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dl\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dt\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dd\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"ol\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"ul\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"li\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"fieldset\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"form\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"label\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"legend\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"table\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"caption\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"tbody\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"tfoot\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"thead\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"tr\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"th\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"td\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"article\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"aside\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"canvas\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"details\")]),t._v(\", embed,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figure\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figcaption\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"footer\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"header\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"menu\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"nav\")]),t._v(\", output, ruby, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"section\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"summary\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"time\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"mark\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"audio\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"video\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"input\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"margin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"padding\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-size\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-weight\")]),t._v(\": normal\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"vertical-align\")]),t._v(\": baseline\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"/* HTML5 display-role reset for older browsers */\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"article\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"aside\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"details\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figcaption\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figure\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"footer\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"header\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"menu\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"nav\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"section\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": block\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"line-height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"quotes\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\":before, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\":after,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\":before, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\":after\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"content\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"table\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-collapse\")]),t._v(\": collapse\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-spacing\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"/* custom */\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"a\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"#7e8c8d\")]),t._v(\"\\n  -webkit-\"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"backface-visibility\")]),t._v(\": hidden\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"text-decoration\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"li\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"list-style\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\"\\n  -webkit-text-size-adjust: \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"none\")]),t._v(\"\\n  -webkit-tap-highlight-\"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": rgba(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"源码地址：\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/src/common/stylus/base.styl\"}},[t._v(\"base\")]),t._v(\"，主要包含的就是 \"),a(\"code\",{pre:!0},[t._v(\"html\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"body\")]),t._v(\" 元素的 \"),a(\"code\",{pre:!0},[t._v(\"font-family\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"line-height\")]),t._v(\" 等的设定，修正浮动影响的 \"),a(\"code\",{pre:!0},[t._v(\".clear-fix\")]),t._v(\"，以及上下左右四个边框的绝对 1px 边框的 class：\"),a(\"code\",{pre:!0},[t._v(\".border-top-1px\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\".border-right-1px\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\".border-bottom-1px\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\".border-left-1px\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t._v(\"@require \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"./variable.styl\"')]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"html\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"line-height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-family\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'PingFang SC'\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'STHeitiSC-Light'\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Helvetica-Light'\")]),t._v(\", arial, sans-serif, \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Droid Sans Fallback'\")]),t._v(\"\\n  user-select: \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"none\")]),t._v(\"\\n  -webkit-tap-highlight-\"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": transparent\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".clear-fix\")]),t._v(\"\\n  &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"\"')]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": table\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"clear\")]),t._v(\": both\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"position\")]),t._v(\": relative\\n  &::before, &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"\"')]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": block\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"position\")]),t._v(\": absolute\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\"\\n  &::before\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-row-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\" top\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\"\\n  &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-right\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-col-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"right\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": right \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\"\\n  &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-bottom\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-row-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"bottom\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\" bottom\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n  &::before\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-col-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": left \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n@media (min-resolution: \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2dppx\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n\\n@media (min-resolution: \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"3dppx\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n\")])])}]}},rDWR:function(t,s,a){t.exports=a(\"eaw/\")}});"
  },
  {
    "path": "docs/js/14.c07f00aea03c853eb3bb.js",
    "content": "webpackJsonp([14],{dgnj:function(s,a,t){var l=t(\"VU/8\")(null,t(\"i2hk\"),null,null,null);s.exports=l.exports},i2hk:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"Sticky组件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Sticky组件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Sticky 组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),t(\"p\",[s._v(\"吸附组件，当滚动位置到达目标元素位置后，目标元素就会自动吸附。\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"示例\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"Props\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),t(\"h4\",{attrs:{id:\"CubeSticky\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeSticky-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeSticky\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"h4\",{attrs:{id:\"CubeStickyEle\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeStickyEle-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeStickyEle\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),t(\"h3\",{attrs:{id:\"插槽\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"事件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(6),s._v(\" \"),t(\"h3\",{attrs:{id:\"实例方法\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(7)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"1.10.0 新增\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"综合使用 - Scroll\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pos\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollY\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":scroll-events\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollEvents\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"title\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ele-key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"11\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"111\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ele-key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"22\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ele-key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"33\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"333\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items3\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fixed\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"{{props.current}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" _data = [\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😀 😁 😂 🤣 😃 😄 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙂 🤗 🤩 🤔 🤨 😐 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😔 😕 🙃 🤑 😲 ☹️ '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐣 🐣 🐣 🐣 🐣 🐣 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐥 🐥 🐥 🐥 🐥 🐥 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🤓 🤓 🤓 🤓 🤓 🤓 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🦔 🦔 🦔 🦔 🦔 🦔 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙈 🙈 🙈 🙈 🙈 🙈 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🚖 🚖 🚖 🚖 🚖 🚖 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\")]),s._v(\"\\n]\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollEvents\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'scroll'\")]),s._v(\"],\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollY\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items2\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items3\")]),s._v(\": _data.concat()\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    scrollHandler({ y }) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollY = -y\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" 需要和 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" 组件配合使用。\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" 组件依赖 \"),t(\"code\",{pre:!0},[s._v(\"pos\")]),s._v(\" Prop 来指定当前实时位置，由于 Scroll 组件中派发的 \"),t(\"code\",{pre:!0},[s._v(\"y\")]),s._v(\" 为负值，所以我们需要将其转换为滚动位置，直接取 \"),t(\"code\",{pre:!0},[s._v(\"-y\")]),s._v(\" 即可。\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" 组件的 \"),t(\"code\",{pre:!0},[s._v(\"ele-key\")]),s._v(\" Prop 是可选的，用于指定当前吸附元素的 key 值，默认为当前组件的索引值，即在 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" 组件中的第几个 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\"。\")]),s._v(\" \"),t(\"p\",[s._v(\"我们还可以利用 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" 组件的 \"),t(\"code\",{pre:!0},[s._v(\"fixed\")]),s._v(\" 插槽实现自定义吸附效果，如果没有插槽的话，内部默认会将吸附的 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" 的内容显示出来。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"综合使用 - Native Scroll\")]),s._v(\" \"),t(\"p\",[s._v(\"利用原生滚动实现效果。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pos\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollY\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":check-top\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkTop\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-ele\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"title\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"111\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"333\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items3\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" _data = [\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😀 😁 😂 🤣 😃 😄 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙂 🤗 🤩 🤔 🤨 😐 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😔 😕 🙃 🤑 😲 ☹️ '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐣 🐣 🐣 🐣 🐣 🐣 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐥 🐥 🐥 🐥 🐥 🐥 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🤓 🤓 🤓 🤓 🤓 🤓 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🦔 🦔 🦔 🦔 🦔 🦔 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙈 🙈 🙈 🙈 🙈 🙈 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🚖 🚖 🚖 🚖 🚖 🚖 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\")]),s._v(\"\\n]\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollY\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkTop\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items2\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items3\")]),s._v(\": _data.concat()\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    scrollHandler(e) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollY = e.currentTarget.scrollTop\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".scroll-ele\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"overflow\")]),s._v(\": auto\\n  -webkit-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"overflow\")]),s._v(\"-scrolling: touch\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fff\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"这个示例展示的就是利用原生滚动实现吸附效果的。\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"check-top\")]),s._v(\" Prop 则是用来控制检查条件的，默认为 \"),t(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\"，意味着当 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" 元素的顶部达到 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" 的顶部的时候就会被吸附；这个例子中我们设置为了 \"),t(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\"，意味着当 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" 的底部达到 \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" 的顶部的时候会被吸附。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"模拟微信效果 - WeChat\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pos\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollY\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":check-top\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkTop\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fixed-show-ani\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-fixed-show\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@diff-change\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"diffChange\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":scroll-events\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollEvents\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/6.jpg\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"111\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"border-top-1px\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"border-top-1px\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items3\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"border-top-1px\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fixed\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stickyHeader\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"header\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" _data = [\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😀 😁 😂 🤣 😃 😄 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙂 🤗 🤩 🤔 🤨 😐 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😔 😕 🙃 🤑 😲 ☹️ '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐣 🐣 🐣 🐣 🐣 🐣 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐥 🐥 🐥 🐥 🐥 🐥 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🤓 🤓 🤓 🤓 🤓 🤓 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🦔 🦔 🦔 🦔 🦔 🦔 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙈 🙈 🙈 🙈 🙈 🙈 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🚖 🚖 🚖 🚖 🚖 🚖 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\")]),s._v(\"\\n]\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollEvents\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'scroll'\")]),s._v(\"],\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollY\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkTop\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items2\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items3\")]),s._v(\": _data.concat()\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    scrollHandler({ y }) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollY = -y\\n    },\\n    diffChange() {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" opacity = \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (height) {\\n        opacity = diff / height\\n      }\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.stickyHeader.style.opacity = opacity\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-enter\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-leave-active\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"transform\")]),s._v(\": translate(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", -\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\")\\n\"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-enter-active\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-leave-active\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"transition\")]),s._v(\": all .\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5s\")]),s._v(\" ease-in-out\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"可以通过 \"),t(\"code\",{pre:!0},[s._v(\"fixed-show-ani\")]),s._v(\" 指定当元素吸附时出现的 \"),t(\"code\",{pre:!0},[s._v(\"transition\")]),s._v(\" 名字，我们这里指定 \"),t(\"code\",{pre:!0},[s._v(\"sticky-fixed-show\")]),s._v(\"，所以相对应的我们在样式中加了对应的动画控制效果。\")]),s._v(\" \"),t(\"p\",[s._v(\"同时可以通过 \"),t(\"code\",{pre:!0},[s._v(\"diff-change\")]),s._v(\" 事件得到当前 sticky 元素滚动的差值，一般我们可以和当前 sticky 元素的高做除法得到相对百分比，可以精细控制出现的具体细节。\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"pos\")]),s._v(\" \"),t(\"td\",[s._v(\"必须，滚动位置\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"checkTop\")]),s._v(\" \"),t(\"td\",[s._v(\"是否检测顶部位置，如果为 false，则检查 sticky-ele 元素的底部边界\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"true\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"fixedShowAni\")]),s._v(\" \"),t(\"td\",[s._v(\"元素吸附时指定 transition 的 name 值\")]),s._v(\" \"),t(\"td\",[s._v(\"String\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"如果 checkTop 为 true，则为 ''，如果为 false，则为 'cube-sticky-fixed-fade'\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"offset\")]),s._v(\" \"),t(\"td\",[s._v(\"偏移值，传入的 pos 的值会加上这个值修正\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"0\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"eleKey\")]),s._v(\" \"),t(\"td\",[s._v(\"吸顶元素的 key 值\")]),s._v(\" \"),t(\"td\",[s._v(\"Number/String\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"当 \"),t(\"code\",{pre:!0},[s._v(\"eleKey\")]),s._v(\" 不存在时，CubeSticky 组件会获取当前 CubeStickyEle 组件的次序索引作为吸附元素的标示。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"名字\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"default\")]),s._v(\" \"),t(\"td\",[s._v(\"默认内容\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"fixed\")]),s._v(\" \"),t(\"td\",[s._v(\"元素吸附时内容如何展示\")]),s._v(\" \"),t(\"td\",[s._v(\"current: 当前吸附元素的 key 值\"),t(\"br\"),s._v(\"index: 吸附元素索引值（非响应式的）\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"事件名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数1\")]),s._v(\" \"),t(\"th\",[s._v(\"参数2\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"change\")]),s._v(\" \"),t(\"td\",[s._v(\"吸附的元素发生改变时触发\")]),s._v(\" \"),t(\"td\",[s._v(\"current - 吸附的元素的 key 值，如果没有的话，则为 ''\")]),s._v(\" \"),t(\"td\",[s._v(\"index - 吸附元素的索引值，没有的话，则为 -1（非响应式的）\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"diff-change\")]),s._v(\" \"),t(\"td\",[s._v(\"sticky 元素滚动的差值改变时触发\")]),s._v(\" \"),t(\"td\",[s._v(\"diff - 差值，最小 0\")]),s._v(\" \"),t(\"td\",[s._v(\"height: 当前 sticky 元素的高度\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"方法名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"refresh\")]),s._v(\" \"),t(\"td\",[s._v(\"刷新，当内容发生变化时可用于重新计算高度和位置\")])])])])}]}},\"ula/\":function(s,a,t){s.exports=t(\"dgnj\")}});"
  },
  {
    "path": "docs/js/15.3364954d8a27037cf761.js",
    "content": "webpackJsonp([15],{\"7yxM\":function(s,t,a){s.exports=a(\"OqL0\")},LC2y:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Slide\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slide-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slide\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"轮播图，提供了常见的\"),a(\"code\",{pre:!0},[s._v(\"轮播\")]),s._v(\"及 \"),a(\"code\",{pre:!0},[s._v(\"swipe\")]),s._v(\" 的功能，也是一个基于 \"),a(\"code\",{pre:!0},[s._v(\"better-scroll\")]),s._v(\" 进行封装的组件。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本使用\")]),s._v(\" \"),a(\"p\",[s._v(\"考虑到 \"),a(\"code\",{pre:!0},[s._v(\"cube-slide\")]),s._v(\" 最常用的场景，每个轮播页是一个可跳转链接的图片，所以我们提供的最简便的用法是，通过 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 属性传入一个包含图片和跳转链接信息的数组，我们会默认将其渲染成一组超链接图片的轮播图。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义内容\")]),s._v(\" \"),a(\"p\",[s._v(\"当然我们也支持自定义内容，使用默认插槽和 \"),a(\"code\",{pre:!0},[s._v(\"cube-slide-item\")]),s._v(\" 就可以自定义每个轮播页的结构。其中，\"),a(\"code\",{pre:!0},[s._v(\"cube-slide\")]),s._v(\" 元素即整个轮播图组件，\"),a(\"code\",{pre:!0},[s._v(\"cube-slide-item\")]),s._v(\" 元素则是每一个轮播的页面，其 slot 为该页的内容。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"slide\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changePage\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in items\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click.native\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler(item, index)\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"a\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":href\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.url\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.image\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"a\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide-item\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changePage(current) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'当前轮播图序号为:'\")]),s._v(\" + current)\\n    },\\n    clickHandler(item, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item, index)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"虽然你使用了自定义内容以后，我们不会用 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 生成默认内容，但依然建议你将数据传入 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 属性，因为只有这样，我们组件内部才能帮你自动进行数据监听和重新渲染，否则你可能会需要自己调用 refresh 方法重新渲染，比如这样  \"),a(\"code\",{pre:!0},[s._v(\"this.$refs.slide.refresh()\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"初始索引\")]),s._v(\" \"),a(\"p\",[s._v(\"初始化时展示的位置索引值，默认为 0。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":initial-index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"循环播放\")]),s._v(\" \"),a(\"p\",[s._v(\"默认开启循环播放，可通过 loop 属性配置。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":loop\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自动播放\")]),s._v(\" \"),a(\"p\",[s._v(\"默认开启自动播放，可通过 auto-play 属性配置。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":auto-play\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自动播放的时间间隔\")]),s._v(\" \"),a(\"p\",[s._v(\"当开启了自动播放时，还可通过 interval 属性配置时间间隔。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":interval\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"4000\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"切换页面的滑动阈值\")]),s._v(\" \"),a(\"p\",[s._v(\"可通过 \"),a(\"code\",{pre:!0},[s._v(\"threshold\")]),s._v(\" 属性配置切换页面的滑动阈值，既当滑动的距离超过了页面宽度 × \"),a(\"code\",{pre:!0},[s._v(\"threshold\")]),s._v(\"时，切换页面。默认值为0.3。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":threshold\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"0.4\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"切换页面的速度\")]),s._v(\" \"),a(\"p\",[s._v(\"默认切换动画耗时为400ms，可通过 \"),a(\"code\",{pre:!0},[s._v(\"speed\")]),s._v(\" 属性配置。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":speed\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"200\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"允许纵向滚动\")]),s._v(\" \"),a(\"p\",[s._v(\"默认在 Slide 区域的时候，竖向是不能滚动的，如果想要竖向可以滚动，可以设置 \"),a(\"code\",{pre:!0},[s._v(\"allowVertical\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":allow-vertical\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"修改 dots 内容\")]),s._v(\" \"),a(\"p\",[s._v(\"默认是点，可通过插槽修改。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"dots\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-dot\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{active: props.current === index}\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in props.dots\"')]),s._v(\">\")]),s._v(\"{{index + 1}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"作用域插槽提供了所需的当前索引值 \"),a(\"code\",{pre:!0},[s._v(\"current\")]),s._v(\" 以及长度 \"),a(\"code\",{pre:!0},[s._v(\"dots\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"实时派发滚动的距离\"),a(\"sup\",[s._v(\"1.10.0\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    data() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"listenScroll\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"probeType\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n        }\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      scroll ({x, y}) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(x, y)\\n      }\\n    }\\n  }\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"用于 side-item 列表渲染的数据，当需要使用内置的默认内容，或者让组件自动监听数据变化重新渲染时，此参数必传\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"initialIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"初始索引值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"loop\")]),s._v(\" \"),a(\"td\",[s._v(\"是否循环播放\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"showDots\")]),s._v(\" \"),a(\"td\",[s._v(\"是否显示轮播指示点\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"autoPlay\")]),s._v(\" \"),a(\"td\",[s._v(\"是否自动播放\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"interval\")]),s._v(\" \"),a(\"td\",[s._v(\"播放间隔\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"4000\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"轮播方向\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal/vertical\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"better-scroll 配置项，具体请参考\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS 官方文档\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"  momentum: false,\"),a(\"br\"),s._v(\"  click: true,\"),a(\"br\"),s._v(\"  observeDOM: false\"),a(\"br\"),s._v(\"}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"threshold\")]),s._v(\" \"),a(\"td\",[s._v(\"切换页面的滑动阈值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"(0, 1)\")]),s._v(\" \"),a(\"td\",[s._v(\"0.3\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"切换页面的速度\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"400\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"allowVertical\")]),s._v(\" \"),a(\"td\",[s._v(\"是否允许竖向滚动。\"),a(\"code\",{pre:!0},[s._v(\"即将废弃\")]),s._v(\"，推荐使用 \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"stopPropagation\")]),s._v(\" \"),a(\"td\",[s._v(\"是否阻止事件冒泡，可用于解决嵌套同方向slide时会遇到的事件冒泡问题。\"),a(\"code\",{pre:!0},[s._v(\"即将废弃\")]),s._v(\"，推荐使用 \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"refreshResetCurrent\"),a(\"sup\",[s._v(\"1.10.10\")])]),s._v(\" \"),a(\"td\",[s._v(\"当刷新时是否重置索引\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"默认内容，由 cube-slide-item 构成\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"dots\")]),s._v(\" \"),a(\"td\",[s._v(\"dots 内容\")]),s._v(\" \"),a(\"td\",[s._v(\"dots: 轮播项长度 \"),a(\"br\"),s._v(\" current: 当前索引\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"Slide 页面切换时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"当前页面的索引值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll\"),a(\"sup\",[s._v(\"1.10.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"滚动中实时派发\")]),s._v(\" \"),a(\"td\",[s._v(\"Object {x, y} -滚动位置的坐标值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll-end\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"在滚动结束时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"当前页面的索引值\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"当轮播图内容删减的时候，可以调用此方法进行更新，重新渲染\")])])])])}]}},OqL0:function(s,t,a){var v=a(\"VU/8\")(null,a(\"LC2y\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/16.cd9871b346f43683d669.js",
    "content": "webpackJsonp([16],{\"+gXa\":function(t,e,s){t.exports=s(\"dd41\")},\"Bok/\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"section\",[s(\"h2\",{attrs:{id:\"单例模式\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-单例模式-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 单例模式\")]),t._v(\" \"),s(\"p\",[t._v(\"通过 API 调用组件的时候，需要涉及到组件的单例、多例模式。\")]),t._v(\" \"),t._m(0),t._v(\" \"),s(\"p\",[t._v(\"在 cube-ui 中涉及到 API 调用的组件都是弹层类，经常使用的如下：\")]),t._v(\" \"),t._m(1),t._v(\" \"),t._m(2),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),s(\"p\",[t._v(\"在一般情况下，默认行为即可满足需求，除非特殊场景。\")]),t._v(\" \"),t._m(5)])},staticRenderFns:[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"ul\",[s(\"li\",[s(\"p\",[t._v(\"1.11 版本之后\")]),t._v(\" \"),s(\"p\",[t._v(\"单例是相对于某一个组件上下文的，如果说组件是单例的，在同一个组件内多次实例化的时候，只有一个实例，对应的视图层也只存在一份；如果说组件是多例的，那么每次实例化的时候都会产生一个新的实例，且对应的视图也是有多份的，它们之间互不影响。\")])]),t._v(\" \"),s(\"li\",[s(\"p\",[t._v(\"1.11 版本之前\")]),t._v(\" \"),s(\"p\",[t._v(\"如果说组件是单例的，在多次实例化的时候，只有一个实例，对应的视图层也只存在一份；如果说组件是多例的，那么每次实例化的时候都会产生一个新的实例，且对应的视图也是有多份的，它们之间互不影响。\")])])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"ul\",[s(\"li\",[s(\"a\",{attrs:{href:\"#/zh-CN/docs/toast\"}},[t._v(\"Toast 提醒\")])]),t._v(\" \"),s(\"li\",[s(\"a\",{attrs:{href:\"#/zh-CN/docs/picker\"}},[t._v(\"Picker 选择器\")])]),t._v(\" \"),s(\"li\",[s(\"a\",{attrs:{href:\"#/zh-CN/docs/time-picker\"}},[t._v(\"TimePicker 时间选择器\")])]),t._v(\" \"),s(\"li\",[s(\"a\",{attrs:{href:\"#/zh-CN/docs/dialog\"}},[t._v(\"Dialog 弹框\")])]),t._v(\" \"),s(\"li\",[s(\"a\",{attrs:{href:\"#/zh-CN/docs/action-sheet\"}},[t._v(\"ActionSheet 操作菜单\")])])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"p\",[t._v(\"所有的 API 调用都是使用 \"),s(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\" 模块暴露出的 \"),s(\"code\",{pre:!0},[t._v(\"createAPI\")]),t._v(\" 函数实现，在定义的时候就决定了该组件是否是单例的，详见 \"),s(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\" 文档。\")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"p\",[t._v(\"默认情况下，Toast、Dialog 以及 ActionSheet 是单例的，而 Picker 和 TimePicker 是多例的，因为其场景往往比较复杂，有很多额外的数据处理操作，所以是多例的。如果你想在实例化的时候改变默认行为，可以通过设定 \"),s(\"code\",{pre:!0},[t._v(\"$createX\")]),t._v(\" 的参数中去修改，例如把 Dialog 改为多例的：\")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"const\")]),t._v(\" dialog = \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'confirm'\")]),t._v(\",\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'title'\")]),t._v(\",\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'content'\")]),t._v(\"\\n}, \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\")\\ndialog.show()\\n\")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s(\"p\",[s(\"strong\",[t._v(\"注：\")]),t._v(\" 限于 Picker 和 TimePicker 的场景，不支持单例模式。\")])}]}},dd41:function(t,e,s){var a=s(\"VU/8\")(null,s(\"Bok/\"),null,null,null);t.exports=a.exports}});"
  },
  {
    "path": "docs/js/17.4541b85f4e12c13cfd08.js",
    "content": "webpackJsonp([17],{Arul:function(t,s,v){var a=v(\"VU/8\")(null,v(\"auGc\"),null,null,null);t.exports=a.exports},auGc:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"section\",[v(\"h2\",{attrs:{id:\"Select\"}},[v(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Select-anchor\",\"aria-hidden\":\"true\"}},[v(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[v(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Select\")]),t._v(\" \"),t._m(0),t._v(\" \"),v(\"p\",[t._v(\"Select 组件，用于单项选择。\")]),t._v(\" \"),t._m(1),t._v(\" \"),v(\"h3\",{attrs:{id:\"示例\"}},[v(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[v(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[v(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(2),t._v(\" \"),v(\"h3\",{attrs:{id:\"Props配置\"}},[v(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[v(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[v(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),v(\"p\",[t._v(\"你可以将每个选项定义成一个对象，其中 text 为选项文案，value为选项的值，若没有将该选项定义为对象，比如 2014，则我们内部会把它转化成 { value: 2014, text: 2014 }\")]),t._v(\" \"),v(\"h3\",{attrs:{id:\"事件\"}},[v(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[v(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[v(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(6)])},staticRenderFns:[function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"blockquote\",[v(\"p\",[t._v(\"1.5.0 新增\")])])},function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"p\",[v(\"strong\",[t._v(\"注：\")]),t._v(\" 由于此组件依赖 \"),v(\"a\",{attrs:{href:\"#/zh-CN/docs/picker\"}},[t._v(\"Picker\")]),t._v(\" 组件，而 Picker 组件是基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),v(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"ul\",[v(\"li\",[v(\"p\",[t._v(\"基本用法\")]),t._v(\" \"),v(\"p\",[t._v(\"对于 Select 选择组件，你需要传入 options 定义各个选项，选择的结果则绑定在 v-model 上。\")]),t._v(\" \"),v(\"pre\",{pre:!0},[v(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[v(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),v(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":options\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"options\"')]),t._v(\">\")]),t._v(\"\\n\"),v(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),v(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),v(\"pre\",{pre:!0},[v(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[v(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),v(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),v(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"options\")]),t._v(\": [\"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2013\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2014\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2015\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2017\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2018\")]),t._v(\"],\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),v(\"li\",[v(\"p\",[t._v(\"配置和事件\")]),t._v(\" \"),v(\"p\",[t._v(\"Select 支持选择器标题（title）、占位符（placeholder）、自动弹出选择器（autoPop）、禁用（disabled）的配置。并且在选择时，如果选择的值改变了，会派发 change 事件。\")]),t._v(\" \"),v(\"pre\",{pre:!0},[v(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[v(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),v(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":title\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"title\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":options\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"options\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":placeholder\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"placeholder\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":auto-pop\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autoPop\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\"\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@change\")]),t._v(\"=\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"change\"')]),t._v(\">\")]),t._v(\"\\n\"),v(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),v(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),v(\"pre\",{pre:!0},[v(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[v(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),v(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),v(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"options\")]),t._v(\": [\"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2013\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2014\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2015\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2017\")]),t._v(\", \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2018\")]),t._v(\"],\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),v(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\",\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'入职时间'\")]),t._v(\",\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'请选择入职时间'\")]),t._v(\",\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autoPop\")]),t._v(\": \"),v(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n      \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),v(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\"\\n    }\\n  },\\n  \"),v(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    change(value, index, text) {\\n      \"),v(\"span\",{attrs:{class:\"hljs-built_in\"}},[t._v(\"console\")]),t._v(\".log(\"),v(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'change'\")]),t._v(\", value, index, text)\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),v(\"p\",[t._v(\"需要注意的一点是，change 事件在你直接赋值修改 value 的值时，不会触发，只会在选择导致的修改时触发。如果你只是想监听 value 的改变，请直接监听 value。\")])])])},function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"table\",[v(\"thead\",[v(\"tr\",[v(\"th\",[t._v(\"参数\")]),t._v(\" \"),v(\"th\",[t._v(\"说明\")]),t._v(\" \"),v(\"th\",[t._v(\"类型\")]),t._v(\" \"),v(\"th\",[t._v(\"可选值\")]),t._v(\" \"),v(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),v(\"tbody\",[v(\"tr\",[v(\"td\",[t._v(\"options\")]),t._v(\" \"),v(\"td\",[t._v(\"选项\")]),t._v(\" \"),v(\"td\",[t._v(\"Array\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"[]\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"v-model\")]),t._v(\" \"),v(\"td\",[t._v(\"选中的值\")]),t._v(\" \"),v(\"td\",[t._v(\"Any\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),v(\"td\",[t._v(\"占位文案\")]),t._v(\" \"),v(\"td\",[t._v(\"String\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"'请选择'\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"autoPop\")]),t._v(\" \"),v(\"td\",[t._v(\"是否自动弹出选择器\")]),t._v(\" \"),v(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),v(\"td\",[t._v(\"true/false\")]),t._v(\" \"),v(\"td\",[t._v(\"false\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"disabled\")]),t._v(\" \"),v(\"td\",[t._v(\"是否禁用\")]),t._v(\" \"),v(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),v(\"td\",[t._v(\"true/false\")]),t._v(\" \"),v(\"td\",[t._v(\"false\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"title\")]),t._v(\" \"),v(\"td\",[t._v(\"选择器的标题\")]),t._v(\" \"),v(\"td\",[t._v(\"String\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"'请选择'\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"cancelTxt\")]),t._v(\" \"),v(\"td\",[t._v(\"选择器的取消按钮文案\")]),t._v(\" \"),v(\"td\",[t._v(\"String\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"'取消'\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"confirmTxt\")]),t._v(\" \"),v(\"td\",[t._v(\"选择器的确认按钮文案\")]),t._v(\" \"),v(\"td\",[t._v(\"String\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"'确认'\")])])])])},function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"ul\",[v(\"li\",[v(\"code\",{pre:!0},[t._v(\"options\")]),t._v(\" 子配置项\")])])},function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"table\",[v(\"thead\",[v(\"tr\",[v(\"th\",[t._v(\"参数\")]),t._v(\" \"),v(\"th\",[t._v(\"说明\")]),t._v(\" \"),v(\"th\",[t._v(\"类型\")]),t._v(\" \"),v(\"th\",[t._v(\"可选值\")]),t._v(\" \"),v(\"th\",[t._v(\"示例\")])])]),t._v(\" \"),v(\"tbody\",[v(\"tr\",[v(\"td\",[t._v(\"value\")]),t._v(\" \"),v(\"td\",[t._v(\"该选项的值\")]),t._v(\" \"),v(\"td\",[t._v(\"Any\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"text\")]),t._v(\" \"),v(\"td\",[t._v(\"该选项的文案\")]),t._v(\" \"),v(\"td\",[t._v(\"String\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,v=t._self._c||s;return v(\"table\",[v(\"thead\",[v(\"tr\",[v(\"th\",[t._v(\"事件名\")]),t._v(\" \"),v(\"th\",[t._v(\"说明\")]),t._v(\" \"),v(\"th\",[t._v(\"参数1\")]),t._v(\" \"),v(\"th\",[t._v(\"参数2\")]),t._v(\" \"),v(\"th\",[t._v(\"参数3\")])])]),t._v(\" \"),v(\"tbody\",[v(\"tr\",[v(\"td\",[t._v(\"input\")]),t._v(\" \"),v(\"td\",[t._v(\"在选择时，如果选择的值改变了派发\")]),t._v(\" \"),v(\"td\",[t._v(\"选中项的值\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"change\")]),t._v(\" \"),v(\"td\",[t._v(\"在选择时，如果选择的值改变了派发\")]),t._v(\" \"),v(\"td\",[t._v(\"选中项的值\")]),t._v(\" \"),v(\"td\",[t._v(\"选中项的索引\")]),t._v(\" \"),v(\"td\",[t._v(\"选中项的文案\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"picker-show\")]),t._v(\" \"),v(\"td\",[t._v(\"使用的 Picker 显示的时候派发\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")])]),t._v(\" \"),v(\"tr\",[v(\"td\",[t._v(\"picker-hide\")]),t._v(\" \"),v(\"td\",[t._v(\"使用的 Picker 隐藏的时候派发（确定或取消都会派发）\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")]),t._v(\" \"),v(\"td\",[t._v(\"-\")])])])])}]}},eM4Z:function(t,s,v){t.exports=v(\"Arul\")}});"
  },
  {
    "path": "docs/js/18.10fbc962ddf6f40615a5.js",
    "content": "webpackJsonp([18],{CiMa:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"SegmentPicker组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-SegmentPicker组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" SegmentPicker 组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"段选择器，用于实现多段的选择，比如选择时间段：2010年9月1日 - 2014年6月30日。\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(7)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.7.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"p\",[s._v(\"通过 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 属性定义每个节点选择器的类型和属性，\"),a(\"code\",{pre:!0},[s._v(\"is\")]),s._v(\" 代表该选择器是用哪种 Picker 组件，既可以是 Cube UI 的 Picker 类组件，也可以是你自己定义的 Picker 组件。比如下面是我们用两个 DatePicker 组件来做时间段选择。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDateSegmentPicker\"')]),s._v(\">\")]),s._v(\"StartDate - EndDate\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" dateSegmentData = [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"is\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-date-picker'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'入学时间'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2000\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2030\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"11\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"31\")]),s._v(\")\\n  },\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"is\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-date-picker'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'毕业时间'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2000\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2030\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"11\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"31\")]),s._v(\")\\n  }\\n]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateSegmentPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createSegmentPicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": dateSegmentData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedDates, selectedVals, selectedTexts\")]),s._v(\") =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Items: <br/> - 入学时间: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\")}\")]),s._v(\" <br/> - 毕业时间: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n        }).show()\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onNext\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"i, selectedDate, selectedValue, selectedText\")]),s._v(\") =>\")]),s._v(\" {\\n        dateSegmentData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].min = selectedDate\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateSegmentPicker.$updateProps({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": dateSegmentData\\n          })\\n        }\\n      }\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDateSegmentPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateSegmentPicker.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"并且为了实现两个选择器之间的联动，我们可以在 next 下一步的事件处理函数中，根据第一个的选择，更新第二个选择器，比如这里是，将结束时间的最小值 = 所选的开始时间。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"快递 - 寄件地址 - 收件地址\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showCitySegmentPicker\"')]),s._v(\">\")]),s._v(\"Express - From - To\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/area'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cityData = provinceList\\ncityData.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"province\")]),s._v(\" =>\")]),s._v(\" {\\n  province.children = cityList[province.value]\\n  province.children.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"city\")]),s._v(\" =>\")]),s._v(\" {\\n    city.children = areaList[city.value]\\n  })\\n})\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".citySegmentPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createSegmentPicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'选择快递'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [expressData],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"is\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-cascade-picker'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'寄件地址'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cancelTxt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'返回'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"is\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-cascade-picker'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'收件地址'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"]\\n      }],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cancelTxt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Cancel'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"confirmTxt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Confirm'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"nextTxt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Next'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"prevTxt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Prev'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedVals, selectedIndexs, selectedTexts\")]),s._v(\") =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Items: <br/> - 所选快递:  \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\")}\")]),s._v(\" <br/> - 寄件地址: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\")}\")]),s._v(\" <br/> - 收件地址: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n        }).show()\\n      }\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showCitySegmentPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".citySegmentPicker.show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"定义各个选择器的组件名和属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"nextTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"下一步按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'下一步'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"prevTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"上一步按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'下一步'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"副标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"取消按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"确定按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"is\")]),s._v(\" \"),a(\"td\",[s._v(\"该节点选择器的组件名\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"cube-picker\")]),s._v(\" \"),a(\"td\",[s._v(\"cube-date-picker\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"其它\")]),s._v(\" \"),a(\"td\",[s._v(\"该节点选择器的属性\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"点击确认按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"各个选择器的 select 事件的参数1，Array 类型\")]),s._v(\" \"),a(\"td\",[s._v(\"各个选择器的 select 事件的参数2，Array 类型\")]),s._v(\" \"),a(\"td\",[s._v(\"各个选择器的 select 事件的参数3，Array 类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"点击取消按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"next\")]),s._v(\" \"),a(\"td\",[s._v(\"点击下一步按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"当前 picker 的索引，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"其余参数为，当前 picker select 时间的参数\")]),s._v(\" \"),a(\"td\",[s._v(\"···\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"prev\")]),s._v(\" \"),a(\"td\",[s._v(\"点击上一步按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"当前 picker 的索引，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"滚轴滚动后触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"pickerIndex: 当前滚动 picker 的索引，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"index: 当前滚动列索引，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前列选中项的索引，Number类型\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")])])])])}]}},UCq8:function(s,t,a){s.exports=a(\"spOv\")},spOv:function(s,t,a){var v=a(\"VU/8\")(null,a(\"CiMa\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/19.16a57cbea5da52c6251a.js",
    "content": "webpackJsonp([19],{\"/Z59\":function(s,t,a){var v=a(\"VU/8\")(null,a(\"3Wrv\"),null,null,null);s.exports=v.exports},\"3Wrv\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Scroll\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Scroll-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Scroll\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"滚动原理\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-滚动原理-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 滚动原理\")]),s._v(\" \"),a(\"p\",[s._v(\"由于 better-scroll 的滚动原理为：在滚动方向上，第一个子元素的长度超过了容器的长度。\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),a(\"p\",[s._v(\"7 个示例代码快速了解如何使用 Scroll 组件。\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(15),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(16),s._v(\" \"),a(\"h3\",{attrs:{id:\"方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 方法\")]),s._v(\" \"),s._m(17),s._v(\" \"),a(\"h3\",{attrs:{id:\"内部属性\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-内部属性-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 内部属性\")]),s._v(\" \"),s._m(18)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"滚动列表，提供了优质的原生滚动体验，便捷的配置项和事件，是一个基于\"),a(\"code\",{pre:!0},[s._v(\"better-scroll\")]),s._v(\"进行封装的组件。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"那么对于 Scroll 组件，其实就是内容元素\"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-content\")]),s._v(\"在滚动方向上的长度必须大于容器元素 \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\"。根据滚动方向的不同，有以下两种情况：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"1）纵向滚动：\"),a(\"strong\",[s._v(\"内容元素的高度必须大于容器元素\")]),s._v(\"。由于容器元素的高度默认会被子元素的高度撑开，所以为了满足我们的滚动前提，你需要给 Scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\"元素一个非弹性高度。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"2）横向滚动：\"),a(\"strong\",[s._v(\"内容元素的宽度必须大于容器元素\")]),s._v(\"。由于在默认情况下，子元素的宽度不会超过容器元素，所以需要给 Scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-content\")]),s._v(\" 元素设置大于 \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\" 的宽度。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"注意：任何时候如果出现无法滚动的情况，都应该首先查看内容元素\"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-content\")]),s._v(\"的元素高度/宽度是否大于容器元素\"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\"的高度/宽度。这是内容能够滚动的前提条件。\"),a(\"strong\",[s._v(\"如果内容存在图片的情况，可能会出现 DOM 元素渲染时图片还未下载，因此内容元素的高度小于预期，出现滚动不正常的情况。此时你应该在图片加载完成后，比如 onload 事件回调中，手动调用 Scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\"refresh()\")]),s._v(\" 方法，它会重新计算滚动距离。\")]),s._v(\" Scroll 相关常见问题可以查看 \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/question-answer/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+scroll\"}},[s._v(\"Cube-UI/Question-Answer\")]),s._v(\".\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"1. 基本使用 - Default\")])]),s._v(\" \"),a(\"p\",[s._v(\"通过设置 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 属性为一个数组，即可生成能够在容器内优雅滚动的列表。完整示例代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/default.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".scroll-list-wrap\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"350px\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"注意\")]),s._v(\"：由上面的滚动原理可知，这里给滚动容器提供一个固定高度是必须的，同时只有在滚动内容的高度大于容器高度时才可滚动。\")])]),s._v(\" \"),a(\"p\",[s._v(\"在\"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\"中可以设置滚动条是否可见以及初始滚动位置\"),a(\"code\",{pre:!0},[s._v(\"startY/startX\")]),s._v(\"。\")]),s._v(\" \"),a(\"p\",[s._v(\"Scroll 组件提供了一个\"),a(\"code\",{pre:!0},[s._v(\"scrollTo()\")]),s._v(\"方法，可以手动控制列表滚动位置。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"scrollTo() {\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.scrollTo(\\n    \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollToY,\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollToTime,\\n    ease[\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollToEasing]\\n  )\\n},\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"实际上这是一个非常有用的方法，如当我们想要实现“点击不同锚点，列表滚动到相应位置展现不同内容”时，可以使用\"),a(\"code\",{pre:!0},[s._v(\"scrollTo()\")]),s._v(\"方法。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"2. 横向滚动 - Horizontal\")])]),s._v(\" \"),a(\"p\",[s._v(\"Scroll 组件支持横向滚动，只需指定\"),a(\"code\",{pre:!0},[s._v('direction=\"horizontal\"')]),s._v(\"，同时需要添加相应样式如下。完整示例代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal-scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".horizontal-scroll-list-wrap\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1px\")]),s._v(\" solid rgba(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.1\")]),s._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-radius\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-scroll-content\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": inline-block\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".list-wrapper\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10px\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60px\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"white-space\")]),s._v(\": nowrap\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".list-item\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": inline-block\\n\")])]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"注意\")]),s._v(\"：1. 由上面的滚动原理可知，这里的 CSS 样式设置是必须的，只有在滚动内容的宽度大于容器宽度时才可滚动。2. 有时候我们希望横向滚动使用\"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"组件来模拟，纵向保留浏览器原生滚动，或者相反的情况。这时你需要传递 better-scroll 配置项 \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html#eventpassthrough\"}},[s._v(\"eventPassthrough\")]),s._v(\"。\")])]),s._v(\" \"),a(\"p\",[s._v(\"这里对样式的设定做简要的解释，为\"),a(\"code\",{pre:!0},[s._v(\"list-item\")]),s._v(\"元素添加\"),a(\"code\",{pre:!0},[s._v(\"display: inline-block\")]),s._v(\"是希望元素能够不换行，单行显示。\"),a(\"code\",{pre:!0},[s._v(\"list-wrapper\")]),s._v(\"添加\"),a(\"code\",{pre:!0},[s._v(\"white-space: nowrap\")]),s._v(\"是希望遇到父元素边界，依然不换行。另外，关键是\"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-content\")]),s._v(\"元素添加\"),a(\"code\",{pre:!0},[s._v(\"display: inline-block\")]),s._v(\"样式，此时\"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-content\")]),s._v(\"元素的宽度为能够包裹子孙元素的最小宽度，即为连续内联\"),a(\"code\",{pre:!0},[s._v(\"list-item\")]),s._v(\"元素的宽度之和子元素的最大宽度。具有同样性质的样式还有，浮动元素和绝对定位元素，在不设置具体宽度时，其宽度为包裹子孙元素的最小宽度。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"3. 自定义内容和上拉刷新下拉加载 - Customized\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"组件支持通过插槽自定义列表内容和样式。完整示例代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/config.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-up\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingUp\"')]),s._v(\">\")]),s._v(\"\\n    ... // 自定义内容\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Scroll 组件还支持下拉刷新和上拉加载的能力。默认无下拉刷新/上拉加载，可通过\"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\"传递配置项\"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\"开启相应功能。开启后，下拉时，Scroll 组件会展示默认下拉动画以及派发\"),a(\"code\",{pre:!0},[s._v(\"pulling-down\")]),s._v(\"事件，你可以监听\"),a(\"code\",{pre:!0},[s._v(\"pulling-down\")]),s._v(\"事件更新数据。同理，开启上拉加载后，可通过\"),a(\"code\",{pre:!0},[s._v(\"pulling-up\")]),s._v(\"事件更新数据。\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"的相关配置有：下拉阈值（threshold）, 回弹位置（stop）, 更新成功文案（txt）和文案显示时间（stopTime）。\"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\"对象的所有配置项和含义见 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/scroll#cube-Props%E9%85%8D%E7%BD%AE-anchor\"}},[s._v(\"Props 配置\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"... \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 省略非核心代码\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"computed\")]),s._v(\": {\\n  options() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullDownRefresh\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownRefreshObj,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullUpLoad\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullUpLoadObj,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollbar\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n    }\\n  },\\n  ...\\n},\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n  onPullingDown() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 模拟更新数据\")]),s._v(\"\\n    setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".random() > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.5\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 如果有新数据\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".items.unshift(_foods[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"])\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 如果没有新数据\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n      }\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n  },\\n  onPullingUp() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 模拟更新数据\")]),s._v(\"\\n    setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".random() > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.5\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 如果有新数据\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" newPage = _foods.slice(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\")\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".items = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".items.concat(newPage)\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 如果没有新数据\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n      }\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n  },\\n  ...\\n}\\n\")])]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"注意\")]),s._v(\"：如果请求结果没有数据更新，则必须调用 Scroll 组件的\"),a(\"code\",{pre:!0},[s._v(\"forceUpdate()\")]),s._v(\"方法结束此次下拉刷新/上拉加载，这样 Scroll 组件才会开始监听下一次下拉刷新/上拉加载操作。在上例中数据更新时，没有调用\"),a(\"code\",{pre:!0},[s._v(\"forceUpdate()\")]),s._v(\"方法，原因为：\"),a(\"strong\",[s._v(\"如果你向\"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"组件传递了\"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"属性，那么当\"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"组件监听到\"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"有更新时会自行调用\"),a(\"code\",{pre:!0},[s._v(\"forceUpate(true)\")]),s._v(\"方法\")]),s._v(\"，因此推荐传递\"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"属性。\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"4. 自定义下拉刷新动画 - 仿京东 App 首页\")])]),s._v(\" \"),a(\"p\",[s._v(\"如果你不喜欢内置的下拉刷新和上拉加载动画，还可以用\"),a(\"a\",{attrs:{href:\"https://cn.vuejs.org/v2/guide/components.html#%E4%BD%9C%E7%94%A8%E5%9F%9F%E6%8F%92%E6%A7%BD\"}},[s._v(\"作用域插槽\")]),s._v(\"做自定义动画。Scroll 组件的作用域插槽暴露出的变量非常完善，可以满足绝大多数场景下自定义下拉/上拉动画的需求。下面的例子模仿了京东 App 首页的下拉刷新动画。完整示例代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/jd.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":scroll-events\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"['scroll']\\\"\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollOptions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onScrollHandle\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://om0jxp12h.bkt.clouddn.com/jd_content.JPG\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pulldown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.pullDownRefresh\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-pulldown-wrapper\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pullDownStyle\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pulldown-content\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://om0jxp12h.bkt.clouddn.com/pulldow-img.jpg\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.beforePullDown\"')]),s._v(\">\")]),s._v(\"{{ pullDownTip }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-else\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.isPullingDown\"')]),s._v(\">\")]),s._v(\"正在更新...\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-else\")]),s._v(\">\")]),s._v(\"更新成功\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"data() {\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullDownRefresh\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"threshold\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"40\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'更新成功'\")]),s._v(\"\\n      }\\n    },\\n    ...\\n  }\\n},\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"computed\")]),s._v(\": {\\n  pullDownTip() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY <= \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\") {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'下拉刷新...'\")]),s._v(\"\\n    } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY <= \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"90\")]),s._v(\") {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'继续下拉有惊喜...'\")]),s._v(\"\\n    } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'松手得惊喜！'\")]),s._v(\"\\n    }\\n  },\\n  headerStyle() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".min(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".max(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\" - \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY / \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"40\")]),s._v(\"))\\n  }\\n},\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n  onScrollHandle(pos) {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY = pos.y\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (pos.y > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`top:\"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${pos.y}\")]),s._v(\"px`\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurpriseFlag = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"90\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurpriseFlag = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      }\\n    }\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.topHeader.style.opacity = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".headerStyle\\n  },\\n  onPullingDown() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurpriseFlag) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurprise = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\"\\n    }\\n    setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n  },\\n  ...\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"通过作用域插槽提供的作用域参数，如：\"),a(\"code\",{pre:!0},[s._v(\"beforePulldown\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"isPullingDown\")]),s._v(\"，你可以根据状态的变化来控制动画流程，其他作用域参数及其含义详见下面的\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/scroll#cube-%E6%8F%92%E6%A7%BD-anchor\"}},[s._v(\"插槽\")]),s._v(\"。在一个完整的下拉刷新过程中，\"),a(\"code\",{pre:!0},[s._v(\"beforePullDown\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"isPullingDown\")]),s._v(\"的状态变化如下：\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"流程\")]),s._v(\" \"),a(\"th\",[s._v(\"beforePulldown\")]),s._v(\" \"),a(\"th\",[s._v(\"isPullingDown\")]),s._v(\" \"),a(\"th\",[s._v(\"备注\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"1. 未触发下拉刷新\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"展示继续下拉引导图案\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"2. 触发下拉刷新\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"异步请求数据，显示 loading\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"3. 获取数据成功\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"调用 \"),a(\"code\",{pre:!0},[s._v(\"forceUpdate(true)\")]),s._v(\", 显示成功文案, 延迟 stopTime 时间进入步骤 4\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"4. 下拉刷新完成\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"5. 高级使用 - 仿头条 App 首页\")])]),s._v(\" \"),a(\"p\",[s._v(\"Scroll 组件能够满足绝大多数移动端应用的滚动需求。本例中通过横向和纵向的两个 Scroll 组件快速实现了模仿头条 App 首页的滚动体验。完整的示例代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/toutiao.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nav-scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"navScroll\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nav-wrapper\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in navTxts\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nav-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"more-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"more\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"content-scroll-wrapper\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"content-scroll-list-wrap\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollWrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"contentScroll\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"content\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-up\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingUp\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"imgs-wrapper\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in content\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"imgs-item\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.url\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pulldown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.pullDownRefresh\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-pulldown-wrapper\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.pullDownStyle\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.beforePullDown\"')]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"before-trigger\"')]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{paddingTop: props.bubbleY + 'px'}\\\"\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{rotate: props.bubbleY > options.pullDownRefresh.threshold - 60}\"')]),s._v(\">\")]),s._v(\"↓\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"after-trigger\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-else\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-show\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.isPullingDown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"loading\"')]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"success\"')]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-show\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"!props.isPullingDown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text-wrapper\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"refresh-text\"')]),s._v(\">\")]),s._v(\"今日头条推荐引擎有x条更新\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"和“仿京东 APP”示例不同的是，在下拉刷新的自定义动画中，使用了\"),a(\"code\",{pre:!0},[s._v(\"pulldown\")]),s._v(\"作用域插槽中的\"),a(\"code\",{pre:!0},[s._v(\"pullDownStyle\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\"更方便的实现下拉动画。\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"pullDownStyle\")]),s._v(\"用来控制下拉内容的位置，值为字符串\"),a(\"code\",{pre:!0},[s._v(\"top: n px\")]),s._v(\"（n 代表数值）。Scroll 组件是通过绝对定位的\"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\"值来控制下拉内容位置的。初始状态\"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\"值为负值，大小刚好为下拉内容的高度，因此下拉内容被隐藏到滚动区域上方，当下拉过程中，Scroll 组件会逐渐增大\"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\"值，实时更新下拉内容的位置。\"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\"最大值为0，即当下拉内容完全显示后\"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\"值不再增加。即 \"),a(\"code\",{pre:!0},[s._v(\"pullY - height <= top <= 0\")]),s._v(\"。（pullY 为下拉距离，height 为下拉内容高度）\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\"用来辅助实现自定义动画。在默认动画中，\"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\"用来控制气泡尾巴长度；在头条例子中，用来控制箭头的\"),a(\"code\",{pre:!0},[s._v(\"padding-top\")]),s._v(\"值，间接控制箭头位置。\"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\"的最小值为 0，下拉过程中，当下拉距离大于下拉内容高度后，\"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\"开始增大。即 \"),a(\"code\",{pre:!0},[s._v(\"0 <= bubbleY <= pullY - height\")]),s._v(\"。\")]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[s._v(\"在本例中，\"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"配置项没有传入\"),a(\"code\",{pre:!0},[s._v(\"stop\")]),s._v(\"值，但是下拉后依然能够回弹到正确位置，原因是 Scroll 组件初始化时会将 \"),a(\"code\",{pre:!0},[s._v(\"beforePullDown === false && isPullingDown === true\")]),s._v(\" 时下拉内容高度作为 \"),a(\"code\",{pre:!0},[s._v(\"stop\")]),s._v(\" 默认值。\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"6. 嵌套纵向滚动 - Vertical Scrolls\")]),a(\"sup\",[s._v(\"1.12.0\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"组件还支持嵌套的场景(目前只支持两层嵌套)。当遇到嵌套场景时，你需要给内层\"),a(\"code\",{pre:!0},[s._v(\"scroll\")]),s._v(\"组件设置 Prop nestMode，可选值有 'native' 和 'free'。当设置为 'native' 时，嵌套\"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"与浏览器原生嵌套场景的滚动行为相同。下面是\"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\"组件实现纵向嵌套滚动的例子。完整的示例代码在这里\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/vertical-scrolls.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-outer-wrap\"')]),s._v(\">\")]),s._v(\"\\n  ...\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll2\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-inner-wrap\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"nest-mode\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"native\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-scroll-list\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-scroll-item border-bottom-1px\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in items2\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\">\")]),s._v(\"{{item}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  ...\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"7. 嵌套横向滚动 - Horizontal Scrolls\")]),a(\"sup\",[s._v(\"1.12.0\")])]),s._v(\" \"),a(\"p\",[s._v(\"你还可以实现横向的嵌套滚动。这里同时设置\"),a(\"code\",{pre:!0},[s._v(\"nestMode\")]),s._v(\"为\"),a(\"code\",{pre:!0},[s._v(\"free\")]),s._v(\"，与\"),a(\"code\",{pre:!0},[s._v(\"native\")]),s._v(\"模式不同的是，\"),a(\"code\",{pre:!0},[s._v(\"free\")]),s._v(\"模式下，内层滚动过程中只要触发边界，便会开启外层滚动。而\"),a(\"code\",{pre:!0},[s._v(\"native\")]),s._v(\"模式下，只在开始滚动时判断是否到达边界，与浏览器原生的嵌套滚动保持一致。完整的示例代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal-scrolls.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"outer-horizontal-scroll\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item inner-horizontal-scroll\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items2\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"nest-mode\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"free\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-wrapper\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"用于列表渲染的数据\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"滚动方向\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'vertical', 'horizontal'\")]),s._v(\" \"),a(\"td\",[s._v(\"'vertical'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"better-scroll 配置项，具体请参考\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS 官方文档\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"  observeDOM: true,\"),a(\"br\"),s._v(\"  click: true,\"),a(\"br\"),s._v(\"  probeType: 1,\"),a(\"br\"),s._v(\"  scrollbar: false,\"),a(\"br\"),s._v(\"  pullDownRefresh: false,\"),a(\"br\"),s._v(\"  pullUpLoad: false\"),a(\"br\"),s._v(\"} \"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"注意\")]),s._v(\"：从\"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\"版本开始，因修复\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\"在\"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\"版本的滚动问题，\"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\"在iOS版本>=13.4时默认为\"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),a(\"br\"),s._v(\"具体请参考\"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scrollEvents\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"配置需要派发的 scroll 事件\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"可包含子项：'scroll', 'before-scroll-start', 'scroll-end'\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"listenScroll\")]),s._v(\" \"),a(\"td\",[s._v(\"是否派发 scroll 事件。\"),a(\"code\",{pre:!0},[s._v(\"即将废弃\")]),s._v(\"，推荐使用 \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" 属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"listenBeforeScroll\")]),s._v(\" \"),a(\"td\",[s._v(\"是否派发 before-scroll-start 事件。\"),a(\"code\",{pre:!0},[s._v(\"即将废弃\")]),s._v(\"，推荐使用 \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" 属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"refreshDelay\")]),s._v(\" \"),a(\"td\",[s._v(\"data属性的数据更新后，scroll 的刷新延时\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"20\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"nestMode\"),a(\"sup\",[s._v(\"1.12.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"嵌套滚动模式，默认是\"),a(\"code\",{pre:!0},[s._v(\"none\")]),s._v(\"，即不做嵌套处理。\"),a(\"code\",{pre:!0},[s._v(\"native\")]),s._v(\"只在开始滚动时判断是否到达边界并开启外层滚动，与浏览器原生的嵌套滚动保持一致。\"),a(\"code\",{pre:!0},[s._v(\"free\")]),s._v(\"模式下，内层滚动过程中只要触发边界，便会开启外层滚动。\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'none', 'native', 'free'\")]),s._v(\" \"),a(\"td\",[s._v(\"'none'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\"中 better-scroll 的几个常用配置项，\"),a(\"code\",{pre:!0},[s._v(\"scrollbar\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\"这三个配置即可设为 \"),a(\"code\",{pre:!0},[s._v(\"Boolean\")]),s._v(\"（\"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\" 关闭该功能，\"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 开启该功能，并使用默认子配置），也可设为\"),a(\"code\",{pre:!0},[s._v(\"Object\")]),s._v(\"，开启该功能并具体定制其子配置项。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"scrollbar\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"fade\")]),s._v(\" \"),a(\"td\",[s._v(\"是否淡入淡出\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"threshold\")]),s._v(\" \"),a(\"td\",[s._v(\"下拉刷新动作的下拉距离阈值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"90\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"stop\")]),s._v(\" \"),a(\"td\",[s._v(\"回弹停留的位置\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"组件会自动计算回弹时显示的元素高度作为默认值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"stopTime\")]),s._v(\" \"),a(\"td\",[s._v(\"刷新成功的文案显示时间\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"600\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txt\")]),s._v(\" \"),a(\"td\",[s._v(\"刷新成功的文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"'Refresh success'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"threshold\")]),s._v(\" \"),a(\"td\",[s._v(\"上拉刷新动作的上拉距离阈值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txt\")]),s._v(\" \"),a(\"td\",[s._v(\"上拉加载的相关文案\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{ more: '', noMore: '' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.12.21\")])]),s._v(\" \"),a(\"td\",[s._v(\"内容不满一屏时，txt 文案是否可见\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"当开启 pullUpLoad，且内容较少，内容高度小于容器时，默认情况下，\"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad.txt\")]),s._v(\" 配置的文案如“上滑加载更多”，需要上拉后才能看到。如果希望无需上拉即可看到提示文案，可以设置 \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad.visible\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\"。\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"基于\"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"属性渲染的列表\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulldown\")]),s._v(\" \"),a(\"td\",[s._v(\"位于列表上方，会在下拉刷新时显示\")]),s._v(\" \"),a(\"td\",[s._v(\"pullDownRefresh: 是否开启了下拉刷新功能 \"),a(\"br\"),s._v(\" pullDownStyle: 移入移出的样式 \"),a(\"br\"),s._v(\" beforePullDown: 是否正在做下拉操作 \"),a(\"br\"),s._v(\" isPullingDown: 是否正在拉取数据 \"),a(\"br\"),s._v(\" bubbleY: 当前下拉的距离 - 50\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullup\")]),s._v(\" \"),a(\"td\",[s._v(\"位于列表下方，会在上拉加载时显示\")]),s._v(\" \"),a(\"td\",[s._v(\"pullUpLoad: 是否开启了上拉加载功能 \"),a(\"br\"),s._v(\" isPullUpLoad: 是否正在加载数据\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"click\")]),s._v(\" \"),a(\"td\",[s._v(\"点击列表项时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"item - 该列表项的数据\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll\")]),s._v(\" \"),a(\"td\",[s._v(\"当 \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" 包含 \"),a(\"code\",{pre:!0},[s._v(\"scroll\")]),s._v(\" 时，根据 probeType 的值决定派发时机\")]),s._v(\" \"),a(\"td\",[s._v(\"Object {x, y} - 实时滚动位置的坐标\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"before-scroll-start\")]),s._v(\" \"),a(\"td\",[s._v(\"当 \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" 包含 \"),a(\"code\",{pre:!0},[s._v(\"before-scroll-start\")]),s._v(\" 时，在滚动开始之前触发\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll-end\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"当 \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" 包含 \"),a(\"code\",{pre:!0},[s._v(\"scroll-end\")]),s._v(\" 时，在滚动结束时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"Object {x, y} - 实时滚动位置的坐标\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-down\")]),s._v(\" \"),a(\"td\",[s._v(\"当 pullDownRefresh 属性为 true 时，在下拉超过阈值时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-up\")]),s._v(\" \"),a(\"td\",[s._v(\"当 pullUpLoad 属性为 true 时，在上拉超过阈值时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"scrollTo(x, y, time, ease)\")]),s._v(\" \"),a(\"td\",[s._v(\"滚动到指定位置\")]),s._v(\" \"),a(\"td\",[s._v(\"x: number, 横向位置\"),a(\"br\"),s._v(\" y: number, 纵向位置\"),a(\"br\"),s._v(\" time: number, 过渡动画时间 (ms)\"),a(\"br\"),s._v(\" ease: EasingFn, 缓动曲线\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"forceUpdate(dirty, nomore\"),a(\"sup\",[s._v(\"1.12.21\")]),s._v(\")\")]),s._v(\" \"),a(\"td\",[s._v(\"标记上拉下拉结束，强制重新计算可滚动距离\")]),s._v(\" \"),a(\"td\",[s._v(\"dirty: boolean, 标识有数据更新，默认为 false。\"),a(\"br\"),s._v(\"nomore: boolean, pullUpLoad 中标识没有更多数据，默认为 false。1.12.21版本后支持 nomore 参数，当 nomore 为 true 时，上拉加载展示 \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad.txt.nomore\")]),s._v(\" 值，但当 dirty 为 false 时，nomore 无效。\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disable()\")]),s._v(\" \"),a(\"td\",[s._v(\"禁用滚动\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"enable()\")]),s._v(\" \"),a(\"td\",[s._v(\"启用滚动，默认是开启滚动的。\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"resetPullUpTxt()\")]),s._v(\" \"),a(\"td\",[s._v(\"当从无更多切换到有更多时，重置上拉文本内容\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"refresh()\")]),s._v(\" \"),a(\"td\",[s._v(\"刷新，重新计算高度且刷新 BetterScroll 实例\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"属性名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"scroll\")]),s._v(\" \"),a(\"td\",[s._v(\"可以通过该属性获得内部实现滚动核心的 BScoll 实例，从而获得更多 BScoll 的底层能力，如监听\"),a(\"code\",{pre:!0},[s._v(\"touchEnd\")]),s._v(\"事件，获得滚动中的中间状态等，具体可查看\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/\"}},[s._v(\" better-scroll 文档\")])])])])])}]}},kegs:function(s,t,a){s.exports=a(\"/Z59\")}});"
  },
  {
    "path": "docs/js/2.2432e5fc0d2475977d63.js",
    "content": "webpackJsonp([2],{OsmJ:function(s,a,t){s.exports=t(\"mXmL\")},QKcl:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"Validator\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Validator-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Validator\")]),s._v(\" \"),s._m(0),s._v(\" \"),t(\"p\",[s._v(\"校验器，用于对表单进行验证，并提示相应的错误信息。\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"示例\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"Props\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"h3\",{attrs:{id:\"Slot\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(3),s._v(\" \"),t(\"h3\",{attrs:{id:\"事件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(4),s._v(\" \"),t(\"h3\",{attrs:{id:\"实例方法\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"规则\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-规则-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 规则\")]),s._v(\" \"),s._m(6),s._v(\" \"),t(\"h3\",{attrs:{id:\"添加默认提示信息\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-添加默认提示信息-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 添加默认提示信息\")]),s._v(\" \"),t(\"p\",[s._v(\"首先我们看一下内置的默认提示信息是怎样的，如果你需要修改，可以通过 addMessage 修改相应子属性。\")]),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),t(\"p\",[s._v(\"如上，组件内部解析默认的消息是类似于 Vue filter 的机制。\")]),s._v(\" \"),s._m(11),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),t(\"p\",[s._v(\"通过 Validator.addHelper 方法注册的工具函数实际上是在 Locale.helpers 的命名空间下，你也可以导入 Locale 模块并且通过 Locale.addHelper 注册工具函数，两者都是指向同一块内存地址。\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"添加类型\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-添加类型-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 添加类型\")]),s._v(\" \"),s._m(16),s._v(\" \"),s._m(17),s._v(\" \"),s._m(18),s._v(\" \"),s._m(19)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"1.5.0 新增\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),t(\"p\",[s._v(\"Validator 作为一个独立的组件，通过 model 属性绑定它需要检验的数据；rules 定义验证规则，在 rules 规则中，可以配置 type、required 等内置规则，也可以用 pattern 添加校验的正则表达式，或 custom 自定义验证函数，具体细节可见后面的规则；针对各类规则，我们有比较完善的默认提示文案，具体可见后面的默认提示文案；同时，你也可以用 messages 属性用于自定义提示信息。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"E-mail\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":messages\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"messages\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/didi.com$/\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"val\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" val.length >= \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"12\")]),s._v(\"\\n        }\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The E-mail suffix need to be didi.com.'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The E-mail need contain at least 12 characters.'\")]),s._v(\"\\n      },\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"给表单添加警告样式\")]),s._v(\" \"),t(\"p\",[s._v(\"如果想给表单组件添加警告样式，可以通过把表单组件作为默认插槽，插在 Validator 组件内。因为当未通过验证时，Validator 组件会有一个样式类，cube-validator_warn，给这个类下的表单元素增加样式即可。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6\")]),s._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-css\"}},[s._v(\"// \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"add\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"warning\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"style\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"to\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"input\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-validator_warn\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"input\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"border\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"solid\")]),s._v(\" 1\"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"px\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"yellow\")]),s._v(\"\\n\")])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"自定义提示插槽\")]),s._v(\" \"),t(\"p\",[s._v(\"用 messages 属性只能配置提示信息文案，但当你想加图标等自定义提示时，可以使用 message 插槽。这是一个作用域插槽，提供的作用域参数基本上能够满足所有的灵活定制需求，参数包括了：dirty，待检验的数据是否有修改过；message，首条没通过的规则的提示信息；result，对象，内含每条规则的校验结果和提示信息，如{ required: { valid: false, invalid: true, message: '必填' } }。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":messages\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"messages\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"component name\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"message\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"custom-msg\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(props.dirty || props.validated) && !valid\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"dd-cubeic-important\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\" {{ props.message }}\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in Object.values(props.result)\"')]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.inValid\"')]),s._v(\">\")]),s._v(\"\\n          {{ item.message + ' ' }}\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'string'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/^cube-/\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The component name need start with \\\"cube-\\\"'\")]),s._v(\"\\n      },\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-css\"}},[t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".custom-msg\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"color\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"orange\")]),s._v(\"\\n\")])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"异步校验\"),t(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),t(\"p\",[s._v(\"支持校验规则是异步的情况，约定如果校验规则函数的返回值是一个函数（\"),t(\"strong\",[s._v(\"该函数接收一个 \"),t(\"code\",{pre:!0},[s._v(\"resolve\")]),s._v(\" 回调，如果调用传入 \"),t(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 则代表校验成功，否则都视为失败\")]),s._v(\"）或者是一个 Promise 对象（\"),t(\"strong\",[t(\"code\",{pre:!0},[s._v(\"resolve\")]),s._v(\" 的值是 \"),t(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 的话就是校验成功，否则都视为失败\")]),s._v(\"）那么就是异步校验，同时在校验的过程中会派发 \"),t(\"code\",{pre:!0},[s._v(\"validating\")]),s._v(\" 事件，在校验后派发 \"),t(\"code\",{pre:!0},[s._v(\"validated\")]),s._v(\" 事件。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator-item\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"Async validate: \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"captcha\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":messages\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"messages\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":immediate\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"immediate\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validating\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validatingHandler\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validated\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validatedHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"captcha\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Please input captcha\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"captcha\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'number'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"captchaCheck\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"val\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"resolve\")]),s._v(\") =>\")]),s._v(\" {\\n            setTimeout(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n              resolve(val === \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'123456'\")]),s._v(\")\\n            }, \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n          }\\n          \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/** or return promise:\\n          return new Promise((resolve) => {\\n            setTimeout(() => {\\n              resolve(val === '123456')\\n            }, 1000)\\n          })\\n          **/\")]),s._v(\"\\n        }\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"captchaCheck\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input \\\"123456\\\"'\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    validatingHandler() {\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validating'\")]),s._v(\")\\n    },\\n    validatedHandler() {\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validated'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"上述的 \"),t(\"code\",{pre:!0},[s._v(\"captchaCheck\")]),s._v(\" 就是一个异步校验规则，校验过程需花费 1 秒。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"提交\")]),s._v(\" \"),t(\"p\",[s._v(\"虽然提交不属于 Validator 组件，但它往往与校验结果相关联着。所以这里说一下我们对提交的一种最佳实践，可供参考。重点在于对同时存在多个校验任务，以及提交时无论是否填写过表单都要进行校验，这两个需求的处理。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text0\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Required\"')]),s._v(\"/>\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator0\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"result[0]\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text0\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules0\"')]),s._v(\"/>\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text1\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"E-mail\"')]),s._v(\"/>\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator1\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"result[1]\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text1\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules1\"')]),s._v(\"/>\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text2\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"TEL\"')]),s._v(\"/>\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator2\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"result[2]\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text2\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules2\"')]),s._v(\"/>\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submit\"')]),s._v(\">\")]),s._v(\"Submit\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"result\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\"],\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text0\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules0\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text1\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules1\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\",\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text2\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules2\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tel'\")]),s._v(\",\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"trigger\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submit() {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" p1 = \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.validator0.validate()\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" p2 = \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.validator1.validate()\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" p3 = \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.validator2.validate()\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\".all([p1, p2, p3]).then(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".result.every(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"item\")]),s._v(\" =>\")]),s._v(\" item)) {\\n          \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Submited'\")]),s._v(\",\\n            \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      })\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"对于有多个校验同时通过才可提交的情况，为了不用一个一个去取校验结果变量，可以把这组校验结果存在一个数组，在提交时，遍历这个数组即可。\")]),s._v(\" \"),t(\"p\",[s._v(\"通过调用 Validator 实例的 \"),t(\"code\",{pre:!0},[s._v(\"validate\")]),s._v(\" 方法可以去校验处理，从 1.8.0 版本后支持回调参数且如果浏览器支持 Promise 那么返回值就是 Promise 对象。\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"model\")]),s._v(\" \"),t(\"td\",[s._v(\"必传，指定需要校验的数据\")]),s._v(\" \"),t(\"td\",[s._v(\"Any\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"v-model\")]),s._v(\" \"),t(\"td\",[s._v(\"校验结果，是否通过验证\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"true\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"rules\")]),s._v(\" \"),t(\"td\",[s._v(\"校验规则，具体见后面的内置规则和创建规则\")]),s._v(\" \"),t(\"td\",[s._v(\"Object\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"{}\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"messages\")]),s._v(\" \"),t(\"td\",[s._v(\"自定义提示信息\")]),s._v(\" \"),t(\"td\",[s._v(\"Object\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"{}\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"immediate\")]),s._v(\" \"),t(\"td\",[s._v(\"初始时是否立即校验\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"false\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"disabled\"),t(\"sup\",[s._v(\"1.7.0+\")])]),s._v(\" \"),t(\"td\",[s._v(\"是否禁用\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"false\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"名字\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"default\")]),s._v(\" \"),t(\"td\",[s._v(\"表单组件\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"message\")]),s._v(\" \"),t(\"td\",[s._v(\"错误提示\")]),s._v(\" \"),t(\"td\",[s._v(\"dirty: 待检验的数据是否有修改过 \"),t(\"br\"),s._v(\" validating: 是否正在校验 \"),t(\"br\"),s._v(\" validated: 是否校验过 \"),t(\"br\"),s._v(\" message: 首条没通过的规则的提示信息 \"),t(\"br\"),s._v(\" result: 对象，内含每条规则的校验结果和提示信息，如{ required: { valid: false, invalid: true, message: '必填' } }\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"事件名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"validating\")]),s._v(\" \"),t(\"td\",[s._v(\"正在校验（只在异步场景下触发）\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"validated\")]),s._v(\" \"),t(\"td\",[s._v(\"校验完成（只在异步场景下触发）\")]),s._v(\" \"),t(\"td\",[s._v(\"valid: 校验是否成功\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"msg-click\")]),s._v(\" \"),t(\"td\",[s._v(\"错误消息点击\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"input\")]),s._v(\" \"),t(\"td\",[s._v(\"绑定值变化时触发\")]),s._v(\" \"),t(\"td\",[s._v(\"更新后的绑定值\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"方法名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"返回值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"validate(cb)\")]),s._v(\" \"),t(\"td\",[s._v(\"校验\")]),s._v(\" \"),t(\"td\",[s._v(\"cb: 校验完成后回调函数，主要用于异步校验场景，调用参数为 valid 的值\")]),s._v(\" \"),t(\"td\",[s._v(\"如果支持 Promise 返回值为 Promise 对象（只有 resolved 状态，值为 valid），否则返回值为 undefined\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"已有规则\")]),s._v(\" \"),t(\"p\",[s._v(\"目前已有的内置规则，有 required、type、min、max、len、notWhitespace、pattern、custom。\")]),s._v(\" \"),t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"required\")]),s._v(\" \"),t(\"td\",[s._v(\"必填\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"true\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"type\")]),s._v(\" \"),t(\"td\",[s._v(\"类型\")]),s._v(\" \"),t(\"td\",[s._v(\"String\")]),s._v(\" \"),t(\"td\",[s._v(\"'string', 'number', 'array', 'date', 'email', 'tel', 'url'\")]),s._v(\" \"),t(\"td\",[s._v(\"'tel'\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"min\")]),s._v(\" \"),t(\"td\",[s._v(\"当类型为 number 或 date 时，表示待校验的数据必须大于等于 min；其它类型，表示待校验数据的长度必须大于等于 min\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"6\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"max\")]),s._v(\" \"),t(\"td\",[s._v(\"当类型为 number 或 date 时，表示待校验的数据必须小于等于 max；其它类型，表示待校验数据的长度必须小于等于 max\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"8\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"len\")]),s._v(\" \"),t(\"td\",[s._v(\"当类型为 number 或 date 时，表示待校验的数据必须等于 len；其它类型，表示待校验数据的长度必须等于 len\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"7\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"notWhitespace\")]),s._v(\" \"),t(\"td\",[s._v(\"不允许全是空白符\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"true\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"pattern\")]),s._v(\" \"),t(\"td\",[s._v(\"正则匹配\")]),s._v(\" \"),t(\"td\",[s._v(\"RegExp\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"/1$/\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"custom\")]),s._v(\" \"),t(\"td\",[s._v(\"自定义验证函数，当返回值严格等于 true 时，代表验证通过。\")]),s._v(\" \"),t(\"td\",[s._v(\"Function\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"val => val.length === 7\")])])])])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"添加规则\")]),s._v(\" \"),t(\"p\",[s._v(\"除了已有的内置规则，你还可以使用 Validator 的 addRule 方法，添加自定义的公共规则，以及 addMessage 方法添加相应的默认提示信息。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// need use Validator\")]),s._v(\"\\nVue.use(Validator)\\nValidator.addRule(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'odd'\")]),s._v(\", (val, config, type) => !config || \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Number\")]),s._v(\"(val) % \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\" === \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\nValidator.addMessage(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'odd'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input odd.'\")]),s._v(\")\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"接下来你就可以在 rules 的配置中使用 odd 规则了：\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text3\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"odd\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'100'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'number'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"odd\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[s._v(\"内置的默认提示信息\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" messages = {\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'此为必填项'\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入数字'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'数据类型应为数组'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择有效日期'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效邮箱'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效的手机号码'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效网址'\")]),s._v(\"\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不得小于 {{config}}'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择至少 {{config}} 项'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之后的时间'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\"\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿大于 {{config}}'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'最多选择 {{config}} 项'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之前的时间'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\"\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'长度应等于 {{config}}'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config}} 项'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之前的时间'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\"\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'格式错误'\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'未通过校验'\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"notWhitespace\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'空白内容无效'\")]),s._v(\"\\n}\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[s._v(\"修改已有提示信息\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// need use Validator\")]),s._v(\"\\nVue.use(Validator)\\n\\nValidator.addMessage(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'required'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'必填'\")]),s._v(\")\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 覆盖 min.date 的提示消息\")]),s._v(\"\\nValidator.addMessage(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'min'\")]),s._v(\", {\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\\'请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\") | tips(\"请重新输入\")}} 之后的时间\\'')]),s._v(\"\\n})\\nValidator.addHelper(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tips'\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"result, arg1\")]),s._v(\") \")]),s._v(\"{\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 必须要返回提示消息\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`\"),t(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${result}\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${arg1}\")]),s._v(\"`\")]),s._v(\"\\n})\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[s._v(\"config\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"比如你配置的规则是：{type: 'date', min: '2018-10-10'}，那么对于 \"),t(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" 下面的 \"),t(\"code\",{pre:!0},[s._v(\"date\")]),s._v(\" 的消息模板中的 \"),t(\"code\",{pre:!0},[s._v(\"config\")]),s._v(\" 字段的值就是 '2018-10-10', 因为校验的是一个 \"),t(\"code\",{pre:!0},[s._v(\"date\")]),s._v(\" 类型，\"),t(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" 对应的字段可以是一个 \"),t(\"code\",{pre:!0},[s._v(\"timestamp\")]),s._v(\" (日期时间戳)或者类似于日期格式的字符串 \"),t(\"code\",{pre:!0},[s._v(\"yyyy-MM-dd mm:ss\")]),s._v(\" 或者 \"),t(\"code\",{pre:!0},[s._v(\"yyyy/MM/dd mm:ss\")]),s._v(\"。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[s._v(\"toLocaleDateString\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"内置的helper函数，第一个参数是你配置的 config 值，第二个参数是你期望的日期格式， 如上则为 \"),t(\"code\",{pre:!0},[s._v(\"'yyyy年MM月dd日'\")]),s._v(\", 接受类似于 \"),t(\"code\",{pre:!0},[s._v(\"yyyy-MM-dd mm:ss\")]),s._v(\" 格式，你也可以通过如下的方式注册你自己的helper函数。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"Validator.addHelper(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'fnName'\")]),s._v(\", (result, arg1) => {\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// result -> 上一个helper函数返回的值或者 config 值，如上例则是'2018-10-10'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// arg1 -> 你在消息模板传入的字符串, 如上例则是'请重新输入'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" ret\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 实现自己的逻辑\")]),s._v(\"\\n  ret = result + arg1\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 必须返回处理过后的消息\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" ret\\n})\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[s._v(\"添加新的类型\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nValidator.addType(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'yourType'\")]),s._v(\", (val) => {\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"typeof\")]),s._v(\" val === \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'string'\")]),s._v(\" && \"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/^[a-z0-9_-]+/i\")]),s._v(\".test(val)\\n})\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[s._v(\"修改已有类型\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nValidator.addType(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\", (val) => {\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"typeof\")]),s._v(\" val === \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'string'\")]),s._v(\" && \"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/^[a-z0-9_-]+@[a-z0-9_-]+(\\\\.[a-z0-9_-]+)$/i\")]),s._v(\".test(val)\\n})\\n\")])])}]}},mXmL:function(s,a,t){var v=t(\"VU/8\")(null,t(\"QKcl\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/20.54471a66679d37700a5e.js",
    "content": "webpackJsonp([20],{BVMP:function(s,a,t){var v=t(\"VU/8\")(null,t(\"oI5G\"),null,null,null);s.exports=v.exports},\"iP+r\":function(s,a,t){s.exports=t(\"BVMP\")},oI5G:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"ScrollNav组件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ScrollNav组件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" ScrollNav 组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),t(\"p\",[s._v(\"滚动导航组件。\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"示例\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"Props\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),t(\"h4\",{attrs:{id:\"CubeScrollNav\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeScrollNav-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeScrollNav\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"h4\",{attrs:{id:\"CubeScrollNavPanel\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeScrollNavPanel-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeScrollNavPanel\")]),s._v(\" \"),s._m(3),s._v(\" \"),t(\"h3\",{attrs:{id:\"插槽\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(4),s._v(\" \"),t(\"h3\",{attrs:{id:\"事件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"实例方法\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"1.10.0 新增\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"基本使用 - Default\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in data\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food in item.foods\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food.icon\"')]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{food.name}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" goodsData \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/goods-list.json'\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" goods = goodsData.goods\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": goods\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(label) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'changed to:'\")]),s._v(\", label)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"goods\")]),s._v(\" 的结构类似于这样：\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"goods\"')]),s._v(\": [\\n  {\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"热销榜\"')]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"type\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"-1\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"foods\"')]),s._v(\": [\\n      {\\n        \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"皮蛋瘦肉粥\"')]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\"')]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"image\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"')]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    ]\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n]\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"cube-scroll-nav\")]),s._v(\" 需要和 \"),t(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-panel\")]),s._v(\" 组件配合使用，\"),t(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-panel\")]),s._v(\" 就是每一个需要导航定位到的面板组件。\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-panel\")]),s._v(\" 组件需要一个必须的 Prop：\"),t(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"，唯一标示 key 值。\")]),s._v(\" \"),t(\"p\",[s._v(\"当导航 active 项发生变化的时候就会触发 \"),t(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" 事件。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"侧边式 - Side Style\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":side\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":current\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"current\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@sticky-change\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stickyChangeHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"prepend-header\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"prepend\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"11\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"22\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"333\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in data\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food in item.foods\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food.icon\"')]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{food.name}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" goodsData \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/goods-list.json'\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" goods = goodsData.goods\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"components\")]),s._v(\": {\\n    CubePage\\n  },\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": goods,\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"current\")]),s._v(\": goods[\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"].name\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(label) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'changed to:'\")]),s._v(\", label)\\n    },\\n    stickyChangeHandler(current) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sticky-change'\")]),s._v(\", current)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"side\")]),s._v(\" 设置为 \"),t(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 代表是一个侧边样式效果；\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 则是默认传入的数据，这个数据会被传入内部使用的 \"),t(\"code\",{pre:!0},[s._v(\"cube-scroll\")]),s._v(\" 组件，当 \"),t(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 发生变化时，scroll 组件会自动刷新；\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"current\")]),s._v(\" 是导航默认值，如果有值则会默认滚动到相对应的面板 Panel 的位置。\")]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"sticky-change\")]),s._v(\" 就是当前导航条的吸附状态发生改变的时候触发，参数可能的值目前只有两个，一个是 \"),t(\"code\",{pre:!0},[s._v(\"''\")]),s._v(\" 一个是 \"),t(\"code\",{pre:!0},[s._v(\"'cube-scroll-nav-bar'\")]),s._v(\"。\")]),s._v(\" \"),t(\"p\",[s._v(\"此外，这里还在 \"),t(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-panel\")]),s._v(\" 之前插入了一些内容，利用 \"),t(\"code\",{pre:!0},[s._v(\"prepend\")]),s._v(\" 插槽实现。\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"data\")]),s._v(\" \"),t(\"td\",[s._v(\"数据源，可选\")]),s._v(\" \"),t(\"td\",[s._v(\"Array\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"side\")]),s._v(\" \"),t(\"td\",[s._v(\"是否是侧边样式\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"false\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"current\")]),s._v(\" \"),t(\"td\",[s._v(\"当前导航 active 项的 key 值\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"''\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"speed\")]),s._v(\" \"),t(\"td\",[s._v(\"点击导航切换到指定位置的速度\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"300\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"options\")]),s._v(\" \"),t(\"td\",[s._v(\"better-scroll 配置项，具体请参考\"),t(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS 官方文档\")])]),s._v(\" \"),t(\"td\",[s._v(\"Object\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"{} \"),t(\"br\"),t(\"code\",{pre:!0},[s._v(\"注意\")]),s._v(\"：从\"),t(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\"版本开始，因修复\"),t(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\"在\"),t(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\"版本的滚动问题，\"),t(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\"在iOS版本>=13.4时默认为\"),t(\"code\",{pre:!0},[s._v(\"fasle\")]),t(\"br\"),s._v(\"具体请参考\"),t(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")])])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"label\")]),s._v(\" \"),t(\"td\",[s._v(\"必须，面板的唯一标示的值\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"title\")]),s._v(\" \"),t(\"td\",[s._v(\"面板标题内容，可以是 HTML 字符串\")]),s._v(\" \"),t(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"默认等于 label\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"名字\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"default\")]),s._v(\" \"),t(\"td\",[s._v(\"默认面板内容\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"prepend\")]),s._v(\" \"),t(\"td\",[s._v(\"前置内容，在导航之前\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"bar\")]),s._v(\" \"),t(\"td\",[s._v(\"导航内容，如果需要自定义导航结构的话使用，里边放置 cube-scroll-nav-bar 组件\")]),s._v(\" \"),t(\"td\",[s._v(\"labels: 所有面板的 label 值集合\"),t(\"br\"),s._v(\"txts: 所有面板的 title 值集合\"),t(\"br\"),s._v(\"current: 当前导航 active 项的 key 值\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"事件名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"change\")]),s._v(\" \"),t(\"td\",[s._v(\"当导航 active 项发生变化的时候\")]),s._v(\" \"),t(\"td\",[s._v(\"active - 当前 active 的 key 值\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"sticky-change\")]),s._v(\" \"),t(\"td\",[s._v(\"当前导航条的吸附状态发生改变的时候触发\")]),s._v(\" \"),t(\"td\",[s._v(\"current - 如果未吸附，则值为 '' 否则为 'cube-scroll-nav-bar'\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"方法名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"refresh\")]),s._v(\" \"),t(\"td\",[s._v(\"刷新，当内容或高度发生变化时可用于重新计算整体内容、位置\")])])])])}]}}});"
  },
  {
    "path": "docs/js/21.4f7be796c379f2d96aa4.js",
    "content": "webpackJsonp([21],{T9KO:function(s,t,a){s.exports=a(\"VFp7\")},VFp7:function(s,t,a){var r=a(\"VU/8\")(null,a(\"g1Cz\"),null,null,null);s.exports=r.exports},g1Cz:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"ScrollNavBar组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ScrollNavBar组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" ScrollNavBar 组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"滚动导航条组件，效果类似于滴滴打车业务线切换。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.10.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"横向，默认\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-bar\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":current\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"current\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":labels\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"labels\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"current\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"labels\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'小巴'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'专车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'顺风车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'代驾'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'公交'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'自驾租车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'豪华车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'二手车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'出租车'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(cur) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".current = cur\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可以通过 \"),a(\"code\",{pre:!0},[s._v(\"current\")]),s._v(\" 指定 active 的 key 值，\"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\" 则是所有的 key 值的集合；当 active 的值发生变化后，会触发 \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" 事件。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"竖向\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"side-container\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-bar\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"vertical\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":current\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"current\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":labels\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"labels\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":txts\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"txts\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"{{props.txt}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-bar\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"current\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"labels\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'小巴'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'专车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'顺风车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'代驾'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'公交'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'自驾租车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'豪华车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'二手车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'出租车'\")]),s._v(\"\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txts\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1快车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2小巴'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3专车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4顺风车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5代驾'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6公交'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7自驾租车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8豪华车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'9二手车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'10出租车'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(cur) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".current = cur\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".side-container\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"300px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"margin-top\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"这是一个竖向的示例，\"),a(\"code\",{pre:!0},[s._v(\"direction\")]),s._v(\" 设置为 \"),a(\"code\",{pre:!0},[s._v(\"vertical\")]),s._v(\" 代表是一个竖向导航条样式；这里还使用了 \"),a(\"code\",{pre:!0},[s._v(\"txts\")]),s._v(\" Prop 用于指定展示文案，顺序是和 \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\" 一一对应的，如果没传入 \"),a(\"code\",{pre:!0},[s._v(\"txts\")]),s._v(\"，则默认 \"),a(\"code\",{pre:!0},[s._v(\"txts\")]),s._v(\" 就等于 \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\"。\")]),s._v(\" \"),a(\"p\",[s._v(\"该示例中还展示了默认作用域插槽的使用，\"),a(\"code\",{pre:!0},[s._v(\"props.txt\")]),s._v(\" 就是当前项的 txt 的值。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"方向，默认横向，horizontal\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal/vertical\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"labels\")]),s._v(\" \"),a(\"td\",[s._v(\"所有的 key 值集合\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txts\")]),s._v(\" \"),a(\"td\",[s._v(\"显示所有文案集合，和 labels 一一对应，每项可以是 HTML 字符串\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"默认等于 labes\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"current\")]),s._v(\" \"),a(\"td\",[s._v(\"当前 active 的 key 值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"better-scroll 配置项，具体请参考\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS 官方文档\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}  \"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"注意\")]),s._v(\"：从\"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\"版本开始，因修复\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\"在\"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\"版本的滚动问题，\"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\"在iOS版本>=13.4时默认为\"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),a(\"br\"),s._v(\"具体请参考\"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"默认内容\")]),s._v(\" \"),a(\"td\",[s._v(\"txt: 当前项文案 txt 的值\"),a(\"br\"),s._v(\"index: 当前索引值\"),a(\"br\"),s._v(\"active: 当前 active 的 key 值\"),a(\"br\"),s._v(\"label: 当前项 label 值，即 key 值\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"当 active 项发生改变的时候触发\")]),s._v(\" \"),a(\"td\",[s._v(\"active - 当前 active 的 key 值\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"刷新，当内容发生变化时可用于刷新 scroll 以及重新适应位置\")])])])])}]}}});"
  },
  {
    "path": "docs/js/22.243e0384e9430df62447.js",
    "content": "webpackJsonp([22],{XAaT:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"RecycleList\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-RecycleList-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" RecycleList\")]),s._v(\" \"),s._m(0),s._v(\" \"),t(\"p\",[s._v(\"可回收的滚动列表，始终将 DOM 的数量控制在一个很低的范围。在海量数据的渲染列表中，拥有卓越的性能。\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"注意事项\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-注意事项-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 注意事项\")]),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"示例\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"h3\",{attrs:{id:\"Props配置\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),t(\"h3\",{attrs:{id:\"插槽\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"实例方法\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"1.12.0 新增\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"首先要实现无限滚动，必须保证要有一个固定高度的父容器元素包裹组件。详细可以参考示例。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"如果列表内容存在不固定宽高的图片，由于图片加载的机制，每个 item 的 DOM 渲染了，图片可能还未加载，导致每个 item 的位置计算错误，所以作为调用方，需要将未加载的图片用样式固定住，这样就能避免高度计算错误。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"内部的实现依赖 Promise，所以你需要引入 Promise polyfill 来做兼容。\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[t(\"strong\",[s._v(\"1. 默认使用\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"view-wrapper\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":size\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"size\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":on-fetch\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onFetch\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":offset\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"offset\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{ data }\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":id\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.id\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"handleClick(data)\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"avatar\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\\\"\")]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bubble\"')]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{ data.msg }}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"meta\"')]),s._v(\">\")]),s._v(\"\\n            \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"posted-date\"')]),s._v(\">\")]),s._v(\"{{ data.time }}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"size\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"offset\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100\")]),s._v(\"\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onFetch() {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" items = []\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"resolve\")]),s._v(\") =>\")]),s._v(\" {\\n        \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 模拟请求 50 条数据，因为 size 设置为 50\")]),s._v(\"\\n        setTimeout(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"for\")]),s._v(\" (\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" i = \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"; i < \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50\")]),s._v(\"; i++) {\\n            items.push({\\n              \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": i,\\n              \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"avatar\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg'\")]),s._v(\",\\n              \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"msg\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'123'\")]),s._v(\",\\n              \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Thu Oct 25 2018 15:02:12 GMT+0800 (中国标准时间)'\")]),s._v(\"\\n            })\\n          }\\n          resolve(items)\\n        }, \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n      })\\n    },\\n    handleClick(data) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Item:'\")]),s._v(\" + data)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* 限制视口 包裹组件*/\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".view-wrapper\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"position\")]),s._v(\": fixed\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"top\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"54px\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"left\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"bottom\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"width\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"p\",[s._v(\"绝大部分的列表交互，都是当用户滚动到底部再去请求下一页数据，组件的默认实现就是根据此交互而来。\")]),s._v(\" \"),t(\"p\",[s._v(\"组件接收 \"),t(\"code\",{pre:!0},[s._v(\"size\")]),s._v(\" 作为 props，用来控制一次渲染多少条数据。\"),t(\"code\",{pre:!0},[s._v(\"offset\")]),s._v(\" 是配置底部拉取数据的距离，\"),t(\"code\",{pre:!0},[s._v(\"onFetch\")]),s._v(\" 是一个函数，此属性是必传的，并且函数的返回值必须是一个 Promise，同时调用 resolve 函数的时候必须将 items（\"),t(\"strong\",[s._v(\"数组\")]),s._v(\"） 传入，这样组件就能拿到 \"),t(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\"。当然如果想要停止滚动，请传入 \"),t(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\"。\")]),s._v(\" \"),t(\"p\",[s._v(\"组件支持作用域插槽，你可以通过以上示例的解构赋值，拿到组件传给调用方的 \"),t(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"（items 的每一个数据项）。\")]),s._v(\" \"),t(\"p\",[s._v(\"完整示例代码在\"),t(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-default.vue\"}},[s._v(\"这里\")]),s._v(\"。\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[t(\"strong\",[s._v(\"2. Infinite\")])]),s._v(\" \"),t(\"p\",[s._v(\"然而，组件还支持第二种交互方式，无限滚动模式，以 \"),t(\"code\",{pre:!0},[s._v(\"tombstone\")]),s._v(\" 作为占位符，\\b给用户一种可感知的页面元素，让交互变的更加友好、人性化。\\n完整示例代码在\"),t(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-tombstone.vue\"}},[s._v(\"这里\")]),s._v(\"。\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"view-wrapper\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":infinite\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"infinite\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":size\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"size\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":on-fetch\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onFetch\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- tombstone 的作用域插槽 slot-scope 必须声明 --\\x3e\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tombstone\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item tombstone\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"avatar\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bubble\"')]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"meta\"')]),s._v(\">\")]),s._v(\"\\n            \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"posted-date\"')]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{ data }\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":id\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.id\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"handleClick(data)\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"avatar\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\\\"\")]),s._v(\">\")]),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bubble\"')]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{ data.msg }}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"meta\"')]),s._v(\">\")]),s._v(\"\\n            \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"posted-date\"')]),s._v(\">\")]),s._v(\"{{ data.time }}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\">\")]),s._v(\"\\n          \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v('\\x3c!-- <div slot=\"spinner\">Loading Data</div> --\\x3e')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v('\\x3c!-- <div slot=\"noMore\">没有更多数据了</div> --\\x3e')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"infinite\")]),s._v(\" 用来开启无限滚动模式。当你开启这个配置的时候，必须通过 \"),t(\"code\",{pre:!0},[s._v(\"tombstone\")]),s._v(\" 作用域插槽实现个性化样式。支持 \"),t(\"code\",{pre:!0},[s._v(\"spinner\")]),s._v(\" 与 \"),t(\"code\",{pre:!0},[s._v(\"noMore\")]),s._v(\" 插槽来定制化显示加载更多以及无更多数据的视图展示。\"),t(\"code\",{pre:!0},[s._v(\"spinner\")]),s._v(\" 默认是一个 loading 图。\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"参数\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"类型\")]),s._v(\" \"),t(\"th\",[s._v(\"可选值\")]),s._v(\" \"),t(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"infinite\")]),s._v(\" \"),t(\"td\",[s._v(\"是否无限滚动模式\")]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"false\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"size\")]),s._v(\" \"),t(\"td\",[s._v(\"一次加载的数据量\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"20\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"offset\")]),s._v(\" \"),t(\"td\",[s._v(\"底部拉取更多数据的距离\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"200\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"onFetch\")]),s._v(\" \"),t(\"td\",[s._v(\"获取更多数据\")]),s._v(\" \"),t(\"td\",[s._v(\"Function\")]),s._v(\" \"),t(\"td\",[s._v(\"必传\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[t(\"code\",{pre:!0},[s._v(\"onFetch\")]),s._v(\" 函数必须返回一个 Promise，同时 Promise 的 resolve 函数的第一个参数必须是数组或者 \"),t(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\"，如果是数组并且长度小于 size，那么组件会停止无限滚动，同理，如果是 \"),t(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\"，也会停止。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"名字\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")]),s._v(\" \"),t(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"tombstone\")]),s._v(\" \"),t(\"td\",[s._v(\"实现个性化 \"),t(\"code\",{pre:!0},[s._v(\"tombstone\")]),s._v(\" 样式的作用域插槽\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"item\")]),s._v(\" \"),t(\"td\",[s._v(\"列表某项的作用域插槽，通过此插槽实现想要的渲染视图\")]),s._v(\" \"),t(\"td\",[s._v(\"data: 调用方传入的数据项集合的某一项\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"spinner\")]),s._v(\" \"),t(\"td\",[s._v(\"加载更多的提示文案的具名插槽\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"noMore\")]),s._v(\" \"),t(\"td\",[s._v(\"无更多数据的提示文案的具名插槽\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"方法名\")]),s._v(\" \"),t(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"reset\")]),s._v(\" \"),t(\"td\",[s._v(\"清空列表全部内容，重置数据\")])])])])}]}},o5hp:function(s,a,t){var v=t(\"VU/8\")(null,t(\"XAaT\"),null,null,null);s.exports=v.exports},oF9l:function(s,a,t){s.exports=t(\"o5hp\")}});"
  },
  {
    "path": "docs/js/23.c5f3e83f3d39993c29a6.js",
    "content": "webpackJsonp([23],{IEcz:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Rate\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Rate-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Rate\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"评分组件。你可以自定义星星个数，可以禁用交互，以用作评价展示，可以通过插槽自定义星星样式。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"cube-rate-item的插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-cube-rate-item的插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" cube-rate-item 的插槽\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.5.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"p\",[s._v(\"使用 v-model 对评分值双向绑定。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"多项配置\")]),s._v(\" \"),a(\"p\",[s._v(\"例如，使用\"),a(\"code\",{pre:!0},[s._v(\"disabled\")]),s._v(\"使评分组件只读，使用\"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\"自定义评分等级，使用 \"),a(\"code\",{pre:!0},[s._v(\"justify\")]),s._v(\" 决定是否自动适应容器宽度。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":disabled\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"disabled\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":max\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"max\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":justify\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"justify\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"justify\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义星星样式\")]),s._v(\" \"),a(\"p\",[s._v(\"需要使用\"),a(\"code\",{pre:!0},[s._v(\"cube-rate-item\")]),s._v(\"组件，并且对自定义的星星元素定义两种样式——普通和活跃（在\"),a(\"code\",{pre:!0},[s._v(\".cube-rate-item.active\")]),s._v(\"类之下）。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"n in max\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"n\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":value\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"n\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- 定制星星示例 --\\x3e\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rate-item\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate-item\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-rate\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-css\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".rate-item\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"width\")]),s._v(\": 100%\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"height\")]),s._v(\": 100%\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"background-size\")]),s._v(\": 100%\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"grey\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-rate-item\")]),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".active\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".rate-item\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"orange\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"v-model\")]),s._v(\" \"),a(\"td\",[s._v(\"绑定的评分值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"星星个数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"5\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"禁用状态\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"justify\")]),s._v(\" \"),a(\"td\",[s._v(\"是否自适应容器宽度（通过在星星之间增加空隙）\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"allowHalf\"),a(\"sup\",[s._v(\"1.12.52\")])]),s._v(\" \"),a(\"td\",[s._v(\"是否支持半选\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"默认是 cube-rate-item 组件\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"自定义星星元素\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"手指从 rate item 移开时触发（当设置了 disabled 属性时，该事件不触发）\")]),s._v(\" \"),a(\"td\",[s._v(\"当前移开的 rate item 的值\")])])])])}]}},JQnJ:function(s,t,a){s.exports=a(\"c3c9\")},c3c9:function(s,t,a){var v=a(\"VU/8\")(null,a(\"IEcz\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/24.d1556b10eeafa4d49b52.js",
    "content": "webpackJsonp([24],{A1Ze:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Radio单选框组\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Radio单选框组-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Radio 单选框组\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"单选框组，可设置单选框组内容，样式等。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"cube-radioProps配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-cube-radioProps配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" cube-radio Props 配置\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(9)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.4.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option2'\")]),s._v(\"]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 为选项数组，默认不选中任何的选项，点击其中一个，则对应的 \"),a(\"code\",{pre:!0},[s._v(\"selected\")]),s._v(\" 的值就为选中项的值。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"设置 value，禁用状态，图标样式\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"position\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"right\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":hollow-style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected2\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options2\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 的值可以是对象组成的数组，默认可以设置 \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 分别代表的是显示文案和单选框的值，如果对象中包含了 \"),a(\"code\",{pre:!0},[s._v(\"disabled\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 的值，那么此单选框就处于禁用状态。\")]),s._v(\" \"),a(\"p\",[s._v(\"设置 \"),a(\"code\",{pre:!0},[s._v(\"position\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"'right'\")]),s._v(\"，则单选框图标位置在右边。设置 \"),a(\"code\",{pre:!0},[s._v(\"hollow-style\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 则使用镂空样式。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"水平排列\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected3\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options3\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":horizontal\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected3\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options3\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可通过设置 \"),a(\"code\",{pre:!0},[s._v(\"horizontal\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 改变样式为水平排列。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"使用默认插槽\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(option, index) in options4\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"option\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected4\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"option.src\"')]),s._v(\" />\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected4\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options4\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义列数\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"p\",[s._v(\"可通过设计 \"),a(\"code\",{pre:!0},[s._v(\"colNum\")]),s._v(\" 控制一行中有几列，colNum 小于1时，按1处理\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected5\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options5\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":col-num\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"colNum\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected5\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options5\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8'\")]),s._v(\"\\n        }\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"colNum\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"选项数组\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\")]),s._v(\" \"),a(\"td\",[s._v(\"图标位置\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"horizontal\")]),s._v(\" \"),a(\"td\",[s._v(\"是否水平排列\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"colNum\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"td\",[s._v(\"一行有几列\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"1\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollowStyle\")]),s._v(\" \"),a(\"td\",[s._v(\"是否是镂空样式的\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"单选框显示文字\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"单选框的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"单选框是否被禁用\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"注：如果 \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 中的项为字符串也是可以的，此时默认 \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 的值都为该字符串的值。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"option\")]),s._v(\" \"),a(\"td\",[s._v(\"选项配置\")]),s._v(\" \"),a(\"td\",[s._v(\"Object/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\")]),s._v(\" \"),a(\"td\",[s._v(\"图标位置\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollow-style\")]),s._v(\" \"),a(\"td\",[s._v(\"是否是镂空样式的\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"option\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"单选框显示文字\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"单选框的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"单选框是否被禁用\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"绑定值变化时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"选中的单选框value值\")])])])])}]}},mYHr:function(s,t,a){var v=a(\"VU/8\")(null,a(\"A1Ze\"),null,null,null);s.exports=v.exports},wPXv:function(s,t,a){s.exports=a(\"mYHr\")}});"
  },
  {
    "path": "docs/js/25.ff3890b12c1f7cf10eed.js",
    "content": "webpackJsonp([25],{\"+Ndq\":function(s,t,a){var e=a(\"VU/8\")(null,a(\"TKIV\"),null,null,null);s.exports=e.exports},\"8XCF\":function(s,t,a){s.exports=a(\"+Ndq\")},TKIV:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"快速上手\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-快速上手-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 快速上手\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"脚手架\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-脚手架-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 脚手架\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"vue-cli>=3\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-vue-cli>=3-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" vue-cli >= 3\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h4\",{attrs:{id:\"vue-cli<3\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-vue-cli<3-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" vue-cli < 3\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"安装\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-安装-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 安装\")]),s._v(\" \"),s._m(8),s._v(\" \"),a(\"h4\",{attrs:{id:\"NPM\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-NPM-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" NPM\")]),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),a(\"h4\",{attrs:{id:\"CDN\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CDN-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CDN\")]),s._v(\" \"),s._m(12),s._v(\" \"),a(\"h3\",{attrs:{id:\"使用\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-使用-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 使用\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"全部引入\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-全部引入-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 全部引入\")]),s._v(\" \"),a(\"p\",[s._v(\"一般在入口文件中：\")]),s._v(\" \"),s._m(13),s._v(\" \"),a(\"h4\",{attrs:{id:\"按需引入\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-按需引入-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 按需引入\")]),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),a(\"p\",[s._v(\"我们推荐直接全局注册：\")]),s._v(\" \"),s._m(16),s._v(\" \"),a(\"p\",[s._v(\"所有的可按需引入的组件以及模块：\")]),s._v(\" \"),s._m(17),s._v(\" \"),s._m(18),s._v(\" \"),s._m(19),s._v(\" \"),a(\"h4\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(20),s._v(\" \"),a(\"h3\",{attrs:{id:\"TypeScript开发工具\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TypeScript开发工具-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TypeScript 开发工具\")]),s._v(\" \"),a(\"p\",[s._v(\"我们将在 v1.12.39 开始提供对 TypeScript 更好的支持。\")]),s._v(\" \"),s._m(21),s._v(\" \"),a(\"h4\",{attrs:{id:\"TypeScript\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TypeScript-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TypeScript\")]),s._v(\" \"),s._m(22),s._v(\" \"),a(\"h4\",{attrs:{id:\"VisualStudioCode\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-VisualStudioCode-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Visual Studio Code\")]),s._v(\" \"),s._m(23),s._v(\" \"),a(\"h4\",{attrs:{id:\"Vetur\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Vetur-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Vetur\")]),s._v(\" \"),s._m(24)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"新手教程项目：\"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-application-guide\"}},[s._v(\"cube-application-guide\")])]),s._v(\" \"),a(\"li\",[s._v(\"遇到问题，先移步 \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/question-answer/issues\"}},[s._v(\"QA\")])]),s._v(\" \"),a(\"li\",[s._v(\"使用 nuxt，请参考\"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-nuxt-demo\"}},[s._v(\"示例仓库\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"如果你正在使用新版本的 Vue CLI vue-cli@3，那么推荐你直接使用 \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/vue-cli-plugin-cube-ui\"}},[s._v(\"vue-cli-plugin-cube-ui\")]),s._v(\" 插件。在你初始化完项目后直接执行 \"),a(\"code\",{pre:!0},[s._v(\"vue add cube-ui\")]),s._v(\" 即可。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"在执行的时候，会询问一些配置项，这个和老版本的 \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template\"}},[s._v(\"模板\")]),s._v(\" 配置是一样的，参见 \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template/wiki\"}},[s._v(\"cube-template WIKI\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"执行完成后，你可以直接进入\"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-使用-anchor\"}},[s._v(\"使用部分\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"如果你打算用在一个新项目中使用 cube-ui，可以通过我们提供的一套基于 \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs/vue-cli\"}},[s._v(\"vue-cli\")]),s._v(\" 实现的\"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template\"}},[s._v(\"脚手架模板\")]),s._v(\"去初始化 cube-ui 项目的配置和基础代码，这样你就可以忽略\"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-安装-anchor\"}},[s._v(\"安装\")]),s._v(\"步骤，直接看\"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-使用-anchor\"}},[s._v(\"使用部分\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-shell\"}},[a(\"span\",{attrs:{class:\"hljs-meta\"}},[s._v(\"$\")]),a(\"span\",{attrs:{class:\"bash\"}},[s._v(\" vue init cube-ui/cube-template projectname\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"关于初始化时特殊的配置项，请参考 \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template/wiki\"}},[s._v(\"cube-template WIKI\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"如果你打算在现有项目中使用 cube-ui，请先参考\"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-安装-anchor\"}},[s._v(\"安装\")]),s._v(\"部分。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"此安装部分只针对于 vue-cli < 3 的情况\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-shell\"}},[a(\"span\",{attrs:{class:\"hljs-meta\"}},[s._v(\"$\")]),a(\"span\",{attrs:{class:\"bash\"}},[s._v(\" npm install cube-ui --save\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"cube-ui 搭配 webpack 2+ 支持\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/post-compile\"}},[s._v(\"后编译\")]),s._v(\"和普通编译 2 种构建方式（默认使用后编译），使用前都需要修改应用的依赖和配置。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"后编译\")]),s._v(\" \"),a(\"ol\",[a(\"li\",[s._v(\"修改 package.json 并安装依赖\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack-transform-modules-plugin 依赖 transformModules\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transformModules\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"cube-ui\"')]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transform\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-ui/src/modules/${member}\"')]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"kebabCase\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"devDependencies\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 新增 stylus 相关依赖\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"stylus\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^0.54.5\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"stylus-loader\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^2.1.1\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"webpack-post-compile-plugin\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^1.0.0\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"webpack-transform-modules-plugin\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^0.4.3\"')]),s._v(\"\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"2\"}},[a(\"li\",[s._v(\"修改 webpack.base.conf.js\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" PostCompilePlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-post-compile-plugin'\")]),s._v(\")\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" TransformModulesPlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-transform-modules-plugin'\")]),s._v(\")\\n\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"plugins\")]),s._v(\": [\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" PostCompilePlugin(),\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" TransformModulesPlugin()\\n  ]\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"3\"}},[a(\"li\",[s._v(\"修改 build/utils.js 中的 \"),a(\"code\",{pre:!0},[s._v(\"exports.cssLoaders\")]),s._v(\" 函数\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"exports.cssLoaders = \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"options\")]),s._v(\") \")]),s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" stylusOptions = {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'resolve url'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n  }\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// https://vue-loader.vuejs.org/en/configurations/extract-css.html\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"css\")]),s._v(\": generateLoaders(),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"postcss\")]),s._v(\": generateLoaders(),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"less\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'less'\")]),s._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sass\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\", { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"indentedSyntax\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\" }),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scss\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stylus\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\", stylusOptions),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"styl\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\", stylusOptions)\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"4\"}},[a(\"li\",[s._v(\"修改 vue-loader.conf.js\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loaders\")]),s._v(\": utils.cssLoaders({\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": sourceMapEnabled,\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"extract\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n  }),\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"具体参见 \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs-templates/webpack/pull/970/files\"}},[s._v(\"https://github.com/vuejs-templates/webpack/pull/970/files\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"普通编译\")]),s._v(\" \"),a(\"ol\",[a(\"li\",[s._v(\"修改 package.json 并安装依赖\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack-transform-modules-plugin 依赖 transformModules\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transformModules\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"cube-ui\"')]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transform\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-ui/lib/${member}\"')]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"kebabCase\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"style\"')]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"ignore\"')]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"create-api\"')]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"better-scroll\"')]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"locale\"')]),s._v(\"]\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"devDependencies\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"webpack-transform-modules-plugin\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^0.4.3\"')]),s._v(\"\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"2\"}},[a(\"li\",[s._v(\"修改 webpack 配置：\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack.config.js\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" TransformModulesPlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-transform-modules-plugin'\")]),s._v(\")\\n\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"resolve\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"alias\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui/lib'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    }\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  }\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"plugins\")]),s._v(\": [\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" TransformModulesPlugin()\\n  ]\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"https://unpkg.com/cube-ui/lib/cube.min.js\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"link\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stylesheet\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"href\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"https://unpkg.com/cube-ui/lib/cube.min.css\"')]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Cube \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nVue.use(Cube)\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* eslint-disable no-unused-vars */\")]),s._v(\"\\n  Style,\\n  Button\\n} \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注意：\")]),s._v(\" 按需引入的话，是不会打包\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/style\"}},[s._v(\"基础样式\")]),s._v(\"部分的，所以在使用的时候需要引入 style 模块。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 全局注册\")]),s._v(\"\\nVue.use(Button)\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 基础样式\")]),s._v(\"\\n  Style,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// basic\")]),s._v(\"\\n  Button,\\n  Loading,\\n  Tip,\\n  Toolbar,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// form\")]),s._v(\"\\n  Checkbox,\\n  CheckboxGroup,\\n  Radio,\\n  Checker,\\n  Input,\\n  Textarea,\\n  Select,\\n  Switch,\\n  Rate,\\n  Validator,\\n  Upload,\\n  Form,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// popup\")]),s._v(\"\\n  Popup,\\n  Toast,\\n  Picker,\\n  CascadePicker,\\n  DatePicker,\\n  TimePicker,\\n  SegmentPicker,\\n  Dialog,\\n  ActionSheet,\\n  Drawer,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// scroll\")]),s._v(\"\\n  Scroll,\\n  Slide,\\n  IndexList,\\n  Swipe\\n} \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"也可以引入\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"和\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/better-scroll\"}},[s._v(\"better-scroll\")]),s._v(\"模块：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { createAPI, BetterScroll, Locale } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDialog\"')]),s._v(\">\")]),s._v(\"show dialog\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      showDialog() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'alert'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Alert'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'dialog content'\")]),s._v(\"\\n        }).show()\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"如果你使用 \"),a(\"a\",{attrs:{href:\"https://code.visualstudio.com/\"}},[s._v(\"Visual Studio Code\")]),s._v(\" + \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs/vetur\"}},[s._v(\"Vetur\")]),s._v(\" 进行开发\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"TypeScript 版本需 >= \"),a(\"a\",{attrs:{href:\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html\"}},[s._v(\"4.1\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Visual Studio Code 版本需 >= \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs/vetur/releases/tag/v0.30.3\"}},[s._v(\"1.52.0\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Vetur 版本需 >= \"),a(\"a\",{attrs:{href:\"https://github.com/microsoft/vscode/releases/tag/1.52.0\"}},[s._v(\"0.30.3\")])])}]}}});"
  },
  {
    "path": "docs/js/26.e0fb07bdd85581017dc7.js",
    "content": "webpackJsonp([26],{\"8Pct\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"后编译\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-后编译-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 后编译\")]),s._v(\" \"),a(\"p\",[s._v(\"后编译指的是应用依赖的 NPM 包并不需要在发布前编译，而是随着应用编译打包的时候一块编译。\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"背景\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-背景-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 背景\")]),s._v(\" \"),a(\"p\",[s._v(\"使用 webpack + babel 开发应用越来越多，而且一般都是通过 NPM 进行包管理的，这样依赖包越来越多，这些依赖包也是使用的 ES2015+ 开发的，所以每个依赖包都需要编译才能发布，这样编译后代码中往往后包含很多编译代码，所以为了消除这部分冗余，推荐大家使用后编译。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"优缺点\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-优缺点-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 优缺点\")]),s._v(\" \"),a(\"p\",[s._v(\"优点：\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"p\",[s._v(\"缺点：\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"约定\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-约定-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 约定\")]),s._v(\" \"),a(\"p\",[s._v(\"考虑到有些应用会使用后编译，有些则只能使用编译好的依赖包，为了“争夺”入口，cube-ui 做了均衡，约定：\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"p\",[s._v(\"这样，如果应用使用的是 webpack 2+，则默认走后编译，而如果使用的 webpack 1.x 则默认使用的是编译后内容；当然，这部分可以通过 webpack 的 alias 配置达到和版本无关效果。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"webpack配置使用\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-webpack配置使用-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" webpack 配置使用\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"p\",[s._v(\"一个应用示例配置：\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),a(\"p\",[s._v(\"或者你也可以在应用的 package.json 中增加 compileDependencies：\")]),s._v(\" \"),s._m(9),s._v(\" \"),a(\"p\",[s._v(\"如果说 A 还依赖 C 的话，只需要在 A 的 package.json 中指定 compileDependencies 即可：\")]),s._v(\" \"),s._m(10)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"em\",[s._v(\"注：\")]),s._v(\" 关于后编译更详细内容可参阅 \"),a(\"a\",{attrs:{href:\"https://github.com/DDFE/DDFE-blog/issues/23\"}},[s._v(\"webpack 应用编译优化之路\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"公共的依赖可以实现共用，只此一份，重要的是只编译一次，建议通过 peerDependencies 管理依赖。\")]),s._v(\" \"),a(\"li\",[s._v(\"babel 转换 API（例如 babel-plugin-transform-runtime 或者 babel-polyfill）部分的代码只有一份。\")]),s._v(\" \"),a(\"li\",[s._v(\"不用每个依赖包都需要配置编译打包环节，甚至可以直接源码级别发布。\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"主应用的 babel 配置需要能兼容依赖包的 babel 配置。\")]),s._v(\" \"),a(\"li\",[s._v(\"依赖包不能使用 alias、不能方便的使用 DefinePlugin（可以经过一次简单编译，但是不做 babel 处理）。\")]),s._v(\" \"),a(\"li\",[s._v(\"应用编译时间会变长。\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"package.json 的 main 字段指向的就是编译后入口，而 module 字段指向的就是源码入口。\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"em\",[s._v(\"关于 \"),a(\"a\",{attrs:{href:\"https://github.com/rollup/rollup/wiki/pkg.module\"}},[s._v(\"pkg.module\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"后编译的场景是极有可能产生嵌套的情况，而且对于每个依赖包而言应该自己管理自身需要后编译的依赖；为了解决这个问题，可以使用 \"),a(\"a\",{attrs:{href:\"https://www.npmjs.com/package/webpack-post-compile-plugin\"}},[s._v(\"webpack-post-compile-plugin\")]),s._v(\"，你只需要在你的 NPM 包自身的 package.json 中声明 \"),a(\"code\",{pre:!0},[s._v(\"postCompile: true\")]),s._v(\" 或者你的应用的 package.json 中通过 compileDependencies 来指定自身需要后编译依赖的包名。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack.config.js\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" PostCompilePlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-post-compile-plugin'\")]),s._v(\")\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"module\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": [\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"test\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/\\\\.js$/\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'babel-loader'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"include\")]),s._v(\": [\\n          resolve(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'src'\")]),s._v(\")\\n        ]\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    ]\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"plugins\")]),s._v(\": [\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" PostCompilePlugin()\\n  ]\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"如果你能控制你应用的所有的依赖包，直接在每个依赖包的 package.json 中设置 \"),a(\"code\",{pre:!0},[s._v(\"postCompile: true\")]),s._v(\" 即可：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"your-one-pkg\"')]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"postCompile\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// package.json\")]),s._v(\"\\n{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"compileDependencies\"')]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"A\"')]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"B\"')]),s._v(\"]\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// A package.json\")]),s._v(\"\\n{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"compileDependencies\"')]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"C\"')]),s._v(\"]\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])])}]}},Po76:function(s,t,a){var e=a(\"VU/8\")(null,a(\"8Pct\"),null,null,null);s.exports=e.exports},hvjf:function(s,t,a){s.exports=a(\"Po76\")}});"
  },
  {
    "path": "docs/js/27.453820af424256909e32.js",
    "content": "webpackJsonp([27],{KVpg:function(s,t,a){var v=a(\"VU/8\")(null,a(\"Q9gR\"),null,null,null);s.exports=v.exports},Q9gR:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Popup弹层\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Popup弹层-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Popup 弹层\")]),s._v(\" \"),a(\"p\",[s._v(\"底层弹层组件，主要用于基于此组件实现上层组件封装，只提供了基础功能：指定类型、是否有背景层、显示内容（HTML）以及是否居中。\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),a(\"p\",[s._v(\"组件\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"内置弹层类组件基本都是基于此组件实现，包括：\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/toast\"}},[s._v(\"Toast\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/picker\"}},[s._v(\"Picker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/cascade-picker\"}},[s._v(\"CascadePicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/date-picker\"}},[s._v(\"DatePicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/time-picker\"}},[s._v(\"TimePicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/segment-picker\"}},[s._v(\"SegmentPicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/dialog\"}},[s._v(\"Dialog\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/action-sheet\"}},[s._v(\"ActionSheet\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 以上组件都是基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup\"')]),s._v(\">\")]),s._v(\"\\n  My Popup Content 1\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"指定类型 \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\"，这样方便根据类型做 class 控制，如示例，会在根元素上会增加 \"),a(\"code\",{pre:!0},[s._v(\"cube-my-popup\")]),s._v(\" 的 class\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPopup(refId) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" component = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs[refId]\\n      component.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        component.hide()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"组件默认是隐藏的，需要调用组件实例的 \"),a(\"code\",{pre:!0},[s._v(\"show()\")]),s._v(\" 方法才会显示，调用组件实例的 \"),a(\"code\",{pre:!0},[s._v(\"hide()\")]),s._v(\" 方法隐藏，这里的 \"),a(\"code\",{pre:!0},[s._v(\"showPopup()\")]),s._v(\" 就是做的这件事情（首先显示，1 秒钟后隐藏）\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"不要背景层\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":mask\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup2\"')]),s._v(\">\")]),s._v(\"\\n  My Popup Content 2\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup2')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup - no mask\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"设置 \"),a(\"code\",{pre:!0},[s._v(\"mask\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\"，即不显示背景层\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"显示内容 HTML\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":mask\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"<i>My Popup Content 3</i>\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup3\"')]),s._v(\" />\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup3')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup - with content\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"只需要传入 \"),a(\"code\",{pre:!0},[s._v(\"content\")]),s._v(\"，内容是一段 HTML 片段\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"控制位置&蒙层点击隐藏\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":position\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"position\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":mask-closable\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup4\"')]),s._v(\">\")]),s._v(\"My Popup Content 4\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showPopup\"')]),s._v(\">\")]),s._v(\"top/right/bottom/left/center\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" positions = [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'top'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'right'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'bottom'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'center'\")]),s._v(\"]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" cur = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"position\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPopup() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".position = positions[cur++]\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (cur === positions.length) {\\n        cur = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" component = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.myPopup4\\n      component.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        component.hide()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可通过 \"),a(\"code\",{pre:!0},[s._v(\"position\")]),s._v(\" 控制内容出现位置，通过 \"),a(\"code\",{pre:!0},[s._v(\"mask-closable\")]),s._v(\" 控制点击蒙层是否关闭。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"上层封装\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"extend-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"popup\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-extend-popup-content\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"hide\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"slot\")]),s._v(\">\")]),s._v(\"{{content}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"slot\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text/ecmascript-6\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" COMPONENT_NAME = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-extend-popup'\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": COMPONENT_NAME,\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"String\")]),s._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      show() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.popup.show()\\n      },\\n      hide() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.popup.hide()\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$emit(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hide'\")]),s._v(\")\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"style\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"lang\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stylus\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stylesheet/stylus\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"css\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-extend-popup\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-extend-popup-content\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"padding\")]),s._v(\": 20\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-id\"}},[s._v(\"#fff\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"rgba\")]),s._v(\"(0, 0, 0, \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".8\")]),s._v(\")\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"style\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"这样就实现了一个上层封装的 CubeExtendPopup 组件，自带了一些样式，支持传入内容还有默认插槽，点击内容可隐藏。你可以这样使用（需要全局注册或者局部注册到使用的组件中）：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-extend-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"click here hide\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"extendPopup\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-extend-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"$refs.extendPopup.show()\"')]),s._v(\">\")]),s._v(\"\\n  Show Extend Popup\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"弹层类型\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"mask\")]),s._v(\" \"),a(\"td\",[s._v(\"是否显示背景层\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"content\")]),s._v(\" \"),a(\"td\",[s._v(\"内容，HTML 字符串，在无插槽的时候有效\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"center\")]),s._v(\" \"),a(\"td\",[s._v(\"是否水平垂直居中的\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"内容展示位置，优先级比 center 高\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"top/right/bottom/left/center\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"mask-click\")]),s._v(\" \"),a(\"td\",[s._v(\"背景层点击\")]),s._v(\" \"),a(\"td\",[s._v(\"点击事件对象\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")])])])])}]}},ZL7z:function(s,t,a){s.exports=a(\"KVpg\")}});"
  },
  {
    "path": "docs/js/28.151782d124b73d93df8c.js",
    "content": "webpackJsonp([28],{\"92Kx\":function(s,t,a){s.exports=a(\"ouqO\")},LDLw:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Picker选择器\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Picker选择器-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Picker 选择器\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h4\",{attrs:{id:\"1）单列选择器\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-1）单列选择器-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 1）单列选择器\")]),s._v(\" \"),a(\"p\",[s._v(\"首先，是一个单列选择器的例子：\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h4\",{attrs:{id:\"2）多列选择器\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-2）多列选择器-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 2）多列选择器\")]),s._v(\" \"),a(\"p\",[s._v(\"如果传入了多列数据，则会生成相应的多列选择器。比如以下是一个三列的选择器：\")]),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h4\",{attrs:{id:\"3）选项的子属性别名\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-3）选项的子属性别名-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 3）选项的子属性别名\")]),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),a(\"h4\",{attrs:{id:\"4）实例方法$updateProps\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-4）实例方法$updateProps-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 4）实例方法 \"),a(\"code\",{pre:!0},[s._v(\"$updateProps\")])]),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),s._m(12),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(16),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(17)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Picker\")]),s._v(\" 组件也就是选择器，可以用于实现单列或多列选项的选择。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保你基本了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" 的用法。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"对于选择器，最基本的是需要定义它可以选择的选项，定义选项的属性是 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" ，它是一个二维数组，第一维度代表了有多少列，第二维度则代表了每列有哪些选项。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showPicker\"')]),s._v(\">\")]),s._v(\"Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column1 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\" }]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMutiPicker\"')]),s._v(\">\")]),s._v(\"Multi-column Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column1 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column2 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column3 =  [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\" }]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showMutiPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".mutiPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".mutiPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Multi-column Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1, column2, column3],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".mutiPicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"有时你可能不希望以 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\" 去定义选项的值和文案，而用别的命名，比如当你的数据来源的命名为 \"),a(\"code\",{pre:!0},[s._v(\"id\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\" 时，你可能希望直接用  \"),a(\"code\",{pre:!0},[s._v(\"id\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\" 来定义值和文案。这个时候，你可以使用 \"),a(\"code\",{pre:!0},[s._v(\"alias\")]),s._v(\" 属性去配置。比如，配置 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 的别名为 \"),a(\"code\",{pre:!0},[s._v(\"id\")]),s._v(\"，\"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\" 的别名为 \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showAliasPicker\"')]),s._v(\">\")]),s._v(\"Use Alias\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showAliasPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".aliasPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".aliasPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use Alias'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [[{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'A'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'B'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'C'\")]),s._v(\" }]],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"alias\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'id'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'name'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".aliasPicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"当你需要修改 Picker 某些配置项时，你可以使用实例方法 \"),a(\"code\",{pre:!0},[s._v(\"$updateProps\")]),s._v(\"，传入你需要更新的属性。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showUpdatePropsPicker\"')]),s._v(\">\")]),s._v(\"Use $updateProps\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column1 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column2 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column3 =  [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\" }]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showUpdatePropsPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use $updateProps'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.$updateProps({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Updated'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1, column2, column3],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"]\\n        })\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"传入 picker 数据，数组的长度决定了 picker 的列数\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"selectedIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"被选中的索引值，拉起 picker 后显示这个索引值对应的内容\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[1]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"副标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"取消按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"确定按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"快速滑动 picker 滚轮时，惯性滚动动画的时长，单位：ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"alias\")]),s._v(\" \"),a(\"td\",[s._v(\"配置\"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\"的别名\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")]),s._v(\" \"),a(\"td\",[s._v(\"{ value: 'id', text: 'name'}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"picker每一列展示的文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"picker每一列展示的每项文案对应的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number/Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"点击确认按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: 当前选中项每一列的值，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前选中项每一列的索引，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: 当前选中项每一列的文案，Array类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"滚轴滚动后触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"index: 当前滚动列次序，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前列选中项的索引，Number类型\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value-change\")]),s._v(\" \"),a(\"td\",[s._v(\"所确认的值变化时触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: 当前确认项每一列的值，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前确认项每一列的索引，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: 当前选中项每一列的文案，Array类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"点击取消按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"setData\")]),s._v(\" \"),a(\"td\",[s._v(\"设置picker可选项\")]),s._v(\" \"),a(\"td\",[s._v(\"picker每列可选项的文案和值，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"picker每列选中的索引，Array类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},ouqO:function(s,t,a){var v=a(\"VU/8\")(null,a(\"LDLw\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/29.b2c82b91d678ed460578.js",
    "content": "webpackJsonp([29],{\"4qzo\":function(s,t,a){var r=a(\"VU/8\")(null,a(\"rt58\"),null,null,null);s.exports=r.exports},dNW6:function(s,t,a){s.exports=a(\"4qzo\")},rt58:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Loading\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Loading-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Loading\")]),s._v(\" \"),a(\"p\",[s._v(\"加载，提供了可自定义大小的加载动画。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(1)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"图标大小\")]),s._v(\" \"),a(\"p\",[s._v(\"默认大小为\"),a(\"code\",{pre:!0},[s._v(\"24px\")]),s._v(\"，可通过\"),a(\"code\",{pre:!0},[s._v(\"size\")]),s._v(\"属性配置\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":size\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"28\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":size\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"40\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"size\")]),s._v(\" \"),a(\"td\",[s._v(\"加载图标的大小，单位px\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"24\")])])])])}]}}});"
  },
  {
    "path": "docs/js/3.225ad627a1feba4b3628.js",
    "content": "webpackJsonp([3],{ZIr9:function(s,t,a){var v=a(\"VU/8\")(null,a(\"s3H0\"),null,null,null);s.exports=v.exports},dSBi:function(s,t,a){s.exports=a(\"ZIr9\")},s3H0:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Upload组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Upload组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Upload 组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(11),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(12)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.3.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Upload\")]),s._v(\" 上传组件。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 本文中所有的原始文件对象统称为\"),a(\"strong\",[s._v(\"原始文件\")]),s._v(\"，而经过包装后的文件对象称为\"),a(\"strong\",[s._v(\"文件对象\")]),s._v(\"，这个文件对象的结构如下：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"属性\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"name\")]),s._v(\" \"),a(\"td\",[s._v(\"文件名\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"size\")]),s._v(\" \"),a(\"td\",[s._v(\"文件大小\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"url\")]),s._v(\" \"),a(\"td\",[s._v(\"文件 url，通过 URL.createObjectURL 获得\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"base64\")]),s._v(\" \"),a(\"td\",[s._v(\"文件 base64 的值，这个会从原始文件的 base64 属性获得（默认是没有的，但是插件可以添加，例如下边演示的压缩 compress 插件就会添加 base64 值）\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"status\")]),s._v(\" \"),a(\"td\",[s._v(\"文件状态，包含四个： ready, uploading, success, error\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"progress\")]),s._v(\" \"),a(\"td\",[s._v(\"文件上传进度，小数 0~1\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"file\")]),s._v(\" \"),a(\"td\",[s._v(\"原始文件\")]),s._v(\" \"),a(\"td\",[s._v(\"File\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"response\")]),s._v(\" \"),a(\"td\",[s._v(\"响应内容（自动转 JSON）\")]),s._v(\" \"),a(\"td\",[s._v(\"Object/Array/String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"responseHeaders\")]),s._v(\" \"),a(\"td\",[s._v(\"响应头\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"//jsonplaceholder.typicode.com/photos/\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":simultaneous-uploads\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@files-added\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"filesAdded\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    filesAdded(files) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" hasIgnore = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" maxSize = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1024\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1024\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 1M\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"for\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" k \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"in\")]),s._v(\" files) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" file = files[k]\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (file.size > maxSize) {\\n          file.ignore = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          hasIgnore = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      }\\n      hasIgnore && \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'You selected >1M files'\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"配置 \"),a(\"code\",{pre:!0},[s._v(\"action\")]),s._v(\" 表示上传的 URL 地址，而 \"),a(\"code\",{pre:!0},[s._v(\"simultaneous-uploads\")]),s._v(\" 则表示支持的并发上传个数。\")]),s._v(\" \"),a(\"p\",[s._v(\"通过 \"),a(\"code\",{pre:!0},[s._v(\"files-added\")]),s._v(\" 事件可以实现文件过滤，设置 \"),a(\"code\",{pre:!0},[s._v(\"file.ignore = true\")]),s._v(\" 即可。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"压缩图片且通过 Base64 上传\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"upload\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":action\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"action\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":simultaneous-uploads\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":process-file\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"processFile\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@file-submitted\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fileSubmitted\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" compress \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../../modules/image'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"target\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//jsonplaceholder.typicode.com/photos/'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"prop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'base64Value'\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    processFile(file, next) {\\n      compress(file, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"compress\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"width\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1600\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1600\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"quality\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.5\")]),s._v(\"\\n        }\\n      }, next)\\n    },\\n    fileSubmitted(file) {\\n      file.base64Value = file.file.base64\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"action\")]),s._v(\" 中除了有 \"),a(\"code\",{pre:!0},[s._v(\"target\")]),s._v(\" 目标上传地址外；还有 \"),a(\"code\",{pre:!0},[s._v(\"prop\")]),s._v(\" 配置，表示上传的时候采用处理后的 \"),a(\"code\",{pre:!0},[s._v(\"file\")]),s._v(\" 普通对象的哪个属性所对应的值上传，这里设置的就是 \"),a(\"code\",{pre:!0},[s._v(\"base64Value\")]),s._v(\" 的值。\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"process-file\")]),s._v(\" 则是一个函数，主要用于处理原生文件的，调用 \"),a(\"code\",{pre:!0},[s._v(\"next\")]),s._v(\" 回调的话，参数是处理完的文件对象，这里示例的就是调用 \"),a(\"code\",{pre:!0},[s._v(\"compress\")]),s._v(\" 做压缩，处理完后会回调 \"),a(\"code\",{pre:!0},[s._v(\"next\")]),s._v(\"。\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"file-submitted\")]),s._v(\" 事件则是每个文件处理完后添加到 \"),a(\"code\",{pre:!0},[s._v(\"upload\")]),s._v(\" 实例的 \"),a(\"code\",{pre:!0},[s._v(\"files\")]),s._v(\" 数组中后触发，参数就是一个处理后的文件对象。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义结构样式\")]),s._v(\" \"),a(\"p\",[s._v(\"使用默认插槽来实现自定义结构，在此基础上自定义样式。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"upload\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"files\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":action\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"action\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@files-added\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"addedHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@file-error\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"errHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clear-fix\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload-file\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(file, i) in files\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":file\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"file\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"i\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload-file\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload-btn\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":multiple\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"＋\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"Please click to upload ID card\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload-btn\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-upload\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//jsonplaceholder.typicode.com/photos/'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"files\")]),s._v(\": []\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    addedHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" file = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".files[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"]\\n      file && \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.upload.removeFile(file)\\n    },\\n    errHandler(file) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// const msg = file.response.message\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Upload fail'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"样式覆盖：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload-file\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload-btn\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"margin\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"200px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload-file\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"margin\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n    + \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload-btn\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"margin-top\")]),s._v(\": -\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"200px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload-file-def\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"width\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cubeic-wrong\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": none\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-upload-btn\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": flex\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"align-items\")]),s._v(\": center\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"justify-content\")]),s._v(\": center\\n    > \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"div\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"text-align\")]),s._v(\": center\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"i\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": inline-flex\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"align-items\")]),s._v(\": center\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"justify-content\")]),s._v(\": center\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"width\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"margin-bottom\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"font-size\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"32px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"font-style\")]),s._v(\": normal\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fff\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#333\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-radius\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50%\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"上述示例实现的效果就是点击上传（一次只能选择一张）一张图片，此图片就会直接展示，而上传按钮本身则是不可见，覆盖在图片预览区域上。再次重新选择图片，就会移除掉上次选择的图片，重新展示新选择的图片。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"v-model\")]),s._v(\" \"),a(\"td\",[s._v(\"文件列表\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[{ name, size, url, status: 'success', progress: 1 }]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"action\")]),s._v(\" \"),a(\"td\",[s._v(\"上传行为配置项，最少包含上传目标的 URL 地址\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"{ target: '/upload' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"最大上传文件个数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"10\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"auto\")]),s._v(\" \"),a(\"td\",[s._v(\"是否自动上传，即选择完文件后自动开始上传\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"simultaneousUploads\")]),s._v(\" \"),a(\"td\",[s._v(\"并发上传数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"1\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"multiple\")]),s._v(\" \"),a(\"td\",[s._v(\"是否多选\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"accept\")]),s._v(\" \"),a(\"td\",[s._v(\"input 的 accept 属性值\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"image/*\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"processFile\")]),s._v(\" \"),a(\"td\",[s._v(\"处理原始文件函数\")]),s._v(\" \"),a(\"td\",[s._v(\"Function\")]),s._v(\" \"),a(\"td\",[s._v(\"function (file, next) { next(file) }\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"action\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"如果 \"),a(\"code\",{pre:!0},[s._v(\"action\")]),s._v(\" 是字符串，则会被处理成 \"),a(\"code\",{pre:!0},[s._v(\"{ target: action }\")]),s._v(\" 这样结构。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"target\")]),s._v(\" \"),a(\"td\",[s._v(\"上传目标 URL，如果为函数，则传入当前文件对象调用得到目标 URL\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Function\"),a(\"sup\",[s._v(\"1.11.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"fileName\")]),s._v(\" \"),a(\"td\",[s._v(\"上传文件时文件的参数名\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'file'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"prop\")]),s._v(\" \"),a(\"td\",[s._v(\"上传的时候使用文件对象的 prop 属性所对应的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'file'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"headers\")]),s._v(\" \"),a(\"td\",[s._v(\"自定义请求头，如果为函数，则传入当前文件对象调用得到 headers\")]),s._v(\" \"),a(\"td\",[s._v(\"Object/Function\"),a(\"sup\",[s._v(\"1.11.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"上传需要附加数据，如果为函数，则传入当前文件对象调用得到 data\")]),s._v(\" \"),a(\"td\",[s._v(\"Object/Function\"),a(\"sup\",[s._v(\"1.11.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"withCredentials\")]),s._v(\" \"),a(\"td\",[s._v(\"标准的 CORS 请求是不会带上 cookie 的，如果想要带的话需要设置 withCredentials 为 true\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"timeout\")]),s._v(\" \"),a(\"td\",[s._v(\"请求超时时间\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"progressInterval\")]),s._v(\" \"),a(\"td\",[s._v(\"进度回调间隔（单位：ms）\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"checkSuccess\")]),s._v(\" \"),a(\"td\",[s._v(\"校验是否成功函数，参数为\"),a(\"code\",{pre:!0},[s._v(\"(服务端响应数据, 当前文件对象 [,cb 回调])\")]),s._v(\"，注意第二个参数和第三个参数是 1.11.0 后新增的，而参数 \"),a(\"code\",{pre:!0},[s._v(\"cb\")]),s._v(\" 是可选的，异步场景可用，如果没有 \"),a(\"code\",{pre:!0},[s._v(\"cb\")]),s._v(\" 则取其返回值，如果结果值为 true 则代表成功\")]),s._v(\" \"),a(\"td\",[s._v(\"Function\")]),s._v(\" \"),a(\"td\",[s._v(\"function (res, file) { return true }\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"processFile\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"一个函数，这个函数有两个参数：\"),a(\"code\",{pre:!0},[s._v(\"(file, next)\")]),s._v(\"，\"),a(\"code\",{pre:!0},[s._v(\"file\")]),s._v(\" 就是原始文件，\"),a(\"code\",{pre:!0},[s._v(\"next\")]),s._v(\" 为处理完毕后的回调函数，调用的时候需要传入处理后的文件。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"files-added\")]),s._v(\" \"),a(\"td\",[s._v(\"选择完文件后触发，一般可用作文件过滤\")]),s._v(\" \"),a(\"td\",[s._v(\"原始文件列表\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"file-submitted\")]),s._v(\" \"),a(\"td\",[s._v(\"每个文件处理完后添加到 \"),a(\"code\",{pre:!0},[s._v(\"upload\")]),s._v(\" 实例的 \"),a(\"code\",{pre:!0},[s._v(\"files\")]),s._v(\" 数组中后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"文件对象\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"file-removed\")]),s._v(\" \"),a(\"td\",[s._v(\"文件被删除后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"文件对象\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"file-success\")]),s._v(\" \"),a(\"td\",[s._v(\"文件上传成功后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"文件对象\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"file-error\")]),s._v(\" \"),a(\"td\",[s._v(\"文件上传失败后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"文件对象\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"file-click\")]),s._v(\" \"),a(\"td\",[s._v(\"文件点击后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"文件对象，1.12.39后增加了index文件索引参数\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"绑定值（文件列表）改变后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"更新后的绑定值（文件列表）\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"start\")]),s._v(\" \"),a(\"td\",[s._v(\"开始上传\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pause\")]),s._v(\" \"),a(\"td\",[s._v(\"暂停上传\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"retry\")]),s._v(\" \"),a(\"td\",[s._v(\"重试上传\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"removeFile\")]),s._v(\" \"),a(\"td\",[s._v(\"删除文件\")]),s._v(\" \"),a(\"td\",[s._v(\"文件对象\")])])])])}]}}});"
  },
  {
    "path": "docs/js/30.24e49757187172cd5252.js",
    "content": "webpackJsonp([30],{S8Me:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"介绍\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-介绍-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 介绍\")]),t._v(\" \"),a(\"p\",[t._v(\"cube-ui 是基于 Vue.js 实现的精致移动端组件库。\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"特性\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-特性-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 特性\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"h3\",{attrs:{id:\"组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 组件\")]),t._v(\" \"),a(\"h4\",{attrs:{id:\"基础\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-基础-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 基础\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h4\",{attrs:{id:\"表单\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-表单-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 表单\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h4\",{attrs:{id:\"弹层\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-弹层-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 弹层\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),a(\"p\",[t._v(\"组件调用：\")]),t._v(\" \"),t._m(5),t._v(\" \"),a(\"p\",[t._v(\"API 调用：\")]),t._v(\" \"),t._m(6),t._v(\" \"),t._m(7),t._v(\" \"),t._m(8),t._v(\" \"),a(\"h4\",{attrs:{id:\"滚动\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-滚动-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 滚动\")]),t._v(\" \"),t._m(9),t._v(\" \"),t._m(10),t._v(\" \"),a(\"h3\",{attrs:{id:\"模块\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-模块-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 模块\")]),t._v(\" \"),a(\"p\",[t._v(\"除了组件之外，cube-ui 还有一些特殊的模块。\")]),t._v(\" \"),a(\"h4\",{attrs:{id:\"style\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-style-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" style\")]),t._v(\" \"),a(\"p\",[t._v(\"样式部分，如果你是在按需引入使用的场景下，那么建议在入口文件处也要引入这个模块，因为它包含基础的 reset、基础通用样式以及内置 icon。\")]),t._v(\" \"),t._m(11),t._v(\" \"),a(\"h4\",{attrs:{id:\"create-api\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-create-api-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" create-api\")]),t._v(\" \"),t._m(12),t._v(\" \"),t._m(13),t._v(\" \"),a(\"h4\",{attrs:{id:\"better-scroll\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-better-scroll-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" better-scroll\")]),t._v(\" \"),t._m(14),t._v(\" \"),t._m(15)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"质量可靠\")])]),t._v(\" \"),a(\"p\",[t._v(\"由滴滴内部组件库精简提炼而来，经历了业务一年多的考验，并且每个组件都有充分单元测试，为后续集成提供保障。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"体验极致\")])]),t._v(\" \"),a(\"p\",[t._v(\"以迅速响应、动画流畅、接近原生为目标，在交互体验方面追求极致。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"标准规范\")])]),t._v(\" \"),a(\"p\",[t._v(\"遵循统一的设计交互标准，高度还原设计效果；接口标准化，统一规范使用方式，开发更加简单高效。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"扩展性强\")])]),t._v(\" \"),a(\"p\",[t._v(\"支持按需引入和\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/post-compile\"}},[t._v(\"后编译\")]),t._v(\"，轻量灵活；扩展性强，可以方便地基于现有组件实现二次开发。\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/button\"}},[t._v(\"Button 按钮\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/loading\"}},[t._v(\"Loading 加载中\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/tip\"}},[t._v(\"Tip 提示\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/toolbar\"}},[t._v(\"Toolbar 工具条\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/tab-bar\"}},[t._v(\"TabBar 选项卡\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/checkbox\"}},[t._v(\"Checkbox 复选框\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/checkbox-group\"}},[t._v(\"CheckboxGroup 复选框组\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/radio\"}},[t._v(\"Radio 单选框\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/input\"}},[t._v(\"Input 输入框\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/textarea\"}},[t._v(\"Textarea\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/select\"}},[t._v(\"Select 选择\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/switch\"}},[t._v(\"Switch 开关切换\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/rate\"}},[t._v(\"Rate 评级\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/validator\"}},[t._v(\"Validator 校验器\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/upload\"}},[t._v(\"Upload 上传\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/form\"}},[t._v(\"Form 表单\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/popup\"}},[t._v(\"Popup\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/toast\"}},[t._v(\"Toast 提醒\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/picker\"}},[t._v(\"Picker 选择器\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/cascade-picker\"}},[t._v(\"CascadePicker 级联选择器\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/date-picker\"}},[t._v(\"DatePicker 日期选择器\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/time-picker\"}},[t._v(\"TimePicker 时间选择器\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/segment-picker\"}},[t._v(\"SegmentPicker 段选择器\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/dialog\"}},[t._v(\"Dialog 弹框\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/action-sheet\"}},[t._v(\"ActionSheet 操作菜单\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/drawer\"}},[t._v(\"Drawer 抽屉\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/image-preview\"}},[t._v(\"ImagePreview 图片预览\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"绝大多数的弹层类组件可以通过组件调用和 API 调用，来看示例（\"),a(\"code\",{pre:!0},[t._v(\"Toast\")]),t._v(\" 为例）：\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showToast\"')]),t._v(\">\")]),t._v(\"show toast\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-toast\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"ref\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"toast\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":txt\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"toastTxt\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-toast\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n    data() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"toastTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'toast content'\")]),t._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n      showToast() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$refs.toast.show()\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),t._v(\"\\n\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showToast\"')]),t._v(\">\")]),t._v(\"show toast\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n    data() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"toastTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'toast content'\")]),t._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n      showToast() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".toastTxt\\n        }).show()\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),t._v(\"\\n\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"两种方式都可以，但是我们推荐后者，通过 \"),a(\"code\",{pre:!0},[t._v(\"$createXxYy\")]),t._v(\" API 来调用；通过 API 调用的话，这个弹框是附加到 \"),a(\"code\",{pre:!0},[t._v(\"body\")]),t._v(\" 元素下的，这样的好处是可以不受外层样式的影响，因为组件调用的话，很容易受到外层 \"),a(\"code\",{pre:!0},[t._v(\"transform\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"overflow\")]),t._v(\" 等样式的影响。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"注意这个 API 的名字的组合就是：\"),a(\"code\",{pre:!0},[t._v(\"$create\")]),t._v(\" + \"),a(\"code\",{pre:!0},[t._v(\"${组件名字}\")]),t._v(\"，例如 \"),a(\"code\",{pre:!0},[t._v(\"ActionSheet\")]),t._v(\" 组件的话，API 名字就是 \"),a(\"code\",{pre:!0},[t._v(\"$createActionSheet\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/scroll\"}},[t._v(\"Scroll 滚动\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/slide\"}},[t._v(\"Slide 幻灯片\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/index-list\"}},[t._v(\"IndexList 索引列表\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/swipe\"}},[t._v(\"Swipe 滑块\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/sticky\"}},[t._v(\"Sticky 吸附\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/scroll-nav-bar\"}},[t._v(\"ScrollNavBar 滚动导航条\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/scroll-nav\"}},[t._v(\"ScrollNav 滚动导航\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"滚动类组件一般都是基于 \"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll\"}},[t._v(\"better-scroll\")]),t._v(\" 实现，而 \"),a(\"code\",{pre:!0},[t._v(\"Scroll\")]),t._v(\" 组件就是对 better-scroll 的封装。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"详见 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/style\"}},[t._v(\"style 模块\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"有些时候，开发者可能也需要自己封装的组件支持 API 式调用，此时可以通过引入 create-api 模块或者通过全局的 \"),a(\"code\",{pre:!0},[t._v(\"Cube.createAPI\")]),t._v(\" 接口来达到封装目的。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"详见 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[t._v(\"create-api 模块\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll\"}},[t._v(\"better-scroll\")]),t._v(\" 是组件库依赖的一个库，为了避免重复引入问题，我们暴露出了这个模块。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"详见 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/better-scroll\"}},[t._v(\"better-scroll 模块\")]),t._v(\"。\")])}]}},oycq:function(t,s,a){var r=a(\"VU/8\")(null,a(\"S8Me\"),null,null,null);t.exports=r.exports},zpSu:function(t,s,a){t.exports=a(\"oycq\")}});"
  },
  {
    "path": "docs/js/31.59f2caea82ab4a2b2b28.js",
    "content": "webpackJsonp([31],{\"H0+O\":function(s,a,t){s.exports=t(\"LCgU\")},LCgU:function(s,a,t){var n=t(\"VU/8\")(null,t(\"vmoo\"),null,null,null);s.exports=n.exports},vmoo:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"国际化\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-国际化-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 国际化\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h2\",{attrs:{id:\"cube-ui组件的国际化\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-cube-ui组件的国际化-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" cube-ui 组件的国际化\")]),s._v(\" \"),t(\"p\",[s._v(\"cube-ui 默认是用的中文语言包，并且已经注册了。cube-ui 内部也内置了对应的英文语言包，但是你需要如下的逻辑来注册语言包，同时切换至对应的语言。\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"p\",[s._v(\"cube-ui 会监听当前的语言类型，因此自动渲染组件对应的文案，同时缓存加载过的文案，在做组件语言切换的时候，如果语言包已经安装，cube-ui 直接取缓存的文案。类似伪代码如下：\")]),s._v(\" \"),s._m(3),s._v(\" \"),t(\"p\",[s._v(\"但是可能你有其他国家的翻译需求，比如日语、韩语，那么你需要自己提供语言包，并且切换至对应语言。代码如下：\")]),s._v(\" \"),s._m(4),s._v(\" \"),t(\"p\",[s._v(\"你导入的语言包的配置项形式应该与下面相仿，默认的中文语言包如下：\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h2\",{attrs:{id:\"程序应用的国际化1.12.23+\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-程序应用的国际化1.12.23+-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 程序应用的国际化\"),t(\"sup\",[s._v(\"1.12.23+\")])]),s._v(\" \"),t(\"p\",[s._v(\"如上面所述，cube-ui 给自己的组件提供了国际化的能力，但是这种能力也能延伸至你的应用，分两步进行：\")]),s._v(\" \"),s._m(6),s._v(\" \"),t(\"p\",[s._v(\"首先，得导入语言包，这个语言包应该是包含 cube-ui 默认语言包的全集。比如你的语言包配置可能如下：\")]),s._v(\" \"),s._m(7),s._v(\" \"),t(\"p\",[s._v(\"接着在你应用的入口文件导入这个语言包。\")]),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),t(\"p\",[s._v(\"接着，只需要在模版使用它就行：\")]),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),s._m(16)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"1.11.0 新增\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"cube-ui 内部所有非可配置的文案，都是中文的形式，所以如果你的应用是需要做对应的国际化文案翻译，那么 cube-ui  \"),t(\"code\",{pre:!0},[s._v(\"1.11.0\")]),s._v(\" 这个版本是提供了给 cube-ui 组件的文案翻译的能力，甚至这种能力也能延伸至你的应用。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" enUSMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui/src/locale/lang/en-US'\")]),s._v(\"\\n\\n  Vue.use(Locale)\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 切换至英语，并且缓存当前语言包\")]),s._v(\"\\n  Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'en-US'\")]),s._v(\", enUSMessages)\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" enUSMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui/src/locale/lang/en-US'\")]),s._v(\"\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 默认加载中文语言包\")]),s._v(\"\\n  Vue.use(Locale)\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 切换至英语，并且需要导入英语语言包\")]),s._v(\"\\n  one.click(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\"{\\n    Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'en-US'\")]),s._v(\", enUSMessages)\\n  })\\n\\n  another.click(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 从缓存取之前的语言包\")]),s._v(\"\\n    Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'zh-CN'\")]),s._v(\")\\n  })\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" jPMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'/somewhere/ja-JP.js'\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 自己的语言包\")]),s._v(\"\\n\\n  Vue.use(Locale)\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 切换至日语，并且需要导入日语语言包\")]),s._v(\"\\n  Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'ja-JP'\")]),s._v(\", jPMessages)\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cancel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'取消'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"confirm\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ok\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确定'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"prev\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'上一步'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"next\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'下一步'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectText\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"now\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'现在'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectTime\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'选择时间'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"today\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'今日'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"formatDate\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'M月D日'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"hours\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'点'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minutes\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'分'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"validator\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'此为必填项'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入数字'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'数据类型应为数组'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择有效日期'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效邮箱'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效的手机号码'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效网址'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不得小于 {{config}}'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择至少 {{config}} 项'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之后的时间'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿大于 {{config}}'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'最多选择 {{config}} 项'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之前的时间'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'长度应等于 {{config}}'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config}} 项'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之前的时间'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'格式错误'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'未通过校验'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"notWhitespace\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'空白内容无效'\")]),s._v(\"\\n    }\\n  }\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ol\",[t(\"li\",[t(\"strong\",[s._v(\"导入语言包\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// default.js\")]),s._v(\"\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"application_key\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"这是我应用的翻译\"')]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"country\"')]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"province\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"北京\"')]),s._v(\"\\n    }\\n\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* cube-ui 的默认配置*/\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cancel\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Cancel\"')]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...忽略中间部分的配置，\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator\"')]),s._v(\": {\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* */\")]),s._v(\"}\\n  }\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" defaultMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'default.js'\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 自己的语言包\")]),s._v(\"\\n\\n  Vue.use(Locale)\\n  Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'zh-CN'\")]),s._v(\", defaultMessages)\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ol\",{attrs:{start:\"2\"}},[t(\"li\",[t(\"strong\",[s._v(\"在组件内部通过 mixins 注入翻译的能力\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"然后借助于 \"),t(\"code\",{pre:!0},[s._v(\"Vue\")]),s._v(\" 提供的 mixin 能力。cube-ui 提供了语言包 \"),t(\"code\",{pre:!0},[s._v(\"key=>value\")]),s._v(\" 的转换函数 \"),t(\"code\",{pre:!0},[s._v(\"$t\")]),s._v(\"，你只需要在组件的 \"),t(\"code\",{pre:!0},[s._v(\"mixins\")]),s._v(\" 属性注入它，之后就可以在模版使用。示例如下：\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// dialog.vue\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n<script>\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//...\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"mixins\")]),s._v(\": [Locale.localeMixin] \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 注入 mixin，拥有 $t 的能力，1.12.23 版本新加\")]),s._v(\"\\n  }\\n<\"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/script>\\n\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    {{$t('application_key')}}\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"最后，\"),t(\"code\",{pre:!0},[s._v(\"{{$t('application_key')}}\")]),s._v(\" 就被渲染成 \"),t(\"code\",{pre:!0},[s._v('\"这是我应用的翻译\"')]),s._v(\"。考虑到你的语言包可能是多层级嵌套，\"),t(\"code\",{pre:!0},[s._v(\"$t\")]),s._v(\" 还接受一个以 \"),t(\"code\",{pre:!0},[s._v('\".\"')]),s._v(\" 为分隔符的字符串，来获取深层次的属性，例如：\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 你的语言包结构形式\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"a\")]),s._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"b\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"c\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"嵌套的 c\"')]),s._v(\"\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"那么你在 \"),t(\"code\",{pre:!0},[s._v(\"template\")]),s._v(\" 的使用就很简单。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    {{$t('a.b.c')}}\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])])}]}}});"
  },
  {
    "path": "docs/js/32.92d97fca65bc47567d91.js",
    "content": "webpackJsonp([32],{IwIh:function(t,s,a){t.exports=a(\"equ3\")},Urz1:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Input\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Input-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Input\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(3),t._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 插槽\")]),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(5),t._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 实例方法\")]),t._v(\" \"),t._m(6)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"1.5.0 新增\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"输入框组件。支持使用\"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\"对数据双向绑定，支持一键清空内容。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"基本用法\")]),t._v(\" \"),a(\"p\",[t._v(\"使用\"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\"对输入内容双向绑定。\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" >\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"控制最大长度\")]),t._v(\" \"),a(\"p\",[t._v(\"通过 watch 组件的 value 值的长度可实现手工控制值长度。\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"watch\")]),t._v(\": {\\n    value(newV) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"if\")]),t._v(\" (newV.length > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"10\")]),t._v(\") {\\n        newV = newV.slice(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"10\")]),t._v(\")\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$nextTick(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".value = newV\\n        })\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"上述代码就是控制输入内容长度不得超过10位。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"清空按钮\")]),t._v(\" \"),a(\"p\",[t._v(\"可通过\"),a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\"配置清空按钮。\")]),t._v(\" \"),a(\"p\",[t._v(\"在 1.11.0 版本之前 \"),a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\" 的值是布尔类型的，表示是否展示清除按钮；\")]),t._v(\" \"),a(\"p\",[t._v(\"在 1.11.0 版本之后 \"),a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\" 可配置为布尔类型，还可以配置为对象。\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":clearable\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"clearable\"')]),t._v(\"\\n>\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"clearable\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"visible\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"blurHidden\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\" 配置的对象可以包含两个 key 值：\"),a(\"code\",{pre:!0},[t._v(\"visible\")]),t._v(\" 和 \"),a(\"code\",{pre:!0},[t._v(\"blurHidden\")]),t._v(\" 分别代表是否展示以及当 Input 元素离焦的时候是否隐藏。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"密码配置\")]),t._v(\" \"),a(\"p\",[t._v(\"可通过\"),a(\"code\",{pre:!0},[t._v(\"eye\")]),t._v(\"设置密码眼睛。\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":placeholder\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"placeholder\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":type\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"type\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":maxlength\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"maxlength\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":readonly\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"readonly\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":autofocus\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autofocus\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":autocomplete\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autocomplete\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":eye\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"eye\"')]),t._v(\"\\n>\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'请输入内容'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'password'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"readonly\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"maxlength\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autofocus\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autocomplete\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"eye\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"open\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"reverse\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"如同上边展示的，除了上述配置，还支持原生 Input 元素的大部分配置。\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"type\")]),t._v(\" \"),a(\"td\",[t._v(\"input类型\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"text/number/password/date\")]),t._v(\" \"),a(\"td\",[t._v(\"text\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"绑定的值\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"空\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"禁用状态\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"readonly\")]),t._v(\" \"),a(\"td\",[t._v(\"只读状态\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maxlength\")]),t._v(\" \"),a(\"td\",[t._v(\"最大输入长度\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"60\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),a(\"td\",[t._v(\"占位文本\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"空\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"autofocus\")]),t._v(\" \"),a(\"td\",[t._v(\"自动对焦\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"autocomplete\")]),t._v(\" \"),a(\"td\",[t._v(\"自动补全\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"clearable\")]),t._v(\" \"),a(\"td\",[t._v(\"是否使用清空按钮，1.11.0 后可配置为对象形式 \"),a(\"code\",{pre:!0},[t._v(\"{visible: true, blurHidden: true}\")]),t._v(\"，其中 \"),a(\"code\",{pre:!0},[t._v(\"visible\")]),t._v(\" 控制是否显示，\"),a(\"code\",{pre:!0},[t._v(\"blurHidden\")]),t._v(\" 控制离焦后是否隐藏\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean/Object\"),a(\"sup\",[t._v(\"1.11.0+\")])]),t._v(\" \"),a(\"td\",[t._v(\"true/false/{visible: true, blurHidden: true}\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"eye\")]),t._v(\" \"),a(\"td\",[t._v(\"默认 false，密码眼睛不可见；如果是 true ，则相当于配置为对象 \"),a(\"code\",{pre:!0},[t._v(\"{ open: true, reverse: false }\")]),t._v(\"。对象形式表示使用密码眼睛。其中 \"),a(\"code\",{pre:!0},[t._v(\"open\")]),t._v(\" 控制眼睛张开还是闭合。\"),a(\"code\",{pre:!0},[t._v(\"reverse\")]),t._v(\" 控制密码可见和眼睛开闭是否相反。\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean/Object\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false/{open: true/false, reverse: true/false}\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"名字\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"prepend\")]),t._v(\" \"),a(\"td\",[t._v(\"前置内容\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"append\")]),t._v(\" \"),a(\"td\",[t._v(\"后置内容\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"事件名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"参数\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"focus\")]),t._v(\" \"),a(\"td\",[t._v(\"输入框聚焦后触发此事件，如果禁用状态，则不触发\")]),t._v(\" \"),a(\"td\",[t._v(\"e - 事件对象\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"blur\")]),t._v(\" \"),a(\"td\",[t._v(\"输入框失焦后触发此事件\")]),t._v(\" \"),a(\"td\",[t._v(\"e - 事件对象\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"change\")]),t._v(\" \"),a(\"td\",[t._v(\"绑定值改变且输入框失去焦点后触发\")]),t._v(\" \"),a(\"td\",[t._v(\"e - 事件对象\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"绑定值变化时触发\")]),t._v(\" \"),a(\"td\",[t._v(\"更新后的绑定值\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"方法名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"focus\"),a(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),a(\"td\",[t._v(\"获得焦点\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"blur\"),a(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),a(\"td\",[t._v(\"离焦\")])])])])}]}},equ3:function(t,s,a){var v=a(\"VU/8\")(null,a(\"Urz1\"),null,null,null);t.exports=v.exports}});"
  },
  {
    "path": "docs/js/33.0932b21b5b43e2ba95fb.js",
    "content": "webpackJsonp([33],{BfAM:function(s,t,a){var l=a(\"VU/8\")(null,a(\"O3xC\"),null,null,null);s.exports=l.exports},O3xC:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"IndexList\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-IndexList-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" IndexList\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"索引列表，提供了列表索引的功能，也是一个基于\"),a(\"code\",{pre:!0},[s._v(\"better-scroll\")]),s._v(\"进行封装的组件。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本使用\")]),s._v(\" \"),a(\"p\",[s._v(\"构造如示例中 \"),a(\"code\",{pre:!0},[s._v(\"cityData\")]),s._v(\" 这样结构的数据，传入 \"),a(\"code\",{pre:!0},[s._v(\"cube-index-list\")]),s._v(\" 组件的 \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 属性。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cityData\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@title-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickTitle\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cityData = [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"★Hot City\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"BEIJING\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"SHANGHAI\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n      }\\n    ]\\n  },\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"A\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ANSHAN\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ANQING\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\"\\n      }\\n    ]\\n  }\\n]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Current City: BEIJING'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cityData\")]),s._v(\": cityData\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义插槽\")]),s._v(\" \"),a(\"p\",[s._v(\"除了默认结构，你还可以根据自己的需要自定义每一项的内容。如下所示，将你的自定义内容项填入\"),a(\"code\",{pre:!0},[s._v(\"cube-index-list-item\")]),s._v(\"的插槽。除非你真的知道自己在做什么，否则不要修改\"),a(\"code\",{pre:!0},[s._v(\"cube-index-list-group\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"cube-index-list-item\")]),s._v(\"的用法。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cityData\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-group\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(group, index) in cityData\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":group\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"group\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-item\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in group.items\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":item\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"custom-item\"')]),s._v(\">\")]),s._v(\"我是自定义 {{item.name}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-item\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-group\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cityData\")]),s._v(\": cityData\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 自定义项的样式\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".custom-item\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"position\")]),s._v(\": relative\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"70px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"70px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"16px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"font-size\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$fontsize\")]),s._v(\"-medium\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 用自定义样式，覆写内置的默认样式\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-index-list-content\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#222\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#909090\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-index-list-anchor\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#333\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"30px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"30px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-index-list-nav\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-radius\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background\")]),s._v(\": rgba(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\")\\n  >\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"ul\")]),s._v(\"\\n    >\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"li\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"font-size\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"12px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#909090\")]),s._v(\"\\n      &\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".active\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#ffcd32\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"上拉加载\")]),s._v(\" \"),a(\"p\",[s._v(\"可以通过 \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\" 属性开启上拉加载功能，具体配置同 Scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\"options.pullUpLoad\")]),s._v(\"。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"indexList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pullUpLoad\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@title-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickTitle\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-up\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingUp\"')]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Current City: BEIJING'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData.slice(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\")\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    },\\n    onPullingUp() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Mock async load.\")]),s._v(\"\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" length = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".data.length\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (length < cityData.length) {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Update data.\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".data.push(cityData[length])\\n        }\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Call forceUpdate after finishing data load.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.indexList.forceUpdate()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ul\",[a(\"li\",[s._v(\"下拉刷新\")])]),s._v(\" \"),a(\"p\",[s._v(\"可以通过 \"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" 属性开启下拉刷新功能，具体配置同 Scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\"options.pullDownRefresh\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"indexList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pullDownRefresh\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pullDownRefresh\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@title-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickTitle\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Current City: BEIJING'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullDownRefresh\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"55\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    },\\n    onPullingDown() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Mock async load.\")]),s._v(\"\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Update data.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".data[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].items.push(...cityData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].items)\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Call forceUpdate after finishing data load.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.indexList.forceUpdate(\"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\")\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"需要展示的数据\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"navbar\")]),s._v(\" \"),a(\"td\",[s._v(\"是否需要导航栏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"点击导航栏索引时，滚动到相应位置的动画时间（单位：ms）\")]),s._v(\" \"),a(\"td\",[s._v(\"number\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\"),a(\"sup\",[s._v(\"1.9.8+\")])]),s._v(\" \"),a(\"td\",[s._v(\"better-scroll 配置项，具体请参考\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS 官方文档\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"  observeDOM: true,\"),a(\"br\"),s._v(\"  click: true,\"),a(\"br\"),s._v(\"  probeType: 1,\"),a(\"br\"),s._v(\"  scrollbar: false,\"),a(\"br\"),s._v(\"  pullDownRefresh: false,\"),a(\"br\"),s._v(\"  pullUpLoad: false\"),a(\"br\"),s._v(\"} \"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"注意\")]),s._v(\"：从\"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\"版本开始，因修复\"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\"在\"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\"版本的滚动问题，\"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\"在iOS版本>=13.4时默认为\"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),a(\"br\"),s._v(\"具体请参考\"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullUpLoad\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"上拉加载，具体配置参考 scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\"options.pullUpLoad\")]),s._v(\"。\"),a(\"code\",{pre:!0},[s._v(\"即将废弃\")]),s._v(\"，推荐使用 \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullDownRefresh\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"下拉刷新，具体配置参考 scroll 组件的 \"),a(\"code\",{pre:!0},[s._v(\"options.pullDownRefresh\")]),s._v(\"。\"),a(\"code\",{pre:!0},[s._v(\"即将废弃\")]),s._v(\"，推荐使用 \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 属性\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 是数组，表示的是一组数据，每一项配置：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"name\")]),s._v(\" \"),a(\"td\",[s._v(\"组名\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"items\")]),s._v(\" \"),a(\"td\",[s._v(\"当前组下的数据项\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\" 数组中的每一项必须是对象，且包含 \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\" 属性用于显示内容；例如 \"),a(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\": \"),a(\"code\",{pre:!0},[s._v(\"[{name: 'xx', ...}, ...]\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"title\"),a(\"sup\",[s._v(\"1.12.25+\")])]),s._v(\" \"),a(\"td\",[s._v(\"标题插槽\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulldown\"),a(\"sup\",[s._v(\"1.9.4+\")])]),s._v(\" \"),a(\"td\",[s._v(\"位于列表上方，会在下拉刷新时显示，与 scroll 组件相同\")]),s._v(\" \"),a(\"td\",[s._v(\"具体参考 scroll 组件的 pulldown 插槽作用域参数介绍\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullup\"),a(\"sup\",[s._v(\"1.9.4+\")])]),s._v(\" \"),a(\"td\",[s._v(\"位于列表下方，会在上拉加载时显示，与 scroll 组件相同\")]),s._v(\" \"),a(\"td\",[s._v(\"具体参考 scroll 组件的 pullup 插槽作用域参数介绍\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"点击 IndexList 的某一项后触发\")]),s._v(\" \"),a(\"td\",[s._v(\"该选项的数据\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title-click\")]),s._v(\" \"),a(\"td\",[s._v(\"点击 title 后触发(title 必须设置后才有效)\")]),s._v(\" \"),a(\"td\",[s._v(\"title属性值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-up\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"当 pullUpLoad 属性为 true 时，在上拉超过阈值时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-down\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"当 pullDownRefresh 属性为 true 时，在下拉超过阈值时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},hUpT:function(s,t,a){s.exports=a(\"BfAM\")}});"
  },
  {
    "path": "docs/js/34.65fc2b56c169315abffc.js",
    "content": "webpackJsonp([34],{\"672m\":function(s,t,a){s.exports=a(\"bU4j\")},bU4j:function(s,t,a){var v=a(\"VU/8\")(null,a(\"tUyG\"),null,null,null);s.exports=v.exports},tUyG:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"ImagePreview\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ImagePreview-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" ImagePreview\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"图片预览，支持切换、放大缩小等能力。\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 插槽\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.10.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"如下示例相关代码在\"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/tree/master/example/pages/image-preview\"}},[s._v(\"这里\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"默认使用\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showImagePreview\"')]),s._v(\">\")]),s._v(\"Show ImagePreview\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showImagePreview() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createImagePreview({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imgs\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"只需要提供 \"),a(\"code\",{pre:!0},[s._v(\"imgs\")]),s._v(\" 图片地址列表就可以了。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"多图场景\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"imgs-container\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"img\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(img, index) in imgs\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"img\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"handleImgsClick(index)\"')]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"initialIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    handleImgsClick(index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".initialIndex = index\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" params = {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$props\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imgs,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"initialIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'initialIndex'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 响应式数据的key名\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$events\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"change\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"i\")]),s._v(\") =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 必须更新 initialIndex\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".initialIndex = i\\n          }\\n        }\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createImagePreview({ ...params }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"大多数应用场景都是多图点击之后，实例化 image-preview 组件，展示的图片是每次被点击的图片。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义使用\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showCustomImagePreview\"')]),s._v(\">\")]),s._v(\"Show Custom ImagePreview\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"customIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showCustomImagePreview() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createImagePreview({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imgs,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"initialIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customIndex,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"speed\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"500\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onChange\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"i\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customIndex = i\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onHide\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hide'\")]),s._v(\")\\n        }\\n      }, (h) => {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" h(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'div'\")]),s._v(\", {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'image-preview-custom-header'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'header'\")]),s._v(\"\\n        }, \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customIndex + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"我们可通过插槽定义自己的其他自定义需求，通过传入 Prop 重新定义图片预览行为。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"imgs\")]),s._v(\" \"),a(\"td\",[s._v(\"图片地址列表\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"initial-index\")]),s._v(\" \"),a(\"td\",[s._v(\"初始索引\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"loop\")]),s._v(\" \"),a(\"td\",[s._v(\"是否可循环\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"轮播速度，单位 ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"400\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.10.11\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"preventDefault\"),a(\"sup\",[s._v(\"1.10.16\")])]),s._v(\" \"),a(\"td\",[s._v(\"是否阻止默认行为，因底层使用 BetterScroll 实现\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"名字\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"作用域参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"header\")]),s._v(\" \"),a(\"td\",[s._v(\"顶部 header 内容\")]),s._v(\" \"),a(\"td\",[s._v(\"current: 当前索引\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"footer\")]),s._v(\" \"),a(\"td\",[s._v(\"底部 footer 内容\")]),s._v(\" \"),a(\"td\",[s._v(\"current: 当前索引\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"查看图片索引改变\")]),s._v(\" \"),a(\"td\",[s._v(\"当前索引值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}}});"
  },
  {
    "path": "docs/js/35.4cc6441f69c3f719becb.js",
    "content": "webpackJsonp([35],{\"3rpl\":function(s,t,a){var v=a(\"VU/8\")(null,a(\"svlL\"),null,null,null);s.exports=v.exports},XO3d:function(s,t,a){s.exports=a(\"3rpl\")},svlL:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Form\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Form-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Form\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"表单，包含各种输入组件以及对应的校验；我们可以通过数据驱动的方式来生成完成表单。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeForm\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeForm-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeForm\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeFormGroup\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeFormGroup-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeFormGroup\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeFormItem\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeFormItem-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeFormItem\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.7.0 新增\")]),s._v(\" \"),a(\"p\",[s._v(\"从 1.8.0 开始支持blur 时才触发校验以及 debounce，同 Validator 一样也开始支持异步校验。\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"默认配置使用\")]),s._v(\" \"),a(\"p\",[s._v(\"一个完整的包含所有的内置表单相关组件。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"model\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":schema\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"schema\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":immediate-validate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validateHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submitHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@reset\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"resetHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"validity\")]),s._v(\": {},\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkboxValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkboxGroupValue\")]),s._v(\": [],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"inputValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"radioValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rateValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2018\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"switchValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"textareaValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"uploadValue\")]),s._v(\": []\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"schema\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"groups\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'基础'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkboxValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\": {\\n                    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Checkbox'\")]),s._v(\",\\n                    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                  }\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please check this field'\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox-group'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkboxGroupValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'CheckboxGroup'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\"]\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入'\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// validating when blur\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"trigger\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'blur'\")]),s._v(\"\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radio-group'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radioValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Radio'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\"]\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'select'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'selectValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Select'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2015\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2016\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2017\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2018\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2019\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\"]\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switchValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Switch'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textarea'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textareaValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Textarea'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// debounce validate\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if set to true, the default debounce time will be 200(ms)\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"debounce\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100\")]),s._v(\"\\n              }\\n            ]\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'高级'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rate'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rateValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Rate'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'upload'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'uploadValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Upload'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"events\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'file-removed'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"...args\")]),s._v(\") =>\")]),s._v(\" {\\n                    \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'file removed'\")]),s._v(\", args)\\n                  }\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"uploaded\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"val, config\")]),s._v(\") =>\")]),s._v(\" {\\n                    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\".all(val.map(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"file, i\")]),s._v(\") =>\")]),s._v(\" {\\n                      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"resolve, reject\")]),s._v(\") =>\")]),s._v(\" {\\n                        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (file.uploadedUrl) {\\n                          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" resolve()\\n                        }\\n                        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// fake request\")]),s._v(\"\\n                        setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n                          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i % \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\") {\\n                            reject(\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Error\")]),s._v(\"())\\n                          } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n                            file.uploadedUrl = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'uploaded/url'\")]),s._v(\"\\n                            resolve()\\n                          }\\n                        }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n                      })\\n                    })).then(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n                      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                    })\\n                  }\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"uploaded\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'上传失败'\")]),s._v(\"\\n                }\\n              }\\n            ]\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Submit'\")]),s._v(\"\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'reset'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Reset'\")]),s._v(\"\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollToInvalidField\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"layout\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'standard'\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// classic fresh\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submitHandler(e) {\\n      e.preventDefault()\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\", e)\\n    },\\n    validateHandler(result) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".validity = result.validity\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".valid = result.valid\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validity'\")]),s._v(\", result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\\n    },\\n    resetHandler(e) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'reset'\")]),s._v(\", e)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"model\")]),s._v(\" 就是整个表单需要的数据源，\"),a(\"code\",{pre:!0},[s._v(\"schema\")]),s._v(\" 就是生成表单所定义的模式，\"),a(\"code\",{pre:!0},[s._v(\"immediate-validate\")]),s._v(\" 如果为 true 则初始时立即做校验，\"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 则是配置选项。\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"submit\")]),s._v(\" 校验成功后提交事件，\"),a(\"code\",{pre:!0},[s._v(\"validate\")]),s._v(\" 每次有数据校验更新的事件，\"),a(\"code\",{pre:!0},[s._v(\"reset\")]),s._v(\" 则是重置事件。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义使用\")]),s._v(\" \"),a(\"p\",[s._v(\"你可以选择使用自己自定义的组件甚至通过插槽来自定义结构和行为。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"model\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validateHandler\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submitHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":field\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fields[0]\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":field\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fields[1]\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":field\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fields[2]\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDatePicker\"')]),s._v(\">\")]),s._v(\"{{model.dateValue || 'Please select date'}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"date-picker\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"datePicker\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":min\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"[2008, 8, 8]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":max\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"[2020, 10, 20]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"dateSelectHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"date-picker\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submit\"')]),s._v(\">\")]),s._v(\"Submit\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// province, city, area\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// select component\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" PCA = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Array\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\"() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" []\\n      }\\n    }\\n  },\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected\")]),s._v(\": []\\n    }\\n  },\\n  render(createElement) {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-button'\")]),s._v(\", {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"click\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".showPicker\\n      }\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selected.length ? \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selected.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\") : \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'placeholder'\")]),s._v(\")\\n  },\\n  mounted() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'PCA Select'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".value,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker.show()\\n    },\\n    selectHandler(selectedVal, selectedIndex, selectedTxt) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selected = selectedTxt\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$emit(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\", selectedVal)\\n    }\\n  }\\n}\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"validity\")]),s._v(\": {},\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"inputValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pcaValue\")]),s._v(\": [],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"dateValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\"\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          }\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"component\")]),s._v(\": PCA,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'pcaValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'PCASelect'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择'\")]),s._v(\"\\n          }\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'dateValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          }\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submitHandler(e) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\")\\n    },\\n    validateHandler(result) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".validity = result.validity\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".valid = result.valid\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validity'\")]),s._v(\", result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\\n    },\\n    showDatePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.datePicker.show()\\n    },\\n    dateSelectHandler(selectedVal) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".model.dateValue = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(selectedVal[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"], selectedVal[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"] - \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", selectedVal[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"]).toDateString()\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"components\")]),s._v(\": {\\n    DatePicker\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可以通过 \"),a(\"code\",{pre:!0},[s._v(\"component\")]),s._v(\" 指定实现了 \"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\" 的自定义组件，例如示例中的 \"),a(\"code\",{pre:!0},[s._v(\"PCA\")]),s._v(\" 组件；也可以通过使用插槽自定义结构行为，比如示例中的日期选择。\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[s._v(\"自定义问卷场景\")])]),s._v(\" \"),a(\"p\",[s._v(\"你可以利用 Form 组件的特性轻松实现类似问卷这种场景表单，组件示例源代码：https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"demo-questionnaire\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":tip\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":questions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"questions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submit\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submitHandler\"')]),s._v(\"\\n/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// source\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire/questionnaire.vue\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" DemoQuestionnaire \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/components/questionnaire/questionnaire.vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tip\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请配合如实填写问卷，确保xxxx相关文案'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"questions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'询问是否？'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// required: true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输入'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'date'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'date'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'日期'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// min: '2020-01-01',\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// max: '2020-02-18'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'time'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'time'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'时间'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'01:00'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'23:59'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'select'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'select'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'选择'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'option1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'option2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'option3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radio'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radio'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textarea'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textarea'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多行文本'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选3'\")]),s._v(\"]\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"row\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tel'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tel'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'手机号'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入手机号'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rate'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rate'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'级别'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'city'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'city'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'城市'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'upload'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'upload'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'上传'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//jsonplaceholder.typicode.com/photos/'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'agreement'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'agreement'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请同意'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"link\")]),s._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'《xx协议》'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"href\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://github.com/didi/cube-ui'\")]),s._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'说明：本人承诺xx xxxxx xxx xx。'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"errMsg\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请同意协议'\")]),s._v(\"\\n        }\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"submit\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Submit'\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"components\")]),s._v(\": {\\n    DemoQuestionnaire\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submitHandler(model) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\", model)\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"model\")]),s._v(\" \"),a(\"td\",[s._v(\"数据源\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"schema\")]),s._v(\" \"),a(\"td\",[s._v(\"生成表单依赖的模式\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"immediateValidate\")]),s._v(\" \"),a(\"td\",[s._v(\"初始化时是否立即校验\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"action\")]),s._v(\" \"),a(\"td\",[s._v(\"表单 Form action 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"undefined\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"配置项\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"scrollToInvalidField: false,\"),a(\"br\"),s._v(\" layout: 'standard' // or: classic\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"submitAlwaysValidate\"),a(\"sup\",[s._v(\"1.12.36+\")])]),s._v(\" \"),a(\"td\",[s._v(\"提交表单时是否总校验所有字段\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"schema\")]),s._v(\" 子配置项\")]),s._v(\" \"),a(\"p\",[s._v(\"模式用于定义表单中的各个字段，可以选择是否分组。\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"无分组\")]),s._v(\" \"),a(\"p\",[s._v(\"直接包含 \"),a(\"code\",{pre:!0},[s._v(\"fields\")]),s._v(\" 即可：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\"\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  ]\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"有分组\")]),s._v(\" \"),a(\"p\",[s._v(\"可以设置 \"),a(\"code\",{pre:!0},[s._v(\"groups\")]),s._v(\"：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"groups\")]),s._v(\": [\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Group 1'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      ]\\n    },\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Group 2'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      ]\\n    }\\n  ]\\n}\\n\")])])])]),s._v(\" \"),a(\"p\",[s._v(\"不管有没有分组，我们都需要使用 \"),a(\"code\",{pre:!0},[s._v(\"fields\")]),s._v(\" 定义表单字段，其中每一项可以有如下属性：\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"字段类型\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"默认内置的可选类型组件有：\"),a(\"code\",{pre:!0},[s._v(\"button\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"checkbox\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"checkbox-group\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"input\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"radio\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"radio-group\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"rate\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"switch\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"textarea\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"upload\")]),s._v(\"；以及特殊的 \"),a(\"code\",{pre:!0},[s._v(\"submit\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"reset\")]),s._v(\"，它们两个会被转换为对应类型的 \"),a(\"code\",{pre:!0},[s._v(\"button\")])]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"component\")]),s._v(\" \"),a(\"td\",[s._v(\"字段使用的自定义组件，替换 type，该组件组件实现 \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"modelKey\")]),s._v(\" \"),a(\"td\",[s._v(\"在表单的 \"),a(\"code\",{pre:!0},[s._v(\"model\")]),s._v(\" 数据源对象中所对应的 key 名字\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"字段的标签值\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"props\")]),s._v(\" \"),a(\"td\",[s._v(\"type 对应的组件或者自定义组件 component 所需要的 props\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"events\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"type 对应的组件或者自定义组件 component 的事件回调\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"rules\")]),s._v(\" \"),a(\"td\",[s._v(\"字段的校验规则，参见 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/validator#cube-Props-anchor\"}},[s._v(\"Validator\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"trigger\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"如果设置为 'blur' 那么则会在离焦后校验\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"blur/change\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"debounce\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"控制校验节奏，值为时间，单位 ms。如果 trigger 设置为 blur 则此项配置不生效\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\">= 0，如果设置为 true，那么时间就是 200(ms)\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"messages\")]),s._v(\" \"),a(\"td\",[s._v(\"字段的校验消息，参见 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/validator#cube-Props-anchor\"}},[s._v(\"Validator\")])]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"key\"),a(\"sup\",[s._v(\"1.12.36+\")])]),s._v(\" \"),a(\"td\",[s._v(\"字段的唯一key，尤其适用在 schema 更新的场景中\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 子配置项\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"scrollToInvalidField\")]),s._v(\" \"),a(\"td\",[s._v(\"是否默认滚动到第一个无效字段位置\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"layout\")]),s._v(\" \"),a(\"td\",[s._v(\"表单何种布局方式\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"standard/classic/fresh\")]),s._v(\" \"),a(\"td\",[s._v(\"standard\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"legend\")]),s._v(\" \"),a(\"td\",[s._v(\"分组名字\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"fields\")]),s._v(\" \"),a(\"td\",[s._v(\"该组内所包含的字段集合\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"field\")]),s._v(\" \"),a(\"td\",[s._v(\"字段数据\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"submit\")]),s._v(\" \"),a(\"td\",[s._v(\"表单校验通过后触发此事件，如果只有同步校验，则不会阻止默认行为，而如果包含了异步校验，则默认就会阻止默认行为\")]),s._v(\" \"),a(\"td\",[s._v(\"e - 事件对象\")]),s._v(\" \"),a(\"td\",[s._v(\"model 值\")]),s._v(\" \"),a(\"td\",[s._v(\"只包含存在的字段的 model 值\"),a(\"sup\",[s._v(\"1.12.30+\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"reset\")]),s._v(\" \"),a(\"td\",[s._v(\"表单重置事件\")]),s._v(\" \"),a(\"td\",[s._v(\"e - 事件对象\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"validate\")]),s._v(\" \"),a(\"td\",[s._v(\"表单校验事件\")]),s._v(\" \"),a(\"td\",[s._v(\"参数结构如下：\"),a(\"br\"),s._v(\"{\"),a(\"br\"),s._v(\"validity,\"),a(\"br\"),s._v(\" valid,\"),a(\"br\"),s._v(\" invalid,\"),a(\"br\"),s._v(\" dirty,\"),a(\"br\"),s._v(\" firstInvalidFieldIndex\"),a(\"br\"),s._v(\"}\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"valid\")]),s._v(\" \"),a(\"td\",[s._v(\"表单校验成功触发\")]),s._v(\" \"),a(\"td\",[s._v(\"validity 校验结果\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"invalid\")]),s._v(\" \"),a(\"td\",[s._v(\"表单校验失败触发\")]),s._v(\" \"),a(\"td\",[s._v(\"validity 校验结果\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"validate\")]),s._v(\" 事件的参数\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"validity\")]),s._v(\" \"),a(\"td\",[s._v(\"校验结果\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"valid\")]),s._v(\" \"),a(\"td\",[s._v(\"校验合法，如果还没校验则为 undefined，一旦校验则为 true 或 false\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Undefined\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"invalid\")]),s._v(\" \"),a(\"td\",[s._v(\"校验不合法，如果还没校验则为 undefined，一旦校验则为 true 或 false\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"dirty\")]),s._v(\" \"),a(\"td\",[s._v(\"表单处于 dirty 状态，也就意味着数据源发生了变化\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"firstInvalidFieldIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"第一个校验不合法的字段索引值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")])])])]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"校验结果 \"),a(\"code\",{pre:!0},[s._v(\"validity\")]),s._v(\" 对象\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"valid\")]),s._v(\" \"),a(\"td\",[s._v(\"校验是否合法\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Undefined\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"result\")]),s._v(\" \"),a(\"td\",[s._v(\"校验结果，类似于：\"),a(\"br\"),s._v(\"{\"),a(\"br\"),s._v(\" required: {\"),a(\"br\"),s._v(\"  valid: false,\"),a(\"br\"),s._v(\"  invalid: true,\"),a(\"br\"),s._v(\"  message: 'Required.'\"),a(\"br\"),s._v(\" }\"),a(\"br\"),s._v(\"}\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"dirty\")]),s._v(\" \"),a(\"td\",[s._v(\"数据是否是已经更新过的\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"返回值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"submit\")]),s._v(\" \"),a(\"td\",[s._v(\"提交表单\")]),s._v(\" \"),a(\"td\",[s._v(\"skipValidate, 默认 false，如果为 true 代表不校验 直接 submit\"),a(\"sup\",[s._v(\"1.12.2+\")])]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"reset\")]),s._v(\" \"),a(\"td\",[s._v(\"重置表单\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"validate(cb)\")]),s._v(\" \"),a(\"td\",[s._v(\"校验表单\")]),s._v(\" \"),a(\"td\",[s._v(\"cb: 校验完成后回调函数，主要用于异步校验场景，调用参数为 valid 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"如果支持 Promise 的话返回值是 Promise 对象（只有 resolved 状态，值为 valid），否则 undefined\")])])])])}]}}});"
  },
  {
    "path": "docs/js/36.c1a6541b1f2a282d9ce1.js",
    "content": "webpackJsonp([36],{C70t:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Drawer\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Drawer-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Drawer\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"抽屉，主要用来需要大范围层级进行选择的场景，一般情况下应该是满屏状态。\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeDrawer\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeDrawer-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeDrawer\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeDrawerPanel\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeDrawerPanel-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeDrawerPanel\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeDrawerItem\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeDrawerItem-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeDrawerItem\")]),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.7.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 组件依赖父容器相对定位或者绝对定位，因为 Drawer 是绝对定位的。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"默认配置使用\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDrawer\"')]),s._v(\">\")]),s._v(\"Show Drawer\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"drawer\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"请选择\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":selected-index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedIndex\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@cancel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cancelHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../../data/area'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n        provinceList,\\n        [],\\n        []\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDrawer() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.show()\\n    },\\n    changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// fake request\")]),s._v(\"\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" data\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (index === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// procince change, get city data\")]),s._v(\"\\n          data = cityList[item.value]\\n        } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// city change, get area data\")]),s._v(\"\\n          data = areaList[item.value]\\n        }\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// refill panel(index + 1) data\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.refill(index + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", data)\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"200\")]),s._v(\")\\n    },\\n    selectHandler(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cancel'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"title\")]),s._v(\" 就是标题，可选；\"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 数据源，二维数组，长度决定了抽屉的 Panel 数，初始长度一定要确定；\"),a(\"code\",{pre:!0},[s._v(\"selected-index\")]),s._v(\" 则是初始选择的索引值；\"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"cancel\")]),s._v(\" 则是对应的三个事件：选择发生改变（选中是非最后一个 Panel 中的项的时候触发）、选中了某个值（选择了最后一个 Panel 中的项触发）、取消（点击左侧空白蒙层触发）。\")]),s._v(\" \"),a(\"p\",[s._v(\"你可以在 \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" 中通过 Drawer 的 \"),a(\"code\",{pre:!0},[s._v(\"fill\")]),s._v(\" 方法更新下一个 Panel 的数据，可以是同步更新也可以是异步更新。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义使用\")]),s._v(\" \"),a(\"p\",[s._v(\"你可以通过插槽来自定义结构。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"drawer\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":selected-index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedIndex\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@cancel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cancelHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\">\")]),s._v(\"{{province.text}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-panel\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(panel, index) in data\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"panel\"')]),s._v(\"\\n  >\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, i) in panel\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":item\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"i\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"i\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cubeic-round-border\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"{{item.text}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-item\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-panel\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../../data/area'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"province\")]),s._v(\": {},\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n        [],\\n        []\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDrawer() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// get radom province\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" randomIndex = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".round(\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".random() * provinceList.length)\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" randomProvince = provinceList[randomIndex]\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".province = randomProvince\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.refill(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", cityList[randomProvince.value])\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.show()\\n    },\\n    changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// city change, get area data\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" data = areaList[item.value]\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.refill(index + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", data)\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"200\")]),s._v(\")\\n    },\\n    selectHandler(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cancel'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可以在 \"),a(\"code\",{pre:!0},[s._v(\"cube-drawer\")]),s._v(\" 组件中使用 \"),a(\"code\",{pre:!0},[s._v(\"cube-drawer-panel\")]),s._v(\" 以及 \"),a(\"code\",{pre:!0},[s._v(\"cube-drawer-item\")]),s._v(\" 组件来达到某些情况下的自定义目的。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"数据源\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"selectedIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"初始选择索引\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" 子配置项\")]),s._v(\" \"),a(\"p\",[s._v(\"是一个数组，数组中每一项仍然为数组，结构类似于：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"[\\n  [\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'text'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'value'\")]),s._v(\"\\n    },\\n    ...\\n  ],\\n  [\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'text'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'text2'\")]),s._v(\",\\n    ...\\n  ]\\n]\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"里层数组的每一项可以是对象（包含 text 和 value），也可以是纯字符串。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"数据源\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"index\")]),s._v(\" \"),a(\"td\",[s._v(\"该数据源在 CubeDrawer 的 data 中的索引值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-1\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"数据项\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"index\")]),s._v(\" \"),a(\"td\",[s._v(\"该数据项在 CubeDrawerPanel 的 data 中的索引值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-1\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")]),s._v(\" \"),a(\"th\",[s._v(\"参数4\")]),s._v(\" \"),a(\"th\",[s._v(\"参数5\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"选择发生改变（选中是非最后一个 Panel 中的项的时候触发）\")]),s._v(\" \"),a(\"td\",[s._v(\"发生改变的 Panel 的索引\")]),s._v(\" \"),a(\"td\",[s._v(\"发生改变的数据项\")]),s._v(\" \"),a(\"td\",[s._v(\"已选中的值集合\")]),s._v(\" \"),a(\"td\",[s._v(\"已选中的索引集合\")]),s._v(\" \"),a(\"td\",[s._v(\"已选中的文本集合\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"选择了最后一个 Panel 中的项触发\")]),s._v(\" \"),a(\"td\",[s._v(\"已选中的值集合\")]),s._v(\" \"),a(\"td\",[s._v(\"已选中的索引集合\")]),s._v(\" \"),a(\"td\",[s._v(\"已选中的文本集合\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"点击左侧空白区域触发\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refill\")]),s._v(\" \"),a(\"td\",[s._v(\"填充数据，改变某个 Panel 数据\")]),s._v(\" \"),a(\"td\",[s._v(\"要改变的 Panel 的索引\")]),s._v(\" \"),a(\"td\",[s._v(\"填充数据\")]),s._v(\" \"),a(\"td\",[s._v(\"默认选中项（可选，建议不填）\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},cb3f:function(s,t,a){var v=a(\"VU/8\")(null,a(\"C70t\"),null,null,null);s.exports=v.exports},e4wh:function(s,t,a){s.exports=a(\"cb3f\")}});"
  },
  {
    "path": "docs/js/37.2ab1d956cac9655d5e3a.js",
    "content": "webpackJsonp([37],{\"3R1C\":function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Dialog\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Dialog-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Dialog\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),t._m(6),t._v(\" \"),t._m(7),t._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 插槽\")]),t._v(\" \"),t._m(8),t._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(9),t._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 实例方法\")]),t._v(\" \"),t._m(10)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"Dialog\")]),t._v(\"模态框组件，提供了多种样式及交互形式。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"strong\",[t._v(\"注：\")]),t._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"alert 类型\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showAlert\"')]),t._v(\">\")]),t._v(\"Dialog - alert\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showAlert() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是内容'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"type\")]),t._v(\" 可选的值为 \"),a(\"code\",{pre:!0},[t._v(\"alert\")]),t._v(\" (对应为提示框)、\"),a(\"code\",{pre:!0},[t._v(\"confirm\")]),t._v(\" (对应为确认框)、\"),a(\"code\",{pre:!0},[t._v(\"prompt\")]),t._v(\" （对应提示输入框）\"),a(\"sup\",[t._v(\"1.11.0\")]),t._v(\"。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"提示输入类型\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showPrompt\"')]),t._v(\">\")]),t._v(\"Dialog - prompt\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showAlert() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".dialog = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'prompt'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"prompt\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'请输入'\")]),t._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onConfirm\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"e, promptValue\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Prompt value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${promptValue || \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"}\")]),t._v(\"`\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"可通过在 confirm 的事件回调的第二个参数获得输入的值。\"),a(\"code\",{pre:!0},[t._v(\"prompt\")]),t._v(\" 的值为一个对象，内容会被当做 props 传入 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/input\"}},[t._v(\"Input 组件\")]),t._v(\"。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"按钮设置\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showBtn\"')]),t._v(\">\")]),t._v(\"Dialog - btn\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showBtn() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'confirm'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是内容'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"confirmBtn\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"text\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'确定按钮'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"href\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'javascript:;'\")]),t._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"cancelBtn\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"text\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'取消按钮'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"href\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'javascript:;'\")]),t._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onConfirm\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'点击确认按钮'\")]),t._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onCancel\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'点击取消按钮'\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"按钮设置可接受 \"),a(\"code\",{pre:!0},[t._v(\"String\")]),t._v(\" 或 \"),a(\"code\",{pre:!0},[t._v(\"Object\")]),t._v(\" 类型数据，当传入 \"),a(\"code\",{pre:!0},[t._v(\"Object\")]),t._v(\" 类型的数据时，可通过 \"),a(\"code\",{pre:!0},[t._v(\"text\")]),t._v(\" 字段来设置按钮文案内容、\"),a(\"code\",{pre:!0},[t._v(\"active\")]),t._v(\" 字段来设置按钮文案是否高亮、\"),a(\"code\",{pre:!0},[t._v(\"disabled\")]),t._v(\" 字段来设置按钮是否禁用、\"),a(\"code\",{pre:!0},[t._v(\"href\")]),t._v(\" 字段为按钮的跳转链接。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"关闭按钮\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showClose\"')]),t._v(\">\")]),t._v(\"Dialog - show close\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showClose() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"showClose\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'标题'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onClose\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'点击关闭按钮'\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"showClose\")]),t._v(\" 字段决定是否需要显示关闭按钮，同时点击关闭按钮会触发 \"),a(\"code\",{pre:!0},[t._v(\"close\")]),t._v(\" 事件，如果传入了 \"),a(\"code\",{pre:!0},[t._v(\"onClose\")]),t._v(\" 则会被调用。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"插槽\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showSlot\"')]),t._v(\">\")]),t._v(\"Dialog - slot\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showSlot() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"confirmBtn\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"text\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我知道了'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n        }\\n      }, (createElement) => {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" [\\n          createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'div'\")]),t._v(\", {\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'class'\")]),t._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'my-title'\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'title'\")]),t._v(\"\\n          }, [\\n            createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'div'\")]),t._v(\", {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'class'\")]),t._v(\": {\\n                \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'my-title-img'\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n              }\\n            }),\\n            createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'p'\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'附近车少,优选出租车将来接您'\")]),t._v(\")\\n          ]),\\n          createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'p'\")]),t._v(\", {\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'class'\")]),t._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'my-content'\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'content'\")]),t._v(\"\\n          }, \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'价格仍按快车计算'\")]),t._v(\")\\n        ]\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"$createDialog\")]),t._v(\" 的第二个参数是 \"),a(\"a\",{attrs:{href:\"https://vuejs.org/v2/guide/render-function.html\"}},[t._v(\"render 函数\")]),t._v(\"，一般用于处理插槽的场景；Dialog 组件提供了 2 个具名的插槽 \"),a(\"code\",{pre:!0},[t._v(\"title\")]),t._v(\" 和 \"),a(\"code\",{pre:!0},[t._v(\"content\")]),t._v(\"，分别用来分发标题和内容。\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"type\")]),t._v(\" \"),a(\"td\",[t._v(\"类型\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"提示框 alert / 确认框 confirm / 提示输入框 prompt\"),a(\"sup\",[t._v(\"1.11.0\")])]),t._v(\" \"),a(\"td\",[t._v(\"alert\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"icon\")]),t._v(\" \"),a(\"td\",[t._v(\"图标的 class 名\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[a(\"a\",{attrs:{href:\"#/zh-CN/docs/style\"}},[t._v(\"参照 style 模块下的内置 icon 部分\")])]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"标题\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"正文\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"showClose\")]),t._v(\" \"),a(\"td\",[t._v(\"是否显示关闭按钮\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"confirmBtn\")]),t._v(\" \"),a(\"td\",[t._v(\"确认按钮参数配置\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"{ text: '确定', active: true, href: 'javascript:;' }\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancelBtn\")]),t._v(\" \"),a(\"td\",[t._v(\"取消按钮参数配置\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"{ text: '取消', active: false, href: 'javascript:;' }\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"visible\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\"绑定值\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maskClosable\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"点击蒙层是否隐藏\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"zIndex\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"样式 z-index 的值\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"100\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"prompt\"),a(\"sup\",[t._v(\"1.11.0\")])]),t._v(\" \"),a(\"td\",[t._v(\"prompt 配置，可配置的都是 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/input\"}},[t._v(\"Input 组件\")]),t._v(\" 的 prop\")]),t._v(\" \"),a(\"td\",[t._v(\"Object\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"{}\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"confirmBtn\")]),t._v(\" 子配置项\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"text\")]),t._v(\" \"),a(\"td\",[t._v(\"按钮文案\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'确认'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"是否高亮\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"是否禁用\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"href\")]),t._v(\" \"),a(\"td\",[t._v(\"点击按钮后的跳转链接\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'javascript:;'\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"cancelBtn\")]),t._v(\" 子配置项\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"text\")]),t._v(\" \"),a(\"td\",[t._v(\"按钮文案\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'取消'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"是否高亮\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"是否禁用\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"href\")]),t._v(\" \"),a(\"td\",[t._v(\"点击按钮后的跳转链接\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'javascript:;'\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"名字\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"作用域参数\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"标题\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"内容\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"事件名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"参数1\")]),t._v(\" \"),a(\"th\",[t._v(\"参数2\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"confirm\")]),t._v(\" \"),a(\"td\",[t._v(\"点击确认按钮后触发\")]),t._v(\" \"),a(\"td\",[t._v(\"事件对象 e\")]),t._v(\" \"),a(\"td\",[t._v(\"类型为 prompt 时，输入的值 promptValue\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancel\")]),t._v(\" \"),a(\"td\",[t._v(\"点击取消按钮后触发\")]),t._v(\" \"),a(\"td\",[t._v(\"事件对象 e\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"close\")]),t._v(\" \"),a(\"td\",[t._v(\"点击关闭按钮后触发\")]),t._v(\" \"),a(\"td\",[t._v(\"事件对象 e\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"方法名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"show\")]),t._v(\" \"),a(\"td\",[t._v(\"显示\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"hide\")]),t._v(\" \"),a(\"td\",[t._v(\"隐藏\")])])])])}]}},\"59Sv\":function(t,s,a){var v=a(\"VU/8\")(null,a(\"3R1C\"),null,null,null);t.exports=v.exports},DZkJ:function(t,s,a){t.exports=a(\"59Sv\")}});"
  },
  {
    "path": "docs/js/38.35b79bd8afe1ae8f8682.js",
    "content": "webpackJsonp([38],{pK3h:function(s,t,a){var v=a(\"VU/8\")(null,a(\"pcBP\"),null,null,null);s.exports=v.exports},pcBP:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"DatePicker组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-DatePicker组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" DatePicker 组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"日期选择器，可用于日期选择，选择粒度的灵活配置，如年月日、时分秒、年月日时分秒、年月等。\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(7)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.7.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"p\",[s._v(\"通过 \"),a(\"code\",{pre:!0},[s._v(\"$createDatePicker\")]),s._v(\" 创建一个组件实例，配置 \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" 设定选择的日期范围，还可以通过 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 设置当前选择的日期。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDatePicker\"')]),s._v(\">\")]),s._v(\"Date Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDatePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".datePicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".datePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".datePicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"列的配置\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"DatePicker\")]),s._v(\" 有一个非常灵活的能力，就是可以配置列，总共是年、月、日、时、分、秒六种的列，你可以通过 \"),a(\"code\",{pre:!0},[s._v(\"startColumn\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"columnCount\")]),s._v(\" 来配置起始列和列数，比如默认的”年月日“选择，是从“年”开始的“三列”，而时分秒，则是从“时”开始的“三列”。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"Time Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTimePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".timePicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".timePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Time Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"startColumn\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hour'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".timePicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"年月日时分秒选择器\")]),s._v(\" \"),a(\"p\",[s._v(\"同理，如果想要年月日时分秒选择器，则是以“年”开始的六列。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDateTimePicker\"')]),s._v(\">\")]),s._v(\"Date Time Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDateTimePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateTimePicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateTimePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date Time Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"columnCount\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateTimePicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"日期格式\")]),s._v(\" \"),a(\"p\",[s._v(\"你还可以通过 \"),a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\" 属性配置日期格式。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showFormatPicker\"')]),s._v(\">\")]),s._v(\"Use format\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showFormatPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use format'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"year\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'YY年'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"month\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'MM月'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'第 D 日'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"columnOrder\")]),s._v(\" \"),a(\"sup\",[s._v(\"1.12.14\")])]),s._v(\" \"),a(\"p\",[s._v('针对日期展示格式顺序不是 \"年-月-日 小时-分钟-秒\" 的场景，可以通过 '),a(\"code\",{pre:!0},[s._v(\"columnOrder\")]),s._v(\" 来修改展示顺序。例如日期展示顺序为 “月-日-年”，可配置 \"),a(\"code\",{pre:!0},[s._v(\"columnOrder\")]),s._v(\" 值为 \"),a(\"code\",{pre:!0},[s._v(\"['month', 'date', 'year']\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showChangeOrderPicker\"')]),s._v(\">\")]),s._v(\"Date Picker(Change order)\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showChangeOrderPicker() {\\n       \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".changeOrderPicker) {\\n         \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".changeOrderPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date Picker'\")]),s._v(\",\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"columnOrder\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'month'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'date'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'year'\")]),s._v(\"],\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n         })\\n       }\\n       \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".changeOrderPicker.show()\\n     }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"$updateProps\")])]),s._v(\" \"),a(\"p\",[s._v(\"通过\"),a(\"code\",{pre:!0},[s._v(\"$updateProps\")]),s._v(\"方法，可以修改用 createAPI 创建的组件实例的属性。比如 \"),a(\"code\",{pre:!0},[s._v(\"DatePicker\")]),s._v(\"中，我们可以修改 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 属性的值改变当前选择的日期。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showUpdatePropsPicker\"')]),s._v(\">\")]),s._v(\"Use $updateProps\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showUpdatePropsPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use $updateProps'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.$updateProps({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'updated'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2010\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n        })\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"min\")]),s._v(\" \"),a(\"td\",[s._v(\"可选范围的最小值\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date(2010, 0, 1)\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date(2008, 7, 8)\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"可选范围的最大值\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"当前时间未来一年的12月31日，[new Date().getFullYear() + 1, 12, 31, 23, 59, 59]\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date(2020, 9, 20)\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"当前选择的日期\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"可选范围的最小值\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date()\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"startColumn\")]),s._v(\" \"),a(\"td\",[s._v(\"起始列\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"year/month/date/hour/minute/second\")]),s._v(\" \"),a(\"td\",[s._v(\"year\")]),s._v(\" \"),a(\"td\",[s._v(\"hour\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"columnCount\")]),s._v(\" \"),a(\"td\",[s._v(\"列数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"3\")]),s._v(\" \"),a(\"td\",[s._v(\"6\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"format\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"日期格式\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{ year: 'YYYY', month: 'M', date: 'D', hour: 'hh', minute: 'mm', second: 'ss' }\")]),s._v(\" \"),a(\"td\",[s._v(\"{ year: 'YY年', month: 'MM月', date: '第 D 日' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"'时间选择'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"副标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"取消按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"'返回'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"确定按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"'选择'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"columnOrder\"),a(\"sup\",[s._v(\"1.12.14\")])]),s._v(\" \"),a(\"td\",[s._v(\"列的展示顺序\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"['year', 'month', 'date', 'hour', 'minute', 'second']\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"year\")]),s._v(\" \"),a(\"td\",[s._v(\"年的格式，\"),a(\"code\",{pre:!0},[s._v(\"YYYY\")]),s._v(\" 代表完整年份，\"),a(\"code\",{pre:!0},[s._v(\"YY\")]),s._v(\" 仅年份后两位\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"YYYY\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"YY年\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"month\")]),s._v(\" \"),a(\"td\",[s._v(\"月的格式，\"),a(\"code\",{pre:!0},[s._v(\"M\")]),s._v(\" 不补 0，\"),a(\"code\",{pre:!0},[s._v(\"MM\")]),s._v(\" 补 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"M\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"MM月\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"date\")]),s._v(\" \"),a(\"td\",[s._v(\"日的格式，\"),a(\"code\",{pre:!0},[s._v(\"D\")]),s._v(\" 不补 0，\"),a(\"code\",{pre:!0},[s._v(\"DD\")]),s._v(\" 补 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"D\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"第 D 日\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hour\")]),s._v(\" \"),a(\"td\",[s._v(\"时的格式，\"),a(\"code\",{pre:!0},[s._v(\"h\")]),s._v(\" 不补 0，\"),a(\"code\",{pre:!0},[s._v(\"hh\")]),s._v(\" 补 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"hh\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"h点\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"minute\")]),s._v(\" \"),a(\"td\",[s._v(\"分的格式，\"),a(\"code\",{pre:!0},[s._v(\"m\")]),s._v(\" 不补 0，\"),a(\"code\",{pre:!0},[s._v(\"mm\")]),s._v(\" 补 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"mm\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"mm分\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"second\")]),s._v(\" \"),a(\"td\",[s._v(\"秒的格式，\"),a(\"code\",{pre:!0},[s._v(\"s\")]),s._v(\" 不补 0，\"),a(\"code\",{pre:!0},[s._v(\"ss\")]),s._v(\" 补 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"ss\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"ss秒\")])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"点击确认按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"date: 当前选中日期，Date 类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: 当前选中项每一列的值，Array 类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: 当前选中项每一列的文案，Array 类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"点击取消按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"滚轴滚动后触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"index: 当前滚动列次序，Number 类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前列选中项的索引，Number 类型\")]),s._v(\" \"),a(\"td\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")])])])])}]}},vw3j:function(s,t,a){s.exports=a(\"pK3h\")}});"
  },
  {
    "path": "docs/js/39.e691cb19dfc9942357d8.js",
    "content": "webpackJsonp([39],{LlmT:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"create-api模块\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-create-api模块-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" create-api 模块\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"createAPI(Vue,Component,[events,single])\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-createAPI(Vue,Component,[events,single])-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" createAPI(Vue, Component, [events, single])\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"如何在普通js文件中或者全局调用\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-如何在普通js文件中或者全局调用-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 如何在普通 js 文件中或者全局调用\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"p\",[s._v(\"或者内置的组件，例如 Dialog：\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"p\",[s._v(\"还有一种思路是通过数据驱动，比如用 vuex 维护一个全局 state，在需要调用该组件时更新状态，然后在 App.vue 里去 watch 这个状态变化来调用该组件。\")])])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"该模块默认暴露出一个 \"),a(\"code\",{pre:!0},[s._v(\"createAPI\")]),s._v(\" 函数，可以实现以 API 的形式调用自定义组件。并且既可以在 Vue 实例上下文中调用，也可以\"),a(\"a\",{attrs:{href:\"https://didi.github.io/cube-ui/#/zh-CN/docs/create-api#cube-%E5%A6%82%E4%BD%95%E5%9C%A8%E6%99%AE%E9%80%9Ajs%E6%96%87%E4%BB%B6%E4%B8%AD%E6%88%96%E8%80%85%E5%85%A8%E5%B1%80%E8%B0%83%E7%94%A8-anchor\"}},[s._v(\"在普通 js 文件中调用\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 所有通过 \"),a(\"code\",{pre:!0},[s._v(\"createAPI\")]),s._v(\" 实现的通过 API 的形式调用的自定义组件（cube-ui 内置的组件）都需要通过 \"),a(\"code\",{pre:!0},[s._v(\"Vue.use\")]),s._v(\" 注册才可以。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"参数：\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"{Function} Vue\")]),s._v(\" Vue 函数\")]),s._v(\" \"),a(\"li\",[a(\"code\",{pre:!0},[s._v(\"{Function | Object} Component\")]),s._v(\" Vue 组件，组件必须有 name\")]),s._v(\" \"),a(\"li\",[a(\"code\",{pre:!0},[s._v(\"{Array} [events]\")]),s._v(\" 组件实例 emit 的事件名集合\")]),s._v(\" \"),a(\"li\",[a(\"code\",{pre:!0},[s._v(\"{Boolean} [single]\")]),s._v(\" 是否为单例\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"用法：\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"该方法在 Vue 的 prototype 上增加一个名为 \"),a(\"code\",{pre:!0},[s._v(\"$create{camelize(Component.name)}\")]),s._v(\" 的方法，这样就可以在其他组件中直接通过 \"),a(\"code\",{pre:!0},[s._v(\"const instance = this.$createAaBb(config, [renderFn, single])\")]),s._v(\" 这样来实例化组件了，而且这个实例化组件的元素是被附加到 \"),a(\"code\",{pre:!0},[s._v(\"body\")]),s._v(\" 元素下的。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"const instance = this.$createAaBb(config, renderFn, single)\")])]),s._v(\" \"),a(\"p\",[a(\"strong\",[s._v(\"参数：\")])]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"config\")]),s._v(\" \"),a(\"td\",[s._v(\"配置参数，经处理后传给组件\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"renderFn\")]),s._v(\" \"),a(\"td\",[s._v(\"可选参数，用于生成子 VNode 节点，一般场景是处理 slot\")]),s._v(\" \"),a(\"td\",[s._v(\"Function\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"function (createElement) {...}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"single\")]),s._v(\" \"),a(\"td\",[s._v(\"可选参数，创建的时候决定是否是单例的，优先级更高，如果没有传入 renderFn 的话，single 的值就是第二个参数的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"createAPI() 中传入的 single\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])]),s._v(\" \"),a(\"p\",[a(\"strong\",[s._v(\"配置参数 \"),a(\"code\",{pre:!0},[s._v(\"config\")]),s._v(\"：\")])]),s._v(\" \"),a(\"p\",[s._v(\"默认所有的值都会当做 props，但是要排除 createAPI 传入的 \"),a(\"code\",{pre:!0},[s._v(\"events\")]),s._v(\" 中的事件（默认会做转换，例如：\"),a(\"code\",{pre:!0},[s._v(\"events\")]),s._v(\" 的值为 \"),a(\"code\",{pre:!0},[s._v(\"['click']\")]),s._v(\"，那么 \"),a(\"code\",{pre:!0},[s._v(\"config\")]),s._v(\" 中的 \"),a(\"code\",{pre:!0},[s._v(\"onClick\")]),s._v(\" 就是作为 \"),a(\"code\",{pre:!0},[s._v(\"click\")]),s._v(\" 事件的回调函数，而不是作为 props 传递给组件）。\")]),s._v(\" \"),a(\"p\",[s._v(\"1.8.0 版本后 \"),a(\"code\",{pre:!0},[s._v(\"config\")]),s._v(\" 中可以直接设置 \"),a(\"code\",{pre:!0},[s._v(\"$props\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"$events\")]),s._v(\"，\"),a(\"code\",{pre:!0},[s._v(\"$props\")]),s._v(\" 中的值是\"),a(\"strong\",[s._v(\"响应式\")]),s._v(\"的，自动监控当前实例化上下文（即 \"),a(\"code\",{pre:!0},[s._v(\"this.$createXx\")]),s._v(\" 中的 \"),a(\"code\",{pre:!0},[s._v(\"this\")]),s._v(\"）的上对应的属性值：\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"$props\")]),s._v(\" \"),a(\"td\",[s._v(\"传递给组件的 Props\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\" title: 'title',\"),a(\"br\"),s._v(\" content: 'my content',\"),a(\"br\"),s._v(\" open: false\"),a(\"br\"),s._v(\"}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"$events\")]),s._v(\" \"),a(\"td\",[s._v(\"组件的 Events 事件回调\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\" click: 'clickHandler',\"),a(\"br\"),s._v(\" select: this.selectHandler\"),a(\"br\"),s._v(\"}\")])])])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"$props\")]),s._v(\" 示例，约定结构 \"),a(\"code\",{pre:!0},[s._v(\"{ [key]: [propKey] }\")]),s._v(\"：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'title'\")]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'my content'\")]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"open\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"title\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"content\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"open\")]),s._v(\" 就是传递给组件的 Prop 的 key，而对应 Prop 的值则按照如下规则获取：\")]),s._v(\" \"),a(\"ol\",[a(\"li\",[s._v(\"如果是非字符串，则直接取配置的 \"),a(\"code\",{pre:!0},[s._v(\"propKey\")]),s._v(\" 作为值\")]),s._v(\" \"),a(\"li\",[s._v(\"如果是字符串，且配置的 \"),a(\"code\",{pre:!0},[s._v(\"propKey\")]),s._v(\" 不在当前实例上下文属性上，则直接取 \"),a(\"code\",{pre:!0},[s._v(\"propKey\")]),s._v(\" 作为值\")]),s._v(\" \"),a(\"li\",[s._v(\"是字符串，且在当前实例上下文属性上，那么直接获取当前实例上下文对应的 \"),a(\"code\",{pre:!0},[s._v(\"propKey\")]),s._v(\" 的值，且会监控这个值的变化实时更新到组件实例上\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"$events\")]),s._v(\" 示例，约定结构 \"),a(\"code\",{pre:!0},[s._v(\"{ [eventName]: [eventValue] }\")]),s._v(\"：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"click\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clickHandler'\")]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"select\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"click\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\" 就是事件名，而对应的事件回调则按照如下规则获取：\")]),s._v(\" \"),a(\"ol\",[a(\"li\",[s._v(\"如果 \"),a(\"code\",{pre:!0},[s._v(\"eventValue\")]),s._v(\" 是非字符串，则直接取配置的 \"),a(\"code\",{pre:!0},[s._v(\"eventValue\")]),s._v(\" 作为值\")]),s._v(\" \"),a(\"li\",[s._v(\"如果 \"),a(\"code\",{pre:!0},[s._v(\"eventValue\")]),s._v(\" 是字符串，则直接获取当前实例上下文对应的 \"),a(\"code\",{pre:!0},[s._v(\"eventValue\")]),s._v(\" 的值\")])]),s._v(\" \"),a(\"p\",[s._v(\"1.10.0 版本以后 \"),a(\"code\",{pre:!0},[s._v(\"config\")]),s._v(\" 中可以设置 Vue 支持的所有的\"),a(\"a\",{attrs:{href:\"https://vuejs.org/v2/guide/render-function.html#The-Data-Object-In-Depth\"}},[s._v(\"配置值\")]),s._v(\"，但是必须要加 \"),a(\"code\",{pre:!0},[s._v(\"$\")]),s._v(\"，例如：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createAaBb({\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$attrs\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'id'\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$class\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'my-class'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n  }\\n})\\n\")])]),s._v(\" \"),a(\"p\",[a(\"strong\",[s._v(\"返回值 \"),a(\"code\",{pre:!0},[s._v(\"instance\")]),s._v(\"：\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"instance\")]),s._v(\" 就是组件实例。\")]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[s._v(\"这个实例会被\"),a(\"strong\",[s._v(\"附加或代理 \"),a(\"code\",{pre:!0},[s._v(\"remove\")]),s._v(\" 方法\")])])]),s._v(\" \"),a(\"p\",[s._v(\"如果调用了，该实例就会被销毁且会从 \"),a(\"code\",{pre:!0},[s._v(\"body\")]),s._v(\" 下移除。\")]),s._v(\" \"),a(\"p\",[s._v(\"如果说实例化上下文（即 \"),a(\"code\",{pre:!0},[s._v(\"this.$createXx\")]),s._v(\" 中的 \"),a(\"code\",{pre:!0},[s._v(\"this\")]),s._v(\"）销毁的话会自动移除销毁该实例元素。\")])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"示例：\")]),s._v(\" \"),a(\"p\",[s._v(\"我们先编写一个 Hello.vue 组件：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),s._v(\"\\n    {{content}}\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"slot\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"other\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"slot\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text/ecmascript-6\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hello'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"String\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"default\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Hello'\")]),s._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      clickHandler(e) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$emit(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click'\")]),s._v(\", e)\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"然后我们再通过 \"),a(\"code\",{pre:!0},[s._v(\"createAPI\")]),s._v(\" 把 Hello.vue 变成一个 API 式调用的组件并调用。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Hello \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'./Hello.vue'\")]),s._v(\"\\n\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 引入 Style 加载基础样式\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* eslint-disable no-unused-vars */\")]),s._v(\"\\n    Style,\\n    Dialog,\\n    createAPI\\n  } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\n  Vue.use(Dialog)\\n\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 创建 this.$createHello API\")]),s._v(\"\\n  createAPI(Vue, Hello, [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click'\")]),s._v(\"], \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\")\\n\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 初始化 Vue\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" Vue({\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"el\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#app'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"render\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"h\")]),s._v(\") \")]),s._v(\"{\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" h(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'button'\")]),s._v(\", {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"click\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".showHello\\n        }\\n      }, [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Show Hello'\")]),s._v(\"])\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      showHello() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 直接调用\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 传入配置对象，默认传入的所有对象全都当做 props 传入组件\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 除了在调用 createAPI 的时候传入了 events，这里对应的就是\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// on{event name} 会被当做事件回调处理\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" instance = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createHello({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'My Hello Content'\")]),s._v(\",\\n          onClick(e) {\\n            \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Hello component clicked.'\")]),s._v(\")\\n          }\\n        }, \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* renderFn */\")]),s._v(\" (createElement) => {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" [\\n            createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'p'\")]),s._v(\", {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'other'\")]),s._v(\"\\n            }, \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'other content'\")]),s._v(\")\\n          ]\\n        })\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 通过 Vue 组件的 $on 也是可以监听的，看使用场景\")]),s._v(\"\\n        instance.$on(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click'\")]),s._v(\", (e) => {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" $dialog = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'confirm'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'点击确定关闭当前实例'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          })\\n          $dialog.show()\\n\\n          $dialog.$on(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'confirm'\")]),s._v(\", () => {\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 销毁实例\")]),s._v(\"\\n            instance.remove()\\n          }).$on(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cancel'\")]),s._v(\", () => {\\n            \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cancel'\")]),s._v(\")\\n          })\\n        })\\n      }\\n    }\\n  })\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"示例中就是创建了一个需要 API 调用的组件 \"),a(\"code\",{pre:!0},[s._v(\"Hello\")]),s._v(\"，然后在其他组件中去使用，重点就是 \"),a(\"code\",{pre:!0},[s._v(\"showHello()\")]),s._v(\" 方法做的事情：调用 \"),a(\"code\",{pre:!0},[s._v(\"this.$createHello(config, renderFn)\")]),s._v(\" 实现组件的实例化。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"一般当你在 Vue 实例中，你可以直接通过 \"),a(\"code\",{pre:!0},[s._v(\"this.$createHello(config, renderFn)\")]),s._v(\" 调用该组件。而如果在普通 JS 中\"),a(\"code\",{pre:!0},[s._v(\"this\")]),s._v(\"不是 Vue 实例，这时就可以通过组件本身的 \"),a(\"code\",{pre:!0},[s._v(\"$create\")]),s._v(\" 来进行实例化了，比如：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Hello \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'./Hello.vue'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" {\\n  createAPI\\n} \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 创建 this.$createHello and $Hello.create API\")]),s._v(\"\\ncreateAPI(Vue, Hello, [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click'\")]),s._v(\"], \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\")\\n\\nHello.$create(config, renderFn)\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Dialog } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nVue.use(Dialog)\\n\\nDialog.$create({\\n  ...\\n})\\n\")])])}]}},\"Nx+F\":function(s,t,a){s.exports=a(\"PtgT\")},PtgT:function(s,t,a){var e=a(\"VU/8\")(null,a(\"LlmT\"),null,null,null);s.exports=e.exports}});"
  },
  {
    "path": "docs/js/4.d6af701a543a8fb02755.js",
    "content": "webpackJsonp([4],{\"1dH2\":function(s,t,a){s.exports=a(\"wDjb\")},ZPV3:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Toolbar\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Toolbar-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Toolbar\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"工具栏，可以组合多个按钮，复选框操作为一个工具栏。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.9.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基础使用\")]),s._v(\" \"),a(\"p\",[s._v(\"将每个操作的类型和文本传入 \"),a(\"code\",{pre:!0},[s._v(\"actions\")]),s._v(\" 属性。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":actions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"actions\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"money\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"actions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'完成订单'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'打车来接'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checked\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">10元</span>'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'moreMoney'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showText(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clicked '\")]),s._v(\" + item.text,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    },\\n    moreMoney(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money += \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n      item.text = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">'\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money + \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'元</span>'\")]),s._v(\"\\n    },\\n    clickHandler(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (item.action) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\"[item.action](item)\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".orange\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fc9153\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"更多操作\")]),s._v(\" \"),a(\"p\",[s._v(\"你还可以通过 \"),a(\"code\",{pre:!0},[s._v(\"moreActions\")]),s._v(\" 属性传入更多操作，就会把工具栏扩展成可展开收起的双层工具栏。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":actions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"actions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":more-actions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"moreActions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"money\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"actions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'完成订单'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'打车来接'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checked\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">10元</span>'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'moreMoney'\")]),s._v(\"\\n        }\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"moreActions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'操作a'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'操作b'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'操作c'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-right'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showText(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clicked '\")]),s._v(\" + item.text,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    },\\n    moreMoney(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money += \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n      item.text = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">'\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money + \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'元</span>'\")]),s._v(\"\\n    },\\n    clickHandler(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (item.action) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\"[item.action](item)\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".orange\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fc9153\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"actions\")]),s._v(\" \"),a(\"td\",[s._v(\"定义一组操作\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[ {text: '完成订单' } ]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"moreActions\")]),s._v(\" \"),a(\"td\",[s._v(\"定义更多的一组操作\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[ {text: '完成订单' } ]\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"actions\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"类型，包括 button 和 checkbox\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"button/checkbox\")]),s._v(\" \"),a(\"td\",[s._v(\"button\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"文案，支持写入 html\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"checked\")]),s._v(\" \"),a(\"td\",[s._v(\"当为 checkbox 类型时，checkbox的初始状态\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"click\")]),s._v(\" \"),a(\"td\",[s._v(\"点击某一项触发\")]),s._v(\" \"),a(\"td\",[s._v(\"该项 item 的值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"more-click\")]),s._v(\" \"),a(\"td\",[s._v(\"当有更多操作时，点击更多按钮时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"更多操作是否是显示状态\")])])])])}]}},wDjb:function(s,t,a){var n=a(\"VU/8\")(null,a(\"ZPV3\"),null,null,null);s.exports=n.exports}});"
  },
  {
    "path": "docs/js/40.f0d920ac58825c920648.js",
    "content": "webpackJsonp([40],{\"2EYs\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Checker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Checker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Checker\")]),s._v(\" \"),a(\"p\",[s._v(\"Checker 是更加灵活的选择组件，可以自定义需要的布局样式。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"CubeCheckerItemProps配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeCheckerItemProps配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeCheckerItem Props 配置\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"默认\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerValue\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerValue\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'red'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'yellow'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'blue'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'green'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"如果选中了，则 \"),a(\"code\",{pre:!0},[s._v(\"checkerValue\")]),s._v(\" 的值就为 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\"。\")]),s._v(\" \"),a(\"p\",[s._v(\"设置 \"),a(\"code\",{pre:!0},[s._v(\"option\")]),s._v(\"，当选中某一项的时候，\"),a(\"code\",{pre:!0},[s._v(\"checkerValue\")]),s._v(\" 的值就是 \"),a(\"code\",{pre:!0},[s._v(\"'optionValue'\")]),s._v(\"，当未选中的时候，\"),a(\"code\",{pre:!0},[s._v(\"checkerValue\")]),s._v(\" 的值就是 \"),a(\"code\",{pre:!0},[s._v(\"''\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"单选\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerValue\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"radio\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'AAAAA'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'BBBBB'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可通过设置 \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" ，若为 \"),a(\"code\",{pre:!0},[s._v(\"'radio'\")]),s._v(\" 则是单选，若为 \"),a(\"code\",{pre:!0},[s._v(\"'checkbox'\")]),s._v(\" 则是多选。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义结构\")]),s._v(\" \"),a(\"p\",[s._v(\"可通过默认插槽插入 CubeCheckerItem 实现自定义每项的结构。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"radio\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker-item\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in options\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.value\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"orange\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cubeic-alert\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"{{item.text}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker-item\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerList\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'AAAAA'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'BBBBB'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"个数限制\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" 设置最多可选个数，多选时可用。\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" 设置最少可选个数，多选时可用。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":min\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":max\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"2\"')]),s._v(\"/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerList\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'red'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'yellow'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'blue'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'green'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"不可点击状态\"),a(\"sup\",[s._v(\"1.12.19\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"disabled\")]),s._v(\" 设置禁用状态。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerList\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'first'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'second'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'third'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"配置项集合\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"选项类型\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"checkbox/radio\")]),s._v(\" \"),a(\"td\",[s._v(\"checkbox\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\")]),s._v(\" \"),a(\"td\",[s._v(\"最少可选个数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"最多可选个数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"options 的长度\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"options 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"选项的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"选项的文本\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\"),a(\"sup\",[s._v(\"1.12.19\")])]),s._v(\" \"),a(\"td\",[s._v(\"选项是否被禁用\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"option\")]),s._v(\" \"),a(\"td\",[s._v(\"单个配置项\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"option 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"选项的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"选项的文本\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\"),a(\"sup\",[s._v(\"1.12.19\")])]),s._v(\" \"),a(\"td\",[s._v(\"选项是否被禁用\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])}]}},\"JE+5\":function(s,t,a){var v=a(\"VU/8\")(null,a(\"2EYs\"),null,null,null);s.exports=v.exports},Ye5R:function(s,t,a){s.exports=a(\"JE+5\")}});"
  },
  {
    "path": "docs/js/41.3c28ecf59ffa843d25c4.js",
    "content": "webpackJsonp([41],{mCyT:function(s,t,a){var v=a(\"VU/8\")(null,a(\"ujOR\"),null,null,null);s.exports=v.exports},n3PG:function(s,t,a){s.exports=a(\"mCyT\")},ujOR:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Checkbox复选框\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Checkbox复选框-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Checkbox 复选框\")]),s._v(\" \"),a(\"p\",[s._v(\"复选框，可设置其状态、传入特殊 class 以及复选框图标位置。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(4)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checked\"')]),s._v(\">\")]),s._v(\"\\n  Checkbox\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"如果选中了，则 \"),a(\"code\",{pre:!0},[s._v(\"checked\")]),s._v(\" 的值就为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"复选框图标样式\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checked\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"position\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"right\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"shape\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"square\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":hollow-style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\">\")]),s._v(\"\\n  Styled Checkbox\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"设置 \"),a(\"code\",{pre:!0},[s._v(\"position\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"'right'\")]),s._v(\" 则复选框图标位置在右边，且可以通过 \"),a(\"code\",{pre:!0},[s._v(\"shape\")]),s._v(\" 配置图标形状以及设置 \"),a(\"code\",{pre:!0},[s._v(\"hollow-style\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 代表显示的是镂空样式的（即使 \"),a(\"code\",{pre:!0},[s._v(\"shape\")]),s._v(\" 不是 \"),a(\"code\",{pre:!0},[s._v(\"square\")]),s._v(\" 表现的也是方形的）。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"改变 model 的值\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checked\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"option\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checked\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option Checkbox'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'optionValue'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"设置 \"),a(\"code\",{pre:!0},[s._v(\"option\")]),s._v(\"，当复选框选中的时候，\"),a(\"code\",{pre:!0},[s._v(\"checked\")]),s._v(\" 的值就是 \"),a(\"code\",{pre:!0},[s._v(\"'optionValue'\")]),s._v(\"，当未选中的时候，\"),a(\"code\",{pre:!0},[s._v(\"checked\")]),s._v(\" 的值就是 \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\"；所以其实在单个复选框的场景下，最好不要设置 \"),a(\"code\",{pre:!0},[s._v(\"option\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"禁用状态\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checked\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{disabled: true}\"')]),s._v(\">\")]),s._v(\"\\n  Disabled Checkbox\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"处理点击事件\")]),s._v(\" \"),a(\"p\",[s._v(\"如果你需要处理点击事件，你需要修改下样式：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"with-click\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checked\"')]),s._v(\">\")]),s._v(\"\\n  Agree \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"a\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"href\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"javascript:;\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click.stop\")]),s._v(\">\")]),s._v(\"《xxx》\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"a\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-styl\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".with-click\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-checkbox-label\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"a\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"position\")]),s._v(\": relative\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"z-index\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"option\")]),s._v(\" \"),a(\"td\",[s._v(\"配置项（如果 options 中的项为字符串，此时默认 label 和 value 的值都为该字符串的值）\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/String/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\")]),s._v(\" \"),a(\"td\",[s._v(\"位置\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"shape\")]),s._v(\" \"),a(\"td\",[s._v(\"图标形状\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"circle/square\")]),s._v(\" \"),a(\"td\",[s._v(\"circle\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollowStyle\")]),s._v(\" \"),a(\"td\",[s._v(\"是否是镂空样式的\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"option\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"复选框显示文字\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"复选框的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"复选框是否被禁用\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"当绑定值变化时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"更新后的复选框的值（若option中设置了value，且勾选复选框时，该值为option.value；否则，该值为复选框的v-model值）\")])])])])}]}}});"
  },
  {
    "path": "docs/js/42.66317608a96419d33a02.js",
    "content": "webpackJsonp([42],{\"8Xh4\":function(s,t,a){var v=a(\"VU/8\")(null,a(\"TiOf\"),null,null,null);s.exports=v.exports},NVJK:function(s,t,a){s.exports=a(\"8Xh4\")},TiOf:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"CheckboxGroup复选框组\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CheckboxGroup复选框组-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CheckboxGroup 复选框组\")]),s._v(\" \"),a(\"p\",[s._v(\"复选框组就是一组复选框，主要用来选择一组可选项；有垂直和水平两种样式。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"垂直排列\")]),s._v(\" \"),a(\"p\",[s._v(\"默认就是垂直排列样式\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkList\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkList\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"checkList\")]),s._v(\" 的值是一个数组，代表的是选中的复选框 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 的值的集合。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"水平排列、图标形状、镂空样式\")]),s._v(\" \"),a(\"p\",[s._v(\"可通过设置 \"),a(\"code\",{pre:!0},[s._v(\"horizontal\")]),s._v(\" 改变样式为水平排列，另外，还可以通过 \"),a(\"code\",{pre:!0},[s._v(\"shape\")]),s._v(\" 配置图标形状以及通过设置 \"),a(\"code\",{pre:!0},[s._v(\"hollow-style\")]),s._v(\" 为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 改变为镂空样式。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkList\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":horizontal\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"shape\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"square\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":hollow-style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" />\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义 label\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkList\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Checkbox 1\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"2\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Checkbox 2\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{value: '3', disabled: true}\\\"\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Disabled Checkbox\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{value: '4', disabled: true}\\\"\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Disabled & Checked Checkbox\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"可通过默认插槽插入 \"),a(\"code\",{pre:!0},[s._v(\"cube-checkbox\")]),s._v(\" 实现自定义每项的结构样子，关于 \"),a(\"code\",{pre:!0},[s._v(\"cube-checkbox\")]),s._v(\"，请参考其\"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/checkbox\"}},[s._v(\"文档\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"自定义列数\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"p\",[s._v(\"可通过设计 \"),a(\"code\",{pre:!0},[s._v(\"colNum\")]),s._v(\" 控制一行中有几列，colNum 小于1时，按1处理\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s._v(\"  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"colCheckList\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"colOptions\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":col-num\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"3\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"colCheckList\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"colOptions\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8'\")]),s._v(\"]\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"选项数组\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"horizontal\")]),s._v(\" \"),a(\"td\",[s._v(\"是否水平排列\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"colNum\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"td\",[s._v(\"一行有几列\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"1\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"shape\")]),s._v(\" \"),a(\"td\",[s._v(\"图标形状\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"circle/square\")]),s._v(\" \"),a(\"td\",[s._v(\"circle\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollowStyle\")]),s._v(\" \"),a(\"td\",[s._v(\"是否是镂空样式的\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"最小选择个数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"最大选择个数\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"Infinite\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"复选框显示文字\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"复选框的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"复选框是否被禁用\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"注：如果 \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" 中的项为字符串也是可以的，此时默认 \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" 的值都为该字符串的值。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"checked\")]),s._v(\" \"),a(\"td\",[s._v(\"勾选复选框组中的某一项时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"当前勾选的复选框值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel-checked\")]),s._v(\" \"),a(\"td\",[s._v(\"取消勾选复选框组中的某一项时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"当前取消勾选的复选框值\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"当绑定值变化时触发\")]),s._v(\" \"),a(\"td\",[s._v(\"当前选中的复选框值的集合\")])])])])}]}}});"
  },
  {
    "path": "docs/js/43.c064229db7098f19a043.js",
    "content": "webpackJsonp([43],{\"4WKi\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"CascadePicker组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CascadePicker组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CascadePicker组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"1.2.0 新增\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\"组件是级联选择器，用于实现多列选择之间的级联变化。比如，在选择省市区时，当省切换到了江苏省，城市列应该变成江苏省的各个城市，同理，如果城市切换到苏州市，区列的选项也应变成苏州市的各个区，这就级联的意义。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"p\",[s._v(\"相比普通选择器，级联选择器需要传入的数据结构是不一样的。普通选择器的数据结构是一个二维数组，每一列对应一个固定的数组，而级联选择器，则需要传入的是一个树形结构，第一列数组的每个选项的children属性，对应着切换到该选项时后续列的数据，从而实现对后续列的改变。如下所示：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showCascadePicker\"')]),s._v(\">\")]),s._v(\"Cascade Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cascadeData = [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Fruit'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Fruit'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Apple'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Apple'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'One'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Two'\")]),s._v(\" }]\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Orange'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Orange'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Three'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Four'\")]),s._v(\" }]\\n      }\\n    ]\\n  },\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Drink'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Drink'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Coffee'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Coffee'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'One'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Two'\")]),s._v(\" }]\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Tea'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Tea'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'One'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Three'\")]),s._v(\"}]\\n      }\\n    ]\\n  }\\n]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cascadePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Cascade Picker'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cascadeData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showCascadePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cascadePicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"当第一列选中\"),a(\"code\",{pre:!0},[s._v(\"Fruit\")]),s._v(\"时，第二列的选项是\"),a(\"code\",{pre:!0},[s._v(\"Apple\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"Orange\")]),s._v(\"。以此类推，当第二列选中\"),a(\"code\",{pre:!0},[s._v(\"Orange\")]),s._v(\"时，第三列的选项是\"),a(\"code\",{pre:!0},[s._v(\"Three\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"Four\")]),s._v(\"。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"地址选择器\")]),s._v(\" \"),a(\"p\",[s._v(\"对于地址选择器，只需要构造出级联选择器的数据结构传入就可以了。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showAddressPicker\"')]),s._v(\">\")]),s._v(\"Address Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/area'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" addressData = provinceList\\naddressData.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"province\")]),s._v(\" =>\")]),s._v(\" {\\n  province.children = cityList[province.value]\\n  province.children.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"city\")]),s._v(\" =>\")]),s._v(\" {\\n    city.children = areaList[city.value]\\n  })\\n})\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".addressPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'City Picker'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": addressData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showAddressPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".addressPicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"实例方法 \"),a(\"code\",{pre:!0},[s._v(\"setData\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"setData\")]),s._v(\"方法，用于重置\"),a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\"实例的数据和选中的索引。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showSetDataPicker\"')]),s._v(\">\")]),s._v(\"SetData Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Set Data'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showSetDataPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// setData when the picker is invisible.\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker.setData(cascadeData)\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// setData when the picker is visible.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker.setData(addressData, [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"])\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"异步加载数据\")]),s._v(\" \"),a(\"p\",[s._v(\"当数据量太大时，可能难以在最开始就生成完整的级联数据树。这时，你可以配置 \"),a(\"code\",{pre:!0},[s._v(\"async\")]),s._v(\" 属性开启异步加载级联数据，在 \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" 事件时，去更新数据，并且在你更新完数据之前，用户点击确认会是无效的。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showAsyncPicker\"')]),s._v(\">\")]),s._v(\"Async Load Data\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/area'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" asyncData = provinceList\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" asyncSelectedIndex = [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"]\\nasyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children = cityList[asyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].value]\\nasyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children = areaList[asyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].value]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Async Load Data'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"async\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": asyncData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": asyncSelectedIndex.slice(),\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onChange\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncChangeHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showAsyncPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncPicker.show()\\n    },\\n    asyncChangeHandle(i, newIndex) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (newIndex !== asyncSelectedIndex[i]) {\\n        asyncSelectedIndex[i] = newIndex\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// If the first two column is changed, request the data for rest columns.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i < \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\") {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Mock async load.\")]),s._v(\"\\n          setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n              \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" current = asyncData[newIndex]\\n              current.children = current.children || cityList[current.value]\\n              current.children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children = current.children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children || areaList[current.children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].value]\\n              asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"] = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n              asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"] = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n            }\\n\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\") {\\n              \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" current = asyncData[asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"]].children[newIndex]\\n              current.children = current.children || areaList[current.value]\\n              asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"] = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n            }\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncPicker.setData(asyncData, asyncSelectedIndex)\\n          }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"500\")]),s._v(\")\\n        }\\n      }\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"级联选择器的树形数据，用于初始化选项\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"selectedIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"被选中的索引值，拉起选择器后显示这个索引值对应的内容\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[1]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"async\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"异步加载数据\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"副标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"取消按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"确定按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"alias\")]),s._v(\" \"),a(\"td\",[s._v(\"配置\"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\"和\"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\"的别名，用法同\"),a(\"code\",{pre:!0},[s._v(\"Picker\")]),s._v(\"组件\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")]),s._v(\" \"),a(\"td\",[s._v(\"{ value: 'id', text: 'name'}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\"子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")]),s._v(\" \"),a(\"th\",[s._v(\"示例\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"每个选项展示的文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"每个选项的值\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number/Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"点击确认按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: 当前选中项每一列的值，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前选中项每一列的索引，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: 当前选中项每一列的文案，Array类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"滚轴滚动后触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"index: 当前滚动列次序，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前列选中项的索引，Number类型\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"点击取消按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"setData\")]),s._v(\" \"),a(\"td\",[s._v(\"重置数据和选中的索引\")]),s._v(\" \"),a(\"td\",[s._v(\"级联树形数据结构，Array类型\")]),s._v(\" \"),a(\"td\",[s._v(\"每列选中的索引，Array类型\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},kh0H:function(s,t,a){s.exports=a(\"o77T\")},o77T:function(s,t,a){var v=a(\"VU/8\")(null,a(\"4WKi\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/44.5f1f01671968b86fc2ff.js",
    "content": "webpackJsonp([44],{Buia:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Button\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Button-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Button\")]),t._v(\" \"),a(\"p\",[t._v(\"按钮，提供了各种类型、样子、状态以及图标。\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(2)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"按钮类型\")]),t._v(\" \"),a(\"p\",[t._v(\"默认类型为 \"),a(\"code\",{pre:!0},[t._v(\"button\")]),t._v(\"，还可设置为 \"),a(\"code\",{pre:!0},[t._v(\"submit\")]),t._v(\" 用于表单中\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"submit\"')]),t._v(\">\")]),t._v(\"Submit Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"按钮状态\")]),t._v(\" \"),a(\"p\",[t._v(\"默认正常，可设置激活、禁用状态\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":active\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Active Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Disabled Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"图标\")]),t._v(\" \"),a(\"p\",[t._v(\"可设置 icon 的 class\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"cubeic-right\"')]),t._v(\">\")]),t._v(\"Button With Icon\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"样子\")]),t._v(\" \"),a(\"p\",[t._v(\"可以通过设置 \"),a(\"code\",{pre:!0},[t._v(\"light\")]),t._v(\"、\"),a(\"code\",{pre:!0},[t._v(\"inline\")]),t._v(\"、\"),a(\"code\",{pre:!0},[t._v(\"outline\")]),t._v(\"、\"),a(\"code\",{pre:!0},[t._v(\"primary\")]),t._v(\" 属性来改变按钮样子\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":light\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Light Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":inline\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Inline Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":outline\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Outline Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":primary\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Primary Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"type\")]),t._v(\" \"),a(\"td\",[t._v(\"按钮类型\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"button/submit\")]),t._v(\" \"),a(\"td\",[t._v(\"button\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"激活状态\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"禁用状态\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"icon\")]),t._v(\" \"),a(\"td\",[t._v(\"图表 Icon\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"icon 的 class 值\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"light\")]),t._v(\" \"),a(\"td\",[t._v(\"亮色\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"inline\")]),t._v(\" \"),a(\"td\",[t._v(\"是否内联\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"outline\")]),t._v(\" \"),a(\"td\",[t._v(\"外边框\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"primary\")]),t._v(\" \"),a(\"td\",[t._v(\"主要的\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"事件名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"参数\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"click\")]),t._v(\" \"),a(\"td\",[t._v(\"点击按钮后触发此事件，如果禁用状态，则不触发\")]),t._v(\" \"),a(\"td\",[t._v(\"e - 事件对象\")])])])])}]}},s6Rz:function(t,s,a){t.exports=a(\"tyYh\")},tyYh:function(t,s,a){var v=a(\"VU/8\")(null,a(\"Buia\"),null,null,null);t.exports=v.exports}});"
  },
  {
    "path": "docs/js/45.173edcbc30408a1aaea4.js",
    "content": "webpackJsonp([45],{JGwD:function(t,e,r){t.exports=r(\"n0Bv\")},daBp:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,r=t._self._c||e;return r(\"section\",[r(\"h2\",{attrs:{id:\"better-scroll模块\"}},[r(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-better-scroll模块-anchor\",\"aria-hidden\":\"true\"}},[r(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[r(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" better-scroll 模块\")]),t._v(\" \"),t._m(0),t._v(\" \"),r(\"h3\",{attrs:{id:\"链接\"}},[r(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-链接-anchor\",\"aria-hidden\":\"true\"}},[r(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[r(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 链接\")]),t._v(\" \"),r(\"p\",[t._v(\"关于 better-scroll 详细的文档以及示例，请参考：\")]),t._v(\" \"),t._m(1)])},staticRenderFns:[function(){var t=this,e=t.$createElement,r=t._self._c||e;return r(\"p\",[t._v(\"该模块默认暴露出一个 \"),r(\"code\",{pre:!0},[t._v(\"BetterScroll\")]),t._v(\" 函数对象，这个对象直接从依赖库 \"),r(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll\"}},[t._v(\"better-scroll\")]),t._v(\" 获得。\")])},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r(\"ul\",[r(\"li\",[r(\"p\",[r(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/\"}},[t._v(\"官方文档\")])])]),t._v(\" \"),r(\"li\",[r(\"p\",[r(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/#/examples/zh\"}},[t._v(\"官方示例\")])])])])}]}},n0Bv:function(t,e,r){var c=r(\"VU/8\")(null,r(\"daBp\"),null,null,null);t.exports=c.exports}});"
  },
  {
    "path": "docs/js/46.615250d5103ff47df383.js",
    "content": "webpackJsonp([46],{\"44c3\":function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"ActionSheet\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ActionSheet-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" ActionSheet\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(6),t._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 实例方法\")]),t._v(\" \"),t._m(7)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"ActionSheet\")]),t._v(\"操作列表提供了两种常见的样式，灵活可控内容。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"strong\",[t._v(\"注：\")]),t._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\"。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"基本用法\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showDefault\"')]),t._v(\">\")]),t._v(\"操作列表\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showDefault() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createActionSheet({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题~~~'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'<em>align - center</em>'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cube-foo'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'align - left'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"align\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'left'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'align - right'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"align\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'right'\")]),t._v(\"\\n          }\\n        ],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"item, index\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${item.content}\")]),t._v(\"`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"配置标题 \"),a(\"code\",{pre:!0},[t._v(\"title\")]),t._v(\" 和 \"),a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" 数据项，注意 \"),a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" 中内容是 \"),a(\"code\",{pre:!0},[t._v(\"content\")]),t._v(\"，一段 HTML 字符串，额外还可以配置自定义 class：\"),a(\"code\",{pre:!0},[t._v(\"class\")]),t._v(\" 和方向：\"),a(\"code\",{pre:!0},[t._v(\"align\")]),t._v(\"（值可以是 \"),a(\"code\",{pre:!0},[t._v(\"left\")]),t._v(\"、\"),a(\"code\",{pre:!0},[t._v(\"right\")]),t._v(\"）。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"高亮设置\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showActive\"')]),t._v(\">\")]),t._v(\"ActionSheet - active\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showActive() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createActionSheet({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题~~~'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'舒适型'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'七座商务'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'豪华型'\")]),t._v(\"\\n          }\\n        ],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"item, index\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${item.content}\")]),t._v(\"`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'correct'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onCancel\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked canceled`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"通过设置 \"),a(\"code\",{pre:!0},[t._v(\"active\")]),t._v(\" 属性来控制高亮的是第几个。\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Picker 样式设定\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showPickerStyle\"')]),t._v(\">\")]),t._v(\"ActionSheet - picker style\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showPickerStyle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createActionSheet({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题~~~'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"pickerStyle\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'舒适型'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'七座商务'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'豪华型'\")]),t._v(\"\\n          }\\n        ],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"item, index\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${item.content}\")]),t._v(\"`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'correct'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onCancel\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked canceled`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"pickerStyle\")]),t._v(\" 属性决定是否使用 Picker 样式。\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"组件的标题\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancelTxt\"),a(\"sup\",[t._v(\"1.9.9\")])]),t._v(\" \"),a(\"td\",[t._v(\"取消文案\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'取消'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"data\")]),t._v(\" \"),a(\"td\",[t._v(\"需要展示的数据列表\")]),t._v(\" \"),a(\"td\",[t._v(\"Array\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"[]\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"高亮第几个选项\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-1\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"pickerStyle\")]),t._v(\" \"),a(\"td\",[t._v(\"Picker 样式\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"visible\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\"绑定值\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maskClosable\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"点击蒙层是否隐藏\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"zIndex\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"样式 z-index 的值\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"100\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" 子配置项\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"展示的内容\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"任意 HTML 字符串\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"align\")]),t._v(\" \"),a(\"td\",[t._v(\"内容对齐方向\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"left/right\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"class\")]),t._v(\" \"),a(\"td\",[t._v(\"自定义 class\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"参数1\")]),t._v(\" \"),a(\"th\",[t._v(\"参数2\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"cancel\")]),t._v(\" \"),a(\"td\",[t._v(\"点击取消\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"select\")]),t._v(\" \"),a(\"td\",[t._v(\"点击某项\")]),t._v(\" \"),a(\"td\",[t._v(\"点击项 item，即 data[index]\")]),t._v(\" \"),a(\"td\",[t._v(\"点击项的索引值 index\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"方法名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"show\")]),t._v(\" \"),a(\"td\",[t._v(\"显示\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"hide\")]),t._v(\" \"),a(\"td\",[t._v(\"隐藏\")])])])])}]}},Ezhp:function(t,s,a){t.exports=a(\"cj7U\")},cj7U:function(t,s,a){var v=a(\"VU/8\")(null,a(\"44c3\"),null,null,null);t.exports=v.exports}});"
  },
  {
    "path": "docs/js/47.ee4add645124d5625695.js",
    "content": "webpackJsonp([47],{BdDp:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Validator\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Validator-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Validator\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Validator is used to validate form data and corresponding warning message.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Rule\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Rule-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Rule\")]),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Adddefaultmessage\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Adddefaultmessage-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Add default message\")]),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),a(\"p\",[s._v(\"As above, the default message parsed inside the component is similar to the Vue filter mechanism.\")]),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),s._m(16),s._v(\" \"),s._m(17),s._v(\" \"),a(\"h3\",{attrs:{id:\"addType\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-addType-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" addType\")]),s._v(\" \"),s._m(18),s._v(\" \"),s._m(19),s._v(\" \"),s._m(20),s._v(\" \"),s._m(21)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.5.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"Validator is called as a independent component, which means it has to bind with the form data need validate through the property \"),a(\"code\",{pre:!0},[s._v(\"model\")]),s._v(\". Then use the property \"),a(\"code\",{pre:!0},[s._v(\"rules\")]),s._v(\" to define the validating rule, such as type, required, pattern(used to define a validating RegExp), custom(used to define a validating function), you can find the details of rules below. And although we have default message (include English and Chinese) for each build-in rule, you could customize messages by the property \"),a(\"code\",{pre:!0},[s._v(\"messages\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"E-mail\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":messages\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"messages\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/didi.com$/\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"val\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" val.length >= \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"12\")]),s._v(\"\\n        }\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The E-mail suffix need to be didi.com.'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The E-mail need contain at least 12 characters.'\")]),s._v(\"\\n      },\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Add warning style to form component\")]),s._v(\" \"),a(\"p\",[s._v(\"If you want to add warning style to form component, you could put the form component into the Validator component. Because when the validation failed, the Validator component will get a CSS class \"),a(\"code\",{pre:!0},[s._v(\"cube-validator_warn\")]),s._v(\" so that you could select the descendant form element of class \"),a(\"code\",{pre:!0},[s._v(\"cube-validator_warn\")]),s._v(\" ro add warning style.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6\")]),s._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-css\"}},[s._v(\"// \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"add\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"warning\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"style\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"to\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"input\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-validator_warn\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"input\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"border\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"solid\")]),s._v(\" 1\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"px\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"yellow\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Customize message slot\")]),s._v(\" \"),a(\"p\",[s._v(\"Beside default message, you could customize the warning template to contain icons and images by \"),a(\"code\",{pre:!0},[s._v(\"message\")]),s._v(\" slot. This is a sloped slot which could meet almost all the demands. It contains \"),a(\"code\",{pre:!0},[s._v(\"dirty\")]),s._v(\" (whether the form data has ever changed), \"),a(\"code\",{pre:!0},[s._v(\"validated\")]),s._v(\" (whether the validator has ever validated), \"),a(\"code\",{pre:!0},[s._v(\"message\")]),s._v(\" (message of first failed rule), \"),a(\"code\",{pre:!0},[s._v(\"result\")]),s._v(\" ( an Object, which contains validating result and message of each rule, such as \"),a(\"code\",{pre:!0},[s._v(\"{ required: { valid: false, invalid: true, message: 'required' } }\")]),s._v(\").\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":messages\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"messages\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"component name\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"message\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"custom-msg\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(props.dirty || props.validated) && !valid\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"dd-cubeic-important\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\" {{ props.message }}\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in Object.values(props.result)\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.inValid\"')]),s._v(\">\")]),s._v(\"\\n          {{ item.message + ' ' }}\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'string'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/^cube-/\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The component name need start with \\\"cube-\\\"'\")]),s._v(\"\\n      },\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-css\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".custom-msg\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"orange\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Async validate \"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"p\",[s._v(\"If the rule function returned a function(\"),a(\"strong\",[s._v(\"this function receives a \"),a(\"code\",{pre:!0},[s._v(\"resolve\")]),s._v(\" callback, if this function called with \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" then it will be treated as success, otherwise it will be treated as failure\")]),s._v(\") or a \"),a(\"code\",{pre:!0},[s._v(\"Promise\")]),s._v(\" object(\"),a(\"strong\",[s._v(\"if \"),a(\"code\",{pre:!0},[s._v(\"resolve\")]),s._v(\" value is \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" then it will be treated as success, otherwise it will be treated as failure\")]),s._v(\"), then it will be validate asynchronously. And when validating the \"),a(\"code\",{pre:!0},[s._v(\"validating\")]),s._v(\" event will be emited.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator-item\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"Async validate: \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"captcha\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":messages\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"messages\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":immediate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"immediate\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validating\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validatingHandler\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validated\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validatedHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"captcha\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Please input captcha\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"captcha\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'number'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"captchaCheck\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"val\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"resolve\")]),s._v(\") =>\")]),s._v(\" {\\n            setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n              resolve(val === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'123456'\")]),s._v(\")\\n            }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n          }\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/** or return promise:\\n          return new Promise((resolve) => {\\n            setTimeout(() => {\\n              resolve(val === '123456')\\n            }, 1000)\\n          })\\n          **/\")]),s._v(\"\\n        }\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"captchaCheck\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input \\\"123456\\\"'\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    validatingHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validating'\")]),s._v(\")\\n    },\\n    validatedHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validated'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"captchaCheck\")]),s._v(\" is an async rule.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Submit\")]),s._v(\" \"),a(\"p\",[s._v(\"Although submit is not inside of Validator, it usually be relative with Validator. Therefore, we want to introduce our best practice about submit here. It focus on the handles of multi-validator and warn message no matter whether the form data has ever changed.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text0\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Required\"')]),s._v(\"/>\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator0\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"result[0]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text0\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules0\"')]),s._v(\"/>\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"E-mail\"')]),s._v(\"/>\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"result[1]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules1\"')]),s._v(\"/>\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"TEL\"')]),s._v(\"/>\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"result[2]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rules2\"')]),s._v(\"/>\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submit\"')]),s._v(\">\")]),s._v(\"Submit\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"result\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text0\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules0\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text1\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules1\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\",\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text2\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules2\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tel'\")]),s._v(\",\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"trigger\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submit() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.validator0.validate()\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.validator1.validate()\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.validator2.validate()\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".result.every(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"item\")]),s._v(\" =>\")]),s._v(\" item)) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Submited'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n        }).show()\\n      }\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"model\")]),s._v(\" \"),a(\"td\",[s._v(\"Required, figure the data need to validate\")]),s._v(\" \"),a(\"td\",[s._v(\"Any\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"v-model\")]),s._v(\" \"),a(\"td\",[s._v(\"the validation result，whether the data is valid\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"rules\")]),s._v(\" \"),a(\"td\",[s._v(\"the rules for validation, you can find the details of rules below\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"messages\")]),s._v(\" \"),a(\"td\",[s._v(\"custom messages for the corresponding rule\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"immediate\")]),s._v(\" \"),a(\"td\",[s._v(\"Immediate validate after loaded\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\"),a(\"sup\",[s._v(\"1.7.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"disabled validate or not\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"the relative form component or element\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"message\")]),s._v(\" \"),a(\"td\",[s._v(\"warning message\")]),s._v(\" \"),a(\"td\",[s._v(\"dirty: if the data have ever changed \"),a(\"br\"),s._v(\" validating: whether is validating \"),a(\"br\"),s._v(\" validated: if the validator have ever validated \"),a(\"br\"),s._v(\" message: the message of the first failed rule \"),a(\"br\"),s._v(\" result: an object, which contains the resule and message of each rule, such as, { required: { valid: false, invalid: true, message: '必填' } }\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"validating\")]),s._v(\" \"),a(\"td\",[s._v(\"validating (only triggered when async validateing)\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"validated\")]),s._v(\" \"),a(\"td\",[s._v(\"validated (only triggered when async validateing)\")]),s._v(\" \"),a(\"td\",[s._v(\"valid: 校验是否成功\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"msg-click\")]),s._v(\" \"),a(\"td\",[s._v(\"click error message ele\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the binding value changes\")]),s._v(\" \"),a(\"td\",[s._v(\"the updated value\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")]),s._v(\" \"),a(\"th\",[s._v(\"Returned value\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"validate(cb)\")]),s._v(\" \"),a(\"td\",[s._v(\"Validate\")]),s._v(\" \"),a(\"td\",[s._v(\"cb: validated callback function, used to async validating cases normally. The arguments is the \"),a(\"code\",{pre:!0},[s._v(\"valid\")]),s._v(\" value\")]),s._v(\" \"),a(\"td\",[s._v(\"If supported Promise then the returned value will be Promise instance(Only have resolved state, the resolved value is \"),a(\"code\",{pre:!0},[s._v(\"valid\")]),s._v(\"), otherwise the returned value is \"),a(\"code\",{pre:!0},[s._v(\"undefined\")])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Build-in rules\")]),s._v(\" \"),a(\"p\",[s._v(\"There are some build-in rules here, include required、type、min、max、len、notWhitespace、pattern、custom.\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Demo\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"required\")]),s._v(\" \"),a(\"td\",[s._v(\"required\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'string', 'number', 'array', 'date', 'email', 'tel', 'url'\")]),s._v(\" \"),a(\"td\",[s._v(\"'tel'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\")]),s._v(\" \"),a(\"td\",[s._v(\"when the type is number or date, it means the data need not smaller than min. Otherwise, it means the length of the data need not smaller than min\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"6\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"when the type is number or date, it means the data need not bigger than max. Otherwise, it means the length of the data need not bigger than max\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"8\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"len\")]),s._v(\" \"),a(\"td\",[s._v(\"when the type is number or date, it means the data need equal to min. Otherwise, it means the length of the data need equal to len\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"7\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"notWhitespace\")]),s._v(\" \"),a(\"td\",[s._v(\"don't allowed to be whitespace\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pattern\")]),s._v(\" \"),a(\"td\",[s._v(\"RegExp match\")]),s._v(\" \"),a(\"td\",[s._v(\"RegExp\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"/1$/\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"custom\")]),s._v(\" \"),a(\"td\",[s._v(\"Costomized validation function. Only valid when the \"),a(\"code\",{pre:!0},[s._v(\"return\")]),s._v(\" is strict equaled to \"),a(\"code\",{pre:!0},[s._v(\"true\")])]),s._v(\" \"),a(\"td\",[s._v(\"Function\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"val => val.length === 7\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Add rule\")]),s._v(\" \"),a(\"p\",[s._v(\"Beside the build-in rules, you could use the method \"),a(\"code\",{pre:!0},[s._v(\"addRule\")]),s._v(\" of Validator to add customized common rule, and \"),a(\"code\",{pre:!0},[s._v(\"addMessage\")]),s._v(\" method to add corresponding default warning message.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// need use Validator\")]),s._v(\"\\nVue.use(Validator)\\n\\nValidator.addRule(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'odd'\")]),s._v(\", (val, config, type) => !config || \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Number\")]),s._v(\"(val) % \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\" === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\nValidator.addMessage(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'odd'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input odd.'\")]),s._v(\")\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"valid\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":rules\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"rule\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text3\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"odd\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-input\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-validator\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'100'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'number'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"odd\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"At first, let's see the build-in default messages. You can use \"),a(\"code\",{pre:!0},[s._v(\"addMessage\")]),s._v(\" to modify the special sub-message.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"Build-in default messages\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" messages = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Required.'\")]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input numbers.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The data type should be array.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select a valid date.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input a valid E-mail.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input a valid telphone number.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input a valid web site.'\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input at least {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The number could not smaller than {{config}}.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select at least {{config}} items.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select a date after {{config | toLocaleDateString(\\\"yyyy-MM-dd\\\")}}.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input at least {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input at least {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input at least {{config}} characters.'\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input no more than {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The number could not bigger than {{config}}'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select no more than  {{config}} items'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select a date before {{config | toLocaleDateString(\\\"yyyy-MM-dd\\\")}}.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input no more than {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input no more than {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input no more than {{config}} characters.'\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The length should equal {{config}}'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select {{config}} items'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please select {{config | toLocaleDateString(\\\"yyyy-MM-dd\\\")}}.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input {{config}} characters.'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input {{config}} characters.'\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The input don\\\"t match pattern.'\")]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Invalid.'\")]),s._v(\",\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"notWhitespace\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Whitespace is invalid.'\")]),s._v(\"\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"Modify the build-in message\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// need use Validator\")]),s._v(\"\\nVue.use(Validator)\\n\\nValidator.addMessage(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'required'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please input this.'\")]),s._v(\")\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Override the message for min.date\")]),s._v(\"\\nValidator.addMessage(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'min'\")]),s._v(\", {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\\'Please select a date after {{config | toLocaleDateString(\"yyyy-MM-dd\") | tips(\"Please re-enter\")}}.\\'')]),s._v(\"\\n})\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"config\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"For example, the rule you configured is: {type: 'date', min: '2018-10-10'}, then the value of the \"),a(\"code\",{pre:!0},[s._v(\"config\")]),s._v(\" field in above message template is '2018-10-10', because the checksum is a \"),a(\"code\",{pre:!0},[s._v(\"date\")]),s._v(\" type, the value of \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" can be a \"),a(\"code\",{pre:!0},[s._v(\"timestamp\")]),s._v(\" or a date-like string \"),a(\"code\",{pre:!0},[s._v(\"yyyy-MM-dd mm:ss\")]),s._v(\" or \"),a(\"code\",{pre:!0},[s._v(\"yyyy/MM/dd mm:ss\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"toLocaleDateString\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The built-in helper function, the first parameter is the config value you configured, the second parameter is the date format you want to initialize, as above is \"),a(\"code\",{pre:!0},[s._v(\"'yyyy year MM month dd day'\")]),s._v(\", accepting something like \"),a(\"code\",{pre:!0},[s._v(\"yyyy-MM-dd mm:ss\")]),s._v(\" format, you can also register your own helper function as follows.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"Validator.addHelper(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'fnName'\")]),s._v(\", (result, arg1) => {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// result -> The value returned by the previous helper function or the config value, as in the above example is '2018-10-10'\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// arg1 -> The string you passed in the message template, as in the above example, 'Please re-enter'\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" ret\\n\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// do your own job\")]),s._v(\"\\n  ret = result + arg1\\n\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// you must return the processed message\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" ret\\n})\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The tool functions registered through \"),a(\"code\",{pre:!0},[s._v(\"Validator.addHelper\")]),s._v(\" are actually mounted under the \"),a(\"code\",{pre:!0},[s._v(\"Locale.helpers\")]),s._v(\" namespace. You can also import the \"),a(\"code\",{pre:!0},[s._v(\"Locale\")]),s._v(\" module and register your own tool functions with \"),a(\"code\",{pre:!0},[s._v(\"Locale.addHelper\")]),s._v(\", which point to the same address.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"Add new type\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nValidator.addType(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'yourType'\")]),s._v(\", (val) => {\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"typeof\")]),s._v(\" val === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'string'\")]),s._v(\" && \"),a(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/^[a-z0-9_-]+/i\")]),s._v(\".test(val)\\n})\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"Modify the build-in type\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Validator } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nValidator.addType(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'email'\")]),s._v(\", (val) => {\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"typeof\")]),s._v(\" val === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'string'\")]),s._v(\" && \"),a(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/^[a-z0-9_-]+@[a-z0-9_-]+(\\\\.[a-z0-9_-]+)$/i\")]),s._v(\".test(val)\\n})\\n\")])])}]}},UO5F:function(s,t,a){var e=a(\"VU/8\")(null,a(\"BdDp\"),null,null,null);s.exports=e.exports},hl6N:function(s,t,a){s.exports=a(\"UO5F\")}});"
  },
  {
    "path": "docs/js/48.82cf541dae749a99ddfa.js",
    "content": "webpackJsonp([48],{S5Uo:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Upload\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Upload-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Upload\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),t._m(2),t._v(\" \"),t._m(3),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(5),t._v(\" \"),t._m(6),t._v(\" \"),t._m(7),t._v(\" \"),t._m(8),t._v(\" \"),t._m(9),t._v(\" \"),t._m(10),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(11),t._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Instance methods\")]),t._v(\" \"),t._m(12)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"New in 1.3.0+\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"Upload\")]),t._v(\" component.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"strong\",[t._v(\"Notice:\")]),t._v(\" In this document, all the original File will be called \"),a(\"strong\",[t._v(\"original file\")]),t._v(\", since the wrapped file object will be called \"),a(\"strong\",[t._v(\"file object\")]),t._v(\". The structure of \"),a(\"strong\",[t._v(\"file object\")]),t._v(\" show as following:\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"file list\")]),t._v(\" \"),a(\"td\",[t._v(\"Array\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"name\")]),t._v(\" \"),a(\"td\",[t._v(\"file name\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"size\")]),t._v(\" \"),a(\"td\",[t._v(\"file size\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"url\")]),t._v(\" \"),a(\"td\",[t._v(\"file url, created by URL.createObjectURL, for preview\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"base64\")]),t._v(\" \"),a(\"td\",[t._v(\"file base64 value, the value is equaled to the original file's base64 value. It is \"),a(\"code\",{pre:!0},[t._v(\"''\")]),t._v(\" by default, but you can have some plugins to added this \"),a(\"code\",{pre:!0},[t._v(\"base64\")]),t._v(\" value, like the compress plugin below\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"status\")]),t._v(\" \"),a(\"td\",[t._v(\"file status, one of: ready, uploading, success, error\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"progress\")]),t._v(\" \"),a(\"td\",[t._v(\"file progress, number 0~1\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"file\")]),t._v(\" \"),a(\"td\",[t._v(\"the original file\")]),t._v(\" \"),a(\"td\",[t._v(\"File\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"response\")]),t._v(\" \"),a(\"td\",[t._v(\"response data(try to parse to JSON）\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/Array/String\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"responseHeaders\")]),t._v(\" \"),a(\"td\",[t._v(\"all response headers\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"action\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"//jsonplaceholder.typicode.com/photos/\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":simultaneous-uploads\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"1\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@files-added\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"filesAdded\"')]),t._v(\" />\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    filesAdded(files) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"const\")]),t._v(\" maxSize = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1024\")]),t._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1024\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"// 1M\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"for\")]),t._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"let\")]),t._v(\" k \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"in\")]),t._v(\" files) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"const\")]),t._v(\" file = files[k]\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"if\")]),t._v(\" (file.size > maxSize) {\\n          file.ignore = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n        }\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"Set \"),a(\"code\",{pre:!0},[t._v(\"action\")]),t._v(\" to configure the upload target URL for the multipart POST request.\")]),t._v(\" \"),a(\"p\",[t._v(\"Set \"),a(\"code\",{pre:!0},[t._v(\"simultaneous-uploads\")]),t._v(\" to configure the max number of files uploading simultaneously .\")]),t._v(\" \"),a(\"p\",[t._v(\"The \"),a(\"code\",{pre:!0},[t._v(\"files-added\")]),t._v(\" event is used for file validation, and you can filter file by setting \"),a(\"code\",{pre:!0},[t._v(\"file.ignore = true\")]),t._v(\".\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Compress and uploaded through Base64\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"ref\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"upload\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":action\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"action\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":simultaneous-uploads\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"1\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":process-file\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"processFile\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@file-submitted\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"fileSubmitted\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"import\")]),t._v(\" compress \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"from\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'../../modules/image'\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"action2\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"target\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'//jsonplaceholder.typicode.com/photos/'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"prop\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'base64Value'\")]),t._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    processFile(file, next) {\\n      compress(file, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"compress\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1600\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1600\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"quality\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0.5\")]),t._v(\"\\n        }\\n      }, next)\\n    },\\n    fileSubmitted(file) {\\n      file.base64Value = file.file.base64\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"The \"),a(\"code\",{pre:!0},[t._v(\"action\")]),t._v(\" is an object which contains \"),a(\"code\",{pre:!0},[t._v(\"target\")]),t._v(\" and \"),a(\"code\",{pre:!0},[t._v(\"prop\")]),t._v(\". the \"),a(\"code\",{pre:!0},[t._v(\"prop\")]),t._v(\" could configure which property  in file object will be uploaded).\")]),t._v(\" \"),a(\"p\",[t._v(\"The \"),a(\"code\",{pre:!0},[t._v(\"process-file\")]),t._v(\" is a function which is used to process the original file, like compress, \"),a(\"code\",{pre:!0},[t._v(\"next\")]),t._v(\" must be called with the processed file.\")]),t._v(\" \"),a(\"p\",[t._v(\"The \"),a(\"code\",{pre:!0},[t._v(\"file-submitted\")]),t._v(\" event will be trigged after the file is processed and added to the \"),a(\"code\",{pre:!0},[t._v(\"upload.files\")]),t._v(\" with a parameter -- the file object.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Use slots\")]),t._v(\" \"),a(\"p\",[t._v(\"You can use slots to define your custom HTML structure.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"ref\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"upload\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"files\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":action\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"action\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@files-added\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"addedHandler\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@file-error\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"errHandler\"')]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"div\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"clear-fix\"')]),t._v(\">\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload-file\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-for\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"(file, i) in files\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":file\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"file\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":key\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"i\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload-file\")]),t._v(\">\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload-btn\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":multiple\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"false\"')]),t._v(\">\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"div\")]),t._v(\">\")]),t._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"i\")]),t._v(\">\")]),t._v(\"＋\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"i\")]),t._v(\">\")]),t._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"p\")]),t._v(\">\")]),t._v(\"Please click to upload ID card\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"p\")]),t._v(\">\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"div\")]),t._v(\">\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload-btn\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"div\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-upload\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"action\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'//jsonplaceholder.typicode.com/photos/'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"files\")]),t._v(\": []\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    addedHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"const\")]),t._v(\" file = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".files[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"]\\n      file && \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$refs.upload.removeFile(file)\\n    },\\n    errHandler(file) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"// const msg = file.response.message\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Upload fail'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"Custom Style:\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload-file\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload-btn\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"margin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200px\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload-file\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"margin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    + \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload-btn\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"margin-top\")]),t._v(\": -\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200px\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"opacity\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload-file-def\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cubeic-wrong\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": none\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-upload-btn\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": flex\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"align-items\")]),t._v(\": center\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"justify-content\")]),t._v(\": center\\n    > \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"div\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"text-align\")]),t._v(\": center\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"i\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": inline-flex\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"align-items\")]),t._v(\": center\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"justify-content\")]),t._v(\": center\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"50px\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"50px\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"margin-bottom\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"20px\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-size\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"32px\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"line-height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-style\")]),t._v(\": normal\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"#fff\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"background-color\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"#333\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-radius\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"50%\")]),t._v(\"\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Demo\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"file list\")]),t._v(\" \"),a(\"td\",[t._v(\"Array\")]),t._v(\" \"),a(\"td\",[t._v(\"[]\")]),t._v(\" \"),a(\"td\",[t._v(\"[{ name, size, url, status: 'success', progress: 1 }]\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"action\")]),t._v(\" \"),a(\"td\",[t._v(\"upload action config\")]),t._v(\" \"),a(\"td\",[t._v(\"String/Object\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")]),t._v(\" \"),a(\"td\",[t._v(\"{ target: '/upload' }\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"max\")]),t._v(\" \"),a(\"td\",[t._v(\"max upload files number\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"10\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"auto\")]),t._v(\" \"),a(\"td\",[t._v(\"whether auto start upload\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"simultaneousUploads\")]),t._v(\" \"),a(\"td\",[t._v(\"the number of simultaneous uploads\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"1\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"multiple\")]),t._v(\" \"),a(\"td\",[t._v(\"multiple select\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"accept\")]),t._v(\" \"),a(\"td\",[t._v(\"input accept\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"image/*\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"processFile\")]),t._v(\" \"),a(\"td\",[t._v(\"process the original file\")]),t._v(\" \"),a(\"td\",[t._v(\"Function\")]),t._v(\" \"),a(\"td\",[t._v(\"function (file, next) { next(file) }\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"action\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"If \"),a(\"code\",{pre:!0},[t._v(\"action\")]),t._v(\" is a string, it will be transformed into \"),a(\"code\",{pre:!0},[t._v(\"{ target: action }\")]),t._v(\".\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"target\")]),t._v(\" \"),a(\"td\",[t._v(\"the upload target URL for the multipart POST request, if this value is a function, then it will be called with the file object as parameter and the returned value as the URL\")]),t._v(\" \"),a(\"td\",[t._v(\"String/Function\"),a(\"sup\",[t._v(\"1.11.0+\")])]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"fileName\")]),t._v(\" \"),a(\"td\",[t._v(\"the name of the multipart POST parameter\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"'file'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"prop\")]),t._v(\" \"),a(\"td\",[t._v(\"which property in file object will be uploaded\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"'file'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"headers\")]),t._v(\" \"),a(\"td\",[t._v(\"extra headers to include in the multipart POST, if this value is a function, then it will be called with the file object as parameter and the returned value as headers\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/Function\"),a(\"sup\",[t._v(\"1.11.0+\")])]),t._v(\" \"),a(\"td\",[t._v(\"{}\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"data\")]),t._v(\" \"),a(\"td\",[t._v(\"extra data to include in the multipart POST, if this value is a function, then it will be called with the file object as parameter and the returned value as data\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/Function\"),a(\"sup\",[t._v(\"1.11.0+\")])]),t._v(\" \"),a(\"td\",[t._v(\"{}\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"withCredentials\")]),t._v(\" \"),a(\"td\",[t._v(\"Standard CORS requests would not send or set any cookies by default. In order to include cookies as part of the request, you need to set the withCredentials property to true\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"timeout\")]),t._v(\" \"),a(\"td\",[t._v(\"upload request timeout value\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"0\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"progressInterval\")]),t._v(\" \"),a(\"td\",[t._v(\"The time interval between progress reports (Unit: ms)\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"100\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"checkSuccess\")]),t._v(\" \"),a(\"td\",[t._v(\"Check the response should be successful, the parameters is \"),a(\"code\",{pre:!0},[t._v(\"(response, file[, cb])\")]),t._v(\" object. The \"),a(\"code\",{pre:!0},[t._v(\"file\")]),t._v(\" and optional \"),a(\"code\",{pre:!0},[t._v(\"cb\")]),t._v(\" parameters are avaliable after 1.11.0. If there are no \"),a(\"code\",{pre:!0},[t._v(\"cb\")]),t._v(\" then get this function as result \"),a(\"code\",{pre:!0},[t._v(\"isSuccess\")]),t._v(\", otherwise the \"),a(\"code\",{pre:!0},[t._v(\"cb(isSuccess)\")]),t._v(\" parameter \"),a(\"code\",{pre:!0},[t._v(\"isSuccess\")]),t._v(\" as the result. If the result \"),a(\"code\",{pre:!0},[t._v(\"isSuccess\")]),t._v(\" is \"),a(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\" then it will be treated as successful\")]),t._v(\" \"),a(\"td\",[t._v(\"Function\")]),t._v(\" \"),a(\"td\",[t._v(\"function (res) { return true }\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"processFile\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"A function with two parameters: \"),a(\"code\",{pre:!0},[t._v(\"(file, next)\")]),t._v(\", the \"),a(\"code\",{pre:!0},[t._v(\"file\")]),t._v(\" is the original file and the \"),a(\"code\",{pre:!0},[t._v(\"next\")]),t._v(\" callback must be called with the processed file.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"files-added\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when files are added, usually used for file validation\")]),t._v(\" \"),a(\"td\",[t._v(\"original files\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"file-submitted\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when a file is added to the \"),a(\"code\",{pre:!0},[t._v(\"upload.files\")])]),t._v(\" \"),a(\"td\",[t._v(\"the file object\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"file-removed\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when a file is removed\")]),t._v(\" \"),a(\"td\",[t._v(\"the file object\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"file-success\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when a file is uploaded successfully\")]),t._v(\" \"),a(\"td\",[t._v(\"the file object\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"file-error\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when a file is failed to upload\")]),t._v(\" \"),a(\"td\",[t._v(\"the file object\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"file-click\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when a file is clicked\")]),t._v(\" \"),a(\"td\",[t._v(\"the file object. After 1.12.39, added file \"),a(\"code\",{pre:!0},[t._v(\"index\")]),t._v(\" param\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the binding value(file list) changes\")]),t._v(\" \"),a(\"td\",[t._v(\"the updated value(file list)\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Method name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameter\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"start\")]),t._v(\" \"),a(\"td\",[t._v(\"start uploading\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"pause\")]),t._v(\" \"),a(\"td\",[t._v(\"pause uploading\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"retry\")]),t._v(\" \"),a(\"td\",[t._v(\"retry uploading\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"removeFile\")]),t._v(\" \"),a(\"td\",[t._v(\"remove file\")]),t._v(\" \"),a(\"td\",[t._v(\"the file object\")])])])])}]}},YJZO:function(t,s,a){t.exports=a(\"aeWw\")},aeWw:function(t,s,a){var e=a(\"VU/8\")(null,a(\"S5Uo\"),null,null,null);t.exports=e.exports}});"
  },
  {
    "path": "docs/js/49.e61e7c5334a8e3beb42a.js",
    "content": "webpackJsonp([49],{bNJT:function(s,t,a){var n=a(\"VU/8\")(null,a(\"xlMk\"),null,null,null);s.exports=n.exports},xlMk:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Toolbar\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Toolbar-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Toolbar\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Toolbar, with actions & more-actions.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.9.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"actions\")]),s._v(\" to define the toolbar actions.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":actions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"actions\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"money\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"actions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'完成订单'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'打车来接'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checked\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">10元</span>'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'moreMoney'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showText(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clicked '\")]),s._v(\" + item.text,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    },\\n    moreMoney(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money += \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n      item.text = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">'\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money + \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'元</span>'\")]),s._v(\"\\n    },\\n    clickHandler(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (item.action) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\"[item.action](item)\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".orange\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fc9153\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use handle the action in \"),a(\"code\",{pre:!0},[s._v(\"click\")]),s._v(\" event handler.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"More actions\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"moreActions\")]),s._v(\" to define more actions.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":actions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"actions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":more-actions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"moreActions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-toolbar\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"money\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"actions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'完成订单'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'打车来接'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checked\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">10元</span>'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'moreMoney'\")]),s._v(\"\\n        }\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"moreActions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'操作a'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'操作b'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'操作c'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-right'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'showText'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showText(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clicked '\")]),s._v(\" + item.text,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    },\\n    moreMoney(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money += \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n      item.text = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'一口价<span class=\\\"orange\\\">'\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".money + \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'元</span>'\")]),s._v(\"\\n    },\\n    clickHandler(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (item.action) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\"[item.action](item)\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".orange\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fc9153\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Demo\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"actions\")]),s._v(\" \"),a(\"td\",[s._v(\"actions description\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[ {text: '完成订单' } ]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"moreActions\")]),s._v(\" \"),a(\"td\",[s._v(\"more actions\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[ {text: '完成订单' } ]\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"actions\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"type, button or checkbox\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"button/checkbox\")]),s._v(\" \"),a(\"td\",[s._v(\"button\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"text, support html string\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"checked\")]),s._v(\" \"),a(\"td\",[s._v(\"if type is checkbox, then this value will be the Checkbox's model alue\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"click\")]),s._v(\" \"),a(\"td\",[s._v(\"clicked one item\")]),s._v(\" \"),a(\"td\",[s._v(\"item value\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"more-click\")]),s._v(\" \"),a(\"td\",[s._v(\"clicked more item\")]),s._v(\" \"),a(\"td\",[s._v(\"whether more actions is visible\")])])])])}]}},yyOQ:function(s,t,a){s.exports=a(\"bNJT\")}});"
  },
  {
    "path": "docs/js/5.a8a43ce0421c2d5b9833.js",
    "content": "webpackJsonp([5],{\"4Jzk\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Toast\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Toast-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Toast\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Toast\")]),s._v(\"组件主要用于非模态信息提醒，无需用户交互。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"显示时间设置\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastTime\"')]),s._v(\">\")]),s._v(\"Toast - time 1s\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastTime0\"')]),s._v(\">\")]),s._v(\"Toast - time 0\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastTime() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Toast time 1s'\")]),s._v(\"\\n      })\\n      toast.show()\\n    },\\n    showToastTime0() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Toast time 0'\")]),s._v(\"\\n      })\\n      toast.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        toast.hide()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"time\")]),s._v(\" 字段决定了 Toast 显示的时间，如果设置为 \"),a(\"code\",{pre:!0},[s._v(\"0\")]),s._v(\"，则不会消失，需要手动调用组件的 \"),a(\"code\",{pre:!0},[s._v(\"hide\")]),s._v(\" 方法。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"显示遮罩\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastMask\"')]),s._v(\">\")]),s._v(\"Toast- with mask\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastMask () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Loading...'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"mask\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"mask\")]),s._v(\" 设置为 \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" 时会显示遮罩。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"类型设置\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastType\"')]),s._v(\">\")]),s._v(\"Toast - type\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastType() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\"\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" 字段决定了 Toast 的显示图标类型，具体对应关系，参见下方的 Props 配置。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"纯文本类型\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastTxtOnly\"')]),s._v(\">\")]),s._v(\"Toast - txt only\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastTxtOnly() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Plain txt'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'txt'\")]),s._v(\"\\n      })\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".toast.show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"事件回调\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastCallback\"')]),s._v(\">\")]),s._v(\"Toast - callback\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastCallbak() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onTimeout\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\")\\n        }\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"除了设置 \"),a(\"code\",{pre:!0},[s._v(\"onTimeout\")]),s._v(\" 的形式，还可以通过 \"),a(\"code\",{pre:!0},[s._v(\"$events\")]),s._v(\" 传入事件回调。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastCallbak() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$events\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"timeout\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\")\\n          }\\n        }\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"类型(对应不同的 icon)\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"loading/correct/error/warn/txt\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"loading\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"mask\")]),s._v(\" \"),a(\"td\",[s._v(\"遮罩\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txt\")]),s._v(\" \"),a(\"td\",[s._v(\"提示信息\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"time\")]),s._v(\" \"),a(\"td\",[s._v(\"显示时间\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"3000\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"900\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"timeout\")]),s._v(\" \"),a(\"td\",[s._v(\"当显示时间结束时派发\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")])])])])}]}},Wmdn:function(s,t,a){s.exports=a(\"b4Iz\")},b4Iz:function(s,t,a){var v=a(\"VU/8\")(null,a(\"4Jzk\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/50.b7460cb6cb217521ae88.js",
    "content": "webpackJsonp([50],{\"2Nnc\":function(s,t,a){var e=a(\"VU/8\")(null,a(\"Np57\"),null,null,null);s.exports=e.exports},Np57:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Toast\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Toast-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Toast\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Toast\")]),s._v(\" component.You can use it to show non-modal tip message without user interaction.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Duration of display\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastTime\"')]),s._v(\">\")]),s._v(\"Toast - time 1s\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastTime0\"')]),s._v(\">\")]),s._v(\"Toast - time 0\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastTime() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Toast time 1s'\")]),s._v(\"\\n      })\\n      toast.show()\\n    },\\n    showToastTime0() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Toast time 0'\")]),s._v(\"\\n      })\\n      toast.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        toast.hide()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Set \"),a(\"code\",{pre:!0},[s._v(\"time\")]),s._v(\" to change the duration of display.If set to 0, the toast will not hide automatically and you must invoke the component's \"),a(\"code\",{pre:!0},[s._v(\"hide\")]),s._v(\" method manually to hide it.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Show mask layer\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastMask\"')]),s._v(\">\")]),s._v(\"Toast- with mask\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastMask () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Loading...'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"mask\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Set \"),a(\"code\",{pre:!0},[s._v(\"mask\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" to display mask.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Tip type\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastType\"')]),s._v(\">\")]),s._v(\"Toast - type\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastType() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\"\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Set \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" to change the tip icon.You can see accepted types in the following \"),a(\"code\",{pre:!0},[s._v(\"Props configuration\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Show txt only\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastTxtOnly\"')]),s._v(\">\")]),s._v(\"Toast - txt only\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastTxtOnly() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Plain txt'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'txt'\")]),s._v(\"\\n      })\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".toast.show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Callback\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showToastCallback\"')]),s._v(\">\")]),s._v(\"Toast - callback\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastCallbak() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onTimeout\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\")\\n        }\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Besides set \"),a(\"code\",{pre:!0},[s._v(\"onTimeout\")]),s._v(\".You can pass the callback through \"),a(\"code\",{pre:!0},[s._v(\"$events\")]),s._v(\" too.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showToastCallbak() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" toast = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$events\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"timeout\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Timeout'\")]),s._v(\")\\n          }\\n        }\\n      })\\n      toast.show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"toast type(different types of icons)\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"loading/correct/error/warn/txt\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"loading\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"mask\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to show mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txt\")]),s._v(\" \"),a(\"td\",[s._v(\"tip text\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"time\")]),s._v(\" \"),a(\"td\",[s._v(\"display duration, millisecond\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"3000\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether hide the component when clicked the mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"900\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"timeout\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the display time is out\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")])])])])}]}},jUSb:function(s,t,a){s.exports=a(\"2Nnc\")}});"
  },
  {
    "path": "docs/js/51.250ed44339e16d80bc45.js",
    "content": "webpackJsonp([51],{\"3Nl1\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Tip\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Tip-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Tip\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(4)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Tip\")]),s._v(\", used to popup tip bubble box.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"By adding \"),a(\"code\",{pre:!0},[s._v(\"ref\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"Tip\")]),s._v(\", you can get the reference to the component and invoke \"),a(\"code\",{pre:!0},[s._v(\"show\")]),s._v(\" or \"),a(\"code\",{pre:!0},[s._v(\"hide\")]),s._v(\" methods which are exposed by \"),a(\"code\",{pre:!0},[s._v(\"Tip\")]),s._v(\" to control the show or hide state of the component.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTip\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTip () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.tip.show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"The position of the small triangle and the bubble box\")]),s._v(\" \"),a(\"p\",[s._v(\"You can configure the direction of the small triangle by \"),a(\"code\",{pre:!0},[s._v(\"direction\")]),s._v(\" and configure the position of the bubble box by \"),a(\"code\",{pre:!0},[s._v(\"style\")]),s._v(\". Normally, the direction of the small triangle is opposite to the position of the bubble box.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip-eg\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"CubeUI\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"direction\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tipStyle\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@close\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"close\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"Awesome!\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('bottom')\\\"\")]),s._v(\">\")]),s._v(\"top\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('top')\\\"\")]),s._v(\">\")]),s._v(\"bottom\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('right')\\\"\")]),s._v(\">\")]),s._v(\"left\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('left')\\\"\")]),s._v(\">\")]),s._v(\"right\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tipStyle\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTip(direction) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".direction = direction\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.tip.show()\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"switch\")]),s._v(\" (direction) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'top'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 100px; top: 100px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'bottom'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 100px; top: 20px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 200px; top: 60px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'right'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 5px; top: 60px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n      }\\n    },\\n    close() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click close button'\")]),s._v(\")\\n    },\\n    clickHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click tip area'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"the direction of the small triangle\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"top/bottom/left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetLeft\")]),s._v(\" \"),a(\"td\",[s._v(\"the distance between the small triangle and the left part of x axis\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetTop\")]),s._v(\" \"),a(\"td\",[s._v(\"the distance between the small triangle and the origin of y axis\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetRight\")]),s._v(\" \"),a(\"td\",[s._v(\"the distance between the small triangle and the right part of x axis\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetBottom\")]),s._v(\" \"),a(\"td\",[s._v(\"the distance between the small triangle and the bottom part of y axis\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"name\")]),s._v(\" \"),a(\"th\",[s._v(\"description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"the content shown inside the tip component\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"close\")]),s._v(\" \"),a(\"td\",[s._v(\"the event that exposed when clicking the close button of tips, which will hide at the same time\")]),s._v(\" \"),a(\"td\",[s._v(\"None\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"the event that exposed when clicking the content of tips, which will hide at the same time\")]),s._v(\" \"),a(\"td\",[s._v(\"None\")])])])])}]}},\"R/8E\":function(s,t,a){var e=a(\"VU/8\")(null,a(\"3Nl1\"),null,null,null);s.exports=e.exports},\"X+F9\":function(s,t,a){s.exports=a(\"R/8E\")}});"
  },
  {
    "path": "docs/js/52.92711c31af8e119072b8.js",
    "content": "webpackJsonp([52],{BGpj:function(s,t,a){s.exports=a(\"IJyB\")},IJyB:function(s,t,a){var e=a(\"VU/8\")(null,a(\"ZAq/\"),null,null,null);s.exports=e.exports},\"ZAq/\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"TimePicker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TimePicker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TimePicker\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(8),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(9)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"TimePicker\")]),s._v(\" component provides commonly used functions of date selection.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"TimePicker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTimePicker () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"showNow\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"15\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedTime, selectedText, formatedTime\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Clicked cancel button'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"showNow\")]),s._v(' is uesed to control whether the time \"now\" is displayed. '),a(\"code\",{pre:!0},[s._v(\"minuteStep\")]),s._v(\" is used to control the step of the minute. \"),a(\"code\",{pre:!0},[s._v(\"delay\")]),s._v(\" represents the time that postponed backwards from now, which determines the minimal optional time.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Configuration of date options\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"TimePicker - day options\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTimePicker () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"showNow\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"day\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"filter\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Today'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Tomorrow'\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'M year d day'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedTime, selectedText, formatedTime\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Clicked cancel button'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"len\")]),s._v(\" attribute in \"),a(\"code\",{pre:!0},[s._v(\"day\")]),s._v(\" can set the length of date displayed in the first column.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"filter\")]),s._v(\" attribute can set the text of the date displayed in the first column.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\" attribute can set the text in \"),a(\"code\",{pre:!0},[s._v(\"M year d day\")]),s._v(\" format when the \"),a(\"code\",{pre:!0},[s._v(\"len\")]),s._v(\" is greater than the length of \"),a(\"code\",{pre:!0},[s._v(\"filter\")]),s._v(\" array.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Format\"),a(\"sup\",[s._v(\"1.10.0+\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use property \"),a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\" to configure the format of \"),a(\"code\",{pre:!0},[s._v(\"formatedTime\")]),s._v(\", an argument of event \"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showFormatPicker\"')]),s._v(\">\")]),s._v(\"Config format\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showFormatPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hh:mm'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Min \"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"p\",[s._v(\"You could use the property \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" to set the min optional time. It could accept a date (Date type) or a timestamp (Number type).\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMinPicker\"')]),s._v(\">\")]),s._v(\"Config min\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showMinPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": +\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"() - (\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\") * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Max \"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"p\",[s._v(\"You could use the property \"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" to set the max optional time. It could accept a date (Date type) or a timestamp (Number type).\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMaxPicker\"')]),s._v(\">\")]),s._v(\"Config max\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showMaxPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".maxPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".maxPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": +\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"() + ((\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"24\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\") * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\") * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".maxPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Set time manually\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"TimePicker - setTime(next hour)\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" time = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"().valueOf() + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n    showTimePicker () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" timePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"showNow\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"15\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"day\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"filter\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Today'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Tomorrow'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'The day after tomorrow'\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'M year D day'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedTime, selectedText, formatedTime\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Clicked cancel button'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      })\\n\\n      timePicker.setTime(time)\\n      timePicker.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"timePicker\")]),s._v(\" instance exports \"),a(\"code\",{pre:!0},[s._v(\"setTime\")]),s._v(\" methos to set time manually with the time stamp as time format. When the time stamp is lower than current time stamp, \"),a(\"code\",{pre:!0},[s._v(\"timePicker\")]),s._v(\" displays current time by default.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"day\")]),s._v(\" \"),a(\"td\",[s._v(\"date configuration\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{ len: 3, filter: ['今日'], format: 'M月D日' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"showNow\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to display now; configure the text of option now\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean, Object\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"minuteStep\")]),s._v(\" \"),a(\"td\",[s._v(\"step of the minute\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"10\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"delay\")]),s._v(\" \"),a(\"td\",[s._v(\"minutes that postponed backwards from now, which determines the minimal optional time (only effect without setting \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\")\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"15\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the min optional time\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Number\")]),s._v(\" \"),a(\"td\",[s._v(\"null\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the max optional time\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Number\")]),s._v(\" \"),a(\"td\",[s._v(\"null\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'选择时间'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"subtitle\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"the text of the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"the text of the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether hide the component when clicked the mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"format\"),a(\"sup\",[s._v(\"1.10.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"the format of formatedTime the third argument of select event\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'YYYY/M/D hh:mm'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"day\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"len\")]),s._v(\" \"),a(\"td\",[s._v(\"date column, postpone \"),a(\"code\",{pre:!0},[s._v(\"len\")]),s._v(\" days backwards from now (only effect without setting \"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\")\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"3\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"filter\")]),s._v(\" \"),a(\"td\",[s._v(\"date column, map time to the text in filter\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"['今日']\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"format\")]),s._v(\" \"),a(\"td\",[s._v(\"format time\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'M月D日'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"showNow\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"text\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"the text of option now\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'现在'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedTime: currently selected timestamp\")]),s._v(\" \"),a(\"td\",[s._v(\"selectText: text of currently selected time\")]),s._v(\" \"),a(\"td\",[s._v(\"formatedTime\"),a(\"sup\",[s._v(\"1.10.0\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the roller scrolls\")]),s._v(\" \"),a(\"td\",[s._v(\"index: Number, index of current scrolling roller\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Number, index of selected item in current column\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"setTime\")]),s._v(\" \"),a(\"td\",[s._v(\"manually set time displayed in time-picker with with the time stamp as time format\")]),s._v(\" \"),a(\"td\",[s._v(\"time stamp\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}}});"
  },
  {
    "path": "docs/js/53.c7096cf68e0b7c72c22e.js",
    "content": "webpackJsonp([53],{f3Lu:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"Theme\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Theme-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Theme\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"Themefile\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Themefile-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Theme file\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),t(\"h3\",{attrs:{id:\"webpackconfig\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-webpackconfig-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" webpack config\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"Result\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Result-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Result\")]),s._v(\" \"),t(\"p\",[s._v(\"In this way you can use cube-ui with your own theme. You do not need to override the cube-ui style because you can just override the theme variables.\")])])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"You can choose to modify all or only some of the theme variables from \"),t(\"code\",{pre:!0},[s._v(\"cube-ui^1.0.2\")]),s._v(\"(also need webpack).\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[t(\"strong\",[s._v(\"Notice:\")]),s._v(\" Customizing theme depend on \"),t(\"a\",{attrs:{href:\"#/en-US/docs/post-compile\"}},[s._v(\"post-compile\")]),s._v(\".\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"You can create a \"),t(\"code\",{pre:!0},[s._v(\"theme.styl\")]),s._v(\" file in your application's \"),t(\"code\",{pre:!0},[s._v(\"src/\")]),s._v(\" directory. The theme file's content that looks like this (these variables are cube-ui's default value):\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-styl\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// you want to use cube-ui variables, just require it\")]),s._v(\"\\n@require \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"~cube-ui/src/common/stylus/var/color.styl\"')]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// action-sheet\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-space-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-bg\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// picker style\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-picker-cancel-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-picker-cancel-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// bubble\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// button\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-regular-blue\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-blue\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// primary\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-primary-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-primary-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-primary-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// light\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-light-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-light-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-sss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-light-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-active-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// outline\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-bgc := transparent\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey-opacity\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-active-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// outline-primary\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-bgc := transparent\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange-opacity\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-active-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// disabled\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-disabled-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-disabled-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// toolbar\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toolbar\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-sss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toolbar\")]),s._v(\"-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-active-grey\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// checkbox\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// checked\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-checked-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-checked-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// disabled\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// checkbox hollow\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-hollow-checked-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-hollow-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// checkbox-group\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-group-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-group-horizontal-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// radio\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-group-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-group-horizontal-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// selected\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-selected-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-selected-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// disabled\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// radio hollow\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-hollow-selected-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-hollow-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//checker\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-sss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-active-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-orange-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-disabled-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-disabled-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// dialog\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-regular-blue\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-background\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-close-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-highlight-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-highlight-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-orange-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-disabled-active-bgc := transparent\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btns-split-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-row-line\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// index-list\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-anchor-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-anchor-bgc := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#f7f7f7\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-item-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-item-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-nav-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-nav-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// loading\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// picker\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-subtitle-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-confirm-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-confirm-btn-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-cancel-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-cancel-btn-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-item-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// popup\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$popup\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-bgc := rgb(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"37\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"38\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"45\")]),s._v(\")\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$popup\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-opacity := .\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//scroll\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// slide\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$slide\")]),s._v(\"-dot-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$slide\")]),s._v(\"-dot-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// time-picker\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// tip\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tip\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tip\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// toast\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toast\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toast\")]),s._v(\"-bgc := rgba(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"37\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"38\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"45\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.9\")]),s._v(\")\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// upload\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"box-shadow\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6px\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2px\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey-opacity\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e5e5e5\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-remove-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := rgba(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", .\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\")\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-remove-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-state-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-bg\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-success-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-error-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#f43530\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-status-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-progress-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// switch\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$switch\")]),s._v(\"-on-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$switch\")]),s._v(\"-off-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$switch\")]),s._v(\"-off-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e4e4e4\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// input\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-row-line\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-focus-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-placeholder-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"clear\")]),s._v(\"-icon-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//textarea\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-row-line\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-focus-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-placeholder-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-indicator-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// validator\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$validator\")]),s._v(\"-msg-def-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e64340\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// select\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#b8b8b8\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-disabled-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border\")]),s._v(\"-active-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-placeholder-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// swipe\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$swipe\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// form\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-invalid-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e64340\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-group-legend-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-group-legend-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-label-required-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e64340\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// drawer\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-title-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-title-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-panel-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-item-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// scroll-nav\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$scroll\")]),s._v(\"-nav-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$scroll\")]),s._v(\"-nav-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$scroll\")]),s._v(\"-nav-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// image-preview\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$image\")]),s._v(\"-preview-counter-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// tab-bar & tab-panel\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tab\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tab\")]),s._v(\"-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tab\")]),s._v(\"-slider-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"If your project is created by vue-cli, then you can modify the \"),t(\"code\",{pre:!0},[s._v(\"exports.cssLoaders\")]),s._v(\" function in \"),t(\"code\",{pre:!0},[s._v(\"build/utils.js\")]),s._v(\" to this:\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"exports.cssLoaders = \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" (\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"options\")]),s._v(\") \")]),s._v(\"{\\n  options = options || {}\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cssLoader = {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'css-loader'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minimize\")]),s._v(\": process.env.NODE_ENV === \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'production'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": options.sourceMap\\n    }\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" postcssLoader = {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'postcss-loader'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": options.sourceMap\\n    }\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// generate loader string to be used with extract text plugin\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-title\"}},[s._v(\"generateLoaders\")]),s._v(\" (\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"loader, loaderOptions\")]),s._v(\") \")]),s._v(\"{\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (loader) {\\n      loaders.push({\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": loader + \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'-loader'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Object\")]),s._v(\".assign({}, loaderOptions, {\\n          \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": options.sourceMap\\n        })\\n      })\\n    }\\n\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Extract CSS when that option is specified\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// (which is the case during production build)\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (options.extract) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" ExtractTextPlugin.extract({\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"use\")]),s._v(\": loaders,\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fallback\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue-style-loader'\")]),s._v(\"\\n      })\\n    } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue-style-loader'\")]),s._v(\"].concat(loaders)\\n    }\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" stylusOptions = {\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'resolve url'\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// !! add import option, include the theme file\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"import\")]),s._v(\": [path.resolve(__dirname, \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../src/theme'\")]),s._v(\")]\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// https://vue-loader.vuejs.org/en/configurations/extract-css.html\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"css\")]),s._v(\": generateLoaders(),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"postcss\")]),s._v(\": generateLoaders(),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"less\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'less'\")]),s._v(\"),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sass\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\", { \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"indentedSyntax\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\" }),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scss\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\"),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stylus\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\",stylusOptions),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"styl\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\",stylusOptions)\\n  }\\n}\\n\")])])}]}},qVBK:function(s,a,t){s.exports=t(\"rKy5\")},rKy5:function(s,a,t){var l=t(\"VU/8\")(null,t(\"f3Lu\"),null,null,null);s.exports=l.exports}});"
  },
  {
    "path": "docs/js/54.7584e58e8789cb3bbd81.js",
    "content": "webpackJsonp([54],{\"2f7N\":function(t,a,s){var e=s(\"VU/8\")(null,s(\"HwEt\"),null,null,null);t.exports=e.exports},\"9woc\":function(t,a,s){t.exports=s(\"2f7N\")},HwEt:function(t,a){t.exports={render:function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"section\",[s(\"h2\",{attrs:{id:\"Textarea\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Textarea-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Textarea\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),s(\"h3\",{attrs:{id:\"Example\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(2),t._v(\" \"),s(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),s(\"h3\",{attrs:{id:\"Events\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(5),t._v(\" \"),s(\"h3\",{attrs:{id:\"Instancemethods\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Instance methods\")]),t._v(\" \"),t._m(6)])},staticRenderFns:[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"blockquote\",[s(\"p\",[t._v(\"New in 1.5.0+\")])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"p\",[t._v(\"Multi-line input box components. You can use the \"),s(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\" directive to create two-way data bindings. The component expands or fold according to whether there is content, whether it is focused.\")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"ul\",[s(\"li\",[s(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),s(\"p\",[t._v(\"You can use the \"),s(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\" directive to create two-way data bindings.\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" >\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),s(\"li\",[s(\"p\",[t._v(\"Config indicator\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"indicator\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"indicator\"')]),t._v(\">\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"indicator\")]),t._v(\": {\\n        \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"negative\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"remain\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),s(\"p\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is \"),s(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\" then the indicator element will not be visible.\")]),t._v(\" \"),s(\"p\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is \"),s(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\", the config equals \"),s(\"code\",{pre:!0},[t._v(\"{remain: true, negative: true}\")]),t._v(\".\")]),t._v(\" \"),s(\"p\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is an object, you can use \"),s(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\" and \"),s(\"code\",{pre:!0},[t._v(\"negative\")]),t._v(\" to control whether show the remaining count(if \"),s(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\" is \"),s(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\" means show the textarea value length) and whether allow remaining number is negative.\")]),t._v(\" \"),s(\"p\",[t._v(\"Starting from version 1.12.53, named scoped slot \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is supported for custom count indicators. It provides the remaining characters \"),s(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\" and the current input count \"),s(\"code\",{pre:!0},[t._v(\"count\")]),t._v(\":\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"text\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"请您至少输入8个字（必填）\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":maxlength\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"300\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":auto-expand\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\"\\n>\")]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"span\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"indicator\"')]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot-scope\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"{ remain }\"')]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"cube-textarea-indicator\"')]),t._v(\">\")]),t._v(\"{{remain}}/300\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"span\")]),t._v(\">\")]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"\\x3c!-- 或者 vue2.6以上 --\\x3e\")]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v('\\x3c!-- <template #indicator=\"childValue\">\\n    <span class=\"cube-textarea-indicator\">{{childValue.remain}}/300</span>\\n  </template> --\\x3e')]),t._v(\"\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),s(\"li\",[s(\"p\",[t._v(\"Multiple configurations\")]),t._v(\" \"),s(\"p\",[t._v(\"Support the native attributes of the textarea element.\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":placeholder\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"placeholder\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":maxlength\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"maxlength\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":readonly\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"readonly\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":autofocus\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autofocus\"')]),t._v(\"\\n>\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'please type here'\")]),t._v(\",\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"readonly\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"maxlength\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100\")]),t._v(\",\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autofocus\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")]),t._v(\" \"),s(\"th\",[t._v(\"Type\")]),t._v(\" \"),s(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),s(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"v-model\")]),t._v(\" \"),s(\"td\",[t._v(\"bound value\")]),t._v(\" \"),s(\"td\",[t._v(\"String\")]),t._v(\" \"),s(\"td\",[t._v(\"-\")]),t._v(\" \"),s(\"td\",[t._v(\"empty\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"disabled\")]),t._v(\" \"),s(\"td\",[t._v(\"disabled status\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"readonly\")]),t._v(\" \"),s(\"td\",[t._v(\"readonly status\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"maxlength\")]),t._v(\" \"),s(\"td\",[t._v(\"maxlength of input\")]),t._v(\" \"),s(\"td\",[t._v(\"Number\")]),t._v(\" \"),s(\"td\",[t._v(\"-\")]),t._v(\" \"),s(\"td\",[t._v(\"60\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),s(\"td\",[t._v(\"placeholder of input\")]),t._v(\" \"),s(\"td\",[t._v(\"String\")]),t._v(\" \"),s(\"td\",[t._v(\"-\")]),t._v(\" \"),s(\"td\",[t._v(\"empty\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"autofocus\")]),t._v(\" \"),s(\"td\",[t._v(\"autofocus status\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"indicator\"),s(\"sup\",[t._v(\"1.10.0\")])]),t._v(\" \"),s(\"td\",[t._v(\"indicator config\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean/Object\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false/{}\")]),t._v(\" \"),s(\"td\",[t._v(\"true\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"autoExpand\"),s(\"sup\",[t._v(\"1.12.0\")])]),t._v(\" \"),s(\"td\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"autoExpand\")]),t._v(\" is true and have initial value, the textarea will be auto expanded\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"forceExpand\"),s(\"sup\",[t._v(\"1.12.53\")])]),t._v(\" \"),s(\"td\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"forceExpand\")]),t._v(\" is true, the textarea will remain expanded at all times.\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"ul\",[s(\"li\",[s(\"p\",[t._v(\"indicator sub configuration\")]),t._v(\" \"),s(\"p\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is \"),s(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\" then the indicator element will not be visible.\")]),t._v(\" \"),s(\"p\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is \"),s(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\", the config equals \"),s(\"code\",{pre:!0},[t._v(\"{remain: true, negative: true}\")]),t._v(\".\")]),t._v(\" \"),s(\"p\",[t._v(\"If \"),s(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" is an object:\")]),t._v(\" \"),s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")]),t._v(\" \"),s(\"th\",[t._v(\"Type\")]),t._v(\" \"),s(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),s(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"remain\")]),t._v(\" \"),s(\"td\",[t._v(\"whether show the remaining count, if this value is \"),s(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\" means show the textarea value length\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"true\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"negative\")]),t._v(\" \"),s(\"td\",[t._v(\"avaliable when \"),s(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\" is true, this value control whether allow remaining number is negative\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"true\")])])])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")]),t._v(\" \"),s(\"th\",[t._v(\"Parameters\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"focus\")]),t._v(\" \"),s(\"td\",[t._v(\"This event is triggered after the textarea box is focused. If Textarea is disabled, it will not be triggered\")]),t._v(\" \"),s(\"td\",[t._v(\"e - event\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"blur\")]),t._v(\" \"),s(\"td\",[t._v(\"This event is triggered after the textarea box blur\")]),t._v(\" \"),s(\"td\",[t._v(\"e - event\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"input\")]),t._v(\" \"),s(\"td\",[t._v(\"The event is triggered when the binding value changes\")]),t._v(\" \"),s(\"td\",[t._v(\"The updated value\")])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Method name\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"focus\"),s(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),s(\"td\",[t._v(\"Focus element\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"blur\"),s(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),s(\"td\",[t._v(\"Blur element\")])])])])}]}}});"
  },
  {
    "path": "docs/js/55.913118efef50f51fa244.js",
    "content": "webpackJsonp([55],{JADn:function(s,t,a){var e=a(\"VU/8\")(null,a(\"n+GP\"),null,null,null);s.exports=e.exports},djff:function(s,t,a){s.exports=a(\"JADn\")},\"n+GP\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"TabBar\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TabBar-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TabBar\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Implementing the function of tab switching.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"CubeTabBar\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeTabBar-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeTabBar\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"CubeTabBar&CubeTabPanels\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeTabBar&CubeTabPanels-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeTabBar & CubeTabPanels\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(8),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(9),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(10),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(11)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.10.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The following demo code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/tree/master/example/pages/tab-bar\"}},[s._v(\"here\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" supports click highlighting, underscore follow-up effects, and custom slots for icon-label-like app-navigation styles.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"You can initialize \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" by passing in the data structure of \"),a(\"code\",{pre:!0},[s._v(\"tabs\")]),s._v(\" as follows. You must use the \"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\" directive to select the corresponding tab. The value of the v-model argument must correspond to the \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"(after 1.12.5, use \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\") attribute of a tab in \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\". The icon attribute is used as a class selector, which is generally used with icon-font class. It will dispatch \"),a(\"code\",{pre:!0},[s._v(\"click\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" event at the proper time. The parameter is the \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"(after 1.12.5, is \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\") value corresponding to each selected tab.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabelDefault\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tabs\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedLabelDefault\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Vip'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tabs\")]),s._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Home'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Like'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Vip'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Me'\")]),s._v(\"\\n      }]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    clickHandler (label) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if you clicked home tab, then print 'Home'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(label)\\n    },\\n    changeHandler (label) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if you clicked different tab, this methods can be emitted\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom slot\")]),s._v(\" \"),a(\"p\",[s._v(\"In fact, we always want to display icons and text effects which looks like app navigation styles, so the \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" component also supports the use of slot. Note that you must use the \"),a(\"code\",{pre:!0},[s._v(\"cube-tab\")]),s._v(\" component as a sub-component of the first level to wrap your custom slot.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabelSlots\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"show-slider\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"inline\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in tabs\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- icon slot --\\x3e\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.icon\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- default slot --\\x3e\")]),s._v(\"\\n      {{item.label}}\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedLabelSlots\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Like'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tabs\")]),s._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Home'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-home'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Like'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-like'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Vip'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-vip'\")]),s._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Me'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-person'\")]),s._v(\"\\n      }]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    clickHandler (label) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if you clicked home tab, then print 'Home'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(label)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"At the same time, \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" also supports other configurations, \"),a(\"code\",{pre:!0},[s._v(\"showSlider\")]),s._v(\" controls whether to turn on the effect of underscore, \"),a(\"code\",{pre:!0},[s._v(\"inline\")]),s._v(\" to determine whether the icon and label are in a line, \"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\" controls whether the underscore use transition, as shown in the sample code.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Usually, our requirement is to display different panel as tabs are switched, so we need to use the \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-panels\")]),s._v(\" component. \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-panels\")]),s._v(\" must be nested with \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-panel\")]),s._v(\". The \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"(after 1.12.5, use \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\") values passed to \"),a(\"code\",{pre:!0},[s._v(\"cube-tab\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-panel\")]),s._v(\" must be the same, because it is necessary to create the relationship between tab with panel. They are linked by the same \"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\".To see the effect, click on the \"),a(\"code\",{pre:!0},[s._v(\"tab-basic\")]),s._v(\" demo on the right.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabel\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"show-slider\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in tabs\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":icon\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.icon\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n      {{item.label}}\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-bar\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panels\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedLabel\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panel\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in tabs\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.label\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tab-panel-li\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(hero, index) in item.heroes\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\">\")]),s._v(\"\\n          {{hero}}\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panel\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tab-panels\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedLabel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'天辉'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tabs\")]),s._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'天辉'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-like'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"heroes\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'敌法师'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'卓尔游侠'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'主宰'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'米拉娜'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'变体精灵'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幻影长矛手'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'复仇之魂'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'力丸'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'矮人狙击手'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'圣堂刺客'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'露娜'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'赏金猎人'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'熊战士'\")]),s._v(\"]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'夜魇'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-star'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"heroes\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'血魔'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'影魔'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剃刀'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒术士'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'虚空假面'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幻影刺客'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'冥界亚龙'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'克林克兹'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'育母蜘蛛'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'编织者'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'司夜刺客'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'米波'\")]),s._v(\"]\\n      }]\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"In fact, \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" can be combined with many other cube-ui's components (such as: \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"cube-slide\")]),s._v(\") to make a similar effect to the layout of native apps. Click on the \"),a(\"code\",{pre:!0},[s._v(\"ScrollTab Demo\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"tab-composite\")]),s._v(\" example on the right to see the effect.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"CubeTabBar\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Demo\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"Use v-model to select the corresponding tab when initializing.\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"For data rendered with \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\", when using the built-in default slot, this parameter must be passed. Each item of the array is an Object type, including \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"icon\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"value\")]),a(\"sup\",[s._v(\"1.12.5+\")]),s._v(\".  If a custom slot is used, this value may not be passed\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[{label: 1, value: 1, icon: 'cubeic-like'}, {label: 2, value: 2, icon: 'cubeic-like'}]\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"showSlider\")]),s._v(\" \"),a(\"td\",[s._v(\"Whether to turn on the underscore follow effect\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"inline\")]),s._v(\" \"),a(\"td\",[s._v(\"Whether text and icons are displayed on one line\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"useTransition\")]),s._v(\" \"),a(\"td\",[s._v(\"Whether to use transition\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"CubeTab\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Needed\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"Use it to determine which tab is clicked before 1.12.5, after 1.12.5 just use to display text by default\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"yes\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"Use it to determine which tab is clicked\"),a(\"sup\",[s._v(\"1.12.5+\")])]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"no\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" value\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"CubeTabPanels\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Demo\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"Use v-model to display the corresponding panels at initialization\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"For data rendered with \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-panels\")]),s._v(\", when using the built-in default slot, this parameter must be passed. Each item of the array is an Object type, including \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"value\")]),a(\"sup\",[s._v(\"1.12.5+\")]),s._v(\".  If a custom slot is used, this value may not be passed\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[{label: 1, value: 1}, {label: 2, value: 2}]\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"CubeTabPanel\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Needed\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"determine that the panels is displayed\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"yes\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"the key of panel, use it to determined selected value\"),a(\"sup\",[s._v(\"1.12.5+\")])]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"no\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" value\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"CubeTab\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"cube-tab\")]),s._v(\"'s text\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"icon\")]),s._v(\" \"),a(\"td\",[s._v(\"Generally used to display icon\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"CubeTabBar\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"parameter\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"click\")]),s._v(\" \"),a(\"td\",[s._v(\"Dispatched when the tab is clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"/\"),a(\"code\",{pre:!0},[s._v(\"value\")]),a(\"sup\",[s._v(\"1.12.5+\")]),s._v(\" value of the tab which is selected\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"Dispatched when tab changed\")]),s._v(\" \"),a(\"td\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"/\"),a(\"code\",{pre:!0},[s._v(\"value\")]),a(\"sup\",[s._v(\"1.12.5+\")]),s._v(\" value of the tab which is selected\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"CubeTabBar\")]),s._v(\" \"),a(\"p\",[s._v(\"This method works when the instance's \"),a(\"code\",{pre:!0},[s._v(\"showSlider\")]),s._v(\" property is set to true.\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameter Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"setSliderTransform\")]),s._v(\" \"),a(\"td\",[s._v(\"Change the underscore's transformX of the \"),a(\"code\",{pre:!0},[s._v(\"cube-tab-bar\")]),s._v(\" component. If you pass Number, it will be converted into a pixel, or you can pass a String with units\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/String\")])])])])])])}]}}});"
  },
  {
    "path": "docs/js/56.2ded9d5c2b260f563fc8.js",
    "content": "webpackJsonp([56],{\"1RKI\":function(t,a,s){var e=s(\"VU/8\")(null,s(\"Ejpb\"),null,null,null);t.exports=e.exports},\"2nyi\":function(t,a,s){t.exports=s(\"1RKI\")},Ejpb:function(t,a){t.exports={render:function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"section\",[s(\"h2\",{attrs:{id:\"Switch\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Switch-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Switch\")]),t._v(\" \"),t._m(0),t._v(\" \"),s(\"p\",[t._v(\"Switch usually used to switch the state of on/off.\")]),t._v(\" \"),s(\"h3\",{attrs:{id:\"Example\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(1),t._v(\" \"),s(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(2),t._v(\" \"),s(\"h3\",{attrs:{id:\"Events\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(3)])},staticRenderFns:[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"blockquote\",[s(\"p\",[t._v(\"New in 1.4.0+\")])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"ul\",[s(\"li\",[s(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),t._v(\"\\n  Switch\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),s(\"p\",[s(\"code\",{pre:!0},[t._v(\"value: true\")]),t._v(\" correspond to the state of on， \"),s(\"code\",{pre:!0},[t._v(\"value: false\")]),t._v(\" correspond to the state of off.\")])]),t._v(\" \"),s(\"li\",[s(\"p\",[t._v(\"Disabled state\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"\\n  Disbled Switch\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-switch\")]),t._v(\">\")]),t._v(\"\\n\")])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")]),t._v(\" \"),s(\"th\",[t._v(\"Type\")]),t._v(\" \"),s(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),s(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"v-model\")]),t._v(\" \"),s(\"td\",[t._v(\"the state of on/off, two-way data binding\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])]),t._v(\" \"),s(\"tr\",[s(\"td\",[t._v(\"disabled\")]),t._v(\" \"),s(\"td\",[t._v(\"whether disabled\")]),t._v(\" \"),s(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),s(\"td\",[t._v(\"true/false\")]),t._v(\" \"),s(\"td\",[t._v(\"false\")])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")]),t._v(\" \"),s(\"th\",[t._v(\"Parameters\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"input\")]),t._v(\" \"),s(\"td\",[t._v(\"triggers when the binding value changes\")]),t._v(\" \"),s(\"td\",[t._v(\"the updated value\")])])])])}]}}});"
  },
  {
    "path": "docs/js/57.9d86c4c58cbe42d519d6.js",
    "content": "webpackJsonp([57],{FRSy:function(s,t,a){s.exports=a(\"pYiz\")},H4PD:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Swipe\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Swipe-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Swipe\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"The Swipe component, which provides a WeChat list left slip function, makes it easy to do some functional operations on the list items.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.5.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" demo code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/tree/master/example/pages/swipe\"}},[s._v(\"here\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic Usage\")]),s._v(\" \"),a(\"p\",[s._v(\"The common scenario of \"),a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" component is to match \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" components. It can not only scroll vertically, but also slide out some buttons to do list items. Of course, \"),a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" components can also be used separately.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@item-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemClick\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@btn-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onBtnClick\"')]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipeData\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"swipeData\")]),s._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'测试1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n          }\\n        ]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'测试2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n          }\\n        ]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'测试3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n          }\\n        ]\\n      }]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onItemClick(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click item:'\")]),s._v(\", item)\\n    },\\n    onBtnClick(btn, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (btn.action === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createActionSheet({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认要删除吗'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"active\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n            {\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\"}\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".swipeData.splice(index, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n          }\\n        }).show()\\n      }\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"If the \"),a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" component uses a default slot, you need to pass the data structure shown in the example.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom slots\")]),s._v(\" \"),a(\"p\",[s._v(\"In fact, our more common requirement is the need for a display of the content of a custom list, so the \"),a(\"code\",{pre:!0},[s._v(\"Swipe\")]),s._v(\" component also supports the use of slots.\")]),s._v(\" \"),a(\"p\",[s._v(\"The default slot can be used with the \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" component to realize the loop of the list. A custom slot is very flexible, but it also need to manually write some logic, for example if you want to customize the list when deleted animation, need to use \"),a(\"code\",{pre:!0},[s._v(\"transition-group\")]),s._v(\" to manage each need to manually activate the \"),a(\"code\",{pre:!0},[s._v(\"swipe-item\")]),s._v(\" contraction, as shown in the example code.\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"1.11+\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tag\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ul\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-item-wrapper\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(data,index) in swipeData\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.id\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipeItem\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":btns\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.btns\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@btn-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onBtnClick\"')]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemClick(data.item, index)\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-inner\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"width\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"height\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.imgurl\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-name\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.name\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-desc\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.desc\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"swipeData\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3646653877'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'还不是因为你长得不好看'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'伤感：歌词再狠，也抵不过现实伤人'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1789676645'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秋水浮萍任飘渺'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'『武侠配乐』快意恩仇江湖情'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3649034125'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'念葳蕊'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'江海迦：热恋后哼一首歌为自己悲悯的歌'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onItemClick(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click item:'\")]),s._v(\", item)\\n    },\\n    onBtnClick(btn, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (btn.action === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createActionSheet({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认要删除吗'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"active\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n            {\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\"}\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".swipeData.splice(index, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n          }\\n        }).show()\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.swipeItem[index].shrink()\\n      }\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Before 1.11\")]),s._v(\" \"),a(\"p\",[s._v(\"You need to handle CubeSwipeItem \"),a(\"code\",{pre:!0},[s._v(\"active\")]),s._v(\" event \"),a(\"code\",{pre:!0},[s._v(\"onItemActive\")]),s._v(\":\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tag\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ul\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipe-item-wrapper\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(data,index) in swipeData\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.id\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"swipeItem\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":btns\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.btns\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@btn-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onBtnClick\"')]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@active\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemActive\"')]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onItemClick(data.item, index)\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-inner\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"width\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"height\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"60\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.imgurl\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text\"')]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-name\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.name\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"h2\")]),s._v(\">\")]),s._v(\"\\n                  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item-desc\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-html\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.item.desc\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe-item\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition-group\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-swipe\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"swipeData\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3646653877'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'还不是因为你长得不好看'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'伤感：歌词再狠，也抵不过现实伤人'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1789676645'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秋水浮萍任飘渺'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'『武侠配乐』快意恩仇江湖情'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"item\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3649034125'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'念葳蕊'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'江海迦：热恋后哼一首歌为自己悲悯的歌'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgurl\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"btns\")]),s._v(\": [\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'clear'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不再关注'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#c8c7cd'\")]),s._v(\"\\n            },\\n            {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'#ff3a32'\")]),s._v(\"\\n            }\\n          ]\\n        },\\n      ]\\n    }\\n  },\\n  created() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"-1\")]),s._v(\"\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onItemClick(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click item:'\")]),s._v(\", item)\\n    },\\n    onBtnClick(btn, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (btn.action === \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'delete'\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createActionSheet({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认要删除吗'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"active\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n            {\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'删除'\")]),s._v(\"}\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".swipeData.splice(index, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n          }\\n        }).show()\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.swipeItem[index].shrink()\\n      }\\n    },\\n    onItemActive(index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (index === \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\"\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex !== \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"-1\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" activeItem = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.swipeItem[\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex]\\n        activeItem.shrink()\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".activeIndex = index\\n    }\\n  }\\n}\\n\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe\")]),s._v(\" configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"For \"),a(\"code\",{pre:!0},[s._v(\"swipe\")]),s._v(\" list rendered data, when you need to use the built-in default slot, this parameter will be passed. Every item in the array is an Object type, including \"),a(\"code\",{pre:!0},[s._v(\"item\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"btns\")]),s._v(\". These two parameters are described in \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\". If a custom slot is used, this value may not be passed.\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"autoShrink\")]),s._v(\" \"),a(\"td\",[s._v(\"Decide whether to automatically shrink the slider when the button is clicked, If you use a custom slot, you can pass this value directly to the \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\".\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" 配置\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"item\")]),s._v(\" \"),a(\"td\",[s._v(\"Data for \"),a(\"code\",{pre:!0},[s._v(\"swipe-item\")]),s._v(\" list item rendering, when you need to use the built-in default slot, this parameter must be transmitted, and there are 2 fields, \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\", representing the value of the data item and the displayed copy respectively, but if you use custom slot, you can not pass this value.\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"btns\")]),s._v(\" \"),a(\"td\",[s._v(\"For \"),a(\"code\",{pre:!0},[s._v(\"swipe-item\")]),s._v(\" list item rendering button array, each item of the array is a Object type. It contains at least 2 fields, \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"color\")]),s._v(\", which represent the copy and color of the button respectively.\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"index\")]),s._v(\" \"),a(\"td\",[s._v(\"The index value of the current \"),a(\"code\",{pre:!0},[s._v(\"swpie-item\")]),s._v(\" in the entire list, must be passed.\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-1\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"autoShrink\")]),s._v(\" \"),a(\"td\",[s._v(\"Decide whether to automatically shrink the slider when the button is clicked.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe\")]),s._v(\" event\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"When you use a custom slot, you can listen directly to the events on the \"),a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"item-click\")]),s._v(\" \"),a(\"td\",[s._v(\"Triggered when the list item is clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"Clicked list item\")]),s._v(\" \"),a(\"td\",[s._v(\"The Index of the clicked list item in the list\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"btn-click\")]),s._v(\" \"),a(\"td\",[s._v(\"Triggered when the button is clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"Clicked button\")]),s._v(\" \"),a(\"td\",[s._v(\"The index of the clicked button in the list\")]),s._v(\" \"),a(\"td\",[s._v(\"the list item\"),a(\"sup\",[s._v(\"1.9.7\")])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" event\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"item-click\")]),s._v(\" \"),a(\"td\",[s._v(\"Triggered when the list item is clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"Clicked list item\")]),s._v(\" \"),a(\"td\",[s._v(\"The Index of the clicked list item\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"btn-click\")]),s._v(\" \"),a(\"td\",[s._v(\"Triggered when the button is clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"Clicked button\")]),s._v(\" \"),a(\"td\",[s._v(\"The index of the clicked button in the list\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"active\")]),s._v(\" \"),a(\"td\",[s._v(\"Triggered when you start sliding one of the list item\")]),s._v(\" \"),a(\"td\",[s._v(\"The index of the activation item in the list\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"cube-swipe-item\")]),s._v(\" instance methods\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"shrink\")]),s._v(\" \"),a(\"td\",[s._v(\"Shrink the swipe item\")])])])])}]}},pYiz:function(s,t,a){var n=a(\"VU/8\")(null,a(\"H4PD\"),null,null,null);s.exports=n.exports}});"
  },
  {
    "path": "docs/js/58.6f4cdbad62be8cab39c9.js",
    "content": "webpackJsonp([58],{jpwl:function(t,s,a){t.exports=a(\"tu/G\")},\"tu/G\":function(t,s,a){var e=a(\"VU/8\")(null,a(\"xX8y\"),null,null,null);t.exports=e.exports},xX8y:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"stylemodule\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-stylemodule-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" style module\")]),t._v(\" \"),a(\"p\",[t._v(\"This module contains the common css: built-in icons, reset and base.\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"Icon\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Icon-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Icon\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"p\",[t._v(\"There are 65 icons:\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"reset.css\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-reset.css-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" reset.css\")]),t._v(\" \"),t._m(2),t._v(\" \"),t._m(3),t._v(\" \"),a(\"h3\",{attrs:{id:\"base.css\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-base.css-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" base.css\")]),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"If you want to use them, just add the \"),a(\"code\",{pre:!0},[t._v(\"cubeic-${name}\")]),t._v(\" class: \"),a(\"code\",{pre:!0},[t._v('<i class=\"cubeic-alert\"></i>')]),t._v(\".\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")]),t._v(\" \"),a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")]),t._v(\" \"),a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")]),t._v(\" \"),a(\"th\",{staticStyle:{\"text-align\":\"center\"}},[t._v(\"-\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-eye-invisible\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-eye-visible\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-person\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-select\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-pulldown\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-pullup\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-back\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-arrow\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-more\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-close\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-warn\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-question\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-right\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-wrong\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-add\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-remove\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-info\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-share\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-no-wifi\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-wifi\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-sad\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-smile\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-game\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-email\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-hot\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-notification\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-delete\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-vip\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-mute\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-volume\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-good\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-bad\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-mobile-phone\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-aim\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-navigation\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-safe-pay\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-tag\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-lock\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-unlock\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-edit\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-scan\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-qr-code\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-calendar\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-time\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-red-packet\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-star\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-setting\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-home\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-credit-card\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-mall\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-microphone\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-search\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-danger\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-alert\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-picture\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-message\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-phone\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-location\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-like\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-camera\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-square-right\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-square-border\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-round-border\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-ok\"})])]),t._v(\" \"),a(\"tr\",[a(\"td\",{staticStyle:{\"text-align\":\"center\"}},[a(\"i\",{staticClass:\"cubeic-important\"})]),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}}),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}}),t._v(\" \"),a(\"td\",{staticStyle:{\"text-align\":\"center\"}})])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"Based on \"),a(\"a\",{attrs:{href:\"http://meyerweb.com/eric/tools/css/reset/\"}},[t._v(\"Eric Meyer's Reset CSS\")]),t._v(\" and \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/src/common/stylus/reset.styl\"}},[t._v(\"modified\")]),t._v(\".\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"/**\\n * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)\\n * http://cssreset.com\\n */\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"html\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"div\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"span\")]),t._v(\", applet, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"object\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"iframe\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h1\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h2\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h3\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h4\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h5\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"h6\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"p\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\", pre,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"a\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"abbr\")]),t._v(\", acronym, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"address\")]),t._v(\", big, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"cite\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"code\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"del\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dfn\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"em\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"img\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"ins\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"kbd\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\", s, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"samp\")]),t._v(\",\\nsmall, strike, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"strong\")]),t._v(\", sub, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"sup\")]),t._v(\", tt, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"var\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"b\")]),t._v(\", u, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"i\")]),t._v(\", center,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dl\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dt\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"dd\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"ol\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"ul\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"li\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"fieldset\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"form\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"label\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"legend\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"table\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"caption\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"tbody\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"tfoot\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"thead\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"tr\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"th\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"td\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"article\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"aside\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"canvas\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"details\")]),t._v(\", embed,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figure\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figcaption\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"footer\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"header\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"menu\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"nav\")]),t._v(\", output, ruby, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"section\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"summary\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"time\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"mark\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"audio\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"video\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"input\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"margin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"padding\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-size\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-weight\")]),t._v(\": normal\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"vertical-align\")]),t._v(\": baseline\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"/* HTML5 display-role reset for older browsers */\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"article\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"aside\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"details\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figcaption\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"figure\")]),t._v(\",\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"footer\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"header\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"menu\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"nav\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"section\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": block\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"line-height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"quotes\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\":before, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"blockquote\")]),t._v(\":after,\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\":before, \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"q\")]),t._v(\":after\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"content\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"table\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-collapse\")]),t._v(\": collapse\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-spacing\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"/* custom */\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"a\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"#7e8c8d\")]),t._v(\"\\n  -webkit-\"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"backface-visibility\")]),t._v(\": hidden\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"text-decoration\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"li\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"list-style\")]),t._v(\": none\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\"\\n  -webkit-text-size-adjust: \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"none\")]),t._v(\"\\n  -webkit-tap-highlight-\"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": rgba(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"The \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/src/common/stylus/base.styl\"}},[t._v(\"base css\")]),t._v(\" contains the following styles:\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t._v(\"@require \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"./variable.styl\"')]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"body\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"html\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"line-height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"font-family\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'PingFang SC'\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'STHeitiSC-Light'\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Helvetica-Light'\")]),t._v(\", arial, sans-serif, \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Droid Sans Fallback'\")]),t._v(\"\\n  user-select: \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"none\")]),t._v(\"\\n  -webkit-tap-highlight-\"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"color\")]),t._v(\": transparent\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".clear-fix\")]),t._v(\"\\n  &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"\"')]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": table\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"clear\")]),t._v(\": both\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"position\")]),t._v(\": relative\\n  &::before, &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"\"')]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"display\")]),t._v(\": block\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"position\")]),t._v(\": absolute\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\"\\n  &::before\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-row-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\" top\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\"\\n  &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-right\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-col-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"right\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": right \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\"\\n  &::after\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-bottom\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-row-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"bottom\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\" bottom\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n  &::before\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"border-left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1px\")]),t._v(\" solid \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[t._v(\"$color\")]),t._v(\"-col-line\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"top\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"left\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100%\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform-origin\")]),t._v(\": left \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"\\n\\n@media (min-resolution: \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2dppx\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"200%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n\\n@media (min-resolution: \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"3dppx\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-top-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-right-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-bottom-1px\")]),t._v(\"\\n    &::after\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"width\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".border-left-1px\")]),t._v(\"\\n    &::before\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"height\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"300%\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"transform\")]),t._v(\": scale(.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"333\")]),t._v(\") translateZ(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\")\\n\")])])}]}}});"
  },
  {
    "path": "docs/js/59.224e2cca1fdcdf88dff7.js",
    "content": "webpackJsonp([59],{Mrle:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"Sticky\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Sticky-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Sticky\")]),s._v(\" \"),s._m(0),s._v(\" \"),t(\"p\",[s._v(\"Sticky component, the element will be sticky when the scroll position matched the target elements position.\")]),s._v(\" \"),t(\"h3\",{attrs:{id:\"Example\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"Props\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),t(\"h4\",{attrs:{id:\"CubeSticky\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeSticky-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeSticky\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"h4\",{attrs:{id:\"CubeStickyEle\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeStickyEle-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeStickyEle\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),t(\"h3\",{attrs:{id:\"Slot\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"Events\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(6),s._v(\" \"),t(\"h3\",{attrs:{id:\"Instancemethods\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(7)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"New in 1.10.0+\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ul\",[t(\"li\",[t(\"p\",[s._v(\"Default usage - Scroll\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pos\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollY\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":scroll-events\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollEvents\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"title\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ele-key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"11\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"111\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ele-key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"22\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ele-key\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"33\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"333\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items3\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fixed\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"{{props.current}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" _data = [\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😀 😁 😂 🤣 😃 😄 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙂 🤗 🤩 🤔 🤨 😐 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😔 😕 🙃 🤑 😲 ☹️ '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐣 🐣 🐣 🐣 🐣 🐣 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐥 🐥 🐥 🐥 🐥 🐥 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🤓 🤓 🤓 🤓 🤓 🤓 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🦔 🦔 🦔 🦔 🦔 🦔 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙈 🙈 🙈 🙈 🙈 🙈 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🚖 🚖 🚖 🚖 🚖 🚖 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\")]),s._v(\"\\n]\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollEvents\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'scroll'\")]),s._v(\"],\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollY\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items2\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items3\")]),s._v(\": _data.concat()\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    scrollHandler({ y }) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollY = -y\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" need to use with \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" component.\")]),s._v(\" \"),t(\"p\",[s._v(\"The \"),t(\"code\",{pre:!0},[s._v(\"pos\")]),s._v(\" Prop of \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\" component is the scroll runtime position value.\")]),s._v(\" \"),t(\"p\",[s._v(\"The \"),t(\"code\",{pre:!0},[s._v(\"ele-key\")]),s._v(\" Prop of \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" component is optional, it is used to define the key value of sticky ele. The default  \"),t(\"code\",{pre:!0},[s._v(\"ele-key\")]),s._v(\" value is the current sticky ele's index value.\")]),s._v(\" \"),t(\"p\",[s._v(\"You can alse use \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\"'s \"),t(\"code\",{pre:!0},[s._v(\"fixed\")]),s._v(\" slot to define your own sticky HTML. If you do not use \"),t(\"code\",{pre:!0},[s._v(\"fixed\")]),s._v(\" slot then the default sticky content will be the active \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\"'s content.\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"Default usage - Native Scroll\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pos\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollY\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":check-top\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkTop\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-ele\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"title\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"111\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"222\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"333\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items3\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" _data = [\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😀 😁 😂 🤣 😃 😄 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙂 🤗 🤩 🤔 🤨 😐 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😔 😕 🙃 🤑 😲 ☹️ '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐣 🐣 🐣 🐣 🐣 🐣 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐥 🐥 🐥 🐥 🐥 🐥 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🤓 🤓 🤓 🤓 🤓 🤓 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🦔 🦔 🦔 🦔 🦔 🦔 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙈 🙈 🙈 🙈 🙈 🙈 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🚖 🚖 🚖 🚖 🚖 🚖 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\")]),s._v(\"\\n]\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollY\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkTop\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items2\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items3\")]),s._v(\": _data.concat()\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    scrollHandler(e) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollY = e.currentTarget.scrollTop\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".scroll-ele\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"overflow\")]),s._v(\": auto\\n  -webkit-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"overflow\")]),s._v(\"-scrolling: touch\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#fff\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"check-top\")]),s._v(\" Prop is used to control the checking of boundary conditions, it's default value is \"),t(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\", this means \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" element will be sticky when the top of the \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" reaches the top of \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\". This case the \"),t(\"code\",{pre:!0},[s._v(\"check-top\")]),s._v(\" is \"),t(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\" which means \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" element will be sticky when the bottom of the \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" reaches the top of \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")]),s._v(\".\")])]),s._v(\" \"),t(\"li\",[t(\"p\",[s._v(\"Like WeChat\")]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pos\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollY\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":check-top\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkTop\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fixed-show-ani\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-fixed-show\"')]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@diff-change\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"diffChange\"')]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":scroll-events\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollEvents\"')]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/6.jpg\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\">\")]),s._v(\"\\n        \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"111\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky-ele\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"border-top-1px\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"border-top-1px\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items3\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"border-top-1px\"')]),s._v(\">\")]),s._v(\"{{item}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"sticky-header\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fixed\"')]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stickyHeader\"')]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"header\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-sticky\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" _data = [\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😀 😁 😂 🤣 😃 😄 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙂 🤗 🤩 🤔 🤨 😐 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'😔 😕 🙃 🤑 😲 ☹️ '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐣 🐣 🐣 🐣 🐣 🐣 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🐥 🐥 🐥 🐥 🐥 🐥 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🤓 🤓 🤓 🤓 🤓 🤓 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🦔 🦔 🦔 🦔 🦔 🦔 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🙈 🙈 🙈 🙈 🙈 🙈 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'👆🏻 scroll up/down 👇🏻 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'🚖 🚖 🚖 🚖 🚖 🚖 '\")]),s._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\")]),s._v(\"\\n]\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollEvents\")]),s._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'scroll'\")]),s._v(\"],\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollY\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkTop\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items2\")]),s._v(\": _data.concat(),\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items3\")]),s._v(\": _data.concat()\\n    }\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    scrollHandler({ y }) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollY = -y\\n    },\\n    diffChange() {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" opacity = \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (height) {\\n        opacity = diff / height\\n      }\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.stickyHeader.style.opacity = opacity\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-enter\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-leave-active\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"transform\")]),s._v(\": translate(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", -\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\")\\n\"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-enter-active\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".sticky-fixed-show-leave-active\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"transition\")]),s._v(\": all .\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5s\")]),s._v(\" ease-in-out\\n\")])]),s._v(\" \"),t(\"p\",[t(\"code\",{pre:!0},[s._v(\"fixed-show-ani\")]),s._v(\" is used to set the \"),t(\"code\",{pre:!0},[s._v(\"transition\")]),s._v(\" name of the sticky element when it's fixed.\")]),s._v(\" \"),t(\"p\",[s._v(\"You can get current sticky ele's fixed diff value on \"),t(\"code\",{pre:!0},[s._v(\"diff-change\")]),s._v(\" event.\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),t(\"th\",[s._v(\"Description\")]),s._v(\" \"),t(\"th\",[s._v(\"Type\")]),s._v(\" \"),t(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),t(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"pos\")]),s._v(\" \"),t(\"td\",[s._v(\"required, scroll position\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"checkTop\")]),s._v(\" \"),t(\"td\",[s._v(\"whether to treat the top of sticky element as boundary, if this value is false means \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" will be sticky when the bottom of the \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky-ele\")]),s._v(\" reaches the top of \"),t(\"code\",{pre:!0},[s._v(\"cube-sticky\")])]),s._v(\" \"),t(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),t(\"td\",[s._v(\"true/false\")]),s._v(\" \"),t(\"td\",[s._v(\"true\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"fixedShowAni\")]),s._v(\" \"),t(\"td\",[s._v(\"the \"),t(\"code\",{pre:!0},[s._v(\"transition\")]),s._v(\" name of the sticky element\")]),s._v(\" \"),t(\"td\",[s._v(\"String\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"if checkTop is true this value will be '', otherwise this value will be 'cube-sticky-fixed-fade'\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"offset\")]),s._v(\" \"),t(\"td\",[s._v(\"offset value, \"),t(\"code\",{pre:!0},[s._v(\"pos+offset\")]),s._v(\" will be the real pos value\")]),s._v(\" \"),t(\"td\",[s._v(\"Number\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"0\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),t(\"th\",[s._v(\"Description\")]),s._v(\" \"),t(\"th\",[s._v(\"Type\")]),s._v(\" \"),t(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),t(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"eleKey\")]),s._v(\" \"),t(\"td\",[s._v(\"the key of sticky element\")]),s._v(\" \"),t(\"td\",[s._v(\"Number/String\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"If \"),t(\"code\",{pre:!0},[s._v(\"eleKey\")]),s._v(\" is undefined, CubeSticky will get the index of CubeStickyEle as the element's key.\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"Name\")]),s._v(\" \"),t(\"th\",[s._v(\"Description\")]),s._v(\" \"),t(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"default\")]),s._v(\" \"),t(\"td\",[s._v(\"default content\")]),s._v(\" \"),t(\"td\",[s._v(\"-\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"fixed\")]),s._v(\" \"),t(\"td\",[s._v(\"custom sticky content when the sticky element is fixed\")]),s._v(\" \"),t(\"td\",[s._v(\"current: key of the fixed sticky element\"),t(\"br\"),s._v(\"index: index of the sticky element(index is not reactive)\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),t(\"th\",[s._v(\"Description\")]),s._v(\" \"),t(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),t(\"th\",[s._v(\"Parameters 2\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"change\")]),s._v(\" \"),t(\"td\",[s._v(\"triggers when fixed sticky element changed\")]),s._v(\" \"),t(\"td\",[s._v(\"current - key of the fixed sticky element, if there is no fixed sticky element this value will be ''\")]),s._v(\" \"),t(\"td\",[s._v(\"index - index of sticky element, if there is no fixed sticky element this value will be -1 (index is not reactive)\")])]),s._v(\" \"),t(\"tr\",[t(\"td\",[s._v(\"diff-change\")]),s._v(\" \"),t(\"td\",[s._v(\"triggers when sticky element scrolling diff value changed\")]),s._v(\" \"),t(\"td\",[s._v(\"diff - diff value\")]),s._v(\" \"),t(\"td\",[s._v(\"height: height of current sticky element\")])])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"table\",[t(\"thead\",[t(\"tr\",[t(\"th\",[s._v(\"Method name\")]),s._v(\" \"),t(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),t(\"tbody\",[t(\"tr\",[t(\"td\",[s._v(\"refresh\")]),s._v(\" \"),t(\"td\",[s._v(\"You can call this method when content updated\")])])])])}]}},WvS6:function(s,a,t){var l=t(\"VU/8\")(null,t(\"Mrle\"),null,null,null);s.exports=l.exports},X7Go:function(s,a,t){s.exports=t(\"WvS6\")}});"
  },
  {
    "path": "docs/js/6.87961418e2ec57592899.js",
    "content": "webpackJsonp([6],{NocJ:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Tip\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Tip-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Tip\")]),s._v(\" \"),a(\"p\",[s._v(\"提示，用于弹出提示气泡框。\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(3)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基础使用\")]),s._v(\" \"),a(\"p\",[s._v(\"通过在 \"),a(\"code\",{pre:!0},[s._v(\"Tip\")]),s._v(\" 组件上添加 \"),a(\"code\",{pre:!0},[s._v(\"ref\")]),s._v(\" 属性，获得对于组件的引用，然后调用 \"),a(\"code\",{pre:!0},[s._v(\"Tip\")]),s._v(\" 组件向外暴露出来的 \"),a(\"code\",{pre:!0},[s._v(\"show\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"hide\")]),s._v(\" 方法来控制组件的显示或隐藏。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":inline\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":outline\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":primary\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"$refs.tip.show()\"')]),s._v(\">\")]),s._v(\"Show tip\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bottom\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"left:123px;top:-50px;\"')]),s._v(\">\")]),s._v(\"Tip\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"小三角和气泡框的位置\")]),s._v(\" \"),a(\"p\",[s._v(\"通过 \"),a(\"code\",{pre:!0},[s._v(\"direction\")]),s._v(\" 属性配置小三角的方向，一般情况下需要通过 \"),a(\"code\",{pre:!0},[s._v(\"style\")]),s._v(\" 改变气泡框的位置；一般来说，小三角的方向是与气泡框的位置相反的。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip-eg\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"cube-ui\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip2\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"direction\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tipStyle\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@close\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"close\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"Awesome!\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-tip\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('bottom')\\\"\")]),s._v(\">\")]),s._v(\"top\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('top')\\\"\")]),s._v(\">\")]),s._v(\"bottom\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('right')\\\"\")]),s._v(\">\")]),s._v(\"left\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showTip('left')\\\"\")]),s._v(\">\")]),s._v(\"right\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tipStyle\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTip(direction) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".direction = direction\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.tip2.show()\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"switch\")]),s._v(\" (direction) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'top'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 100px; top: 30px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'bottom'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 100px; top: -50px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 200px; top: -10px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"case\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'right'\")]),s._v(\":\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".tipStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left: 2px; top: -10px;'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"break\")]),s._v(\"\\n      }\\n    },\\n    close() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click close button'\")]),s._v(\")\\n    },\\n    clickHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'click tip area'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"小三角的方向\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"top/bottom/left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetLeft\")]),s._v(\" \"),a(\"td\",[s._v(\"小三角至 Tip 框左边距离\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetTop\")]),s._v(\" \"),a(\"td\",[s._v(\"小三角至 Tip 框顶部距离\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetRight\")]),s._v(\" \"),a(\"td\",[s._v(\"小三角至 Tip 框右边距离\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offsetBottom\")]),s._v(\" \"),a(\"td\",[s._v(\"小三角至 Tip 框底部距离\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"其中 \"),a(\"code\",{pre:!0},[s._v(\"offsetLeft\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"offsetTop\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"offsetRight\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"offsetBottom\")]),s._v(\" 的值如果是数字，那么单位就是像素，如果说是字符串，则认为是设置的百分比。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"close\")]),s._v(\" \"),a(\"td\",[s._v(\"点击 Tip 的关闭按钮\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"click\")]),s._v(\" \"),a(\"td\",[s._v(\"点击 Tip 的提示内容部分\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},\"fHi+\":function(s,t,a){var v=a(\"VU/8\")(null,a(\"NocJ\"),null,null,null);s.exports=v.exports},hIhO:function(s,t,a){s.exports=a(\"fHi+\")}});"
  },
  {
    "path": "docs/js/60.48f6468a209288732754.js",
    "content": "webpackJsonp([60],{\"2TZu\":function(s,t,a){var e=a(\"VU/8\")(null,a(\"fsZL\"),null,null,null);s.exports=e.exports},fsZL:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Slide\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slide-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slide\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Slide\")]),s._v(\" component, which is also encapsulated based on \"),a(\"code\",{pre:!0},[s._v(\"better-scroll\")]),s._v(\",  provides common functions like \"),a(\"code\",{pre:!0},[s._v(\"slider\")]),s._v(\"  and \"),a(\"code\",{pre:!0},[s._v(\"swipe\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"Considering of the usual scenes of \"),a(\"code\",{pre:!0},[s._v(\"cube-slide\")]),s._v(\", each carousel page is a link, so the easiest way to use it is to pass an Array which consists of image and link by the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" props. We will render it as a carousel of a set of hyperlinked images by default.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\")]),s._v(\"\\n        }, {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\")]),s._v(\"\\n        }, {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom Content\")]),s._v(\" \"),a(\"p\",[s._v(\"Of course, we also support custom content, using the default slot and \"),a(\"code\",{pre:!0},[s._v(\"cube-slide-item\")]),s._v(\" component to customize the structure of each carousel page. Among them, the \"),a(\"code\",{pre:!0},[s._v(\"cube-slide\")]),s._v(\" element is the entire carousel component, and the \"),a(\"code\",{pre:!0},[s._v(\"cube-slide-item\")]),s._v(\" element is the page of each carousel, whose slot is the content of the page.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"slide\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changePage\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in items\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click.native\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickHandler(item, index)\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"a\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":href\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.url\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.image\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"a\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide-item\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"items\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'http://www.didichuxing.com/'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"image\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changePage(current) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'当前轮播图序号为:'\")]),s._v(\" + current)\\n    },\\n    clickHandler(item, index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item, index)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Although you will use the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" to generate the default content after using the custom content, it is still recommended that you pass the data by the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" props, so our component can automatically perform data monitoring and re-rendering inside. Otherwise, you may need to call the \"),a(\"code\",{pre:!0},[s._v(\"refresh\")]),s._v(\" method to re-render by yourself, such as \"),a(\"code\",{pre:!0},[s._v(\"this.$refs.slide.refresh()\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Initial Index\")]),s._v(\" \"),a(\"p\",[s._v(\"Initial Index value, default 0.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":initial-index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Loop play\")]),s._v(\" \"),a(\"p\",[s._v(\"Loop play is turned on by default. You can configure that with \"),a(\"code\",{pre:!0},[s._v(\"loop\")]),s._v(\" attribute.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":loop\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Automatic play\")]),s._v(\" \"),a(\"p\",[s._v(\"Automatic play is turned on by default. You can configure that with \"),a(\"code\",{pre:!0},[s._v(\"auto-play\")]),s._v(\" attribute.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":auto-play\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Interval of automatic play\")]),s._v(\" \"),a(\"p\",[s._v(\"When automatic play is turned on, you can configure the interval with \"),a(\"code\",{pre:!0},[s._v(\"interval\")]),s._v(\" attribute.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":interval\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"4000\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Sliding threshold of switching pages\")]),s._v(\" \"),a(\"p\",[s._v(\"You can configure the sliding threshold of switching pages with \"),a(\"code\",{pre:!0},[s._v(\"threshold\")]),s._v(\" attribute. It means that when the sliding distance exceeds the page's width * \"),a(\"code\",{pre:!0},[s._v(\"threshold\")]),s._v(\", the page is switched. Default is 0.3.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":threshold\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"0.4\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Speed of switching pages\")]),s._v(\" \"),a(\"p\",[s._v(\"Animation of switching costs 400 ms by default. You can cnfigure that with \"),a(\"code\",{pre:!0},[s._v(\"speed\")]),s._v(\" attribute.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":speed\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"200\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Allow vertical scroll behavior\")]),s._v(\" \"),a(\"p\",[s._v(\"It can not be scrolling in the vertical direction by default. You can configure that with \"),a(\"code\",{pre:!0},[s._v(\"allow-vertical\")]),s._v(\" attribute.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":allow-vertical\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Modify dots style\")]),s._v(\" \"),a(\"p\",[s._v(\"Default dot, you can change it by using dots slot.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"dots\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-dot\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{active: props.current === index}\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in props.dots\"')]),s._v(\">\")]),s._v(\"\\n      {{index + 1}}\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The scoped slots provide two parameters: current active index \"),a(\"code\",{pre:!0},[s._v(\"current\")]),s._v(\" and slide items length \"),a(\"code\",{pre:!0},[s._v(\"dots\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Dispatch scroll position in real time\"),a(\"sup\",[s._v(\"1.10.0\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-slide\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    data() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"listenScroll\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"probeType\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n        }\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      scroll ({x, y}) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(x, y)\\n      }\\n    }\\n  }\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"initialIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"initial index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"loop\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to loop play\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"showDots\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to show the indicator dots\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"autoPlay\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to play  automatically\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"interval\")]),s._v(\" \"),a(\"td\",[s._v(\"interval of play\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"4000\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"slide direction\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal/vertical\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"the options of better-scroll, you could find details at \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS Document\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"  momentum: false,\"),a(\"br\"),s._v(\"  click: true,\"),a(\"br\"),s._v(\"  observeDOM: false\"),a(\"br\"),s._v(\"}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"threshold\")]),s._v(\" \"),a(\"td\",[s._v(\"sliding threshold of switching pages\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"(0, 1)\")]),s._v(\" \"),a(\"td\",[s._v(\"0.3\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"speed of switching pages\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"400\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"allowVertical\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to allow vertical scrolling. \"),a(\"code\",{pre:!0},[s._v(\"Deprecated\")]),s._v(\", please use the property \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" instead.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"stopPropagation\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to stop propagation, which could use to solve the problem of event propagation when nest same direction slide. \"),a(\"code\",{pre:!0},[s._v(\"Deprecated\")]),s._v(\", please use the property \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" instead.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"refreshResetCurrent\"),a(\"sup\",[s._v(\"1.10.10\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether to reset index when refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"Default content contains cube-slide-item components\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"dots\")]),s._v(\" \"),a(\"td\",[s._v(\"Dots content\")]),s._v(\" \"),a(\"td\",[s._v(\"dots: Slide items length \"),a(\"br\"),s._v(\" current: current active index\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggered when current slide changes\")]),s._v(\" \"),a(\"td\",[s._v(\"index of current slide\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll\"),a(\"sup\",[s._v(\"1.10.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"triggered when slide is scrolling\")]),s._v(\" \"),a(\"td\",[s._v(\"Object {x, y} - scroll position\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll-end\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"triggered when scroll end.\")]),s._v(\" \"),a(\"td\",[s._v(\"index of current slide\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"You can call this method when slide items added or removed\")])])])])}]}},\"qc/E\":function(s,t,a){s.exports=a(\"2TZu\")}});"
  },
  {
    "path": "docs/js/61.265d640336d59817c112.js",
    "content": "webpackJsonp([61],{\"46l0\":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"section\",[n(\"h2\",{attrs:{id:\"SingletonPattern\"}},[n(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-SingletonPattern-anchor\",\"aria-hidden\":\"true\"}},[n(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[n(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" Singleton Pattern\")]),e._v(\" \"),n(\"p\",[e._v(\"You need to take the singleton and multiton pattern of components into account when invoking the component by API.\")]),e._v(\" \"),e._m(0),e._v(\" \"),n(\"p\",[e._v(\"The components that are involved with api-invoking in cube-ui are all popups. Frequently used ones among them are listed below:\")]),e._v(\" \"),e._m(1),e._v(\" \"),e._m(2),e._v(\" \"),e._m(3),e._v(\" \"),e._m(4),e._v(\" \"),n(\"p\",[e._v(\"In general cases, default behavior can meet the demand, except you have special need.\")]),e._v(\" \"),e._m(5)])},staticRenderFns:[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"ul\",[n(\"li\",[n(\"p\",[e._v(\"After 1.11\")]),e._v(\" \"),n(\"p\",[e._v(\"If the component is singleton, then there will be only one instance when instantiating it multiple times \"),n(\"strong\",[e._v(\"in same component\")]),e._v(\", and there is only one corresponding view layer; If the component is multiton, then a new instance will be created each time you instantiate it, and there are multiple corresponding view layers which don't affect each other.\")])]),e._v(\" \"),n(\"li\",[n(\"p\",[e._v(\"Below 1.11\")]),e._v(\" \"),n(\"p\",[e._v(\"If the component is singleton, then there will be only one instance when instantiating it multiple times, and there is only one corresponding view layer; If the component is multiton, then a new instance will be created each time you instantiate it, and there are multiple corresponding view layers which don't affect each other.\")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"ul\",[n(\"li\",[n(\"a\",{attrs:{href:\"#/en-US/docs/toast\"}},[e._v(\"Toast\")])]),e._v(\" \"),n(\"li\",[n(\"a\",{attrs:{href:\"#/en-US/docs/picker\"}},[e._v(\"Picker\")])]),e._v(\" \"),n(\"li\",[n(\"a\",{attrs:{href:\"#/en-US/docs/time-picker\"}},[e._v(\"TimePicker\")])]),e._v(\" \"),n(\"li\",[n(\"a\",{attrs:{href:\"#/en-US/docs/dialog\"}},[e._v(\"Dialog\")])]),e._v(\" \"),n(\"li\",[n(\"a\",{attrs:{href:\"#/en-US/docs/action-sheet\"}},[e._v(\"ActionSheet\")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"p\",[e._v(\"All the api-invokings are implemented with the \"),n(\"code\",{pre:!0},[e._v(\"createAPI\")]),e._v(\" function exported by the \"),n(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[e._v(\"create-api\")]),e._v(\" module. It is decided whether the component is singleton in definition. See details in \"),n(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[e._v(\"create-api\")]),e._v(\".\")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"p\",[e._v(\"By default, Toast, Dialog and ActionSheet is singleton, while Picker and TimePicker is multiton because their scenes tend to be more complex with a lot of extra data processing. If you want to change the default behavior at the time of instantiation,you can modify the parameter of \"),n(\"code\",{pre:!0},[e._v(\"$createX\")]),e._v(\". For example, we change the Dialog into multiton:\")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"pre\",{pre:!0},[n(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[n(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"const\")]),e._v(\" dialog = \"),n(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".$createDialog({\\n  \"),n(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"type\")]),e._v(\": \"),n(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'confirm'\")]),e._v(\",\\n  \"),n(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"title\")]),e._v(\": \"),n(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'title'\")]),e._v(\",\\n  \"),n(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"content\")]),e._v(\": \"),n(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'content'\")]),e._v(\"\\n}, \"),n(\"span\",{attrs:{class:\"hljs-literal\"}},[e._v(\"false\")]),e._v(\")\\ndialog.show()\\n\")])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"p\",[n(\"strong\",[e._v(\"Note:\")]),e._v(\" Considering the scenes of Picker and TimePicker, neither of them support singleton pattern.\")])}]}},\"7KpM\":function(e,t,n){var a=n(\"VU/8\")(null,n(\"46l0\"),null,null,null);e.exports=a.exports},AoaZ:function(e,t,n){e.exports=n(\"7KpM\")}});"
  },
  {
    "path": "docs/js/62.0fe8bd8b3202beab35aa.js",
    "content": "webpackJsonp([62],{\"3sTa\":function(t,s,e){var a=e(\"VU/8\")(null,e(\"wpdz\"),null,null,null);t.exports=a.exports},CSGf:function(t,s,e){t.exports=e(\"3sTa\")},wpdz:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"section\",[e(\"h2\",{attrs:{id:\"Select\"}},[e(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Select-anchor\",\"aria-hidden\":\"true\"}},[e(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[e(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Select\")]),t._v(\" \"),t._m(0),t._v(\" \"),e(\"p\",[t._v(\"Select component.\")]),t._v(\" \"),t._m(1),t._v(\" \"),e(\"h3\",{attrs:{id:\"Example\"}},[e(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[e(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[e(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(2),t._v(\" \"),e(\"h3\",{attrs:{id:\"Props\"}},[e(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[e(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[e(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),e(\"p\",[t._v(\"If an option is not an object, such as 2014，we will transform it to { value: 2014, text: 2014 }.\")]),t._v(\" \"),e(\"h3\",{attrs:{id:\"Events\"}},[e(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[e(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[e(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(6)])},staticRenderFns:[function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"blockquote\",[e(\"p\",[t._v(\"New in 1.5.0+\")])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"p\",[e(\"strong\",[t._v(\"Notice:\")]),t._v(\" Cause this component depend on Picker component, and Picker used create-api, so you should read \"),e(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\" first.\")])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"ul\",[e(\"li\",[e(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),e(\"p\",[t._v(\"Basically, you need to use \"),e(\"code\",{pre:!0},[t._v(\"options\")]),t._v(\" to define each option and the selected value will bind on \"),e(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\".\")]),t._v(\" \"),e(\"pre\",{pre:!0},[e(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[e(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),e(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":options\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"options\"')]),t._v(\">\")]),t._v(\"\\n\"),e(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),e(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),e(\"pre\",{pre:!0},[e(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[e(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),e(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),e(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"options\")]),t._v(\": [\"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2013\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2014\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2015\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2017\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2018\")]),t._v(\"],\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),e(\"li\",[e(\"p\",[t._v(\"Configs and Events\")]),t._v(\" \"),e(\"p\",[t._v(\"Select supports the configs of picker title, placeholder, whether auto pop, disabled. And if the selected value is changed when selected, it will emit the event \"),e(\"code\",{pre:!0},[t._v(\"change\")]),t._v(\".\")]),t._v(\" \"),e(\"pre\",{pre:!0},[e(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[e(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),e(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":title\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"title\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":options\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"options\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":placeholder\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"placeholder\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":auto-pop\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autoPop\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"cancelTxt\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"Cancel\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"confirmTxt\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"Confirm\"')]),t._v(\"\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@change\")]),t._v(\"=\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"change\"')]),t._v(\">\")]),t._v(\"\\n\"),e(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),e(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-select\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),e(\"pre\",{pre:!0},[e(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[e(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),e(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),e(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"options\")]),t._v(\": [\"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2013\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2014\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2015\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2017\")]),t._v(\", \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2018\")]),t._v(\"],\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),e(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2016\")]),t._v(\",\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Entry time'\")]),t._v(\",\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Please choose entry time'\")]),t._v(\",\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autoPop\")]),t._v(\": \"),e(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n      \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),e(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\"\\n    }\\n  },\\n  \"),e(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    change(value, index, text) {\\n      \"),e(\"span\",{attrs:{class:\"hljs-built_in\"}},[t._v(\"console\")]),t._v(\".log(\"),e(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'change'\")]),t._v(\", value, index, text)\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),e(\"p\",[t._v(\"There is one thing you may need notice. the \"),e(\"code\",{pre:!0},[t._v(\"change\")]),t._v(\" event won't change when you directly set the value of \"),e(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\", it only emit when the change is caused by select. If you want to listen the change of \"),e(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\", just watch it.\")])])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"table\",[e(\"thead\",[e(\"tr\",[e(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),e(\"th\",[t._v(\"Description\")]),t._v(\" \"),e(\"th\",[t._v(\"Type\")]),t._v(\" \"),e(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),e(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),e(\"tbody\",[e(\"tr\",[e(\"td\",[t._v(\"options\")]),t._v(\" \"),e(\"td\",[t._v(\"options\")]),t._v(\" \"),e(\"td\",[t._v(\"Array\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"[]\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"v-model\")]),t._v(\" \"),e(\"td\",[t._v(\"the selected value\")]),t._v(\" \"),e(\"td\",[t._v(\"Any\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),e(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),e(\"td\",[t._v(\"String\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"'请选择'\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"autoPop\")]),t._v(\" \"),e(\"td\",[t._v(\"whether auto pop picker\")]),t._v(\" \"),e(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),e(\"td\",[t._v(\"true/false\")]),t._v(\" \"),e(\"td\",[t._v(\"false\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"disabled\")]),t._v(\" \"),e(\"td\",[t._v(\"whether disabled\")]),t._v(\" \"),e(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),e(\"td\",[t._v(\"true/false\")]),t._v(\" \"),e(\"td\",[t._v(\"false\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"title\")]),t._v(\" \"),e(\"td\",[t._v(\"the title of picker\")]),t._v(\" \"),e(\"td\",[t._v(\"String\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"'请选择'\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"cancelTxt\")]),t._v(\" \"),e(\"td\",[t._v(\"the cancel text of picker\")]),t._v(\" \"),e(\"td\",[t._v(\"String\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"'取消'\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"confirmTxt\")]),t._v(\" \"),e(\"td\",[t._v(\"the confirm text of picker\")]),t._v(\" \"),e(\"td\",[t._v(\"String\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"'确认'\")])])])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"ul\",[e(\"li\",[e(\"code\",{pre:!0},[t._v(\"options\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"table\",[e(\"thead\",[e(\"tr\",[e(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),e(\"th\",[t._v(\"Description\")]),t._v(\" \"),e(\"th\",[t._v(\"Type\")]),t._v(\" \"),e(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),e(\"th\",[t._v(\"Example\")])])]),t._v(\" \"),e(\"tbody\",[e(\"tr\",[e(\"td\",[t._v(\"value\")]),t._v(\" \"),e(\"td\",[t._v(\"value of the option\")]),t._v(\" \"),e(\"td\",[t._v(\"Any\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"text\")]),t._v(\" \"),e(\"td\",[t._v(\"text of the option\")]),t._v(\" \"),e(\"td\",[t._v(\"String\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e(\"table\",[e(\"thead\",[e(\"tr\",[e(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),e(\"th\",[t._v(\"Description\")]),t._v(\" \"),e(\"th\",[t._v(\"Parameters 1\")]),t._v(\" \"),e(\"th\",[t._v(\"Parameters 2\")]),t._v(\" \"),e(\"th\",[t._v(\"Parameters 3\")])])]),t._v(\" \"),e(\"tbody\",[e(\"tr\",[e(\"td\",[t._v(\"input\")]),t._v(\" \"),e(\"td\",[t._v(\"when the selected value changed by select\")]),t._v(\" \"),e(\"td\",[t._v(\"the selected value\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"change\")]),t._v(\" \"),e(\"td\",[t._v(\"when the selected value changed by select\")]),t._v(\" \"),e(\"td\",[t._v(\"the selected value\")]),t._v(\" \"),e(\"td\",[t._v(\"the selected index\")]),t._v(\" \"),e(\"td\",[t._v(\"the selected text\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"picker-show\")]),t._v(\" \"),e(\"td\",[t._v(\"when Picker show\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")])]),t._v(\" \"),e(\"tr\",[e(\"td\",[t._v(\"picker-hide\")]),t._v(\" \"),e(\"td\",[t._v(\"when Picker hide\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")]),t._v(\" \"),e(\"td\",[t._v(\"-\")])])])])}]}}});"
  },
  {
    "path": "docs/js/63.65ab03781228409081a9.js",
    "content": "webpackJsonp([63],{CIUK:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"SegmentPicker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-SegmentPicker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" SegmentPicker\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"p\",[t._v(\"SegmentPicker is used to achieve multi segment choose, for example, the choose of time period: September 1, 2010 - 2014 June 30th.\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(6),t._v(\" \"),a(\"h3\",{attrs:{id:\"Methods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Methods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Methods\")]),t._v(\" \"),t._m(7)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"New in 1.7.0+\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"strong\",[t._v(\"Notice:\")]),t._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\" first.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),a(\"p\",[t._v(\"Using the \"),a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" attribute to define the component name and properties of each node picker, \"),a(\"code\",{pre:!0},[t._v(\"is\")]),t._v(\" represents which Picker component is used, either a Picker component of a Cube UI, or a Picker component defined by yourself. For example, we use two DatePicker components to make time period choose.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showDateSegmentPicker\"')]),t._v(\">\")]),t._v(\"StartDate - EndDate\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"const\")]),t._v(\" dateSegmentData = [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"is\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cube-date-picker'\")]),t._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'入学时间'\")]),t._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"min\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"new\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[t._v(\"Date\")]),t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2000\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"max\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"new\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[t._v(\"Date\")]),t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2030\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"11\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"31\")]),t._v(\")\\n  },\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"is\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cube-date-picker'\")]),t._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'毕业时间'\")]),t._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"min\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"new\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[t._v(\"Date\")]),t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2000\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"max\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"new\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[t._v(\"Date\")]),t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2030\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"11\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"31\")]),t._v(\")\\n  }\\n]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".dateSegmentPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createSegmentPicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": dateSegmentData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"selectedDates, selectedVals, selectedTexts\")]),t._v(\") =>\")]),t._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Selected Items: <br/> - 入学时间: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\")}\")]),t._v(\" <br/> - 毕业时间: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\")}\")]),t._v(\"`\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\"\\n        }).show()\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onNext\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"i, selectedDate, selectedValue, selectedText\")]),t._v(\") =>\")]),t._v(\" {\\n        dateSegmentData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"].min = selectedDate\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"if\")]),t._v(\" (i === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\") {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".dateSegmentPicker.$updateProps({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": dateSegmentData\\n          })\\n        }\\n      }\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showDateSegmentPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".dateSegmentPicker.show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"In order to implement the Cascade between the two pickers, we can update the second picker in the handle function of the \"),a(\"code\",{pre:!0},[t._v(\"next\")]),t._v(\" event, according to the first choice. As in here, the minimum value of the end time = the selected start time.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Express - From - To\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showCitySegmentPicker\"')]),t._v(\">\")]),t._v(\"Express - From - To\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"import\")]),t._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"from\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'example/data/area'\")]),t._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"const\")]),t._v(\" cityData = provinceList\\ncityData.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"province\")]),t._v(\" =>\")]),t._v(\" {\\n  province.children = cityList[province.value]\\n  province.children.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"city\")]),t._v(\" =>\")]),t._v(\" {\\n    city.children = areaList[city.value]\\n  })\\n})\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".citySegmentPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createSegmentPicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [{\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'选择快递'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [expressData],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"selectedIndex\")]),t._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"]\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"is\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cube-cascade-picker'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'寄件地址'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": cityData,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"selectedIndex\")]),t._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"cancelTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'返回'\")]),t._v(\"\\n      }, {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"is\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cube-cascade-picker'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'收件地址'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": cityData,\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"selectedIndex\")]),t._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"]\\n      }],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"cancelTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Cancel'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"confirmTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Confirm'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"nextTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Next'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"prevTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Prev'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"selectedVals, selectedIndexs, selectedTexts\")]),t._v(\") =>\")]),t._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Selected Items: <br/> - 所选快递:  \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\")}\")]),t._v(\" <br/> - 寄件地址: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\")}\")]),t._v(\" <br/> - 收件地址: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${selectedTexts[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"2\")]),t._v(\"].join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\")}\")]),t._v(\"`\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\"\\n        }).show()\\n      }\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showCitySegmentPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".citySegmentPicker.show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"data\")]),t._v(\" \"),a(\"td\",[t._v(\"define the component name and properties of each node picker\")]),t._v(\" \"),a(\"td\",[t._v(\"Array\")]),t._v(\" \"),a(\"td\",[t._v(\"[]\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"subtitle\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"subtitle\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancelTxt\")]),t._v(\" \"),a(\"td\",[t._v(\"the text of the cancel button\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"'取消'\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"confirmTxt\")]),t._v(\" \"),a(\"td\",[t._v(\"the text of the confirm button\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"'确定'\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"nextTxt\")]),t._v(\" \"),a(\"td\",[t._v(\"the text of the next button\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"'下一步'\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"prevTxt\")]),t._v(\" \"),a(\"td\",[t._v(\"the text of the prev button\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"'下一步'\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"swipeTime\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"2500\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"visible\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[t._v(\"v-model\")])]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maskClosable\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether hide the component when clicked the mask layer\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"zIndex\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"the value of the style z-index\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"100\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")]),t._v(\" \"),a(\"th\",[t._v(\"Example\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"is\")]),t._v(\" \"),a(\"td\",[t._v(\"the component name of each node picker\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"cube-picker\")]),t._v(\" \"),a(\"td\",[t._v(\"cube-date-picker\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"...rest\")]),t._v(\" \"),a(\"td\",[t._v(\"the properties of each node picker\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 1\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 2\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 3\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"select\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when clicking the confirm button\")]),t._v(\" \"),a(\"td\",[t._v(\"the parameter 1 of each picker's select event, Array\")]),t._v(\" \"),a(\"td\",[t._v(\"the parameter 2 of each picker's select event, Array\")]),t._v(\" \"),a(\"td\",[t._v(\"the parameter 3 of each picker's select event, Array\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancel\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when clicking the cancel button\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"next\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when clicking the next button\")]),t._v(\" \"),a(\"td\",[t._v(\"the index of current picker, Number\")]),t._v(\" \"),a(\"td\",[t._v(\"...rest, is the parameters of current picker's select event\")]),t._v(\" \"),a(\"td\",[t._v(\"···\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"prev\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when clicking the prev button\")]),t._v(\" \"),a(\"td\",[t._v(\"the index of current picker, Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"change\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the roller scrolls\")]),t._v(\" \"),a(\"td\",[t._v(\"pickerIndex: Number, the index of current picker\")]),t._v(\" \"),a(\"td\",[t._v(\"index: Number, index of current scrolling roller\")]),t._v(\" \"),a(\"td\",[t._v(\"selectedIndex: Number, index of selected item in current column\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Method name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"show\")]),t._v(\" \"),a(\"td\",[t._v(\"show\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"hide\")]),t._v(\" \"),a(\"td\",[t._v(\"hide\")])])])])}]}},Iwkx:function(t,s,a){var e=a(\"VU/8\")(null,a(\"CIUK\"),null,null,null);t.exports=e.exports},PiHE:function(t,s,a){t.exports=a(\"Iwkx\")}});"
  },
  {
    "path": "docs/js/64.4df41c1ba975112cb0ed.js",
    "content": "webpackJsonp([64],{a6IA:function(s,t,a){s.exports=a(\"nez3\")},aK8u:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Scroll\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Scroll-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Scroll\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Scrollingprinciple\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Scrollingprinciple-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Scrolling principle\")]),s._v(\" \"),a(\"p\",[s._v(\"The better-scroll's scrolling principle is, the length of the first child element exceeds the length of the container in the scroll direction.\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),a(\"p\",[s._v(\"Seven sample code to quickly understand how to use the Scroll component.\")]),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),s._m(16),s._v(\" \"),s._m(17),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(18),s._v(\" \"),s._m(19),s._v(\" \"),s._m(20),s._v(\" \"),s._m(21),s._v(\" \"),s._m(22),s._v(\" \"),s._m(23),s._v(\" \"),s._m(24),s._v(\" \"),s._m(25),s._v(\" \"),s._m(26),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(27),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(28),s._v(\" \"),a(\"h3\",{attrs:{id:\"methods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-methods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" methods\")]),s._v(\" \"),s._m(29)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" component, which is encapsulated based on \"),a(\"code\",{pre:!0},[s._v(\"better-scroll\")]),s._v(\", provides high-quality native scrolling experience and has convenient configuration along with events.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"So for the Scroll component, The length of \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-content\")]),s._v(\", the scroll-content, must be larger than \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\", the container element. Depending on the direction of scrolling, there are two situations:\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"1）Scrolling vertically: \"),a(\"strong\",[s._v(\"The height of the content element must be greater than the container element.\")]),s._v(\" Since the height of the container element will be stretched by the height of the child element by default, in order to satisfy our scrolling premise, you need to give the Scroll component's \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\" element an fixed height.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"2）Scrolling horizontally: \"),a(\"strong\",[s._v(\"The width of the content element must be greater than the container element.\")]),s._v(\" Since the child element's width does not exceed the container element by default, the Scroll component's \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-content\")]),s._v(\" element needs to be set to a width greater than the \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"Note: If there is any situation where scrolling is not possible, you should first check if the height/width of the content element \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-content\")]),s._v(\" is greater than the height/width of the container element \"),a(\"code\",{pre:!0},[s._v(\".cube-scroll-wrapper\")]),s._v(\". This is a prerequisite for content to scroll. \"),a(\"strong\",[s._v(\"If there is  images in the content, the scrolling should be not normal. The reason is images may not be downloaded when the DOM element is rendered, so the height of the content element is less than expected. At this point you should manually call the Scroll component's \"),a(\"code\",{pre:!0},[s._v(\"refresh()\")]),s._v(\" method after the image has been loaded, such as calling in the onload event callback, which will recalculate the scroll distance.\")]),s._v(\" Scroll related FAQs can seek [Cube-UI/Question-Answer].\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"1. Basic usage - Default\")])]),s._v(\" \"),a(\"p\",[s._v(\"By setting the data property to an array, you can generate an elegantly scrolling list. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/default.vue\"}},[s._v(\"here\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".scroll-list-wrap\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"350px\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"Note\")]),s._v(\": As the scrolling principle above, it is necessary to provide a fixed height to the scroll container, and scroll only when the height of the scroll content is greater than the height of the container.\")])]),s._v(\" \"),a(\"p\",[s._v(\"In the prop \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\", you are able to control the scrollbar seen or not via \"),a(\"code\",{pre:!0},[s._v(\"scrollbar\")]),s._v(\", and configure the initial position by \"),a(\"code\",{pre:!0},[s._v(\"startX/startY\")]),s._v(\".\")]),s._v(\" \"),a(\"p\",[s._v(\"Scroll component provides a \"),a(\"code\",{pre:!0},[s._v(\"scrollTo()\")]),s._v(\" method that allows you to manually control the list scroll position.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"scrollTo() {\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.scrollTo(\\n    \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollToY,\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollToTime,\\n    ease[\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".scrollToEasing]\\n  )\\n},\\n\")])]),s._v(\" \"),a(\"p\",[s._v('In fact, this is a very useful method, such as when we want to achieve \"click different anchor, list scroll to the corresponding position to show different content\", you can use the '),a(\"code\",{pre:!0},[s._v(\"scrollTo ()\")]),s._v(\" method.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"2. Scrolling horizontally - Horizontal\")])]),s._v(\" \"),a(\"p\",[s._v(\"Scroll component supports horizontal scrolling. All you need to do is specifying \"),a(\"code\",{pre:!0},[s._v(\"direction = 'horizontal'\")]),s._v(\" and giving some styles. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal.vue\"}},[s._v(\"here\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal-scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".horizontal-scroll-list-wrap\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1px\")]),s._v(\" solid rgba(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.1\")]),s._v(\")\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-radius\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-scroll-content\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": inline-block\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".list-wrapper\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10px\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60px\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"white-space\")]),s._v(\": nowrap\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".list-item\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"display\")]),s._v(\": inline-block\\n\")])]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"Note\")]),s._v(\"：1. As the scrolling principle above, the CSS style setting here is required, and scrolling is possible only when the scrolling content is wider than the container width. 2. Sometimes we want to use the \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" component to simulate the horizontal scroll, vertically retaining the browser's native scrolling, or vice versa. At this point you need to pass the better-scroll configuration item \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/en/options.html#eventpassthrough\"}},[s._v(\"eventPassthrough\")])])]),s._v(\" \"),a(\"p\",[s._v(\"Here giving a brief explanation of the style settings. \"),a(\"code\",{pre:!0},[s._v(\"list-item\")]),s._v(\" items with \"),a(\"code\",{pre:!0},[s._v(\"display: inline-block\")]),s._v(\" lead to all \"),a(\"code\",{pre:!0},[s._v(\"list-item\")]),s._v(\" elements showing on one line. \"),a(\"code\",{pre:!0},[s._v(\"list-wrapper\")]),s._v(\" adds \"),a(\"code\",{pre:!0},[s._v(\"white-space: nowrap\")]),s._v(\" hope \"),a(\"code\",{pre:!0},[s._v(\"list-item\")]),s._v(\" also showing on one line when reaching the outer element boundary. And the most important is setting \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-content\")]),s._v(\" with \"),a(\"code\",{pre:!0},[s._v(\"display: inline-block\")]),s._v(\"， which make the width of \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-content\")]),s._v(\" bigger enough so that \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-content\")]),s._v(\" can wrap descendants elements. Styles with the same properties are floating elements and absolutely positioned elements. When no specific width is set, the width is the minimum width of the wrapped descendant element.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"3. Custom content - Customized\")])]),s._v(\" \"),a(\"p\",[s._v(\"The Scroll component supports the customization of list content through default slot. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/config.vue\"}},[s._v(\"here\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-up\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingUp\"')]),s._v(\">\")]),s._v(\"\\n    ... // custom content\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Scroll components also support \"),a(\"strong\",[s._v(\"pull-down refresh\")]),s._v(\" and \"),a(\"strong\",[s._v(\"pull-up load\")]),s._v(\" capabilities. By default, there is no pulldown refresh/pull-up load. You can enable corresponding functions by \"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\". After opening, when pulling down, the Scroll component will show the default pulldown animation and dispatch pulldown events. You can monitor the \"),a(\"code\",{pre:!0},[s._v(\"pull-down\")]),s._v(\" event to update the data. Similarly, after the pull-up load is enabled, the data can be updated by the \"),a(\"code\",{pre:!0},[s._v(\"pull-up\")]),s._v(\" event.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"'s related configurations include: drop threshold (threshold), rebound position (stop), update successful copy (txt) and copy display time (stopTime). See the \"),a(\"a\",{attrs:{href:\"#/en-US/docs/scroll#cube-Propsconfiguration-anchor\"}},[s._v(\"Props configuration\")]),s._v(\" for all the configuration items and meanings of the \"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\" objects.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"... \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ignore\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"computed\")]),s._v(\": {\\n  options() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullDownRefresh\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownRefreshObj,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullUpLoad\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullUpLoadObj,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollbar\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n    }\\n  },\\n  ...\\n},\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n  onPullingDown() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// simulate asynchronous request data\")]),s._v(\"\\n    setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".random() > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.5\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if data update\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".items.unshift(_foods[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"])\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if no data update\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n      }\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n  },\\n  onPullingUp() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// simulate asynchronous request data\")]),s._v(\"\\n    setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".random() > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.5\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if data update\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" newPage = _foods.slice(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\")\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".items = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".items.concat(newPage)\\n      } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if no data update\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n      }\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n  },\\n  ...\\n}\\n\")])]),s._v(\" \"),a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"Note\")]),s._v(\": If a pulldown-refresh/pullup-loading has no data update, you must manually call the Scroll component's \"),a(\"code\",{pre:!0},[s._v(\"forceUpdate()\")]),s._v(\" method to end the pulldown-refresh/pullup-loading so that Scroll will restart listening for the next pulldown-refresh/pullup-loading operation. In the above example, when the data is updated, we did not invoke the \"),a(\"code\",{pre:!0},[s._v(\"forceUpdate()\")]),s._v(\" method. The reason is: ** If you pass the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" attribute to the \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" component, then when the \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" component listens to the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" update, the \"),a(\"code\",{pre:!0},[s._v(\"forceUpate(true)\")]),s._v(\" method will be called automatically. ** so it is recommended to pass the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" attribute.\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"4. Custom pull-down refresh animation - Fake JD App\")])]),s._v(\" \"),a(\"p\",[s._v(\"If you don't like the built-in pull-down refresh and pull-up loading animations, you can also use the scope slots for custom animations. The variables exposed by \"),a(\"a\",{attrs:{href:\"https://vuejs.org/v2/guide/components-slots.html#Scoped-Slots\"}},[s._v(\"the scoped slots\")]),s._v(\" of the Scroll component are perfect to meet the needs of custom pull-down/pull-up animations in most scenarios. The following example imitates the pull-down refresh animation of Jingdong App's homepage. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/jd.vue\"}},[s._v(\"here\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":scroll-events\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"['scroll']\\\"\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollOptions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@scroll\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onScrollHandle\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://om0jxp12h.bkt.clouddn.com/jd_content.JPG\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pulldown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.pullDownRefresh\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-pulldown-wrapper\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pullDownStyle\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pulldown-content\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://om0jxp12h.bkt.clouddn.com/pulldow-img.jpg\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.beforePullDown\"')]),s._v(\">\")]),s._v(\"{{ pullDownTip }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-else\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.isPullingDown\"')]),s._v(\">\")]),s._v(\"正在更新...\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-else\")]),s._v(\">\")]),s._v(\"更新成功\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[s._v(\"data() {\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullDownRefresh\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"threshold\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"40\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'更新成功'\")]),s._v(\"\\n      }\\n    },\\n    ...\\n  }\\n},\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"computed\")]),s._v(\": {\\n  pullDownTip() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY <= \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\") {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'下拉刷新...'\")]),s._v(\"\\n    } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY <= \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"90\")]),s._v(\") {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'继续下拉有惊喜...'\")]),s._v(\"\\n    } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'松手得惊喜！'\")]),s._v(\"\\n    }\\n  },\\n  headerStyle() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".min(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".max(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\" - \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY / \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"40\")]),s._v(\"))\\n  }\\n},\\n\"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n  onScrollHandle(pos) {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY = pos.y\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (pos.y > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownStyle = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`top:\"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${pos.y}\")]),s._v(\"px`\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurpriseFlag = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".pullDownY > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"90\")]),s._v(\") {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurpriseFlag = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      }\\n    }\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.topHeader.style.opacity = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".headerStyle\\n  },\\n  onPullingDown() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurpriseFlag) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".triggerSurprise = \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\"\\n    }\\n    setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.scroll.forceUpdate()\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n  },\\n  ...\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Through the scope parameters provided by the scoped slots, such as: \"),a(\"code\",{pre:!0},[s._v(\"beforePulldown\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"isPullingDown\")]),s._v(\", allows you control the animation process. Tht other scope parameters, see \"),a(\"a\",{attrs:{href:\"#/en-US/docs/scroll#cube-Slot-anchor\"}},[s._v(\"slots\")]),s._v(\". In a complete pulldown refresh, the status of \"),a(\"code\",{pre:!0},[s._v(\"beforePullDown\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"isPullingDown\")]),s._v(\" changes as follows:\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"step\")]),s._v(\" \"),a(\"th\",[s._v(\"beforePulldown\")]),s._v(\" \"),a(\"th\",[s._v(\"isPullingDown\")]),s._v(\" \"),a(\"th\",[s._v(\"note\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"1. Untrigger pull-down refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"Show pattern guide user continues to  pull down\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"2. Trigger pull-down refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"Asynchronous request data，show loading\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"3. Request data success\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"invoke \"),a(\"code\",{pre:!0},[s._v(\"forceUpdate(true)\")]),s._v(\", show success copy. And delay 'stopTime' into step 4\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"4. A pull-down refresh complete\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"5. Advanced usage - Fake TouTiao App\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Scroll components can meet the scrolling needs of most mobile applications. In this example, using two Scroll components, one vertical and one horizontal, to imitates the Toutiao App's home page. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/toutiao.vue\"}},[s._v(\"here\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s._v(\"  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nav-scroll-list-wrap\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"navScroll\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nav-wrapper\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in navTxts\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nav-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"more-wrapper\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"more\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"content-scroll-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"content-scroll-list-wrap\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scrollWrapper\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"contentScroll\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"content\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-up\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingUp\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"imgs-wrapper\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in content\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"imgs-item\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.url\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pulldown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.pullDownRefresh\"')]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-pulldown-wrapper\"')]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.pullDownStyle\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-if\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.beforePullDown\"')]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"before-trigger\"')]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{paddingTop: props.bubbleY + 'px'}\\\"\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{rotate: props.bubbleY > options.pullDownRefresh.threshold - 60}\"')]),s._v(\">\")]),s._v(\"↓\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"after-trigger\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-else\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-show\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props.isPullingDown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"loading\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-loading\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"success\"')]),s._v(\">\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-show\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"!props.isPullingDown\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text-wrapper\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"refresh-text\"')]),s._v(\">\")]),s._v(\"今日头条推荐引擎有x条更新\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n              \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"transition\")]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"In contrast to faking JD App example, pulldown refreshing custom animations use \"),a(\"code\",{pre:!0},[s._v(\"pullDownStyle\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\" in pulldown scope slots to facilitate pulldown animations.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"pullDownStyle\")]),s._v(\" is used to control the position of the pull-down content. The value is the string \"),a(\"code\",{pre:!0},[s._v(\"top: n px\")]),s._v(\" (n represents a number). The Scroll component controls the position of the pull-down content via the absolutely positioned \"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\" value. The initial state has a negative \"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\" value, and the value is just the height of the pull-down content, so the drop-down content is hidden above the scroll area. When the pull-down process is started, the Scroll component will gradually increase the \"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\" value and update the pull-down content position in real time. The maximum value of \"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\" is 0, that is, the \"),a(\"code\",{pre:!0},[s._v(\"top\")]),s._v(\" value no longer increases when the pull-down content is completely displayed. So, \"),a(\"code\",{pre:!0},[s._v(\"pullY - height <= top <= 0\")]),s._v(\". (pullY is the drop-down distance, height is the drop-down content height)\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\" is used to help implement custom animations. In the default animation, \"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\" is used to control the length of the bubble tail; in the Toutiao example, is used to control the padding-top value of the arrow, to indirectly control the arrow position. The minimum value of \"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\" is 0. In the pull-down process, when the pull-down distance is greater than the height of the pull-down content, \"),a(\"code\",{pre:!0},[s._v(\"bubbleY\")]),s._v(\" starts to increase. That is, \"),a(\"code\",{pre:!0},[s._v(\"0 <= bubbleY <= pullY - height\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[a(\"strong\",[s._v(\"Note:\")]),s._v(\" In this example, the \"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" configuration item does not have a \"),a(\"code\",{pre:!0},[s._v(\"stop\")]),s._v(\" value, but it is still able to bounce back to the correct location after the pulldown. The reason is that when the Scroll component is initialized, the pulldown height will be used as the \"),a(\"code\",{pre:!0},[s._v(\"stop\")]),s._v(\" default value when \"),a(\"code\",{pre:!0},[s._v(\"beforePullDown === false && isPullingDown === true\")]),s._v(\".\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"6. Vertical nested scrolls - Vertical Scrolls\")]),a(\"sup\",[s._v(\"1.12.0\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" component also supports nested scenes (currently only supports two levels of nesting). when there is scroll nest, you need to config the inner \"),a(\"code\",{pre:!0},[s._v(\"scroll\")]),s._v(\" component's \"),a(\"code\",{pre:!0},[s._v(\"nestMode\")]),s._v(\" prop，the options can be 'native' or 'free'. when set to 'native', nested \"),a(\"code\",{pre:!0},[s._v(\"Scroll\")]),s._v(\" has the same scrolling behavior as the browser's native nested scene. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/vertical-scrolls.vue\"}},[s._v(\"here\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-outer-wrap\"')]),s._v(\">\")]),s._v(\"\\n  ...\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll2\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll-list-outer-wrap\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"nest-mode\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"native\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-scroll-list\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-scroll-item border-bottom-1px\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in items2\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\">\")]),s._v(\"{{item}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n  ...\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"7. Horizontal nested scrolls - Horizontal Scrolls\")]),a(\"sup\",[s._v(\"1.12.0\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"You can also implement horizontal nested scrolling. In this example, we also set \"),a(\"code\",{pre:!0},[s._v(\"nestMode\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"free\")]),s._v(\". Different from \"),a(\"code\",{pre:!0},[s._v(\"native\")]),s._v(\" mode, in \"),a(\"code\",{pre:!0},[s._v(\"free\")]),s._v(\" mode, as long as the boundary is triggered during the inner scrolling process, the outer scroll will be started. In the \"),a(\"code\",{pre:!0},[s._v(\"native\")]),s._v(\" mode, it is only when the scrolling starts to determine whether it reaches the boundary, which is consistent with the browser's native nested scrolling. The complete sample code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal-scrolls.vue\"}},[s._v(\"here\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"outer-horizontal-scroll\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-wrapper\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item inner-horizontal-scroll\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"scroll\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items2\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"horizontal\"')]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"nest-mode\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"free\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-wrapper\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in items1\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list-item\"')]),s._v(\">\")]),s._v(\"{{ item }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"data used for list rendering\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"scrolling direction\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'vertical', 'horizontal'\")]),s._v(\" \"),a(\"td\",[s._v(\"'vertical'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"the options of better-scroll, you could find details at \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/en/options.html\"}},[s._v(\"BS Document\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"  observeDOM: true,\"),a(\"br\"),s._v(\"  click: true,\"),a(\"br\"),s._v(\"  probeType: 1,\"),a(\"br\"),s._v(\"  scrollbar: false,\"),a(\"br\"),s._v(\"  pullDownRefresh: false,\"),a(\"br\"),s._v(\"  pullUpLoad: false\"),a(\"br\"),s._v(\"}\"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"Notice\")]),s._v(\": After \"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\", as \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\" \"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\" issue \"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")]),s._v(\", we set \"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),s._v(\" by default\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scrollEvents\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"configure which scroll events need be triggered\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"could include: 'scroll', 'before-scroll-start', 'scroll-end'\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"listenScroll\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to dispatch scroll event. \"),a(\"code\",{pre:!0},[s._v(\"Deprecated\")]),s._v(\", please use the property \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" instead.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"listenBeforeScroll\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to dispatch  before-scroll-start event. \"),a(\"code\",{pre:!0},[s._v(\"Deprecated\")]),s._v(\", please use the property \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" instead.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"refreshDelay\")]),s._v(\" \"),a(\"td\",[s._v(\"the delay of scroll refresh after \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" updating\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"20\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"nestMode\"),a(\"sup\",[s._v(\"1.12.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"Nested scroll mode, the default is \"),a(\"code\",{pre:!0},[s._v(\"none\")]),s._v(\" mode that do no thing when there is scroll nest. In \"),a(\"code\",{pre:!0},[s._v(\"native\")]),s._v(\" mode, only to determine whether to reach the boundary and start the outer scroll when starting scrolling, consistent with the browser's native nested scrolling. In the \"),a(\"code\",{pre:!0},[s._v(\"free\")]),s._v(\" mode, as long as the boundary is triggered during the inner scrolling process, the outer scrolling is turned on. In extreme cases, you can specify the \"),a(\"code\",{pre:!0},[s._v(\"none\")]),s._v(\" mode for the inner Scroll to disable nested processing logic.\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'none', 'native', 'free'\")]),s._v(\" \"),a(\"td\",[s._v(\"'none'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"In \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\", there are three frequently-used options, \"),a(\"code\",{pre:!0},[s._v(\"scrollbar\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\", which could set as \"),a(\"code\",{pre:!0},[s._v(\"Boolean\")]),s._v(\"(\"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\" to disable the feature, \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" to enable the feature and use default sub configuration), or \"),a(\"code\",{pre:!0},[s._v(\"Object\")]),s._v(\" to enable the feature and customize the sub configuration.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"scrollbar\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"fade\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to have fade-in-fade-out style\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"threshold\")]),s._v(\" \"),a(\"td\",[s._v(\"the threshold of distance that pulling down for refreshing\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"90\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"stop\")]),s._v(\" \"),a(\"td\",[s._v(\"the position where rebounding stays\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"Scroll component will calculate the height of pulldown element as default \"),a(\"code\",{pre:!0},[s._v(\"stop\")]),s._v(\" value\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"stopTime\")]),s._v(\" \"),a(\"td\",[s._v(\"the time that keeps showing the text of refreshing success\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"600\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text is shown when refreshing successfully\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"'Refresh success'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"threshold\")]),s._v(\" \"),a(\"td\",[s._v(\"the threshold of  distance that pulling up for  loading\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text shown when pulling up loading\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{ more: '', noMore: '' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.12.21\")])]),s._v(\" \"),a(\"td\",[s._v(\"txt visible or not when content is not more enough\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"When pullUpLoad is enabled and the content height is smaller than the container, by default, the copy \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad.txt\")]),s._v(\" needs to be pulled up to be seen. If you want to see the prompt copy without pulling up, you can set \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad.visible\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\"。\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"the list, rendering based on the value of property \"),a(\"code\",{pre:!0},[s._v(\"data\")])]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulldown\")]),s._v(\" \"),a(\"td\",[s._v(\"located above the list and shown when pulling down refreshing\")]),s._v(\" \"),a(\"td\",[s._v(\"pullDownRefresh: whether to turn on pulling-down-refreshing function\"),a(\"br\"),s._v(\"pullDownStyle: the style of showing and fading\"),a(\"br\"),s._v(\"beforePullDown: whether in pulling down operation\"),a(\"br\"),s._v(\"isPullingDown: whether in the process of pulling in data\"),a(\"br\"),s._v(\"bubbleY: the distance of pulling down currently - 50\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullup\")]),s._v(\" \"),a(\"td\",[s._v(\"located below the list and shown when pulling up loading\")]),s._v(\" \"),a(\"td\",[s._v(\"pullUpLoad: whether to turn on pulling-up-loading function\"),a(\"br\"),s._v(\"isPullUpLoad: whether the data is being loaded\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"click\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the list item\")]),s._v(\" \"),a(\"td\",[s._v(\"item - the data of the list item\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll\")]),s._v(\" \"),a(\"td\",[s._v(\"if \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" includes \"),a(\"code\",{pre:!0},[s._v(\"scroll\")]),s._v(\", it will be triggered according to the value of probeType, if listenScroll is true\")]),s._v(\" \"),a(\"td\",[s._v(\"Object {x, y} - real-time scrolling coordinates\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"before-scroll-start\")]),s._v(\" \"),a(\"td\",[s._v(\"if \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" includes \"),a(\"code\",{pre:!0},[s._v(\"before-scroll-start\")]),s._v(\", it will be triggered before scrolling start\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"scroll-end\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"if \"),a(\"code\",{pre:!0},[s._v(\"scroll-events\")]),s._v(\" includes \"),a(\"code\",{pre:!0},[s._v(\"scroll-end\")]),s._v(\", it will be triggered when scroll end.\")]),s._v(\" \"),a(\"td\",[s._v(\"Object {x, y} - real-time scrolling coordinates\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-down\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the distance of pulling down exceeds the threshold, if pullDownRefresh is true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-up\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the distance of pulling up exceeds the threshold, if pullUpLoad is true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"scrollTo(x, y, time, ease)\")]),s._v(\" \"),a(\"td\",[s._v(\"Scroll to specific position.\")]),s._v(\" \"),a(\"td\",[s._v(\"x: number, horizontal position\"),a(\"br\"),s._v(\" y: number, vertical position\"),a(\"br\"),s._v(\" time: number, transition time(ms)\"),a(\"br\"),s._v(\" ease: easingFn, easing function\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"forceUpdate(dirty, nomore\"),a(\"sup\",[s._v(\"1.12.21\")]),s._v(\")\")]),s._v(\" \"),a(\"td\",[s._v(\"Mark pull-up or pull-down end, force recalculation of scrollable distance\")]),s._v(\" \"),a(\"td\",[s._v(\"dirty: boolean, default to false, if true express has data update。\"),a(\"br\"),s._v(\"nomore\"),a(\"sup\",[s._v(\"1.12.21\")]),s._v(\": boolean, default to false, if true represent has no more data. When params nomore is true, when pullup shows the value of \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad.txt.nomore\")]),s._v(\", but when dirty is false, nomore is invalid.\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disable()\")]),s._v(\" \"),a(\"td\",[s._v(\"Disable scroll.\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"enable()\")]),s._v(\" \"),a(\"td\",[s._v(\"Enable scroll. It's enabled by default\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"resetPullUpTxt()\")]),s._v(\" \"),a(\"td\",[s._v(\"Reset pull up txt when pull up state changed from no data to data updated\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"refresh()\")]),s._v(\" \"),a(\"td\",[s._v(\"Refresh, computed height and called BetterScroll instance's refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},nez3:function(s,t,a){var e=a(\"VU/8\")(null,a(\"aK8u\"),null,null,null);s.exports=e.exports}});"
  },
  {
    "path": "docs/js/65.4d06d6170b5b89f3fce9.js",
    "content": "webpackJsonp([65],{Y4Sq:function(s,t,a){var e=a(\"VU/8\")(null,a(\"pXIs\"),null,null,null);s.exports=e.exports},\"jS6/\":function(s,t,a){s.exports=a(\"Y4Sq\")},pXIs:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"ScrollNav\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ScrollNav-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" ScrollNav\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"ScrollNav component. You can use it to sticky your navigation bar and content.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeScrollNav\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeScrollNav-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeScrollNav\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeScrollNavPanel\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeScrollNavPanel-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeScrollNavPanel\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.10.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage - Default\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in data\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food in item.foods\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food.icon\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{food.name}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" goodsData \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/goods-list.json'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" goods = goodsData.goods\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": goods\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(label) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'changed to:'\")]),s._v(\", label)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"goods\")]),s._v(\":\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"goods\"')]),s._v(\": [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"热销榜\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"type\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"-1\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"foods\"')]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"皮蛋瘦肉粥\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"icon\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"image\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"')]),s._v(\"\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    ]\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n]\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"cube-scroll-nav\")]),s._v(\" should contains \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-panel\")]),s._v(\" which is the navigation target panel content.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-panel\")]),s._v(\" required Prop: \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\"(the key of panel).\")]),s._v(\" \"),a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" event will be triggered when navigation active item changed.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Side Style\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":side\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":current\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"current\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@sticky-change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stickyChangeHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"prepend-header\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"prepend\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"11\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"22\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"333\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in data\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":label\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.name\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food in item.foods\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"food.icon\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{food.name}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"li\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"ul\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-panel\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" goodsData \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/goods-list.json'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" goods = goodsData.goods\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"components\")]),s._v(\": {\\n    CubePage\\n  },\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": goods,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"current\")]),s._v(\": goods[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"].name\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(label) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'changed to:'\")]),s._v(\", label)\\n    },\\n    stickyChangeHandler(current) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sticky-change'\")]),s._v(\", current)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"If set \"),a(\"code\",{pre:!0},[s._v(\"side\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" then the navigation bar will be at the side position.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" is the data source, it will be passed to \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll\")]),s._v(\" component, if the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" updated then \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll\")]),s._v(\" will be auto refreshed.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"current\")]),s._v(\" is the default navigation value(label of panel), if set this value then the target panel will be auto scrolled to the top of container.\")]),s._v(\" \"),a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"sticky-change\")]),s._v(\" event will be triggered when the navigation bar's sticky state changed. The parameter is one of \"),a(\"code\",{pre:!0},[s._v(\"''\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"'cube-scroll-nav-bar'\")]),s._v(\".\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"prepend\")]),s._v(\" slot to insert your own content before the main content.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"optional, data source\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"side\")]),s._v(\" \"),a(\"td\",[s._v(\"If set to \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" then the navigation bar will be at the side position\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"current\")]),s._v(\" \"),a(\"td\",[s._v(\"the default navigation value(label of panel)\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"speed of navigating to target panel\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"300\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"the options of better-scroll, you could find details at \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/en/options.html\"}},[s._v(\"BS Document\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"Notice\")]),s._v(\": After \"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\", as \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\" \"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\" issue \"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")]),s._v(\", we set \"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),s._v(\" by default\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"required, the key of panel\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"the title of panel, can be a HTML string value\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"default equal to \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" Prop\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"default panel content\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"prepend\")]),s._v(\" \"),a(\"td\",[s._v(\"prepend content\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"bar\")]),s._v(\" \"),a(\"td\",[s._v(\"navigation bar content, you should use \"),a(\"code\",{pre:!0},[s._v(\"cube-scroll-nav-bar\")]),s._v(\" component to define your own navigation bar content\")]),s._v(\" \"),a(\"td\",[s._v(\"labels: the collection of all panel labels\"),a(\"br\"),s._v(\"txts: the collection of all panel titles\"),a(\"br\"),s._v(\"current: current active navigation value(label of panel)\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when navigation active item changed\")]),s._v(\" \"),a(\"td\",[s._v(\"active - active navigation value(label of panel)\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"sticky-change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the navigation bar's sticky state changed\")]),s._v(\" \"),a(\"td\",[s._v(\"current - if navigation bar is fixed then this value will be 'cube-scroll-nav-bar', otherwise this value will be ''\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"You can call this method when content updated\")])])])])}]}}});"
  },
  {
    "path": "docs/js/66.edd9bd50ae205f0e44a7.js",
    "content": "webpackJsonp([66],{dWEj:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"ScrollNavBar\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ScrollNavBar-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" ScrollNavBar\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Scroll navigation bar component, like DiDi business navigation.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.10.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Default horizontal\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-bar\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":current\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"current\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":labels\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"labels\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"current\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"labels\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'小巴'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'专车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'顺风车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'代驾'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'公交'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'自驾租车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'豪华车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'二手车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'出租车'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(cur) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".current = cur\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can set the active item by \"),a(\"code\",{pre:!0},[s._v(\"current\")]),s._v(\" Prop. \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\" is the collection if all the item's keys. The \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\" events will be triggered when active item changed.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Vertical\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"side-container\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-bar\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"direction\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"vertical\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":current\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"current\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":labels\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"labels\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":txts\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"txts\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"{{props.txt}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-scroll-nav-bar\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"current\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"labels\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'快车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'小巴'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'专车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'顺风车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'代驾'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'公交'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'自驾租车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'豪华车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'二手车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'出租车'\")]),s._v(\"\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txts\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1快车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2小巴'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3专车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4顺风车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5代驾'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6公交'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7自驾租车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8豪华车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'9二手车'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'10出租车'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    changeHandler(cur) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".current = cur\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".side-container\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"300px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"margin-top\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"If the \"),a(\"code\",{pre:!0},[s._v(\"direction\")]),s._v(\" Prop is \"),a(\"code\",{pre:!0},[s._v(\"vertical\")]),s._v(\" then the ScrollNavBar will be vertical style.\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"txts\")]),s._v(\" Prop to defined the text of showcases, it's order is correspondence with \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\" Prop. The default \"),a(\"code\",{pre:!0},[s._v(\"txts\")]),s._v(\" value is \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\".\")]),s._v(\" \"),a(\"p\",[s._v(\"You can also use default scoped slot to defined your own item content.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"direction\")]),s._v(\" \"),a(\"td\",[s._v(\"direction, default horizontal\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal/vertical\")]),s._v(\" \"),a(\"td\",[s._v(\"horizontal\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"labels\")]),s._v(\" \"),a(\"td\",[s._v(\"the collection if all the item's keys\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"txts\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of showcases, it's order is correspondence with \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\", the item can be a HTML string value\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"default equals to \"),a(\"code\",{pre:!0},[s._v(\"labels\")]),s._v(\" Prop\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"current\")]),s._v(\" \"),a(\"td\",[s._v(\"the key of the active item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"the options of better-scroll, you could find details at \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/en/options.html\"}},[s._v(\"BS Document\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"Notice\")]),s._v(\": After \"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\", as \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\" \"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\" issue \"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")]),s._v(\", we set \"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),s._v(\" by default\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"default\")]),s._v(\" \"),a(\"td\",[s._v(\"default content\")]),s._v(\" \"),a(\"td\",[s._v(\"txt: item's text\"),a(\"br\"),s._v(\"index: item's index\"),a(\"br\"),s._v(\"active: the key of active item\"),a(\"br\"),s._v(\"label: item's label\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when active item changed\")]),s._v(\" \"),a(\"td\",[s._v(\"active - the key of active item\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refresh\")]),s._v(\" \"),a(\"td\",[s._v(\"You can call this method when content updated\")])])])])}]}},lcM9:function(s,t,a){var r=a(\"VU/8\")(null,a(\"dWEj\"),null,null,null);s.exports=r.exports},vucU:function(s,t,a){s.exports=a(\"lcM9\")}});"
  },
  {
    "path": "docs/js/67.2851d35bedf7b7cab2a0.js",
    "content": "webpackJsonp([67],{\"9hRo\":function(s,t,a){s.exports=a(\"qvFv\")},qWZX:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"RecycleList\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-RecycleList-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" RecycleList\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"A recyclable scrolling list that always keeps the number of DOMs at a very low range. Excellent performance in the rendering list of massive data.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Precautions\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Precautions-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Precautions\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.12.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"To achieve infinite scrolling, you must ensure that you have a fixed-height parent container element to wrapper component. For details, please refer to the example.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"If there is an image with a fixed width and height in the list content, due to the mechanism of image loading, when DOM of each item is rendered, the image may not be loaded, resulting in incorrect calculation of the position of each item, so the caller need use CSS to specify image to avoid height calculation errors.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"The internal implementation relies on Promise, so you need a polyfill for compatibility.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"1. Basic usage\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"view-wrapper\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":size\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"size\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":on-fetch\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onFetch\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":offset\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"offset\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{ data }\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":id\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.id\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"handleClick(data)\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"avatar\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\\\"\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bubble\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{ data.msg }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"meta\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"posted-date\"')]),s._v(\">\")]),s._v(\"{{ data.time }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"size\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"offset\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    onFetch() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" items = []\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"resolve\")]),s._v(\") =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Simulation request for 50 items, because size is set to 50\")]),s._v(\"\\n        setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"for\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" i = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"; i < \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"50\")]),s._v(\"; i++) {\\n            items.push({\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": i,\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"avatar\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"msg\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'123'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Thu Oct 25 2018 15:02:12 GMT+0800 (中国标准时间)'\")]),s._v(\"\\n            })\\n          }\\n          resolve(items)\\n        }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n      })\\n    },\\n    handleClick(data) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Item:'\")]),s._v(\" + data)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* Limit viewport to wrap component*/\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".view-wrapper\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"position\")]),s._v(\": fixed\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"top\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"54px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"left\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"bottom\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"width\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100%\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The vast majority of list interactions are when the user scrolls to the bottom and requests the next page of data. The default implementation of the component is based on this interaction.\")]),s._v(\" \"),a(\"p\",[s._v(\"The component accepts \"),a(\"code\",{pre:!0},[s._v(\"size\")]),s._v(\" as props and controls how many counts of data are rendered at a time. \"),a(\"code\",{pre:!0},[s._v(\"offset\")]),s._v(\" is the distance to configure the bottom pull data, \"),a(\"code\",{pre:!0},[s._v(\"onFetch\")]),s._v(\" is a function, which is mandatory, and the return value of the function must be a Promise, and the \"),a(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\" ( \"),a(\"strong\",[s._v(\"Array\")]),s._v(\" ) must be the first parameter when calling \"),a(\"code\",{pre:!0},[s._v(\"resolve\")]),s._v(\" function, so the component can get \"),a(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\". Of course, if you want to stop scrolling, pass \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\" or an array whose length is smaller than \"),a(\"code\",{pre:!0},[s._v(\"size\")]),s._v(\" props.\")]),s._v(\" \"),a(\"p\",[s._v(\"The component supports the scope slot. You can use the destructuring assignment of the above example to get the \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" (each data item of item) that the component passes to the caller.\")]),s._v(\" \"),a(\"p\",[s._v(\"The samples demo \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-default.vue\"}},[s._v(\"Here\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[s._v(\"2. Infinite\")])]),s._v(\" \"),a(\"p\",[s._v(\"However, the component also supports the second mode - infinite. With \"),a(\"code\",{pre:!0},[s._v(\"tombstone\")]),s._v(\" as a placeholder, which gives the user a perceptible page element, and makes the interaction more friendly and user-friendly.\\nThe samples demo \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-tombstone.vue\"}},[s._v(\"Here\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"view-wrapper\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"list\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":infinite\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"infinite\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":size\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"size\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":on-fetch\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onFetch\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"\\x3c!-- tombstone slot-scope is mandatory --\\x3e\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tombstone\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"props\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item tombstone\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"avatar\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bubble\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"meta\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"posted-date\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot-scope\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"{ data }\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":id\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data.id\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"handleClick(data)\"')]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"avatar\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\\\"\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"bubble\"')]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"{{ data.msg }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"p\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"meta\"')]),s._v(\">\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"posted-date\"')]),s._v(\">\")]),s._v(\"{{ data.time }}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"time\")]),s._v(\">\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v('\\x3c!-- <div slot=\"spinner\">Loading Data</div> --\\x3e')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v('\\x3c!-- <div slot=\"noMore\">No more data</div> --\\x3e')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-recycle-list\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"infinite\")]),s._v(\" is used to enable infinite scroll mode. When you enable this configuration, you must implement a personalized style through the \"),a(\"code\",{pre:!0},[s._v(\"tombstone\")]),s._v(\" scope slot. The \"),a(\"code\",{pre:!0},[s._v(\"spinner\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"noMore\")]),s._v(\" slots are supported to customize the display of views that load more and no more data. \"),a(\"code\",{pre:!0},[s._v(\"spinner\")]),s._v(\" slot is built-in in component.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"infinite\")]),s._v(\" \"),a(\"td\",[s._v(\"Enable infinite scroll mode\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"size\")]),s._v(\" \"),a(\"td\",[s._v(\"Amount of data loaded at one time\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"20\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"offset\")]),s._v(\" \"),a(\"td\",[s._v(\"The distance to fetch more data at the bottom\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"200\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"onFetch\")]),s._v(\" \"),a(\"td\",[s._v(\"Fetch data\")]),s._v(\" \"),a(\"td\",[s._v(\"Function\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"onFetch\")]),s._v(\" function must return a Promise, and the first argument to Promise's resolve function must be an array or \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\", so that the component can internally get the corresponding data to decide whether to load more or stop scrolling.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"tombstone\")]),s._v(\" \"),a(\"td\",[s._v(\"Implement a customized \"),a(\"code\",{pre:!0},[s._v(\"tombstone\")]),s._v(\" view scope slot\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"item\")]),s._v(\" \"),a(\"td\",[s._v(\"Scope slot for each data item\")]),s._v(\" \"),a(\"td\",[s._v(\"data: An item in items\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"spinner\")]),s._v(\" \"),a(\"td\",[s._v(\"Named slot for loading more\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"noMore\")]),s._v(\" \"),a(\"td\",[s._v(\"Named slot for no more data\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"reset\")]),s._v(\" \"),a(\"td\",[s._v(\"To clean up all the contents\")])])])])}]}},qvFv:function(s,t,a){var e=a(\"VU/8\")(null,a(\"qWZX\"),null,null,null);s.exports=e.exports}});"
  },
  {
    "path": "docs/js/68.2ffbc60f611766a3442a.js",
    "content": "webpackJsonp([68],{fXGp:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Rate\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Rate-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Rate\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"p\",[t._v(\"Rate component. You can customize the rating star numbers, and disable the interaction, you can also customize the style of star through the slot.\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" slot\")]),t._v(\" \"),t._m(3),t._v(\" \"),a(\"h3\",{attrs:{id:\"slotincube-rate-item\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-slotincube-rate-item-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" slot in cube-rate-item\")]),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(5)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"New in 1.5.0+\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),a(\"p\",[t._v(\"You can use the v-model directive to create two-way data bindings.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"3\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Multiple configurations\")]),t._v(\" \"),a(\"p\",[t._v(\"For example, you can use \"),a(\"code\",{pre:!0},[t._v(\"disabled\")]),t._v(\" to make the rating component read-only, use\"),a(\"code\",{pre:!0},[t._v(\"max\")]),t._v(\" to customize the number of stars and use \"),a(\"code\",{pre:!0},[t._v(\"justify\")]),t._v(\" to justify container's width.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":max\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"max\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":justify\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"justify\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"max\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"5\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"3\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"justify\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Custom star style\")]),t._v(\" \"),a(\"p\",[t._v(\"You need to use the \"),a(\"code\",{pre:!0},[t._v(\"cube-rate-item\")]),t._v(\" component, and define two different styles for custom stars, normal and active (under the\"),a(\"code\",{pre:!0},[t._v(\".cube-rate-item.active\")]),t._v(\" class).\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate-item\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-for\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"n in max\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":key\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"n\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":value\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":index\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"n\"')]),t._v(\">\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"\\x3c!-- 定制星星示例 --\\x3e\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"div\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"rate-item\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"div\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate-item\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-rate\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"3\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-css\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".rate-item\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"width\")]),t._v(\": 100%\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"height\")]),t._v(\": 100%\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"background-size\")]),t._v(\": 100%\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"background-color\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"grey\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-rate-item\")]),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".active\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".rate-item\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"background-color\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"orange\")]),t._v(\"\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"bound rate value\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"0\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"max\")]),t._v(\" \"),a(\"td\",[t._v(\"max star number\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"5\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"disabled status\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"justify\")]),t._v(\" \"),a(\"td\",[t._v(\"auto justify container's width\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"allowHalf\"),a(\"sup\",[t._v(\"1.12.52\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether to allow half star\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Scope parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"default\")]),t._v(\" \"),a(\"td\",[t._v(\"a cube-rate-item component\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Scope parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"default\")]),t._v(\" \"),a(\"td\",[t._v(\"custom star element\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"The event triggers when the finger is removed from the rate item (this event will be not triggered when the disabled attribute is set)\")]),t._v(\" \"),a(\"td\",[t._v(\"The value of the rate item that is currently removed from\")])])])])}]}},fXra:function(t,s,a){var e=a(\"VU/8\")(null,a(\"fXGp\"),null,null,null);t.exports=e.exports},qr3w:function(t,s,a){t.exports=a(\"fXra\")}});"
  },
  {
    "path": "docs/js/69.ca4c0927412c530708c1.js",
    "content": "webpackJsonp([69],{\"D+uV\":function(s,t,a){s.exports=a(\"vjNw\")},dJ6y:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Radio\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Radio-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Radio\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Radio component. You could set the options and the position of the radio's icon.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"cube-radioPropsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-cube-radioPropsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" cube-radio Props configuration\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(9)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.4.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option2'\")]),s._v(\"]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The value of \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" is an array. The default \"),a(\"code\",{pre:!0},[s._v(\"selected\")]),s._v(\" value is  \"),a(\"code\",{pre:!0},[s._v(\"''\")]),s._v(\", which means no option will be selected by defaut. If you clicked one radio option, the \"),a(\"code\",{pre:!0},[s._v(\"selected\")]),s._v(\" will be set as the value of this option.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Configure the label, value, disabled state of options and icon style.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options2\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"position\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"right\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":hollow-style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected2\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options2\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Option3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" value can be an array which has some object items. You can set \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" in each item, and use \"),a(\"code\",{pre:!0},[s._v(\"disabled\")]),s._v(\" to configure whether the radio item's state is disabled.\")]),s._v(\" \"),a(\"p\",[s._v(\"If the \"),a(\"code\",{pre:!0},[s._v(\"position\")]),s._v(\" is set as \"),a(\"code\",{pre:!0},[s._v(\"'right'\")]),s._v(\", the radio's icon will be posited at the right of the label. Set \"),a(\"code\",{pre:!0},[s._v(\"hollow-style=true\")]),s._v(\" to use hollow-out style.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Horizontal order\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected3\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options3\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":horizontal\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected3\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options3\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"horizontal\")]),s._v(\" to configure the style to horizontal layout.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Use slot\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(option, index) in options4\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"option\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected4\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"option.src\"')]),s._v(\" />\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected4\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options4\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Set column number\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"colNum\")]),s._v(\" to control the display columns\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-radio-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selected5\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options5\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":col-num\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"colNum\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected5\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options5\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8'\")]),s._v(\"\\n        }\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"colNum\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"the array of radio options\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\")]),s._v(\" \"),a(\"td\",[s._v(\"icon position\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"colNum\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"td\",[s._v(\"column number\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"1\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"horizontal\")]),s._v(\" \"),a(\"td\",[s._v(\"whether use horizontal layout\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollowStyle\")]),s._v(\" \"),a(\"td\",[s._v(\"whether is hollow-out style\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of label\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of radio item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"whether the radio item is disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Note: Each item of \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" can be an string, Which means both the \"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" will be set as this string.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"option\")]),s._v(\" \"),a(\"td\",[s._v(\"option value\")]),s._v(\" \"),a(\"td\",[s._v(\"Object/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\")]),s._v(\" \"),a(\"td\",[s._v(\"icon position\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"left/right\")]),s._v(\" \"),a(\"td\",[s._v(\"left\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollow-style\")]),s._v(\" \"),a(\"td\",[s._v(\"whether is hollow-out style\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"option\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of label\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of radio item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"whether the radio item is disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the binding value changes\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of the chosen radio\")])])])])}]}},vjNw:function(s,t,a){var v=a(\"VU/8\")(null,a(\"dJ6y\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/7.73be176458726c27bd5c.js",
    "content": "webpackJsonp([7],{C6Sj:function(s,t,a){s.exports=a(\"Ftqs\")},Ftqs:function(s,t,a){var v=a(\"VU/8\")(null,a(\"jHeO\"),null,null,null);s.exports=v.exports},jHeO:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"TimePicker组件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TimePicker组件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TimePicker组件\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 示例\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props 配置\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 事件\")]),s._v(\" \"),s._m(10),s._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 实例方法\")]),s._v(\" \"),s._m(11)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"TimePicker\")]),s._v(\"组件提供了常用的日期选择功能。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"注：\")]),s._v(\" 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 \"),a(\"a\",{attrs:{href:\"#/zh-CN/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\"。\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"基本用法\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"TimePicker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTimePicker () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"showNow\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"15\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedTime, selectedText, formatedTime\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"showNow\")]),s._v(\" 用于控制是否显示“现在”时间，\"),a(\"code\",{pre:!0},[s._v(\"minuteStep\")]),s._v(\" 用于控制分钟的步长，\"),a(\"code\",{pre:!0},[s._v(\"delay\")]),s._v(\" 则表示的是当前时间向后推迟的时间，决定了最小可选时间。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"日期选项配置\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"TimePicker - day options\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTimePicker () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"showNow\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"day\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"filter\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'今天'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'明天'\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'M月d日'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedTime, selectedText, formatedTime\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"day\")]),s._v(\"字段的\"),a(\"code\",{pre:!0},[s._v(\"len\")]),s._v(\"属性可以设置第一列需要展示的日期长度；\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"filer\")]),s._v(\"属性设置第一列日期展示的文案；\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\"属性用以格式化日期显示的方式，当\"),a(\"code\",{pre:!0},[s._v(\"len\")]),s._v(\"的数量大于\"),a(\"code\",{pre:!0},[s._v(\"filter\")]),s._v(\"的数组长度时，会以\"),a(\"code\",{pre:!0},[s._v(\"M月d日\")]),s._v(\"的格式显示文案。\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Format 配置\"),a(\"sup\",[s._v(\"1.10.0+\")])]),s._v(\" \"),a(\"p\",[s._v(\"通过 \"),a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\" 属性可配置 \"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\" 事件的 \"),a(\"code\",{pre:!0},[s._v(\"formatedTime\")]),s._v(\" 参数的格式。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showFormatPicker\"')]),s._v(\">\")]),s._v(\"Config format\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showFormatPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hh:mm'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"分钟数的步长\")]),s._v(\" \"),a(\"p\",[s._v(\"通过 \"),a(\"code\",{pre:!0},[s._v(\"minuteStep\")]),s._v(\" 属性可配置分钟数的步长，默认为 10 分钟，这样的话，可选的分钟就是 10、20、30、40、50。另外在 v1.10.5+，\"),a(\"code\",{pre:!0},[s._v(\"minuteStep\")]),s._v(\" 还支持传入一个对象，你可以通过子属性 \"),a(\"code\",{pre:!0},[s._v(\"rule\")]),s._v(\" 配置取整的规则，是向上取整 \"),a(\"code\",{pre:!0},[s._v(\"ceil\")]),s._v(\"，向下取整 \"),a(\"code\",{pre:!0},[s._v(\"floor\")]),s._v(\"，又或是四舍五入\"),a(\"code\",{pre:!0},[s._v(\"round\")]),s._v(\"。而子属性 \"),a(\"code\",{pre:!0},[s._v(\"step\")]),s._v(\" 则代表步长。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMinuteStepPicker\"')]),s._v(\">\")]),s._v(\"Config minute step\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showFormatPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minuteStepPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minuteStepPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rule\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'ceil'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"step\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"15\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minuteStepPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"最小可选时间 min \"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"p\",[s._v(\"你可以通过 \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" 属性设置最小可选时间。它可以接受 Date 类型的日期时间，也可以 Number类型的时间戳。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMinPicker\"')]),s._v(\">\")]),s._v(\"Config min\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showMinPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": +\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"() - (\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\") * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".minPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"最大可选时间 max \"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"p\",[s._v(\"你可以通过 \"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" 属性设置最大可选时间。它可以接受 Date 类型的日期时间，也可以 Number类型的时间戳。\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMaxPicker\"')]),s._v(\">\")]),s._v(\"Config max\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showMaxPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".maxPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".maxPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": +\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"() + ((\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"24\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\") * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\") * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandler\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".maxPicker.show()\\n    },\\n    selectHandler(selectedTime, selectedText, formatedTime) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"手动设置时间\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"TimePicker - setTime(next hour)\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" time = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"().valueOf() + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"60\")]),s._v(\" * \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n    showTimePicker () {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" timePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createTimePicker({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"showNow\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minuteStep\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"delay\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"15\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"day\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"5\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"filter\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'今天'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'明天'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'后天'\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'M月D日'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"selectedTime, selectedText, formatedTime\")]),s._v(\") =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`selected text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText}\")]),s._v(\"<br>format time: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${formatedTime}\")]),s._v(\"`\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n          }).show()\\n        }\\n      })\\n\\n      timePicker.setTime(time)\\n      timePicker.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"timePicker\")]),s._v(\"实例向外暴露\"),a(\"code\",{pre:!0},[s._v(\"setTime\")]),s._v(\"方法用以手动设置时间，时间格式为时间戳。当时间戳小于当前时间戳时，\"),a(\"code\",{pre:!0},[s._v(\"timePicker\")]),s._v(\"实例会默认显示当前时间。\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"day\")]),s._v(\" \"),a(\"td\",[s._v(\"日期配置\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{ len: 3, filter: ['今日'], format: 'M月D日' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"showNow\")]),s._v(\" \"),a(\"td\",[s._v(\"是否显示现在；以及现在选项的文案\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean, Object\"),a(\"sup\",[s._v(\"1.9.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"minuteStep\")]),s._v(\" \"),a(\"td\",[s._v(\"分钟数的步长。 当为 Object 时还可以配置取整规则，详见后续 \"),a(\"code\",{pre:!0},[s._v(\"minuteStep\")]),s._v(\" 子配置项说明\"),a(\"sup\",[s._v(\"1.10.5\")])]),s._v(\" \"),a(\"td\",[s._v(\"Number, Object\"),a(\"sup\",[s._v(\"1.10.5\")])]),s._v(\" \"),a(\"td\",[s._v(\"10\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"delay\")]),s._v(\" \"),a(\"td\",[s._v(\"将当前时间向后推算的分钟数，决定了最小可选时间（注：仅当未设置 \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" 时有效）\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"15\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"最小可选时间\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Number\")]),s._v(\" \"),a(\"td\",[s._v(\"null\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\"),a(\"sup\",[s._v(\"1.12.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"最大可选时间\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Number\")]),s._v(\" \"),a(\"td\",[s._v(\"null\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'选择时间'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"副标题\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"取消按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"确定按钮文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"显示状态，是否可见。\"),a(\"code\",{pre:!0},[s._v(\"v-model\")]),s._v(\"绑定值\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"点击蒙层是否隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"format\"),a(\"sup\",[s._v(\"1.10.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"select 事件参数 formatedTime 的格式\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'YYYY/M/D hh:mm'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"样式 z-index 的值\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"day\")]),s._v(\" 子配置项\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"len\")]),s._v(\" \"),a(\"td\",[s._v(\"日期列，从当前时间算起，往后推len天（注：仅当未设置 \"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" 时有效）\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"3\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"filter\")]),s._v(\" \"),a(\"td\",[s._v(\"日期列，将时间映射为filter中的文案内容\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"['今日']\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"format\")]),s._v(\" \"),a(\"td\",[s._v(\"时间格式化\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'M月D日'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"showNow\")]),s._v(\" 子配置项\"),a(\"sup\",[s._v(\"1.9.0\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"现在选项的文案\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'现在'\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"minuteStep\")]),s._v(\" 子配置项\"),a(\"sup\",[s._v(\"1.10.5\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"参数\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"类型\")]),s._v(\" \"),a(\"th\",[s._v(\"可选值\")]),s._v(\" \"),a(\"th\",[s._v(\"默认值\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"rule\")]),s._v(\" \"),a(\"td\",[s._v(\"取整的规则（仅用于设置最小可选时间的取整规则，对于最大时间，固定为 floor）\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"floor/ceil/round\")]),s._v(\" \"),a(\"td\",[s._v(\"'floor'\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"step\")]),s._v(\" \"),a(\"td\",[s._v(\"分钟数的步长\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"10\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"事件名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数1\")]),s._v(\" \"),a(\"th\",[s._v(\"参数2\")]),s._v(\" \"),a(\"th\",[s._v(\"参数3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"点击确认按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedTime: 当前选中的timestamp\")]),s._v(\" \"),a(\"td\",[s._v(\"selectText: 当前选中的时间文案\")]),s._v(\" \"),a(\"td\",[s._v(\"formatedTime: 格式化日期\"),a(\"sup\",[s._v(\"1.10.0\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"滚轴滚动后触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"index: 当前滚动列次序，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: 当前列选中项的索引，Number类型\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"点击取消按钮触发此事件\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"方法名\")]),s._v(\" \"),a(\"th\",[s._v(\"说明\")]),s._v(\" \"),a(\"th\",[s._v(\"参数\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"setTime\")]),s._v(\" \"),a(\"td\",[s._v(\"手动设置time-picker组件显示的时间，数据格式为时间戳\")]),s._v(\" \"),a(\"td\",[s._v(\"时间戳\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"显示\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"隐藏\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}}});"
  },
  {
    "path": "docs/js/70.a557bc5bc06bebb31bd5.js",
    "content": "webpackJsonp([70],{LsOJ:function(s,t,a){var e=a(\"VU/8\")(null,a(\"mhjO\"),null,null,null);s.exports=e.exports},gyX9:function(s,t,a){s.exports=a(\"LsOJ\")},mhjO:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Quickstart\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Quickstart-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Quick start\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"CLI\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CLI-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CLI\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"vue-cli>=3\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-vue-cli>=3-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" vue-cli >= 3\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h4\",{attrs:{id:\"vue-cli<3\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-vue-cli<3-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" vue-cli < 3\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Install\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Install-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Install\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h4\",{attrs:{id:\"NPM\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-NPM-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" NPM\")]),s._v(\" \"),s._m(8),s._v(\" \"),a(\"p\",[s._v(\"Since cube-ui support two compile ways such as [post-compile] (#/en-US/docs/post-compile) and normal compile with webpack 2+(by default using post-compile), you need to modify your application's dependencies and configuration before using it.\")]),s._v(\" \"),s._m(9),s._v(\" \"),a(\"h4\",{attrs:{id:\"CDN\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CDN-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CDN\")]),s._v(\" \"),s._m(10),s._v(\" \"),a(\"h3\",{attrs:{id:\"Usage\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Usage-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Usage\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"Fullyimport\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Fullyimport-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Fully import\")]),s._v(\" \"),a(\"p\",[s._v(\"Commonly in the entry file:\")]),s._v(\" \"),s._m(11),s._v(\" \"),a(\"h4\",{attrs:{id:\"Importondemand\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Importondemand-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Import on demand\")]),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),a(\"p\",[s._v(\"Then register globally:\")]),s._v(\" \"),s._m(14),s._v(\" \"),a(\"p\",[s._v(\"All the components and modules that can be imported on demand are listed below:\")]),s._v(\" \"),s._m(15),s._v(\" \"),s._m(16),s._v(\" \"),s._m(17),s._v(\" \"),a(\"h4\",{attrs:{id:\"Examples\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Examples-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Examples\")]),s._v(\" \"),s._m(18),s._v(\" \"),a(\"h3\",{attrs:{id:\"TypeScriptDevelopmentTooling\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TypeScriptDevelopmentTooling-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TypeScript Development Tooling\")]),s._v(\" \"),a(\"p\",[s._v(\"We will start to provide better support for TypeScript in v1.12.39.\")]),s._v(\" \"),s._m(19),s._v(\" \"),a(\"h4\",{attrs:{id:\"TypeScript\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-TypeScript-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" TypeScript\")]),s._v(\" \"),s._m(20),s._v(\" \"),a(\"h4\",{attrs:{id:\"VisualStudioCode\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-VisualStudioCode-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Visual Studio Code\")]),s._v(\" \"),s._m(21),s._v(\" \"),a(\"h4\",{attrs:{id:\"Vetur\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Vetur-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Vetur\")]),s._v(\" \"),s._m(22)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-application-guide\"}},[s._v(\"Application Guide\")])]),s._v(\" \"),a(\"li\",[s._v(\"Have problems? See \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/question-answer/issues\"}},[s._v(\"QA\")])]),s._v(\" \"),a(\"li\",[s._v(\"In nuxt application, see \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-nuxt-demo\"}},[s._v(\"demo repo\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"If you are using vue-cli@3, you can use \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/vue-cli-plugin-cube-ui\"}},[s._v(\"vue-cli-plugin-cube-ui\")]),s._v(\" plugin. After you inited your project, just run \"),a(\"code\",{pre:!0},[s._v(\"vue add cube-ui\")]),s._v(\". About options, see \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template/wiki\"}},[s._v(\"cube-template WIKI\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Then you can see the \"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Usage-anchor\"}},[s._v(\"Usage\")]),s._v(\" part directly.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"If you are going to create a new project with cube-ui, use the \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template\"}},[s._v(\"cli tools\")]),s._v(\" base on \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs/vue-cli\"}},[s._v(\"vue-cli\")]),s._v(\" to init the config and base code, then you can ignore the \"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Install-anchor\"}},[s._v(\"Install\")]),s._v(\" steps and see the \"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Usage-anchor\"}},[s._v(\"Usage\")]),s._v(\" part directly.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-shell\"}},[a(\"span\",{attrs:{class:\"hljs-meta\"}},[s._v(\"$\")]),a(\"span\",{attrs:{class:\"bash\"}},[s._v(\" vue init cube-ui/cube-template projectname\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"About cube-template special options: \"),a(\"a\",{attrs:{href:\"https://github.com/cube-ui/cube-template/wiki\"}},[s._v(\"cube-template WIKI\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"If you are going to use cube-ui in an existing project, see the \"),a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Install-anchor\"}},[s._v(\"Install\")]),s._v(\" part first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"This section only used in the case of vue-cli < 3\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-shell\"}},[a(\"span\",{attrs:{class:\"hljs-meta\"}},[s._v(\"$\")]),a(\"span\",{attrs:{class:\"bash\"}},[s._v(\" npm install cube-ui --save\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"post-compile\")]),s._v(\" \"),a(\"ol\",[a(\"li\",[s._v(\"Modify package.json and install the dependencies\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack-transform-modules-plugin depends on transformModules\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transformModules\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"cube-ui\"')]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transform\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-ui/src/modules/${member}\"')]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"kebabCase\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"devDependencies\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// add stylus dependencies\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"stylus\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^0.54.5\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"stylus-loader\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^2.1.1\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"webpack-post-compile-plugin\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^1.0.0\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"webpack-transform-modules-plugin\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^0.4.3\"')]),s._v(\"\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"2\"}},[a(\"li\",[s._v(\"Modify webpack.base.conf.js\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" PostCompilePlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-post-compile-plugin'\")]),s._v(\")\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" TransformModulesPlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-transform-modules-plugin'\")]),s._v(\")\\n\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"plugins\")]),s._v(\": [\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" PostCompilePlugin(),\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" TransformModulesPlugin()\\n  ]\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"3\"}},[a(\"li\",[s._v(\"Modify \"),a(\"code\",{pre:!0},[s._v(\"exports.cssLoaders\")]),s._v(\" function in build/utils.js\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"exports.cssLoaders = \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" (\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"options\")]),s._v(\") \")]),s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" stylusOptions = {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'resolve url'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n  }\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// https://vue-loader.vuejs.org/en/configurations/extract-css.html\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"css\")]),s._v(\": generateLoaders(),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"postcss\")]),s._v(\": generateLoaders(),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"less\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'less'\")]),s._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sass\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\", { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"indentedSyntax\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\" }),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scss\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\"),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stylus\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\", stylusOptions),\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"styl\")]),s._v(\": generateLoaders(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\", stylusOptions)\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"4\"}},[a(\"li\",[s._v(\"Modify vue-loader.conf.js\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loaders\")]),s._v(\": utils.cssLoaders({\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": sourceMapEnabled,\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"extract\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n  }),\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"See \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs-templates/webpack/pull/970/files\"}},[s._v(\"https://github.com/vuejs-templates/webpack/pull/970/files\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Normal compile\")]),s._v(\" \"),a(\"ol\",[a(\"li\",[s._v(\"Modify package.json and install the dependencies\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack-transform-modules-plugin depends on transformModules\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transformModules\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"cube-ui\"')]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"transform\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-ui/lib/${member}\"')]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"kebabCase\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"style\"')]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"ignore\"')]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"create-api\"')]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"better-scroll\"')]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"locale\"')]),s._v(\"]\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"devDependencies\"')]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v('\"webpack-transform-modules-plugin\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"^0.4.3\"')]),s._v(\"\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ol\",{attrs:{start:\"2\"}},[a(\"li\",[s._v(\"Modify webpack config\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// webpack.config.js\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" TransformModulesPlugin = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"require\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'webpack-transform-modules-plugin'\")]),s._v(\")\\n\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"module\")]),s._v(\".exports = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"resolve\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"alias\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui/lib'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    }\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  }\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"plugins\")]),s._v(\": [\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" TransformModulesPlugin()\\n  ]\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"https://unpkg.com/cube-ui/lib/cube.min.js\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"link\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stylesheet\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"href\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"https://unpkg.com/cube-ui/lib/cube.min.css\"')]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Cube \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\\nVue.use(Cube)\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* eslint-disable no-unused-vars */\")]),s._v(\"\\n  Style,\\n  Button\\n} \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" In this case, you also need to import \"),a(\"a\",{attrs:{href:\"#/en-US/docs/style\"}},[s._v(\"style module\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// register globally\")]),s._v(\"\\nVue.use(Button)\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// basic style\")]),s._v(\"\\n  Style,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// basic\")]),s._v(\"\\n  Button,\\n  Loading,\\n  Tip,\\n  Toolbar,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// form\")]),s._v(\"\\n  Checkbox,\\n  CheckboxGroup,\\n  Radio,\\n  Checker,\\n  Input,\\n  Textarea,\\n  Select,\\n  Switch,\\n  Rate,\\n  Validator,\\n  Upload,\\n  Form,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// popup\")]),s._v(\"\\n  Popup,\\n  Toast,\\n  Picker,\\n  CascadePicker,\\n  DatePicker,\\n  TimePicker,\\n  SegmentPicker,\\n  Dialog,\\n  ActionSheet,\\n  Drawer,\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// scroll\")]),s._v(\"\\n  Scroll,\\n  Slide,\\n  IndexList,\\n  Swipe\\n} \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"You can also import \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" and \"),a(\"a\",{attrs:{href:\"#/en-US/docs/better-scroll\"}},[s._v(\"better-scroll\")]),s._v(\" module:\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { createAPI, BetterScroll, Locale } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDialog\"')]),s._v(\">\")]),s._v(\"show dialog\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      showDialog() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'alert'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Alert'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'dialog content'\")]),s._v(\"\\n        }).show()\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"If you use \"),a(\"a\",{attrs:{href:\"https://code.visualstudio.com/\"}},[s._v(\"Visual Studio Code\")]),s._v(\" + \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs/vetur\"}},[s._v(\"Vetur\")]),s._v(\" for development\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"TypeScript version >= \"),a(\"a\",{attrs:{href:\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html\"}},[s._v(\"4.1\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Visual Studio Code version >= \"),a(\"a\",{attrs:{href:\"https://github.com/vuejs/vetur/releases/tag/v0.30.3\"}},[s._v(\"1.52.0\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Vetur version >= \"),a(\"a\",{attrs:{href:\"https://github.com/microsoft/vscode/releases/tag/1.52.0\"}},[s._v(\"0.30.3\")])])}]}}});"
  },
  {
    "path": "docs/js/71.448b4b2ef777ac211afd.js",
    "content": "webpackJsonp([71],{\"1cY+\":function(e,s,t){e.exports=t(\"OC99\")},\"1tVx\":function(e,s){e.exports={render:function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"section\",[t(\"h2\",{attrs:{id:\"Post-compile\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Post-compile-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" Post-compile\")]),e._v(\" \"),t(\"p\",[e._v(\"Post-compile means the NPM packages don't need to be compiled before published, and they will be compiled along with the application's compiling.\")]),e._v(\" \"),e._m(0),e._v(\" \"),t(\"h3\",{attrs:{id:\"Background\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Background-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" Background\")]),e._v(\" \"),t(\"p\",[e._v(\"More and more applications are developed with webpack + babel, and commonly use NPM to manage packages. With the growing of the number of package dependencies which are also developed with ES2015+ and need to be compiled before published, the final compiled code usually contains a lot of compiling code. Therefore, to eliminate the redundancy, we recommend post-compile.\")]),e._v(\" \"),t(\"h3\",{attrs:{id:\"Prosandcons\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Prosandcons-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" Pros and cons\")]),e._v(\" \"),t(\"p\",[e._v(\"Pros:\")]),e._v(\" \"),e._m(1),e._v(\" \"),t(\"p\",[e._v(\"Cons:\")]),e._v(\" \"),e._m(2),e._v(\" \"),t(\"h3\",{attrs:{id:\"Rules\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Rules-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" Rules\")]),e._v(\" \"),t(\"p\",[e._v(\"Considering some applications can not use post-compile, cube-ui used the rule:\")]),e._v(\" \"),e._m(3),e._v(\" \"),e._m(4),e._v(\" \"),t(\"p\",[e._v(\"Post-compile is used by default if you use webpack 2+. Of course, you can use the webpack alias configuration to change the default behavior.\")]),e._v(\" \"),t(\"h3\",{attrs:{id:\"webpackdemo\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-webpackdemo-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" webpack demo\")]),e._v(\" \"),e._m(5),e._v(\" \"),t(\"p\",[e._v(\"An example of your application webpack configuration:\")]),e._v(\" \"),e._m(6),e._v(\" \"),t(\"p\",[e._v(\"And if you can control all the packages which you want to post compile, you can just add postCompile: true to the packages package.json:\")]),e._v(\" \"),e._m(7),e._v(\" \"),t(\"p\",[e._v(\"Or you can add compileDependencies to your application package.json:\")]),e._v(\" \"),e._m(8),e._v(\" \"),e._m(9),e._v(\" \"),e._m(10)])},staticRenderFns:[function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"blockquote\",[t(\"p\",[e._v(\"Notes: For more detailed content about post-compile, see \"),t(\"a\",{attrs:{href:\"https://github.com/DDFE/DDFE-blog/issues/23\"}},[e._v(\"webpack 应用编译优化之路\")]),e._v(\".\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"ul\",[t(\"li\",[e._v(\"Common dependencies can be shared and only need to be compiled once.\")]),e._v(\" \"),t(\"li\",[e._v(\"Only one copy of babel-plugin-transform-runtime or babel-polyfill code.\")]),e._v(\" \"),t(\"li\",[e._v(\"The NPM packages don't need to be compiled before published.\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"ul\",[t(\"li\",[e._v(\"The application's babel configuration needs to be compatible with  the NPM packages' babel configuration.\")]),e._v(\" \"),t(\"li\",[e._v(\"The NPM packages can't use alias and DefinePlugin (you can use them and compiled before published but don't need to use babel).\")]),e._v(\" \"),t(\"li\",[e._v(\"The application's compiling time will be longer.\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"blockquote\",[t(\"p\",[e._v(\"The main field in package.json is the compiled entry point and the module field is the source entry point.\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"p\",[t(\"em\",[e._v(\"About \"),t(\"a\",{attrs:{href:\"https://github.com/rollup/rollup/wiki/pkg.module\"}},[e._v(\"pkg.module\")])])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"p\",[e._v(\"The \"),t(\"a\",{attrs:{href:\"https://www.npmjs.com/package/webpack-post-compile-plugin\"}},[e._v(\"webpack-post-compile-plugin\")]),e._v(\" is used to resolve the nested post-compile NPM packages.\")])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// webpack.config.js\")]),e._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"var\")]),e._v(\" PostCompilePlugin = \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[e._v(\"require\")]),e._v(\"(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'webpack-post-compile-plugin'\")]),e._v(\")\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[e._v(\"module\")]),e._v(\".exports = {\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"module\")]),e._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"rules\")]),e._v(\": [\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n      {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"test\")]),e._v(\": \"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[e._v(\"/\\\\.js$/\")]),e._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"loader\")]),e._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'babel-loader'\")]),e._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"include\")]),e._v(\": [\\n          resolve(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'src'\")]),e._v(\")\\n        ]\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n    ]\\n  },\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"plugins\")]),e._v(\": [\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"new\")]),e._v(\" PostCompilePlugin()\\n  ]\\n}\\n\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[e._v(\"{\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"name\"')]),e._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"your-one-pkg\"')]),e._v(\",\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"postCompile\"')]),e._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[e._v(\"true\")]),e._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n}\\n\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// package.json\")]),e._v(\"\\n{\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"compileDependencies\"')]),e._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"A\"')]),e._v(\", \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"B\"')]),e._v(\"]\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n}\\n\")])])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"p\",[e._v(\"If \"),t(\"code\",{pre:!0},[e._v(\"A\")]),e._v(\" package have a dependency on \"),t(\"code\",{pre:!0},[e._v(\"C\")]),e._v(\" which is needed to be post compiled, just add \"),t(\"code\",{pre:!0},[e._v(\"compileDependencies\")]),e._v(\" to \"),t(\"code\",{pre:!0},[e._v(\"A\")]),e._v(\"'s  package.json:\")])},function(){var e=this,s=e.$createElement,t=e._self._c||s;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-json\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// A package.json\")]),e._v(\"\\n{\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v('\"compileDependencies\"')]),e._v(\": [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"C\"')]),e._v(\"]\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// ...\")]),e._v(\"\\n}\\n\")])])}]}},OC99:function(e,s,t){var a=t(\"VU/8\")(null,t(\"1tVx\"),null,null,null);e.exports=a.exports}});"
  },
  {
    "path": "docs/js/72.21370efcd3163368da02.js",
    "content": "webpackJsonp([72],{HlXn:function(s,t,a){s.exports=a(\"mCEb\")},MgXj:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Popup\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Popup-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Popup\")]),s._v(\" \"),a(\"p\",[s._v(\"The underlying popup component, mainly used to implement upper component encapsulation based on itself. It only provides basic functions: specifying the type, whether there's a background layer, showing content (HTML) and whether the component is in center position.\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(5)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Most of the built-in popup type components are implemented based on this component, including \"),a(\"a\",{attrs:{href:\"#/en-US/docs/toast\"}},[s._v(\"Toast\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/picker\"}},[s._v(\"Picker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/cascade-picker\"}},[s._v(\"CascadePicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/date-picker\"}},[s._v(\"DatePicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/time-picker\"}},[s._v(\"TimePicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/segment-picker\"}},[s._v(\"SegmentPicker\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/dialog\"}},[s._v(\"Dialog\")]),s._v(\"、\"),a(\"a\",{attrs:{href:\"#/en-US/docs/action-sheet\"}},[s._v(\"ActionSheet\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" All the components above used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup\"')]),s._v(\">\")]),s._v(\"\\n  My Popup Content 1\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Specifying \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" will help control class according to the type. In the example above, \"),a(\"code\",{pre:!0},[s._v(\"cube-my-popup\")]),s._v(\" will be added to the classList of the root element.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPopup(refId) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" component = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs[refId]\\n      component.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        component.hide()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The component is hidden by default and won't show up unless invoking the \"),a(\"code\",{pre:!0},[s._v(\"show()\")]),s._v(\" method of the instance of the component. And of course, invoking the \"),a(\"code\",{pre:!0},[s._v(\"hide()\")]),s._v(\" method of the instance of the component will hide itself. That's what \"),a(\"code\",{pre:!0},[s._v(\"showPopup()\")]),s._v(\" does in the example above (first show and hide in one second).\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Without background layer\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":mask\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup2\"')]),s._v(\">\")]),s._v(\"\\n  My Popup Content 2\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup2')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup - no mask\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Setting \"),a(\"code\",{pre:!0},[s._v(\"mask\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\" and the background layer is hidden.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Show the HTML content\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":mask\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"<i>My Popup Content 3</i>\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup3\"')]),s._v(\" />\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup3')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup - with content\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You only need to pass the HTML fragment on to \"),a(\"code\",{pre:!0},[s._v(\"content\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Control the content position & mask closable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":position\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"position\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":mask-closable\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup4\"')]),s._v(\">\")]),s._v(\"My Popup Content 4\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showPopup\"')]),s._v(\">\")]),s._v(\"top/right/bottom/left/center\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" positions = [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'top'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'right'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'bottom'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'left'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'center'\")]),s._v(\"]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" cur = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"position\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPopup() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".position = positions[cur++]\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (cur === positions.length) {\\n        cur = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" component = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.myPopup4\\n      component.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        component.hide()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"position\")]),s._v(\" to control the content's position and use \"),a(\"code\",{pre:!0},[s._v(\"mask-closable\")]),s._v(\" to control mask closable.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Setting to bottom\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"my-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":center\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"myPopup4\"')]),s._v(\">\")]),s._v(\"My Popup Content 4\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"showPopup('myPopup4')\\\"\")]),s._v(\">\")]),s._v(\"\\n  Show Popup - bottom\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Considering that in mobile secnes, popup is in center or bottom most of the time (covered in horizontal direction when setted to bottom). So if setting \"),a(\"code\",{pre:!0},[s._v(\"center\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\", you'll set the component to bottom.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Upper layer encapsulation\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"extend-popup\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"popup\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cube-extend-popup-content\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"hide\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"slot\")]),s._v(\">\")]),s._v(\"{{content}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"slot\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"text/ecmascript-6\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" COMPONENT_NAME = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-extend-popup'\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": COMPONENT_NAME,\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"String\")]),s._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n      show() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.popup.show()\\n      },\\n      hide() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.popup.hide()\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$emit(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hide'\")]),s._v(\")\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"script\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"style\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"lang\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stylus\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"stylesheet/stylus\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"css\"}},[s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-extend-popup\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-extend-popup-content\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"padding\")]),s._v(\": 20\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-id\"}},[s._v(\"#fff\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"rgba\")]),s._v(\"(0, 0, 0, \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".8\")]),s._v(\")\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"style\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"An upper layer encapsulated CubeExtendPopup component with some styles is implemented. It supports passing the content on, has default slot and can be hidden if clicking the content. You can use it in this way (need to be registers globally or partially):\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-extend-popup\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"click here hide\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"extendPopup\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-extend-popup\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"$refs.extendPopup.show()\"')]),s._v(\">\")]),s._v(\"\\n  Show Extend Popup\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"the type of popup\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"mask\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to show background layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"content\")]),s._v(\" \"),a(\"td\",[s._v(\"content, HTML string, valid when there's no slot\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"center\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to be in center in horizontal and vertical direction\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"position\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"content position, if set position then \"),a(\"code\",{pre:!0},[s._v(\"center\")]),s._v(\" will be ignored\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"top/right/bottom/left/center\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether hide the component when clicked the mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"mask-click\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the background layer is clicked\")]),s._v(\" \"),a(\"td\",[s._v(\"click event target\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")])])])])}]}},mCEb:function(s,t,a){var n=a(\"VU/8\")(null,a(\"MgXj\"),null,null,null);s.exports=n.exports}});"
  },
  {
    "path": "docs/js/73.3cb88cb8424290dc70d9.js",
    "content": "webpackJsonp([73],{BBNq:function(s,t,a){s.exports=a(\"BP23\")},BP23:function(s,t,a){var e=a(\"VU/8\")(null,a(\"x2sk\"),null,null,null);s.exports=e.exports},x2sk:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Picker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Picker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Picker\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h4\",{attrs:{id:\"1)Single-columnPicker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-1)Single-columnPicker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 1) Single-column Picker\")]),s._v(\" \"),a(\"p\",[s._v(\"firstly, there is an example of Single-column Picker:\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h4\",{attrs:{id:\"2)Multi-columnPicker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-2)Multi-columnPicker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 2) Multi-column Picker\")]),s._v(\" \"),a(\"p\",[s._v(\"You can genarate Multi-column Picker by input the data of several columns. For example, here is a three-colunms picker:\")]),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h4\",{attrs:{id:\"3)Aliasforthesubpropertiesofoption\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-3)Aliasforthesubpropertiesofoption-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 3) Alias for the sub properties of option\")]),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),s._m(9),s._v(\" \"),a(\"h4\",{attrs:{id:\"4)Method$updateProps\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-4)Method$updateProps-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 4) Method \"),a(\"code\",{pre:!0},[s._v(\"$updateProps\")])]),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),s._m(12),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(16),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(17)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"Picker\")]),s._v(\" could use to implementing single or multi-column picker.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Cause this component used create-api, so you should have basically knowledge of \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"As for Picker, the most important thing is how to define the options. The property \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" is used to define options. It's a two-dimensional array, the first dimensional means which columns the picker has, while the second dimensional represent the options of each column.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showPicker\"')]),s._v(\">\")]),s._v(\"Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column1 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\" }]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showMutiPicker\"')]),s._v(\">\")]),s._v(\"Multi-column Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column1 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column2 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column3 =  [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\" }]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showMutiPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".mutiPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".mutiPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Multi-column Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1, column2, column3],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".mutiPicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Sometimes, you may want to use alias to config the value and text of options, instead of \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\". Think about this, when the name origin data is \"),a(\"code\",{pre:!0},[s._v(\"id\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\", you could use \"),a(\"code\",{pre:!0},[s._v(\"id\")]),s._v(\" 和 \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\" to define value and text directly by using property \"),a(\"code\",{pre:!0},[s._v(\"alias\")]),s._v(\" to config the alias of \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" as \"),a(\"code\",{pre:!0},[s._v(\"id\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\" as \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showAliasPicker\"')]),s._v(\">\")]),s._v(\"Use Alias\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showAliasPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".aliasPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".aliasPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use Alias'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [[{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'A'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'B'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"id\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"name\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'C'\")]),s._v(\" }]],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"alias\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'id'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'name'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".aliasPicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"When you need to change some properties of Picker, you could use the method \"),a(\"code\",{pre:!0},[s._v(\"$updateProps\")]),s._v(\" to input the new properties.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showUpdatePropsPicker\"')]),s._v(\">\")]),s._v(\"Use $updateProps\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column1 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'剧毒'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'蚂蚁'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'幽鬼'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column2 = [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输出'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'控制'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'核心'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'爆发'\")]),s._v(\" }]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" column3 =  [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'梅肯'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'秘法鞋'\")]),s._v(\" },\\n  { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'假腿'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'飞鞋'\")]),s._v(\" }]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showUpdatePropsPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createPicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use $updateProps'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.$updateProps({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Updated'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [column1, column2, column3],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"]\\n        })\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"data that passed into picker, whose length determines the columns of picker\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"selectedIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"the index of the selected value, corresponding content will be displayed when picker shows\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[1]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"subtitle\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"alias\")]),s._v(\" \"),a(\"td\",[s._v(\"configure the alias of \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"text\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")]),s._v(\" \"),a(\"td\",[s._v(\"{ value: 'id', text: 'name'}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether hide the component when clicked the mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")]),s._v(\" \"),a(\"th\",[s._v(\"Example\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"the text displayed in each column of picker\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"corresponding value of the text displayed in each column of picker\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number/Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: Array, values of each columns in current selected item\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Array, indexes of each columns in current selected item\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: Array, texts of each columns in current selected item\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the roller scrolls\")]),s._v(\" \"),a(\"td\",[s._v(\"index: Number, index of current scrolling roller\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Number, index of selected item in current column\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value-change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when confirmed value changes\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: Array, values of each columns in current confirmed item\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Array, indexes of each columns in current confirmed item\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"setData\")]),s._v(\" \"),a(\"td\",[s._v(\"set options in picker\")]),s._v(\" \"),a(\"td\",[s._v(\"Array, texts and values of options of each columns of picker\")]),s._v(\" \"),a(\"td\",[s._v(\"Array, indexes of selected item in each column of picker\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}}});"
  },
  {
    "path": "docs/js/74.ce38c9d67ccce0cdfb67.js",
    "content": "webpackJsonp([74],{U5pQ:function(t,a){t.exports={render:function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"section\",[s(\"h2\",{attrs:{id:\"Loading\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Loading-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Loading\")]),t._v(\" \"),t._m(0),t._v(\" \"),s(\"h3\",{attrs:{id:\"Example\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(1),t._v(\" \"),s(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(2)])},staticRenderFns:[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"p\",[s(\"code\",{pre:!0},[t._v(\"Loading\")]),t._v(\" provides loading animation which can has custom size.\")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"ul\",[s(\"li\",[s(\"p\",[t._v(\"The size of icon\")]),t._v(\" \"),s(\"p\",[t._v(\"Default is \"),s(\"code\",{pre:!0},[t._v(\"24px\")]),t._v(\" and can be configured by setting \"),s(\"code\",{pre:!0},[t._v(\"size\")]),t._v(\".\")]),t._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-loading\")]),t._v(\">\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-loading\")]),t._v(\">\")]),t._v(\"\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-loading\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":size\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"28\"')]),t._v(\">\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-loading\")]),t._v(\">\")]),t._v(\"\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-loading\")]),t._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":size\")]),t._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"40\"')]),t._v(\">\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-loading\")]),t._v(\">\")]),t._v(\"\\n\")])])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),s(\"th\",[t._v(\"Description\")]),t._v(\" \"),s(\"th\",[t._v(\"Type\")]),t._v(\" \"),s(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[t._v(\"size\")]),t._v(\" \"),s(\"td\",[t._v(\"the size of loading icon, unit px\")]),t._v(\" \"),s(\"td\",[t._v(\"Number\")]),t._v(\" \"),s(\"td\",[t._v(\"24\")])])])])}]}},Z6nk:function(t,a,s){var e=s(\"VU/8\")(null,s(\"U5pQ\"),null,null,null);t.exports=e.exports},jBRB:function(t,a,s){t.exports=s(\"Z6nk\")}});"
  },
  {
    "path": "docs/js/75.987c766d09acb00dac2c.js",
    "content": "webpackJsonp([75],{YA8a:function(t,e,a){t.exports=a(\"hwc5\")},hwc5:function(t,e,a){var s=a(\"VU/8\")(null,a(\"tH9w\"),null,null,null);t.exports=s.exports},tH9w:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"section\",[a(\"h2\",{attrs:{id:\"Introduction\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Introduction-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Introduction\")]),t._v(\" \"),a(\"p\",[t._v(\"cube-ui is an elegant mobile component library based on Vue.js.\")]),t._v(\" \"),a(\"h3\",{attrs:{id:\"Features\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Features-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Features\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"h3\",{attrs:{id:\"Components\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Components-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Components\")]),t._v(\" \"),a(\"h4\",{attrs:{id:\"Basic\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Basic-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Basic\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h4\",{attrs:{id:\"Form\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Form-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Form\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h4\",{attrs:{id:\"Layer\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Layer-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Layer\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),a(\"p\",[t._v(\"Component invoking:\")]),t._v(\" \"),t._m(5),t._v(\" \"),a(\"p\",[t._v(\"API invoking：\")]),t._v(\" \"),t._m(6),t._v(\" \"),t._m(7),t._v(\" \"),t._m(8),t._v(\" \"),a(\"h4\",{attrs:{id:\"Scroll\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Scroll-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Scroll\")]),t._v(\" \"),t._m(9),t._v(\" \"),t._m(10),t._v(\" \"),a(\"h3\",{attrs:{id:\"Modules\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Modules-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Modules\")]),t._v(\" \"),a(\"p\",[t._v(\"cube-ui has some special modules besides components.\")]),t._v(\" \"),a(\"h4\",{attrs:{id:\"style\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-style-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" style\")]),t._v(\" \"),a(\"p\",[t._v(\"The style module.\\nIf you are under the circumstance of importing components on demand, then it is recommended to import this module in entry file because it contains basic reset, basic common styles and built-in icons.\")]),t._v(\" \"),t._m(11),t._v(\" \"),a(\"h4\",{attrs:{id:\"create-api\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-create-api-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" create-api\")]),t._v(\" \"),t._m(12),t._v(\" \"),t._m(13),t._v(\" \"),a(\"h4\",{attrs:{id:\"better-scroll\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-better-scroll-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" better-scroll\")]),t._v(\" \"),t._m(14),t._v(\" \"),t._m(15)])},staticRenderFns:[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"Quality\")])]),t._v(\" \"),a(\"p\",[t._v(\"Extracted from DiDi interior component library and has been put to business test for more than one year. Every component has full unit tests to provide assurance for continuous integration.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"Experience\")])]),t._v(\" \"),a(\"p\",[t._v(\"Make quick response, fluent animation and close to native components as the goal, and pursue the perfection of the interactive experience.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"Standard\")])]),t._v(\" \"),a(\"p\",[t._v(\"Follow a uniform design interaction standard and highly restore the design; Standardize the interface and unify the way of use, making development more simple and efficient.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[a(\"strong\",[t._v(\"Scalability\")])]),t._v(\" \"),a(\"p\",[t._v(\"Lightweight and flexible: support \"),a(\"a\",{attrs:{href:\"#/en-US/docs/post-compile\"}},[t._v(\"post-compile\")]),t._v(\" and importing on demand; High scalability: it is easy to implement secondary development based on existing components.\")])])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/button\"}},[t._v(\"Button\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/loading\"}},[t._v(\"Loading\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/tip\"}},[t._v(\"Tip\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/toolbar\"}},[t._v(\"Toolbar\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/tab-bar\"}},[t._v(\"TabBar\")])])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/checkbox\"}},[t._v(\"Checkbox\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/checkbox-group\"}},[t._v(\"CheckboxGroup\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/radio\"}},[t._v(\"Radio\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/input\"}},[t._v(\"Input\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/textarea\"}},[t._v(\"Textarea\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/select\"}},[t._v(\"Select\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/switch\"}},[t._v(\"Switch\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/rate\"}},[t._v(\"Rate\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/validator\"}},[t._v(\"Validator\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/upload\"}},[t._v(\"Upload\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/form\"}},[t._v(\"Form\")])])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/popup\"}},[t._v(\"Popup\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/toast\"}},[t._v(\"Toast\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/picker\"}},[t._v(\"Picker\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/cascade-picker\"}},[t._v(\"CascadePicker\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/date-picker\"}},[t._v(\"DatePicker\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/time-picker\"}},[t._v(\"TimePicker\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/segment-picker\"}},[t._v(\"SegmentPicker\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/dialog\"}},[t._v(\"Dialog\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/action-sheet\"}},[t._v(\"ActionSheet\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/drawer\"}},[t._v(\"Drawer\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/image-preview\"}},[t._v(\"ImagePreview\")])])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"Most of the layer components can be invoked by components and API, let's take \"),a(\"code\",{pre:!0},[t._v(\"Toast\")]),t._v(\" as an example:\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showToast\"')]),t._v(\">\")]),t._v(\"show toast\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-toast\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"ref\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"toast\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":txt\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"toastTxt\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-toast\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n    data() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"toastTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'toast content'\")]),t._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n      showToast() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$refs.toast.show()\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),t._v(\"\\n\")])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showToast\"')]),t._v(\">\")]),t._v(\"show toast\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"template\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),a(\"span\",{attrs:{class:\"javascript\"}},[t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n    data() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"toastTxt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'toast content'\")]),t._v(\"\\n      }\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n      showToast() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".toastTxt\\n        }).show()\\n      }\\n    }\\n  }\\n\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"script\")]),t._v(\">\")]),t._v(\"\\n\")])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"Both are pretty good but we recommend the latter, namely using \"),a(\"code\",{pre:!0},[t._v(\"$createXxYy\")]),t._v(\" API to invoke; By API invoking, the popup layer is attached to \"),a(\"code\",{pre:!0},[t._v(\"body\")]),t._v(\" element whose advantage is that it wouldn't be affected by outer styles. If using component invoking, it's fairly easy to be affected by outer styles like \"),a(\"code\",{pre:!0},[t._v(\"transform\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"overflow\")]),t._v(\", etc.\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"Pay attention that the name of the API is \"),a(\"code\",{pre:!0},[t._v(\"$create\")]),t._v(\" + \"),a(\"code\",{pre:!0},[t._v(\"${component name}\")]),t._v(\". For example, the API of \"),a(\"code\",{pre:!0},[t._v(\"ActionSheet\")]),t._v(\" component is \"),a(\"code\",{pre:!0},[t._v(\"$createActionSheet\")]),t._v(\".\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"ul\",[a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/scroll\"}},[t._v(\"Scroll\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/slide\"}},[t._v(\"Slide\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/index-list\"}},[t._v(\"IndexList\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/swipe\"}},[t._v(\"Swipe\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/sticky\"}},[t._v(\"Sticky\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/scroll-nav-bar\"}},[t._v(\"ScrollNavBar\")])]),t._v(\" \"),a(\"li\",[a(\"a\",{attrs:{href:\"#/en-US/docs/scroll-nav\"}},[t._v(\"ScrollNav\")])])])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"Most of the scroll components are all implemented based on \"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll\"}},[t._v(\"better-scroll\")]),t._v(\" and \"),a(\"code\",{pre:!0},[t._v(\"Scroll\")]),t._v(\" Component is the encapsulation of better-scroll.\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"For details, see \"),a(\"a\",{attrs:{href:\"#/en-US/docs/style\"}},[t._v(\"style module\")]),t._v(\".\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"Sometimes, developers may need to let their own encapsulated components support API invoking as well. At this time they can import create-api module or use the global interface \"),a(\"code\",{pre:!0},[t._v(\"Cube.createAPI\")]),t._v(\" to achieve the purpose.\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"For details, see \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[t._v(\"create-api module\")]),t._v(\"。\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll\"}},[t._v(\"better-scroll\")]),t._v(\" is a library in \"),a(\"code\",{pre:!0},[t._v(\"cube-ui\")]),t._v(\"'s dependencies. To avoid duplicately importing, we expose the module.\")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"p\",[t._v(\"For more detailed use, please refer to \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/\"}},[t._v(\"official documentation\")]),t._v(\"。\")])}]}}});"
  },
  {
    "path": "docs/js/76.95b13be54c0af4fa673f.js",
    "content": "webpackJsonp([76],{\"C/JU\":function(s,a,t){s.exports=t(\"VdIl\")},VdIl:function(s,a,t){var n=t(\"VU/8\")(null,t(\"pdyy\"),null,null,null);s.exports=n.exports},pdyy:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"Internationalization\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Internationalization-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Internationalization\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h2\",{attrs:{id:\"Internationalizationwithincomponents\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Internationalizationwithincomponents-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Internationalization within components\")]),s._v(\" \"),t(\"p\",[s._v(\"Cube-ui is the Chinese language pack used by default and is already registered. The corresponding English language pack is also built into the cube-ui, but you need the following logic to register the language pack and switch to the corresponding language.\")]),s._v(\" \"),s._m(2),s._v(\" \"),t(\"p\",[s._v(\"Cube-ui will listen to the current language type, so it automatically renders the corresponding copy of the component, and caches the loaded copy. When the component language is switched, if the language pack is already installed, cube-ui directly takes the cached copy. Similar pseudo code is as follows:\")]),s._v(\" \"),s._m(3),s._v(\" \"),t(\"p\",[s._v(\"But maybe you have translation needs in other countries, such as Japanese and Korean, then you need to provide the language pack yourself and switch to the corresponding language. code show as below:\")]),s._v(\" \"),s._m(4),s._v(\" \"),t(\"p\",[s._v(\"The configuration item format of the language pack you import should be similar to the following. The default Chinese language pack is as follows:\")]),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h2\",{attrs:{id:\"Internationalizationofapplications1.12.23+\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Internationalizationofapplications1.12.23+-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Internationalization of applications\"),t(\"sup\",[s._v(\"1.12.23+\")])]),s._v(\" \"),t(\"p\",[s._v(\"As mentioned above, cube-ui provides international capabilities for its own components, but this capability can be extended to your application in two steps:\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),s._m(8),s._v(\" \"),t(\"p\",[s._v(\"Then import the language pack in your app's entry file.\")]),s._v(\" \"),s._m(9),s._v(\" \"),s._m(10),s._v(\" \"),s._m(11),s._v(\" \"),s._m(12),s._v(\" \"),s._m(13),s._v(\" \"),s._m(14),s._v(\" \"),s._m(15),s._v(\" \"),s._m(16),s._v(\" \"),s._m(17),s._v(\" \"),s._m(18)])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"blockquote\",[t(\"p\",[s._v(\"New in 1.11.0+\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"All non-configurable copy files inside \"),t(\"code\",{pre:!0},[s._v(\"cube-ui\")]),s._v(\" are in Chinese, so if your application needs to do the corresponding international translation, then \"),t(\"code\",{pre:!0},[s._v(\"1.11.0\")]),s._v(\" is available for cube-ui provide ability to translate a component's copywriting, even this ability can be extended to your application.\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" enUSMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui/src/locale/lang/en-US'\")]),s._v(\"\\n\\n  Vue.use(Locale)\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Switch to English and cache the current language pack\")]),s._v(\"\\n  Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'en-US'\")]),s._v(\", enUSMessages)\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" enUSMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui/src/locale/lang/en-US'\")]),s._v(\"\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Load Chinese language pack by default\")]),s._v(\"\\n  Vue.use(Locale)\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Switch to English and need to import the English language pack\")]),s._v(\"\\n  one.click(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\"{\\n    Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'en-US'\")]),s._v(\", enUSMessages)\\n  })\\n\\n  another.click(\"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// load Chinese from cache\")]),s._v(\"\\n    Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'zh-CN'\")]),s._v(\")\\n  })\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" jPMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'/somewhere/ja-JP.js'\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Your own language\")]),s._v(\"\\n\\n  Vue.use(Locale)\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Switch to Japanese and need to import Japanese language packs\")]),s._v(\"\\n  Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'ja-JP'\")]),s._v(\", jPMessages)\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cancel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'取消'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"confirm\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确认'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ok\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'确定'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"prev\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'上一步'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"next\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'下一步'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectText\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"now\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'现在'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectTime\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'选择时间'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"today\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'今日'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"formatDate\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'M月D日'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"hours\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'点'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minutes\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'分'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"validator\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'此为必填项'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入数字'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'数据类型应为数组'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择有效日期'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效邮箱'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效的手机号码'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入有效网址'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'不得小于 {{config}}'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择至少 {{config}} 项'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之后的时间'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'至少输入 {{config}} 位字符'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿大于 {{config}}'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'最多选择 {{config}} 项'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之前的时间'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请勿超过 {{config}} 位字符'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"len\")]),s._v(\": {\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"string\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"number\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'长度应等于 {{config}}'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"array\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config}} 项'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择 {{config | toLocaleDateString(\\\"yyyy年MM月dd日\\\")}} 之前的时间'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"email\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tel\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"url\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入 {{config}} 位字符'\")]),s._v(\"\\n      },\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pattern\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'格式错误'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"custom\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'未通过校验'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"notWhitespace\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'空白内容无效'\")]),s._v(\"\\n    }\\n  }\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ol\",[t(\"li\",[s._v(\"Import language packs\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"you must import the language pack, which should be the full set containing the \"),t(\"code\",{pre:!0},[s._v(\"cube-ui\")]),s._v(\" default language pack. For example, your language pack configuration might look like this:\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// default.js\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"application_key\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"this is application text\"')]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"country\"')]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"province\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Beijing\"')]),s._v(\"\\n    }\\n\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* defaults of cube-ui*/\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cancel\"')]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"Cancel\"')]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...ignore\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validator\"')]),s._v(\": {\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/* */\")]),s._v(\"}\\n  }\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" Vue \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" defaultMessages \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'default.js'\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// your own language\")]),s._v(\"\\n\\n  Vue.use(Locale)\\n  Locale.use(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'zh-CN'\")]),s._v(\", defaultMessages)\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"ol\",{attrs:{start:\"2\"}},[t(\"li\",[s._v(\"Ability to inject translations through mixins inside components\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"Then use the \"),t(\"code\",{pre:!0},[s._v(\"mixin\")]),s._v(\" capability provided by \"),t(\"code\",{pre:!0},[s._v(\"Vue\")]),s._v(\". cube-ui provides the conversion function \"),t(\"code\",{pre:!0},[s._v(\"$t\")]),s._v(\" for the language package \"),t(\"code\",{pre:!0},[s._v(\"key=>value\")]),s._v(\". You only need to inject it into the component's \"),t(\"code\",{pre:!0},[s._v(\"mixins\")]),s._v(\" property, and then you can use it in the template. An example is as follows:\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// dialog.vue\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { Locale } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-ui'\")]),s._v(\"\\n<script>\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//...\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"mixins\")]),s._v(\": [Locale.localeMixin] \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Inject mixin, have the ability to $t. After v1.12.23\")]),s._v(\"\\n  }\\n<\"),t(\"span\",{attrs:{class:\"hljs-regexp\"}},[s._v(\"/script>\\n\")])])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"Then you can reference the \"),t(\"code\",{pre:!0},[s._v(\"$t()\")]),s._v(\" method in the template.\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s._v(\"  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"{{$t('application_key')}}\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"Finally, \"),t(\"code\",{pre:!0},[s._v(\"{{$t('application_key')}}\")]),s._v(\" is rendered as \"),t(\"code\",{pre:!0},[s._v('\"this is application text\"')]),s._v(\". Considering that your language pack may be multi-level nested, \"),t(\"code\",{pre:!0},[s._v(\"$t\")]),s._v(\" also accepts a string with a separator of \"),t(\"code\",{pre:!0},[s._v('\".\"')]),s._v(\" to get deep-level properties, such as:\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// your language packs structure\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"a\")]),s._v(\": {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"b\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"c\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"nested c\"')]),s._v(\"\\n    }\\n  }\\n}\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"It is easy to use it in \"),t(\"code\",{pre:!0},[s._v(\"template\")]),s._v(\"。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    {{$t('a.b.c')}}\\n  \"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),t(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"template\")]),s._v(\">\")]),s._v(\"\\n\")])])}]}}});"
  },
  {
    "path": "docs/js/77.7351763012ae5b6d1629.js",
    "content": "webpackJsonp([77],{a2LG:function(t,s,a){var e=a(\"VU/8\")(null,a(\"a6jp\"),null,null,null);t.exports=e.exports},a6jp:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Input\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Input-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Input\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(3),t._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Slot\")]),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(5),t._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Instance methods\")]),t._v(\" \"),t._m(6)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"New in 1.5.0+\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"Input component. You can use the \"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\" directive to create two-way data bindings and use a clear button to clear the content.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),a(\"p\",[t._v(\"You can use the \"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\" directive to create two-way data bindings\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" >\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Control max length\")]),t._v(\" \"),a(\"p\",[t._v(\"You can control the value's max length like this:\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"watch\")]),t._v(\": {\\n    value(newV) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"if\")]),t._v(\" (newV.length > \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"10\")]),t._v(\") {\\n        newV = newV.slice(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"10\")]),t._v(\")\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$nextTick(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".value = newV\\n        })\\n      }\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Clearable config\")]),t._v(\" \"),a(\"p\",[t._v(\"You can use the \"),a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\" attribute to toggle the clear button.\")]),t._v(\" \"),a(\"p\",[t._v(\"Before 1.11.0, the \"),a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\" value only can be a Boolean value.\")]),t._v(\" \"),a(\"p\",[t._v(\"After 1.11.0 the \"),a(\"code\",{pre:!0},[t._v(\"clearable\")]),t._v(\" value can be a Boolean or an Object value.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":clearable\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"clearable\"')]),t._v(\"\\n>\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"clearable\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"visible\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"blurHidden\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Eye config\")]),t._v(\" \"),a(\"p\",[t._v(\"You can use \"),a(\"code\",{pre:!0},[t._v(\"pwdEye\")]),t._v(\" to toggle password eye button and password filed's visibility.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":placeholder\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"placeholder\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":type\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"type\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":maxlength\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"maxlength\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":readonly\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"readonly\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":autofocus\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autofocus\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":autocomplete\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autocomplete\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":eye\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"eye\"')]),t._v(\"\\n>\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-input\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'请输入内容'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'password'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"readonly\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"maxlength\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autofocus\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autocomplete\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"eye\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"open\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"reverse\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"As you can see, this component also support the native attributes of the Input element.\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"type\")]),t._v(\" \"),a(\"td\",[t._v(\"type of input\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"text/number/password/date\")]),t._v(\" \"),a(\"td\",[t._v(\"text\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"bound value\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"empty\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"disabled status\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"readonly\")]),t._v(\" \"),a(\"td\",[t._v(\"readonly status\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maxlength\")]),t._v(\" \"),a(\"td\",[t._v(\"maxlength of input\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"60\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),a(\"td\",[t._v(\"placeholder of input\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"empty\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"autofocus\")]),t._v(\" \"),a(\"td\",[t._v(\"autofocus status\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"autocomplete\")]),t._v(\" \"),a(\"td\",[t._v(\"autocomplete status\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"clearable\")]),t._v(\" \"),a(\"td\",[t._v(\"whether to show clear button, after 1.11.0 you can alse use object config like \"),a(\"code\",{pre:!0},[t._v(\"{visible: true, blurHidden: true}\")]),t._v(\", the \"),a(\"code\",{pre:!0},[t._v(\"visible\")]),t._v(\" is used to control the visibility and the \"),a(\"code\",{pre:!0},[t._v(\"blurHidden\")]),t._v(\" is used to control whether hidden after blur.\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean/Object\"),a(\"sup\",[t._v(\"1.11.0+\")])]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"eye\")]),t._v(\" \"),a(\"td\",[t._v(\"If set to false then the password eye is invisible, if true, equal to \"),a(\"code\",{pre:!0},[t._v(\"{open: true, reverse: false}\")]),t._v(\", Object form mean using the password eye. The \"),a(\"code\",{pre:!0},[t._v(\"open\")]),t._v(\" control the password eye open or close, \"),a(\"code\",{pre:!0},[t._v(\"reverse\")]),t._v(\" control whether the password content visibility is reverse with the password eye open or not.\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean/Object\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false/{open: \"),a(\"code\",{pre:!0},[t._v(\"true/false\")]),t._v(\"}\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Slot Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"prepend\")]),t._v(\" \"),a(\"td\",[t._v(\"prepend content\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"append\")]),t._v(\" \"),a(\"td\",[t._v(\"append content\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"focus\")]),t._v(\" \"),a(\"td\",[t._v(\"This event is triggered after the input box is focused. If input is disabled, it will not be triggered\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"blur\")]),t._v(\" \"),a(\"td\",[t._v(\"This event is triggered after the input box blur\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"change\")]),t._v(\" \"),a(\"td\",[t._v(\"The event is triggered after the binding value is changed and the input box is blur\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"The event is triggered when the binding value is changed\")]),t._v(\" \"),a(\"td\",[t._v(\"The updated value\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Method name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"focus\"),a(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),a(\"td\",[t._v(\"Focus element\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"blur\"),a(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),a(\"td\",[t._v(\"Blur element\")])])])])}]}},o9DV:function(t,s,a){t.exports=a(\"a2LG\")}});"
  },
  {
    "path": "docs/js/78.744c249608bc30533fd5.js",
    "content": "webpackJsonp([78],{\"16VJ\":function(s,t,a){var e=a(\"VU/8\")(null,a(\"cWTA\"),null,null,null);s.exports=e.exports},cWTA:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"IndexList\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-IndexList-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" IndexList\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slot\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"IndexList\")]),s._v(\" component, , which is also encapsulated based on \"),a(\"code\",{pre:!0},[s._v(\"better-scroll\")]),s._v(\",  provides functions of index lists.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"Construct data like \"),a(\"code\",{pre:!0},[s._v(\"cityData\")]),s._v(\" in the example below and pass it into \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" in \"),a(\"code\",{pre:!0},[s._v(\"cube-index-list\")]),s._v(\" component.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cityData\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@title-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickTitle\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cityData = [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"★Hot City\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"BEIJING\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"SHANGHAI\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n      }\\n    ]\\n  },\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"A\"')]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"items\"')]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ANSHAN\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"name\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"ANQING\"')]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"value\"')]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\"\\n      }\\n    ]\\n  }\\n]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Current City: BEIJING'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cityData\")]),s._v(\": cityData\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom item content\")]),s._v(\" \"),a(\"p\",[s._v(\"Beside default usage, you could customise the content of each item as required by inserting your custom DOM into the slot of \"),a(\"code\",{pre:!0},[s._v(\"cube-index-list-item\")]),s._v(\" as shown below. And please don't modify the usage of \"),a(\"code\",{pre:!0},[s._v(\"cube-index-list-group\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"cube-index-list-item\")]),s._v(\" unless you really know what you are doing.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cityData\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-group\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(group, index) in cityData\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":group\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"group\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-item\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, index) in group.items\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":item\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"custom-item\"')]),s._v(\">\")]),s._v(\"I am the custom {{item.name}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-item\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list-group\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"cityData\")]),s._v(\": cityData\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Style of the custom item.\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".custom-item\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"position\")]),s._v(\": relative\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"70px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"70px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"16px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"font-size\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$fontsize\")]),s._v(\"-medium\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Use custom style to cover default style.\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-index-list-content\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#222\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#909090\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-index-list-anchor\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background-color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#333\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"30px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"line-height\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"30px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".cube-index-list-nav\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20px\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-radius\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10px\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background\")]),s._v(\": rgba(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",.\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\")\\n  >\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"ul\")]),s._v(\"\\n    >\"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[s._v(\"li\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"padding\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"font-size\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"12px\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#909090\")]),s._v(\"\\n      &\"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[s._v(\".active\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#ffcd32\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Pull Up Load\")]),s._v(\" \"),a(\"p\",[s._v(\"Beside, you could use \"),a(\"code\",{pre:!0},[s._v(\"pullUpLoad\")]),s._v(\" to enable pull-up-load, the detail config is same as the \"),a(\"code\",{pre:!0},[s._v(\"options.pullUpLoad\")]),s._v(\" of Scroll.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"indexList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pullUpLoad\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@title-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickTitle\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-up\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingUp\"')]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Current City: BEIJING'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData.slice(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\")\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    },\\n    onPullingUp() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Mock async load.\")]),s._v(\"\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" length = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".data.length\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (length < cityData.length) {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Update data.\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".data.push(cityData[length])\\n        }\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Call forceUpdate after finishing data load.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.indexList.forceUpdate()\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"ul\",[a(\"li\",[s._v(\"Pull Down Refresh\")])]),s._v(\" \"),a(\"p\",[s._v(\"Beside, you could use \"),a(\"code\",{pre:!0},[s._v(\"pullDownRefresh\")]),s._v(\" to enable pull-down-refresh, the detail config is same as the \"),a(\"code\",{pre:!0},[s._v(\"options.pullDownRefresh\")]),s._v(\" of Scroll.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"indexList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":pullDownRefresh\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"pullDownRefresh\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectItem\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@title-click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"clickTitle\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@pulling-down\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"onPullingDown\"')]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-index-list\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Current City: BEIJING'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pullDownRefresh\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"55\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    selectItem(item) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(item.name)\\n    },\\n    clickTitle(title) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(title)\\n    },\\n    onPullingDown() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Mock async load.\")]),s._v(\"\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Update data.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".data[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].items.push(...cityData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"].items)\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Call forceUpdate after finishing data load.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.indexList.forceUpdate(\"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\")\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"data to be displayed\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"navbar\")]),s._v(\" \"),a(\"td\",[s._v(\"whether need navbar\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"when click the navigator, the transition time of scrolling to the specific anchor (unit: ms).\")]),s._v(\" \"),a(\"td\",[s._v(\"number\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\"),a(\"sup\",[s._v(\"1.9.8+\")])]),s._v(\" \"),a(\"td\",[s._v(\"the options of better-scroll, you could find details at \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/en/options.html\"}},[s._v(\"BS Document\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"  observeDOM: true,\"),a(\"br\"),s._v(\"  click: true,\"),a(\"br\"),s._v(\"  probeType: 1,\"),a(\"br\"),s._v(\"  scrollbar: false,\"),a(\"br\"),s._v(\"  pullDownRefresh: false,\"),a(\"br\"),s._v(\"  pullUpLoad: false\"),a(\"br\"),s._v(\"}\"),a(\"br\"),a(\"code\",{pre:!0},[s._v(\"Notice\")]),s._v(\": After \"),a(\"code\",{pre:!0},[s._v(\"1.12.38\")]),s._v(\", as \"),a(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html\"}},[s._v(\"BS\")]),s._v(\" \"),a(\"code\",{pre:!0},[s._v(\"iOS13.4\")]),s._v(\" issue \"),a(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll/issues/978\"}},[s._v(\"#978\")]),s._v(\", we set \"),a(\"code\",{pre:!0},[s._v(\"useTransition\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"fasle\")]),s._v(\" by default\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullUpLoad\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"pull-up-load, the detail config is same as the \"),a(\"code\",{pre:!0},[s._v(\"options.pullUpLoad\")]),s._v(\" of Scroll. \"),a(\"code\",{pre:!0},[s._v(\"Deprecated\")]),s._v(\", please use the property \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" instead.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullDownRefresh\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"pull-down-refresh, the detail config is same as the \"),a(\"code\",{pre:!0},[s._v(\"options.pullDownRefresh\")]),s._v(\" of Scroll. \"),a(\"code\",{pre:!0},[s._v(\"Deprecated\")]),s._v(\", please use the property \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" instead.\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" is an array, which represents multiple groups of data and each of them can be configured：\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"name\")]),s._v(\" \"),a(\"td\",[s._v(\"the name of the group\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"items\")]),s._v(\" \"),a(\"td\",[s._v(\"data of current group\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Each item of \"),a(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\" array must be an object that must contains the \"),a(\"code\",{pre:!0},[s._v(\"name\")]),s._v(\" attribute which is used for displaying the content; For example:  \"),a(\"code\",{pre:!0},[s._v(\"items\")]),s._v(\": \"),a(\"code\",{pre:!0},[s._v(\"[{name: 'xx', ...}, ...]\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"title\"),a(\"sup\",[s._v(\"1.12.25+\")])]),s._v(\" \"),a(\"td\",[s._v(\"title slot\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulldown\"),a(\"sup\",[s._v(\"1.9.4+\")])]),s._v(\" \"),a(\"td\",[s._v(\"located above the list and shown when pulling down refreshing\")]),s._v(\" \"),a(\"td\",[s._v(\"the detail is the same as Scroll component's pulldown slot scope parameters\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pullup\"),a(\"sup\",[s._v(\"1.9.4+\")])]),s._v(\" \"),a(\"td\",[s._v(\"located below the list and shown when pulling up loading\")]),s._v(\" \"),a(\"td\",[s._v(\"the detail is the same as Scroll component's pullup slot scope parameters\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking one of the items in IndexList\")]),s._v(\" \"),a(\"td\",[s._v(\"data of the item\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title-click\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking title(valid only if title has been configured)\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of title\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-up\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the distance of pulling up exceeds the threshold, if pullUpLoad is true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"pulling-down\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the distance of pulling down exceeds the threshold, if pullDownRefresh is true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},tHys:function(s,t,a){s.exports=a(\"16VJ\")}});"
  },
  {
    "path": "docs/js/79.f9d3846d0374e7537f2a.js",
    "content": "webpackJsonp([79],{FFtv:function(s,t,a){s.exports=a(\"iwcH\")},iwcH:function(s,t,a){var e=a(\"VU/8\")(null,a(\"pq4K\"),null,null,null);s.exports=e.exports},pq4K:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"ImagePreview\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ImagePreview-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" ImagePreview\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Image preview. Support swipe, zoomin zoomout.\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h3\",{attrs:{id:\"Slots\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slots-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Slots\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.10.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"The following demo code is \"),a(\"a\",{attrs:{href:\"https://github.com/didi/cube-ui/tree/master/example/pages/image-preview\"}},[s._v(\"here\")]),s._v(\".\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Default usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showImagePreview\"')]),s._v(\">\")]),s._v(\"Show ImagePreview\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showImagePreview() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imagePreview) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imagePreview = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createImagePreview({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imgs\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imagePreview.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can create a basic ImagePreview by setting \"),a(\"code\",{pre:!0},[s._v(\"imgs\")]),s._v(\" prop.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showCustomImagePreview\"')]),s._v(\">\")]),s._v(\"Show Custom ImagePreview\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"customIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showCustomImagePreview() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customImagePreview) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customImagePreview = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createImagePreview({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imgs,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"initialIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customIndex,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"speed\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"500\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onChange\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"i\")]),s._v(\") =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customIndex = i\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onHide\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hide'\")]),s._v(\")\\n          }\\n        }, (h) => {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" h(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'div'\")]),s._v(\", {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'image-preview-custom-header'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'header'\")]),s._v(\"\\n          }, \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customIndex + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n        })\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".customImagePreview.show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can set other props to config ImagePreview. And you can use render function to define slots content.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Multi images\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"imgs-container\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"img\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":src\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"img\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(img, index) in imgs\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"img\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"handleImgsClick(index)\"')]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"div\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"initialIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\")]),s._v(\"\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    handleImgsClick(index) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".initialIndex = index\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" params = {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$props\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"imgs\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".imgs,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"initialIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'initialIndex'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// name of reactive key in data\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loop\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"$events\")]),s._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"change\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"i\")]),s._v(\") =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// You must update initialIndex\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".initialIndex = i\\n          }\\n        }\\n      }\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createImagePreview({ ...params }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The image-preview component is instantiated in multi-images scenarios, and the displayed image is the image that is clicked each time.\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"imgs\")]),s._v(\" \"),a(\"td\",[s._v(\"image urls\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"initial-index\")]),s._v(\" \"),a(\"td\",[s._v(\"initial index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"loop\")]),s._v(\" \"),a(\"td\",[s._v(\"whether to loop swipe\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"speed\")]),s._v(\" \"),a(\"td\",[s._v(\"speed of switching pages, ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"400\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.10.11\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"preventDefault\"),a(\"sup\",[s._v(\"1.10.16\")])]),s._v(\" \"),a(\"td\",[s._v(\"BetterScroll \"),a(\"code\",{pre:!0},[s._v(\"preventDefault\")]),s._v(\" option\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Scope Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"header\")]),s._v(\" \"),a(\"td\",[s._v(\"header content\")]),s._v(\" \"),a(\"td\",[s._v(\"current: active index\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"footer\")]),s._v(\" \"),a(\"td\",[s._v(\"footer content\")]),s._v(\" \"),a(\"td\",[s._v(\"current: active index\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when current index changes\")]),s._v(\" \"),a(\"td\",[s._v(\"current active index\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when hide\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}}});"
  },
  {
    "path": "docs/js/8.168676b0456643c9cd9e.js",
    "content": "webpackJsonp([8],{\"7PUU\":function(s,a,t){s.exports=t(\"rIIE\")},E9Iv:function(s,a){s.exports={render:function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"section\",[t(\"h2\",{attrs:{id:\"主题\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-主题-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 主题\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),t(\"h3\",{attrs:{id:\"主题文件\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-主题文件-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 主题文件\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),t(\"h3\",{attrs:{id:\"配置webpack\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-配置webpack-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 配置 webpack\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),t(\"h3\",{attrs:{id:\"结果\"}},[t(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-结果-anchor\",\"aria-hidden\":\"true\"}},[t(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[t(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" 结果\")]),s._v(\" \"),t(\"p\",[s._v(\"这样修改自定义的主题文件内容，最终编译打包后的样式就是你需要的；而且这样也不存在样式冗余覆盖的问题，因为直接是对组件样式的变量做的修改，而不是采用传统的样式覆盖。\")])])},staticRenderFns:[function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"移动端的组件对主题定制的需求会更多，从 \"),t(\"code\",{pre:!0},[s._v(\"cube-ui^1.0.2\")]),s._v(\" 开始，通过 webpack 工具可以实现自定义主题样式。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[t(\"strong\",[s._v(\"注意：\")]),s._v(\" 自定义主题依赖\"),t(\"a\",{attrs:{href:\"#/zh-CN/docs/post-compile\"}},[s._v(\"后编译\")]),s._v(\"。\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"在你的项目的 \"),t(\"code\",{pre:!0},[s._v(\"src/\")]),s._v(\" 目录下创建一个 \"),t(\"code\",{pre:!0},[s._v(\"theme.styl\")]),s._v(\" 的文件，内容如下（展示的全是默认样式，你可以选择这针对不同组件做定制）：\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-stylus\"}},[t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 如果你需要使用 cube-ui 自带的颜色值 需要 require 进来\")]),s._v(\"\\n@require \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"~cube-ui/src/common/stylus/var/color.styl\"')]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// action-sheet\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-space-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-bg\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// picker style\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-picker-cancel-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$action\")]),s._v(\"-sheet-picker-cancel-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// bubble\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// button\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-regular-blue\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-blue\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// primary\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-primary-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-primary-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-primary-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// light\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-light-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-light-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-sss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-light-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-active-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// outline\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-bgc := transparent\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey-opacity\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-active-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// outline-primary\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-bgc := transparent\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange-opacity\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline\")]),s._v(\"-primary-active-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// disabled\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-disabled-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$btn\")]),s._v(\"-disabled-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// toolbar\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toolbar\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-sss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toolbar\")]),s._v(\"-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-active-grey\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// checkbox\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// checked\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-checked-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-checked-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// disabled\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// checkbox hollow\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-hollow-checked-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-hollow-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// checkbox-group\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-group-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checkbox\")]),s._v(\"-group-horizontal-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// radio\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-group-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-group-horizontal-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// selected\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-selected-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-selected-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"/// disabled\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// radio hollow\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-hollow-selected-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$radio\")]),s._v(\"-hollow-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//checker\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-sss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-active-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-orange-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-disabled-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$checker\")]),s._v(\"-item-disabled-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// dialog\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-regular-blue\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-background\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-close-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-highlight-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-highlight-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-orange-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btn-disabled-active-bgc := transparent\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$dialog\")]),s._v(\"-btns-split-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-row-line\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// index-list\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-anchor-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-anchor-bgc := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#f7f7f7\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-item-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-item-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-nav-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$index\")]),s._v(\"-list-nav-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// loading\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// picker\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-title-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-subtitle-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-confirm-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-confirm-btn-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-cancel-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-cancel-btn-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$picker\")]),s._v(\"-item-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// popup\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$popup\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-bgc := rgb(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"37\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"38\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"45\")]),s._v(\")\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$popup\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-opacity := .\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//scroll\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// slide\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$slide\")]),s._v(\"-dot-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$slide\")]),s._v(\"-dot-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// time-picker\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// tip\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tip\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tip\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// toast\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toast\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$toast\")]),s._v(\"-bgc := rgba(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"37\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"38\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"45\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0.9\")]),s._v(\")\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// upload\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"box-shadow\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6px\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2px\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey-opacity\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e5e5e5\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-remove-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := rgba(\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", .\"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\")\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-remove-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-state-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"mask\")]),s._v(\"-bg\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-success-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-error-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#f43530\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-status-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$upload\")]),s._v(\"-file-progress-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// switch\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$switch\")]),s._v(\"-on-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$switch\")]),s._v(\"-off-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$switch\")]),s._v(\"-off-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e4e4e4\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// input\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-row-line\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-focus-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-placeholder-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$input\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"clear\")]),s._v(\"-icon-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"//textarea\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-row-line\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-focus-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"outline-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-placeholder-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$textarea\")]),s._v(\"-indicator-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// validator\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$validator\")]),s._v(\"-msg-def-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e64340\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// select\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-disabled-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#b8b8b8\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-disabled-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border-color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"border\")]),s._v(\"-active-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"icon\")]),s._v(\"-color := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$select\")]),s._v(\"-placeholder-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-s\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// swipe\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$swipe\")]),s._v(\"-btn-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// form\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-invalid-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e64340\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-group-legend-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-group-legend-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"background\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$form\")]),s._v(\"-label-required-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"#e64340\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// drawer\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-title-bdc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-ss\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-title-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-panel-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$drawer\")]),s._v(\"-item-active-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-light-grey-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"opacity\")]),s._v(\"\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// scroll-nav\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$scroll\")]),s._v(\"-nav-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$scroll\")]),s._v(\"-nav-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$scroll\")]),s._v(\"-nav-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-orange\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// image-preview\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$image\")]),s._v(\"-preview-counter-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-white\\n\\n\"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// tab-bar & tab-panel\")]),s._v(\"\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tab\")]),s._v(\"-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-grey\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tab\")]),s._v(\"-active-\"),t(\"span\",{attrs:{class:\"hljs-attribute\"}},[s._v(\"color\")]),s._v(\" := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$tab\")]),s._v(\"-slider-bgc := \"),t(\"span\",{attrs:{class:\"hljs-variable\"}},[s._v(\"$color\")]),s._v(\"-dark-orange\\n\")])])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"p\",[s._v(\"如果你的项目是用 vue-cli 生成的，那么找到 \"),t(\"code\",{pre:!0},[s._v(\"build/utils.js\")]),s._v(\" 中的 \"),t(\"code\",{pre:!0},[s._v(\"exports.cssLoaders\")]),s._v(\" 函数，改成如下：\")])},function(){var s=this,a=s.$createElement,t=s._self._c||a;return t(\"pre\",{pre:!0},[t(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"exports.cssLoaders = \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" (\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"options\")]),s._v(\") \")]),s._v(\"{\\n  options = options || {}\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cssLoader = {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'css-loader'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"minimize\")]),s._v(\": process.env.NODE_ENV === \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'production'\")]),s._v(\",\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": options.sourceMap\\n    }\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"var\")]),s._v(\" postcssLoader = {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'postcss-loader'\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n      \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": options.sourceMap\\n    }\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// generate loader string to be used with extract text plugin\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-function\"}},[t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"function\")]),s._v(\" \"),t(\"span\",{attrs:{class:\"hljs-title\"}},[s._v(\"generateLoaders\")]),s._v(\" (\"),t(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"loader, loaderOptions\")]),s._v(\") \")]),s._v(\"{\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (loader) {\\n      loaders.push({\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"loader\")]),s._v(\": loader + \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'-loader'\")]),s._v(\",\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Object\")]),s._v(\".assign({}, loaderOptions, {\\n          \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sourceMap\")]),s._v(\": options.sourceMap\\n        })\\n      })\\n    }\\n\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Extract CSS when that option is specified\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// (which is the case during production build)\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (options.extract) {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" ExtractTextPlugin.extract({\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"use\")]),s._v(\": loaders,\\n        \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fallback\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue-style-loader'\")]),s._v(\"\\n      })\\n    } \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n      \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" [\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'vue-style-loader'\")]),s._v(\"].concat(loaders)\\n    }\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" stylusOptions = {\\n    \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'resolve url'\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n    \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// 这里 新增 import 配置项，指向自定义主题文件\")]),s._v(\"\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"import\")]),s._v(\": [path.resolve(__dirname, \"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../src/theme'\")]),s._v(\")]\\n  }\\n\\n  \"),t(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// https://vue-loader.vuejs.org/en/configurations/extract-css.html\")]),s._v(\"\\n  \"),t(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"css\")]),s._v(\": generateLoaders(),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"postcss\")]),s._v(\": generateLoaders(),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"less\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'less'\")]),s._v(\"),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"sass\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\", { \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"indentedSyntax\")]),s._v(\": \"),t(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\" }),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scss\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'sass'\")]),s._v(\"),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"stylus\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\",stylusOptions),\\n    \"),t(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"styl\")]),s._v(\": generateLoaders(\"),t(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'stylus'\")]),s._v(\",stylusOptions)\\n  }\\n}\\n\")])])}]}},rIIE:function(s,a,t){var l=t(\"VU/8\")(null,t(\"E9Iv\"),null,null,null);s.exports=l.exports}});"
  },
  {
    "path": "docs/js/80.ea58e0c55487a44cda81.js",
    "content": "webpackJsonp([80],{\"4+v0\":function(s,t,a){var v=a(\"VU/8\")(null,a(\"DMGn\"),null,null,null);s.exports=v.exports},DMGn:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Form\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Form-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Form\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"CubeForm is a schema-based form generator component.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"Form\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Form-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Form\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h4\",{attrs:{id:\"FormGroup\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-FormGroup-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" FormGroup\")]),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h4\",{attrs:{id:\"FormItem\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-FormItem-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" FormItem\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(6),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.7.0+\")]),s._v(\" \"),a(\"p\",[s._v(\"1.8.0+ supported trigger validating when blur and debounce. Supported async validate too because of Validator supported it.\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"default usage\")]),s._v(\" \"),a(\"p\",[s._v(\"This demo includes all cube-ui form fields.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"model\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":schema\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"schema\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":immediate-validate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"false\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validateHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submitHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@reset\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"resetHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"validity\")]),s._v(\": {},\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkboxValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"false\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkboxGroupValue\")]),s._v(\": [],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"inputValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"radioValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rateValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2018\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"switchValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"textareaValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"uploadValue\")]),s._v(\": []\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"schema\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"groups\")]),s._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'基础'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkboxValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\": {\\n                    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Checkbox'\")]),s._v(\",\\n                    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                  }\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Please check this field'\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox-group'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkboxGroupValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'CheckboxGroup'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\"]\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入'\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// validating when blur\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"trigger\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'blur'\")]),s._v(\"\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radio-group'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radioValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Radio'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\"]\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'select'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'selectValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Select'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2015\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2016\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2017\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2018\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2019\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\"]\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switchValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Switch'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textarea'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textareaValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Textarea'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// debounce validate\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// if set to true, the default debounce time will be 200(ms)\")]),s._v(\"\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"debounce\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"100\")]),s._v(\"\\n              }\\n            ]\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'高级'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rate'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rateValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Rate'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                }\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'upload'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'uploadValue'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Upload'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"events\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'file-removed'\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"...args\")]),s._v(\") =>\")]),s._v(\" {\\n                    \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'file removed'\")]),s._v(\", args)\\n                  }\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"uploaded\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"val, config\")]),s._v(\") =>\")]),s._v(\" {\\n                    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\".all(val.map(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"file, i\")]),s._v(\") =>\")]),s._v(\" {\\n                      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Promise\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"resolve, reject\")]),s._v(\") =>\")]),s._v(\" {\\n                        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (file.uploadedUrl) {\\n                          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" resolve()\\n                        }\\n                        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// fake request\")]),s._v(\"\\n                        setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n                          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i % \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\") {\\n                            reject(\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Error\")]),s._v(\"())\\n                          } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n                            file.uploadedUrl = \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'uploaded/url'\")]),s._v(\"\\n                            resolve()\\n                          }\\n                        }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n                      })\\n                    })).then(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n                      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n                    })\\n                  }\\n                },\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n                  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"uploaded\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'上传失败'\")]),s._v(\"\\n                }\\n              }\\n            ]\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Submit'\")]),s._v(\"\\n              },\\n              {\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'reset'\")]),s._v(\",\\n                \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Reset'\")]),s._v(\"\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"scrollToInvalidField\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"layout\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'standard'\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// classic fresh\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submitHandler(e) {\\n      e.preventDefault()\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\", e)\\n    },\\n    validateHandler(result) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".validity = result.validity\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".valid = result.valid\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validity'\")]),s._v(\", result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\\n    },\\n    resetHandler(e) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'reset'\")]),s._v(\", e)\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"model\")]),s._v(\" is the model/target JSON object, \"),a(\"code\",{pre:!0},[s._v(\"schema\")]),s._v(\" is the schema object with fields, if \"),a(\"code\",{pre:!0},[s._v(\"immediate-validate\")]),s._v(\" is true, we will run validation after load.\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"submit\")]),s._v(\" is the submited event, the \"),a(\"code\",{pre:!0},[s._v(\"validate\")]),s._v(\" is the form validate event and the \"),a(\"code\",{pre:!0},[s._v(\"reset\")]),s._v(\" is the form reset event.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom usage\")]),s._v(\" \"),a(\"p\",[s._v(\"You can choose to use your own custom components, or use slots to custom your logic.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"model\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@validate\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"validateHandler\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submitHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":field\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fields[0]\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":field\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fields[1]\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":field\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"fields[2]\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDatePicker\"')]),s._v(\">\")]),s._v(\"{{model.dateValue || 'Please select date'}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"date-picker\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"datePicker\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":min\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"[2008, 8, 8]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":max\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"[2020, 10, 20]\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"dateSelectHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"date-picker\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-item\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submit\"')]),s._v(\">\")]),s._v(\"Submit\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form-group\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-form\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// province, city, area\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// select component\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" PCA = {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Array\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\"() {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" []\\n      }\\n    }\\n  },\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selected\")]),s._v(\": []\\n    }\\n  },\\n  render(createElement) {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cube-button'\")]),s._v(\", {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"click\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".showPicker\\n      }\\n    }, \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selected.length ? \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selected.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\") : \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'placeholder'\")]),s._v(\")\\n  },\\n  mounted() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'PCA Select'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cityData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".value,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandler\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".picker.show()\\n    },\\n    selectHandler(selectedVal, selectedIndex, selectedTxt) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selected = selectedTxt\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$emit(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\", selectedVal)\\n    }\\n  }\\n}\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"validity\")]),s._v(\": {},\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"valid\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"undefined\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"inputValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"pcaValue\")]),s._v(\": [],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"dateValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\"\\n      },\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"props\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          }\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"component\")]),s._v(\": PCA,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'pcaValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'PCASelect'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"messages\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请选择'\")]),s._v(\"\\n          }\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'dateValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"rules\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n          }\\n        }\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submitHandler(e) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\")\\n    },\\n    validateHandler(result) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".validity = result.validity\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".valid = result.valid\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'validity'\")]),s._v(\", result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\\n    },\\n    showDatePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.datePicker.show()\\n    },\\n    dateSelectHandler(selectedVal) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".model.dateValue = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(selectedVal[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"], selectedVal[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"] - \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", selectedVal[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"]).toDateString()\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"components\")]),s._v(\": {\\n    DatePicker\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Like the \"),a(\"code\",{pre:!0},[s._v(\"PCA\")]),s._v(\" component, you can use \"),a(\"code\",{pre:!0},[s._v(\"component\")]),s._v(\" to define your custom component. Or use slots, like use DatePicker component.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Questionnaire\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use form features to build your own app, like questionnaire. Code source: https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"demo-questionnaire\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":tip\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"tip\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":questions\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"questions\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submit\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@submit\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"submitHandler\"')]),s._v(\"\\n/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// source\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire/questionnaire.vue\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" DemoQuestionnaire \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/components/questionnaire/questionnaire.vue'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"tip\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请配合如实填写问卷，确保xxxx相关文案'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"questions\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'询问是否？'\")]),s._v(\"\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// required: true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'输入'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'switch'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'date'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'date'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'日期'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// min: '2020-01-01',\")]),s._v(\"\\n            \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// max: '2020-02-18'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'time'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'time'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'时间'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'01:00'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'23:59'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'select'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'select'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'选择'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'option1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'option2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'option3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radio'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'radio'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'单选3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textarea'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'textarea'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多行文本'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"on\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选3'\")]),s._v(\"]\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"row\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'checkbox2'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横1'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横2'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'多选-横3'\")]),s._v(\"\\n          ],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tel'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'tel'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'手机号'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"placeholder\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请输入手机号'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rate'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'rate'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'级别'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"10\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'city'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'city'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'城市'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'upload'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'upload'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'上传'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"action\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'//jsonplaceholder.typicode.com/photos/'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'agreement'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"model\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'agreement'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请同意'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"link\")]),s._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'《xx协议》'\")]),s._v(\",\\n              \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"href\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'https://github.com/didi/cube-ui'\")]),s._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"desc\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'说明：本人承诺xx xxxxx xxx xx。'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"required\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"errMsg\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'请同意协议'\")]),s._v(\"\\n        }\\n      ],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"submit\")]),s._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Submit'\")]),s._v(\"\\n      }\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"components\")]),s._v(\": {\\n    DemoQuestionnaire\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    submitHandler(model) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'submit'\")]),s._v(\", model)\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"model\")]),s._v(\" \"),a(\"td\",[s._v(\"The model/target JSON object\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"schema\")]),s._v(\" \"),a(\"td\",[s._v(\"the schema object with fields\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"immediateValidate\")]),s._v(\" \"),a(\"td\",[s._v(\"If true, we will run validation after load\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"action\")]),s._v(\" \"),a(\"td\",[s._v(\"Form action value\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"undefined\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"Options for CubeForm\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{\"),a(\"br\"),s._v(\"scrollToInvalidField: false,\"),a(\"br\"),s._v(\" layout: 'standard' // or: classic\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"submitAlwaysValidate\"),a(\"sup\",[s._v(\"1.12.36+\")])]),s._v(\" \"),a(\"td\",[s._v(\"If true, we will always validate all fields when submit\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"schema\")]),s._v(\" sub configuration\")]),s._v(\" \"),a(\"p\",[s._v(\"The schema contains the fields of the form, optionally in groups.\")]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Without groups\")]),s._v(\" \"),a(\"p\",[s._v(\"Use \"),a(\"code\",{pre:!0},[s._v(\"fields\")]),s._v(\":\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\"\\n    },\\n    \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n  ]\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"With groups\")]),s._v(\" \"),a(\"p\",[s._v(\"Use \"),a(\"code\",{pre:!0},[s._v(\"groups\")]),s._v(\"：\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"{\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"groups\")]),s._v(\": [\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Group 1'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      ]\\n    },\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"legend\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Group 2'\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"fields\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'input'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"modelKey\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'inputValue'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Input'\")]),s._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// ...\")]),s._v(\"\\n      ]\\n    }\\n  ]\\n}\\n\")])])])]),s._v(\" \"),a(\"p\",[s._v(\"A field in the schema defines an input element to a value of model. The common properties of field:\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"Type of field\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"Default fields: \"),a(\"code\",{pre:!0},[s._v(\"button\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"checkbox\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"checkbox-group\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"input\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"radio\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"radio-group\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"rate\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"switch\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"textarea\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"upload\")]),s._v(\". There are two special types: \"),a(\"code\",{pre:!0},[s._v(\"submit\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"reset\")]),s._v(\", they will be transformed to the corresponding type of \"),a(\"code\",{pre:!0},[s._v(\"button\")]),s._v(\".\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"component\")]),s._v(\" \"),a(\"td\",[s._v(\"Custom filed component to replace \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\", the component should to work with \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object/String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"modelKey\")]),s._v(\" \"),a(\"td\",[s._v(\"Name of property in the \"),a(\"code\",{pre:!0},[s._v(\"form\")]),s._v(\" model\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"Label of field\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"props\")]),s._v(\" \"),a(\"td\",[s._v(\"This value will be the \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" or \"),a(\"code\",{pre:!0},[s._v(\"component\")]),s._v(\" props\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"events\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"This value will be the \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" or \"),a(\"code\",{pre:!0},[s._v(\"component\")]),s._v(\" custom events\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"rules\")]),s._v(\" \"),a(\"td\",[s._v(\"Validator rules, see \"),a(\"a\",{attrs:{href:\"#/en-US/docs/validator#cube-Props-anchor\"}},[s._v(\"Validator\")])]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"trigger\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"If set to 'blur' then will be validate this filed when blur\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"blur/change\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"debounce\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"Debounce validating time(ms). If \"),a(\"code\",{pre:!0},[s._v(\"trigger\")]),s._v(\" is 'blur' then the debounce will be ignored\")]),s._v(\" \"),a(\"td\",[s._v(\"Number/Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\">= 0, if set to true the time will be 200(ms)\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"messages\")]),s._v(\" \"),a(\"td\",[s._v(\"Validator messages, see \"),a(\"a\",{attrs:{href:\"#/en-US/docs/validator#cube-Props-anchor\"}},[s._v(\"Validator\")])]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"key\"),a(\"sup\",[s._v(\"1.12.36+\")])]),s._v(\" \"),a(\"td\",[s._v(\"field union key\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" sub configuration\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"scrollToInvalidField\")]),s._v(\" \"),a(\"td\",[s._v(\"Whether to scroll to the first invalid fileld by default\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"layout\")]),s._v(\" \"),a(\"td\",[s._v(\"Form layout style\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"standard/classic/fresh\")]),s._v(\" \"),a(\"td\",[s._v(\"standard\")])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"legend\")]),s._v(\" \"),a(\"td\",[s._v(\"Group legend\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"fields\")]),s._v(\" \"),a(\"td\",[s._v(\"Group fields\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"field\")]),s._v(\" \"),a(\"td\",[s._v(\"Field value\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"submit\")]),s._v(\" \"),a(\"td\",[s._v(\"Form submit, only trigged when the form's validation is ok. If only have sync validators, this event will not be prevented by default. If have async validators, this event will be prevented by default.\")]),s._v(\" \"),a(\"td\",[s._v(\"e - event\")]),s._v(\" \"),a(\"td\",[s._v(\"form model value\")]),s._v(\" \"),a(\"td\",[s._v(\"form model value with only fields \"),a(\"code\",{pre:!0},[s._v(\"modelKey\")]),a(\"sup\",[s._v(\"1.12.30+\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"reset\")]),s._v(\" \"),a(\"td\",[s._v(\"Form reset\")]),s._v(\" \"),a(\"td\",[s._v(\"e - event\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"validate\")]),s._v(\" \"),a(\"td\",[s._v(\"Form validated\")]),s._v(\" \"),a(\"td\",[s._v(\"Properties: \"),a(\"br\"),s._v(\"{\"),a(\"br\"),s._v(\"validity,\"),a(\"br\"),s._v(\" valid,\"),a(\"br\"),s._v(\" invalid,\"),a(\"br\"),s._v(\" dirty,\"),a(\"br\"),s._v(\" firstInvalidFieldIndex\"),a(\"br\"),s._v(\"}\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"valid\")]),s._v(\" \"),a(\"td\",[s._v(\"Form valid\")]),s._v(\" \"),a(\"td\",[s._v(\"Validity result\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"invalid\")]),s._v(\" \"),a(\"td\",[s._v(\"Form invalid\")]),s._v(\" \"),a(\"td\",[s._v(\"Validity result\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"validate\")]),s._v(\" event parameters\")]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"validity\")]),s._v(\" \"),a(\"td\",[s._v(\"Validity result\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"valid\")]),s._v(\" \"),a(\"td\",[s._v(\"Validity check, if not verified this value will be undefined, once checked this value will be true or false\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Undefined\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"invalid\")]),s._v(\" \"),a(\"td\",[s._v(\"Validity check, if not verified this value will be undefined, once checked this value will be true or false\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"dirty\")]),s._v(\" \"),a(\"td\",[s._v(\"When the form model changed then the form's dirty is true\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"firstInvalidFieldIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"First invalid field index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")])])])]),s._v(\" \"),a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Validity result \"),a(\"code\",{pre:!0},[s._v(\"validity\")])]),s._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"valid\")]),s._v(\" \"),a(\"td\",[s._v(\"Is valid or not\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean/Undefined\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"result\")]),s._v(\" \"),a(\"td\",[s._v(\"Result, eg: \"),a(\"br\"),s._v(\"{\"),a(\"br\"),s._v(\" required: {\"),a(\"br\"),s._v(\"  valid: false,\"),a(\"br\"),s._v(\"  invalid: true,\"),a(\"br\"),s._v(\"  message: 'Required.'\"),a(\"br\"),s._v(\" }\"),a(\"br\"),s._v(\"}\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"dirty\")]),s._v(\" \"),a(\"td\",[s._v(\"The form model is changed or not\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters\")]),s._v(\" \"),a(\"th\",[s._v(\"Returned value\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"submit\")]),s._v(\" \"),a(\"td\",[s._v(\"submit form\")]),s._v(\" \"),a(\"td\",[s._v(\"skipValidate: default \"),a(\"code\",{pre:!0},[s._v(\"false\")]),s._v(\", if skipValidate is \"),a(\"code\",{pre:!0},[s._v(\"true\")]),s._v(\" then will be trigged submit event without validating\"),a(\"sup\",[s._v(\"1.12.2+\")])]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"reset\")]),s._v(\" \"),a(\"td\",[s._v(\"reset form\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"validate(cb)\")]),s._v(\" \"),a(\"td\",[s._v(\"validate form\")]),s._v(\" \"),a(\"td\",[s._v(\"cb: validated callback function, used to async validating cases normally. The arguments is the \"),a(\"code\",{pre:!0},[s._v(\"valid\")]),s._v(\" value\")]),s._v(\" \"),a(\"td\",[s._v(\"If supported Promise then the returned value will be Promise instance(Only have resolved state, the resolved value is \"),a(\"code\",{pre:!0},[s._v(\"valid\")]),s._v(\"), otherwise the returned value is \"),a(\"code\",{pre:!0},[s._v(\"undefined\")])])])])])}]}},nzGO:function(s,t,a){s.exports=a(\"4+v0\")}});"
  },
  {
    "path": "docs/js/81.dcf4c2075ca1e5efdd88.js",
    "content": "webpackJsonp([81],{\"/qwp\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Drawer\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Drawer-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Drawer\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"Drawer, this component is used to select item in many items, it used full-page panels to interaction normally.\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Demo\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Demo-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Demo\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Props\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props\")]),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeDrawer\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeDrawer-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeDrawer\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeDrawerPanel\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeDrawerPanel-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeDrawerPanel\")]),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h4\",{attrs:{id:\"CubeDrawerItem\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeDrawerItem-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeDrawerItem\")]),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.7.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Drawer component's container element should be be a relative or absolute position element.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Default usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDrawer\"')]),s._v(\">\")]),s._v(\"Show Drawer\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"drawer\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"请选择\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":selected-index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedIndex\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@cancel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cancelHandler\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../../data/area'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n        provinceList,\\n        [],\\n        []\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDrawer() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.show()\\n    },\\n    changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// fake request\")]),s._v(\"\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"let\")]),s._v(\" data\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (index === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// procince change, get city data\")]),s._v(\"\\n          data = cityList[item.value]\\n        } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"else\")]),s._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// city change, get area data\")]),s._v(\"\\n          data = areaList[item.value]\\n        }\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// refill panel(index + 1) data\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.refill(index + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", data)\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"200\")]),s._v(\")\\n    },\\n    selectHandler(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cancel'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"title\")]),s._v(\" is the drawer's title, optional; \"),a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" source, an array with array items; \"),a(\"code\",{pre:!0},[s._v(\"selected-index\")]),s._v(\" is the initial index of the selected value; \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"select\")]),s._v(\"、\"),a(\"code\",{pre:!0},[s._v(\"cancel\")]),s._v(\" are events: when selected item changed (the selected item is not in the last Panel)、when selected one item (the item is in the last Panel)、cancel (when clicked the left empty area).\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use Drawer's \"),a(\"code\",{pre:!0},[s._v(\"fill\")]),s._v(\" method to update next Panel's data.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Custom usage\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use slots to define your own HTML structure.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"ref\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"drawer\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"data\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":selected-index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectedIndex\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@change\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"changeHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@select\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"selectHandler\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@cancel\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cancelHandler\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"slot\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"title\"')]),s._v(\">\")]),s._v(\"{{province.text}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-panel\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(panel, index) in data\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"index\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":data\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"panel\"')]),s._v(\"\\n  >\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-item\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"(item, i) in panel\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":item\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"i\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":index\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"i\"')]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cubeic-round-border\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"{{item.text}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-item\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer-panel\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-drawer\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'../../data/area'\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"province\")]),s._v(\": {},\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": [\\n        [],\\n        []\\n      ]\\n    }\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDrawer() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// get radom province\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" randomIndex = \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".round(\"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Math\")]),s._v(\".random() * provinceList.length)\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" randomProvince = provinceList[randomIndex]\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".province = randomProvince\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.refill(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", cityList[randomProvince.value])\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.show()\\n    },\\n    changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// city change, get area data\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" data = areaList[item.value]\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$refs.drawer.refill(index + \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", data)\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"200\")]),s._v(\")\\n    },\\n    selectHandler(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandler() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"console\")]),s._v(\".log(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cancel'\")]),s._v(\")\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"cube-drawer-panel\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"cube-drawer-item\")]),s._v(\" in \"),a(\"code\",{pre:!0},[s._v(\"cube-drawer\")]),s._v(\".\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"data source\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"selectedIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"initial selected index\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" sub configuration\")]),s._v(\" \"),a(\"p\",[s._v(\"It is an array and it's items is Array too, eg:\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s._v(\"[\\n  [\\n    {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'text'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'value'\")]),s._v(\"\\n    },\\n    ...\\n  ],\\n  [\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'text'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'text2'\")]),s._v(\",\\n    ...\\n  ]\\n]\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"data source\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"index\")]),s._v(\" \"),a(\"td\",[s._v(\"the data source index in CubeDrawer's data\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-1\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"item data\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"index\")]),s._v(\" \"),a(\"td\",[s._v(\"the item index in CubeDrawerPanel's data\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-1\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 4\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 5\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"when selected item changed (the selected item is not in the last Panel)\")]),s._v(\" \"),a(\"td\",[s._v(\"current Panel index\")]),s._v(\" \"),a(\"td\",[s._v(\"changed item\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: Array, selected item values of each panels\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Array, selected indexes of each panels\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: Array, texts of each columns in current selected item\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"when selected one item (the item is in the last Panel)\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: Array, selected item values of each panels\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Array, selected indexes of each panels\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: Array, texts of each columns in current selected item\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"when clicked the left empty area\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"refill\")]),s._v(\" \"),a(\"td\",[s._v(\"refill data, change one Panel's data source\")]),s._v(\" \"),a(\"td\",[s._v(\"the Panel index\")]),s._v(\" \"),a(\"td\",[s._v(\"the data source\")]),s._v(\" \"),a(\"td\",[s._v(\"default selected index (Optional, recommended do not specify a value)\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])}]}},\"7tBj\":function(s,t,a){var e=a(\"VU/8\")(null,a(\"/qwp\"),null,null,null);s.exports=e.exports},DOGQ:function(s,t,a){s.exports=a(\"7tBj\")}});"
  },
  {
    "path": "docs/js/82.661e3976ba4e39135fef.js",
    "content": "webpackJsonp([82],{LriO:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Dialog\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Dialog-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Dialog\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),t._m(6),t._v(\" \"),t._m(7),t._v(\" \"),a(\"h3\",{attrs:{id:\"Slot\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Slot-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Slot\")]),t._v(\" \"),t._m(8),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(9),t._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Instance methods\")]),t._v(\" \"),t._m(10)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"Dialog\")]),t._v(\" modal component，provides various styles and interactions.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"strong\",[t._v(\"Notice:\")]),t._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\" first.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Alert type\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showAlert\"')]),t._v(\">\")]),t._v(\"Dialog - alert\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showAlert() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'i am title'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'i am content'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[t._v(\"type\")]),t._v(\" will be one of the following: \"),a(\"code\",{pre:!0},[t._v(\"alert\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"confirm\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"prompt\")]),t._v(\" \"),a(\"sup\",[t._v(\"1.11.0\")]),t._v(\".\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Prompt type\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showPrompt\"')]),t._v(\">\")]),t._v(\"Dialog - prompt\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showAlert() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".dialog = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'prompt'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"prompt\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'请输入'\")]),t._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onConfirm\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"e, promptValue\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Prompt value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${promptValue || \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"}\")]),t._v(\"`\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"You can get prompt input value in confirm event handler. And \"),a(\"code\",{pre:!0},[t._v(\"prompt\")]),t._v(\" value will be passed to \"),a(\"a\",{attrs:{href:\"#/en-US/docs/input\"}},[t._v(\"Input component\")]),t._v(\" as props.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Button configuration\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showBtn\"')]),t._v(\">\")]),t._v(\"Dialog - btn\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showBtn() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'confirm'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'i am title'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'i am content'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"confirmBtn\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"text\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'confirm'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"href\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'javascript:;'\")]),t._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"cancelBtn\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"text\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cancel'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"href\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'javascript:;'\")]),t._v(\"\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onConfirm\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'点击确认按钮'\")]),t._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onCancel\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'点击取消按钮'\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"Button configuration(\"),a(\"code\",{pre:!0},[t._v(\"confirmBtn\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"cancelBtn\")]),t._v(\") can be \"),a(\"code\",{pre:!0},[t._v(\"String\")]),t._v(\" or \"),a(\"code\",{pre:!0},[t._v(\"Object\")]),t._v(\" type. When given an Object, \"),a(\"code\",{pre:!0},[t._v(\"text\")]),t._v(\" can be used to set button content，\"),a(\"code\",{pre:!0},[t._v(\"active\")]),t._v(\" is used to set button highlight state，\"),a(\"code\",{pre:!0},[t._v(\"disabled\")]),t._v(\" is used to set button disabled state，\"),a(\"code\",{pre:!0},[t._v(\"href\")]),t._v(\" is used to set the link that will be jumped to when the button is clicked.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Show close button\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showClose\"')]),t._v(\">\")]),t._v(\"Dialog - show close\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showClose() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cubeic-alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"showClose\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'title'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onClose\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'the close button has been clicked'\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"You can change \"),a(\"code\",{pre:!0},[t._v(\"showClose\")]),t._v(\" to decide whether to show the close button. The \"),a(\"code\",{pre:!0},[t._v(\"close\")]),t._v(\" event will be dispatched when the close button is clicked and the \"),a(\"code\",{pre:!0},[t._v(\"onClose\")]),t._v(\" callback will be invoked if it is configured.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Slot\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showSlot\"')]),t._v(\">\")]),t._v(\"Dialog - slot\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showSlot() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'alert'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"confirmBtn\")]),t._v(\": {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"text\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'got it'\")]),t._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n        }\\n      }, (createElement) => {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" [\\n          createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'div'\")]),t._v(\", {\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'class'\")]),t._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'my-title'\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'title'\")]),t._v(\"\\n          }, [\\n            createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'div'\")]),t._v(\", {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'class'\")]),t._v(\": {\\n                \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'my-title-img'\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n              }\\n            }),\\n            createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'p'\")]),t._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'custom title'\")]),t._v(\")\\n          ]),\\n          createElement(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'p'\")]),t._v(\", {\\n            \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'class'\")]),t._v(\": {\\n              \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'my-content'\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n            },\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'content'\")]),t._v(\"\\n          }, \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'custom content'\")]),t._v(\")\\n        ]\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"The second parameter of \"),a(\"code\",{pre:!0},[t._v(\"$createDialog\")]),t._v(\" is \"),a(\"a\",{attrs:{href:\"https://vuejs.org/v2/guide/render-function.html\"}},[t._v(\"render function\")]),t._v(\", generally it is used to handle slots. Dialog component provides 2 named slots \"),a(\"code\",{pre:!0},[t._v(\"title\")]),t._v(\" and \"),a(\"code\",{pre:!0},[t._v(\"content\")]),t._v(\" which are used to distribute title and content.\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"type\")]),t._v(\" \"),a(\"td\",[t._v(\"dialog type\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"alert / confirm / prompt\"),a(\"sup\",[t._v(\"1.11.0\")])]),t._v(\" \"),a(\"td\",[t._v(\"alert\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"icon\")]),t._v(\" \"),a(\"td\",[t._v(\"icon class name\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[a(\"a\",{attrs:{href:\"#/en-US/docs/style\"}},[t._v(\"refer to built-in icons in style module\")])]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"showClose\")]),t._v(\" \"),a(\"td\",[t._v(\"whether to show close button\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"confirmBtn\")]),t._v(\" \"),a(\"td\",[t._v(\"confirm button configuration\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"{ text: '确定', active: true, href: 'javascript:;' }\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancelBtn\")]),t._v(\" \"),a(\"td\",[t._v(\"cancel button configuration\")]),t._v(\" \"),a(\"td\",[t._v(\"Object/String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"{ text: '取消', active: false, href: 'javascript:;' }\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"visible\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[t._v(\"v-model\")])]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maskClosable\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether hide the component when clicked the mask layer\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"zIndex\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"the value of the style z-index\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"100\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"prompt\"),a(\"sup\",[t._v(\"1.11.0\")])]),t._v(\" \"),a(\"td\",[t._v(\"prompt config, all \"),a(\"a\",{attrs:{href:\"#/en-US/docs/input\"}},[t._v(\"Input component's\")]),t._v(\"props\")]),t._v(\" \"),a(\"td\",[t._v(\"Object\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"{}\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"confirmBtn\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"text\")]),t._v(\" \"),a(\"td\",[t._v(\"button text\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'确认'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"whether to highlight\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"whether to disabled button\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"href\")]),t._v(\" \"),a(\"td\",[t._v(\"the link that will be jumped to when the button is clicked\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'javascript:;'\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"cancelBtn\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"text\")]),t._v(\" \"),a(\"td\",[t._v(\"button text\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'取消'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"whether highlight\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"whether to disabled button\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"href\")]),t._v(\" \"),a(\"td\",[t._v(\"the link that will be jumped to when the button is clicked\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'javascript:;'\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Scope Parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 1\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 2\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"confirm\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the confirm button is clicked\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event target\")]),t._v(\" \"),a(\"td\",[t._v(\"the prompt input value when \"),a(\"code\",{pre:!0},[t._v(\"type\")]),t._v(\" is \"),a(\"code\",{pre:!0},[t._v(\"'prompt'\")]),a(\"sup\",[t._v(\"1.11.0\")])])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancel\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the cancel button is clicked\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event target\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"close\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the close button is clicked\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event target\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Method name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"show\")]),t._v(\" \"),a(\"td\",[t._v(\"show\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"hide\")]),t._v(\" \"),a(\"td\",[t._v(\"hide\")])])])])}]}},fF0o:function(t,s,a){var v=a(\"VU/8\")(null,a(\"LriO\"),null,null,null);t.exports=v.exports},gPPJ:function(t,s,a){t.exports=a(\"fF0o\")}});"
  },
  {
    "path": "docs/js/83.05cabda29bb21d2b7ba2.js",
    "content": "webpackJsonp([83],{\"6Rwf\":function(s,t,a){s.exports=a(\"lqZM\")},\"G+k3\":function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"DatePicker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-DatePicker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" DatePicker\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"p\",[s._v(\"DatePicker can be used to choose date, which has flexible configuration for time granularity, such as year - month - date, hour - minute - second, year - month - date - hour - minute - second, year - month, etc.\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Methods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Methods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Methods\")]),s._v(\" \"),s._m(7)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.7.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"You can create a component instance by \"),a(\"code\",{pre:!0},[s._v(\"$createDatePicker\")]),s._v(\", and configure \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\", \"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" to set the selected date range. the \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" could use to set the current selected date.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDatePicker\"')]),s._v(\">\")]),s._v(\"Date Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDatePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".datePicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".datePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".datePicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Column configuration\")]),s._v(\" \"),a(\"p\",[s._v(\"Though column configuration, \"),a(\"code\",{pre:!0},[s._v(\"DatePicker\")]),s._v(\" get the power of flexible time granularity. There are six columns in total: year, month, date, hour, minute and second. You can configure the starting column and the count of columns by \"),a(\"code\",{pre:!0},[s._v(\"startColumn\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"columnCount\")]),s._v(', such as the default \"year - month - date\" picker is \"three column\" starting from \"year\", and \"hour - minute - second\" picker is the \"three column\" starting from \"time\".')]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showTimePicker\"')]),s._v(\">\")]),s._v(\"Time Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showTimePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".timePicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".timePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Time Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\"],\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"startColumn\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'hour'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".timePicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"year-month-date-hour-minute-second\")]),s._v(\" \"),a(\"p\",[s._v('Similarly, if you want year-month-date-hour-minute-second picker, just \"six columns\" starting from \"year\"')]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showDateTimePicker\"')]),s._v(\">\")]),s._v(\"Date Time Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showDateTimePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateTimePicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateTimePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date Time Picker'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"59\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"columnCount\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"6\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".dateTimePicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Format\")]),s._v(\" \"),a(\"p\",[s._v(\"You can also configure the date format by the property \"),a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\".\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showFormatPicker\"')]),s._v(\">\")]),s._v(\"Use format\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showFormatPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use format'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"format\")]),s._v(\": {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"year\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'YY年'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"month\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'MM月'\")]),s._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"date\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'第 D 日'\")]),s._v(\"\\n          },\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".formatPicker.show()\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"columnOrder\")]),s._v(\" \"),a(\"sup\",[s._v(\"1.12.14\")])]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"columnOrder\")]),s._v(\" can be used to change the display order in case where the order is not 'Year-Month-Date Hour-Minute-Second'. For example, we can set the \"),a(\"code\",{pre:!0},[s._v(\"columnOrder\")]),s._v(\" to \"),a(\"code\",{pre:!0},[s._v(\"['month', 'date', 'year']\")]),s._v(\" for the display order of 'Month-Date-Year'.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showChangeOrderPicker\"')]),s._v(\">\")]),s._v(\"Date Picker(Change order)\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showChangeOrderPicker() {\\n       \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".changeOrderPicker) {\\n         \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".changeOrderPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Date Picker'\")]),s._v(\",\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"columnOrder\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'month'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'date'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'year'\")]),s._v(\"],\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n           \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n         })\\n       }\\n       \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".changeOrderPicker.show()\\n     }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[a(\"code\",{pre:!0},[s._v(\"$updateProps\")])]),s._v(\" \"),a(\"p\",[s._v(\"With the \"),a(\"code\",{pre:!0},[s._v(\"$updateProps\")]),s._v(\" method, you can modify the properties of component instances created by createAPI. For example, in \"),a(\"code\",{pre:!0},[s._v(\"DatePicker\")]),s._v(\", we can modify the value of \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" attribute to change the date currently selected.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showUpdatePropsPicker\"')]),s._v(\">\")]),s._v(\"Use $updateProps\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showUpdatePropsPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (!\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker) {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDatePicker({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Use $updateProps'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"min\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2008\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"7\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"8\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"max\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2020\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"20\")]),s._v(\"),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(),\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n        })\\n      }\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".updatePropsPicker.$updateProps({\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'updated'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"new\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-built_in\"}},[s._v(\"Date\")]),s._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2010\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"9\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\")\\n        })\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    },\\n    selectHandle(date, selectedVal, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - date: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${date}\")]),s._v(\" <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")]),s._v(\" \"),a(\"th\",[s._v(\"Example\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"min\")]),s._v(\" \"),a(\"td\",[s._v(\"the minimum value of optional range\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date(2010, 0, 1)\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date(2008, 7, 8)\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"the maximum value of optional range\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"December 31 of next year based on current time [new Date().getFullYear() + 1, 12, 31, 23, 59, 59]\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date(2020, 9, 20)\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"current selected Date\")]),s._v(\" \"),a(\"td\",[s._v(\"Date, Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"the minimum value of optional range\")]),s._v(\" \"),a(\"td\",[s._v(\"new Date()\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"startColumn\")]),s._v(\" \"),a(\"td\",[s._v(\"the start column\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"year/month/date/hour/minute/second\")]),s._v(\" \"),a(\"td\",[s._v(\"year\")]),s._v(\" \"),a(\"td\",[s._v(\"hour\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"columnCount\")]),s._v(\" \"),a(\"td\",[s._v(\"the count of column\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"3\")]),s._v(\" \"),a(\"td\",[s._v(\"6\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"format\"),a(\"sup\",[s._v(\"1.8.0+\")])]),s._v(\" \"),a(\"td\",[s._v(\"date format\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"{ year: 'YYYY', month: 'M', date: 'D', hour: 'hh', minute: 'mm', second: 'ss' }\")]),s._v(\" \"),a(\"td\",[s._v(\"{ year: 'YY年', month: 'MM月', date: '第 D 日' }\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"subtitle\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether hide the component when clicked the mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"columnOrder\"),a(\"sup\",[s._v(\"1.12.14\")])]),s._v(\" \"),a(\"td\",[s._v(\"display order\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"['year', 'month', 'date', 'hour', 'minute', 'second']\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"format\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")]),s._v(\" \"),a(\"th\",[s._v(\"Example\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"year\")]),s._v(\" \"),a(\"td\",[s._v(\"the format of year, \"),a(\"code\",{pre:!0},[s._v(\"YYYY\")]),s._v(\" represent full year，\"),a(\"code\",{pre:!0},[s._v(\"YY\")]),s._v(\" only last two digit of year\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"YYYY\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"YY年\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"month\")]),s._v(\" \"),a(\"td\",[s._v(\"the format of month, \"),a(\"code\",{pre:!0},[s._v(\"M\")]),s._v(\" don't pad 0，\"),a(\"code\",{pre:!0},[s._v(\"MM\")]),s._v(\" pad 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"M\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"MM月\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"date\")]),s._v(\" \"),a(\"td\",[s._v(\"the format of date, \"),a(\"code\",{pre:!0},[s._v(\"D\")]),s._v(\" don't pad 0，\"),a(\"code\",{pre:!0},[s._v(\"DD\")]),s._v(\" pad 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"D\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"第 D 日\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hour\")]),s._v(\" \"),a(\"td\",[s._v(\"the format of hour, \"),a(\"code\",{pre:!0},[s._v(\"h\")]),s._v(\" don't pad 0，\"),a(\"code\",{pre:!0},[s._v(\"hh\")]),s._v(\" pad 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"hh\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"h点\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"minute\")]),s._v(\" \"),a(\"td\",[s._v(\"the format of minute, \"),a(\"code\",{pre:!0},[s._v(\"m\")]),s._v(\" don't pad 0，\"),a(\"code\",{pre:!0},[s._v(\"mm\")]),s._v(\" pad 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"mm\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"mm分\")])])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"second\")]),s._v(\" \"),a(\"td\",[s._v(\"the format of second, \"),a(\"code\",{pre:!0},[s._v(\"s\")]),s._v(\" don't pad 0，\"),a(\"code\",{pre:!0},[s._v(\"ss\")]),s._v(\" pad 0\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"ss\")])]),s._v(\" \"),a(\"td\",[a(\"code\",{pre:!0},[s._v(\"ss秒\")])])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"date: Date, the selected date\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: Array, the selected value\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: Array, the selected text\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the roller scrolls\")]),s._v(\" \"),a(\"td\",[s._v(\"index: Number, index of current scrolling roller\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Number, index of selected item in current column\")]),s._v(\" \"),a(\"td\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")])])])])}]}},lqZM:function(s,t,a){var e=a(\"VU/8\")(null,a(\"G+k3\"),null,null,null);s.exports=e.exports}});"
  },
  {
    "path": "docs/js/84.c806b6eaf1522e4fbc07.js",
    "content": "webpackJsonp([84],{\"3JND\":function(e,t,s){var a=s(\"VU/8\")(null,s(\"3OQM\"),null,null,null);e.exports=a.exports},\"3OQM\":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"section\",[s(\"h2\",{attrs:{id:\"create-apimodule\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-create-apimodule-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" create-api module\")]),e._v(\" \"),e._m(0),e._v(\" \"),e._m(1),e._v(\" \"),s(\"h3\",{attrs:{id:\"createAPI(Vue,Component,[events,single])\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-createAPI(Vue,Component,[events,single])-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" createAPI(Vue, Component, [events, single])\")]),e._v(\" \"),e._m(2),e._v(\" \"),s(\"h3\",{attrs:{id:\"HowtouseingeneralJSfilesoruseitinglobal\"}},[s(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-HowtouseingeneralJSfilesoruseitinglobal-anchor\",\"aria-hidden\":\"true\"}},[s(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[s(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),e._v(\" How to use in general JS files or use it in global\")]),e._v(\" \"),e._m(3),e._v(\" \"),e._m(4),e._v(\" \"),s(\"p\",[e._v(\"Or components in cube-ui, like Dialog:\")]),e._v(\" \"),e._m(5),e._v(\" \"),s(\"p\",[e._v(\"There is another idea which used the mode of data-driven. For example, in vuex, you could use a global state to label whether to call the component, and watch this state in App.vue to handle this component.\")])])},staticRenderFns:[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"p\",[e._v(\"This module exports a function called \"),s(\"code\",{pre:!0},[e._v(\"createAPI\")]),e._v(\" with which you can invoke the custom component which has been instantiated in api form. And It could be called both in Vue instance context and \"),s(\"a\",{attrs:{href:\"https://didi.github.io/cube-ui/#/en-US/docs/create-api#cube-HowtouseingeneralJSfilesoruseitinglobal-anchor\"}},[e._v(\"general js file\")]),e._v(\".\")])},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"p\",[s(\"strong\",[e._v(\"Notice:\")]),e._v(\" All cube-ui componnets which used \"),s(\"code\",{pre:!0},[e._v(\"createAPI\")]),e._v(\" must be registered by \"),s(\"code\",{pre:!0},[e._v(\"Vue.use\")]),e._v(\".\")])},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"ul\",[s(\"li\",[s(\"p\",[e._v(\"Parameters:\")]),e._v(\" \"),s(\"ul\",[s(\"li\",[s(\"code\",{pre:!0},[e._v(\"{Function} Vue\")]),e._v(\" Vue function\")]),e._v(\" \"),s(\"li\",[s(\"code\",{pre:!0},[e._v(\"{Function | Object} Component\")]),e._v(\" Vue component which must contains \"),s(\"code\",{pre:!0},[e._v(\"name\")])]),e._v(\" \"),s(\"li\",[s(\"code\",{pre:!0},[e._v(\"{Array} [events]\")]),e._v(\" the collection of the instantiated Vue Component's event name\")]),e._v(\" \"),s(\"li\",[s(\"code\",{pre:!0},[e._v(\"{Boolean} [single]\")]),e._v(\" whether singleton\")])])]),e._v(\" \"),s(\"li\",[s(\"p\",[e._v(\"Usage:\")]),e._v(\" \"),s(\"ul\",[s(\"li\",[s(\"p\",[e._v(\"This method will add a method which is named \"),s(\"code\",{pre:!0},[e._v(\"$create{camelize(Component.name)}\")]),e._v(\" to Vue's prototype, so you can instantiate the Vue component by \"),s(\"code\",{pre:!0},[e._v(\"const instance = this.$createAaBb(config, [renderFn, single])\")]),e._v(\" in other components. The instantiated component's template content will be attached to \"),s(\"code\",{pre:!0},[e._v(\"body\")]),e._v(\" element.\")])]),e._v(\" \"),s(\"li\",[s(\"p\",[s(\"code\",{pre:!0},[e._v(\"const instance = this.$createAaBb(config, renderFn, single)\")])]),e._v(\" \"),s(\"p\",[s(\"strong\",[e._v(\"Parameters：\")])]),e._v(\" \"),s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[e._v(\"Attribute\")]),e._v(\" \"),s(\"th\",[e._v(\"Description\")]),e._v(\" \"),s(\"th\",[e._v(\"Type\")]),e._v(\" \"),s(\"th\",[e._v(\"Accepted Values\")]),e._v(\" \"),s(\"th\",[e._v(\"Default\")])])]),e._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[e._v(\"config\")]),e._v(\" \"),s(\"td\",[e._v(\"Config options\")]),e._v(\" \"),s(\"td\",[e._v(\"Object\")]),e._v(\" \"),s(\"td\",[e._v(\"{}\")]),e._v(\" \"),s(\"td\",[e._v(\"-\")])]),e._v(\" \"),s(\"tr\",[s(\"td\",[e._v(\"renderFn\")]),e._v(\" \"),s(\"td\",[e._v(\"Optional, used to generate the VNode child node in the slot scene in general\")]),e._v(\" \"),s(\"td\",[e._v(\"Function\")]),e._v(\" \"),s(\"td\",[e._v(\"-\")]),e._v(\" \"),s(\"td\",[e._v(\"function (createElement) {...}\")])]),e._v(\" \"),s(\"tr\",[s(\"td\",[e._v(\"single\")]),e._v(\" \"),s(\"td\",[e._v(\"Optional, whether the instantiated component is a singleton or not. If two parameters are provided and the \"),s(\"code\",{pre:!0},[e._v(\"renderFn\")]),e._v(\"'s type is not function, then the \"),s(\"code\",{pre:!0},[e._v(\"single\")]),e._v(\" value is the sencond parameter's value.\")]),e._v(\" \"),s(\"td\",[e._v(\"Boolean\")]),e._v(\" \"),s(\"td\",[e._v(\"single in createAPI()\")]),e._v(\" \"),s(\"td\",[e._v(\"-\")])])])]),e._v(\" \"),s(\"p\",[s(\"strong\",[e._v(\"Config options \"),s(\"code\",{pre:!0},[e._v(\"config\")]),e._v(\":\")])]),e._v(\" \"),s(\"p\",[e._v(\"It will be passed to the component as its props except the events in \"),s(\"code\",{pre:!0},[e._v(\"events\")]),e._v(\"(It will transform by default, eg: If \"),s(\"code\",{pre:!0},[e._v(\"events\")]),e._v(\" has value \"),s(\"code\",{pre:!0},[e._v(\"['click']\")]),e._v(\", then the prop \"),s(\"code\",{pre:!0},[e._v(\"onClick\")]),e._v(\" will be treated as component's event and not component's props).\")]),e._v(\" \"),s(\"p\",[e._v(\"After 1.8.0+, you can set \"),s(\"code\",{pre:!0},[e._v(\"$props\")]),e._v(\" and \"),s(\"code\",{pre:!0},[e._v(\"$events\")]),e._v(\" in \"),s(\"code\",{pre:!0},[e._v(\"config\")]),e._v(\", \"),s(\"code\",{pre:!0},[e._v(\"$props\")]),e._v(\" supported reactive properties, these props will be watched.\")]),e._v(\" \"),s(\"table\",[s(\"thead\",[s(\"tr\",[s(\"th\",[e._v(\"Attribute\")]),e._v(\" \"),s(\"th\",[e._v(\"Description\")]),e._v(\" \"),s(\"th\",[e._v(\"Type\")]),e._v(\" \"),s(\"th\",[e._v(\"Accepted Values\")]),e._v(\" \"),s(\"th\",[e._v(\"Default\")])])]),e._v(\" \"),s(\"tbody\",[s(\"tr\",[s(\"td\",[e._v(\"$props\")]),e._v(\" \"),s(\"td\",[e._v(\"Component props\")]),e._v(\" \"),s(\"td\",[e._v(\"Object\")]),e._v(\" \"),s(\"td\",[e._v(\"-\")]),e._v(\" \"),s(\"td\",[e._v(\"{\"),s(\"br\"),e._v(\" title: 'title',\"),s(\"br\"),e._v(\" content: 'my content',\"),s(\"br\"),e._v(\" open: false\"),s(\"br\"),e._v(\"}\")])]),e._v(\" \"),s(\"tr\",[s(\"td\",[e._v(\"$events\")]),e._v(\" \"),s(\"td\",[e._v(\"Component event handlers\")]),e._v(\" \"),s(\"td\",[e._v(\"Object\")]),e._v(\" \"),s(\"td\",[e._v(\"-\")]),e._v(\" \"),s(\"td\",[e._v(\"{\"),s(\"br\"),e._v(\" click: 'clickHandler',\"),s(\"br\"),e._v(\" select: this.selectHandler\"),s(\"br\"),e._v(\"}\")])])])]),e._v(\" \"),s(\"p\",[s(\"code\",{pre:!0},[e._v(\"$props\")]),e._v(\" example, \"),s(\"code\",{pre:!0},[e._v(\"{ [key]: [propKey] }\")]),e._v(\":\")]),e._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[e._v(\"{\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"title\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'title'\")]),e._v(\",\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"content\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'my content'\")]),e._v(\",\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"open\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[e._v(\"false\")]),e._v(\"\\n}\\n\")])]),e._v(\" \"),s(\"p\",[s(\"code\",{pre:!0},[e._v(\"title\")]),e._v(\", \"),s(\"code\",{pre:!0},[e._v(\"content\")]),e._v(\" and \"),s(\"code\",{pre:!0},[e._v(\"open\")]),e._v(\" are keys of the component prop, and the prop' value will be taken by the following steps:\")]),e._v(\" \"),s(\"ol\",[s(\"li\",[e._v(\"If \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" is not a string value, then use \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" as the prop value.\")]),e._v(\" \"),s(\"li\",[e._v(\"If \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" is a string value and the caller instance dont have the \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" property, then use \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" as the prop value.\")]),e._v(\" \"),s(\"li\",[e._v(\"If \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" is a string value and the caller instance have the \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" property, then use the caller's \"),s(\"code\",{pre:!0},[e._v(\"propKey\")]),e._v(\" property value as the prop value. And the prop value will be reactively.\")])]),e._v(\" \"),s(\"p\",[s(\"code\",{pre:!0},[e._v(\"$events\")]),e._v(\" example, \"),s(\"code\",{pre:!0},[e._v(\"{ [eventName]: [eventValue] }\")]),e._v(\":\")]),e._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[e._v(\"{\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"click\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'clickHandler'\")]),e._v(\",\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"select\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".selectHandler\\n}\\n\")])]),e._v(\" \"),s(\"p\",[s(\"code\",{pre:!0},[e._v(\"click\")]),e._v(\" and \"),s(\"code\",{pre:!0},[e._v(\"select\")]),e._v(\" are event names, and the event handlers will be taken by the following steps:\")]),e._v(\" \"),s(\"ol\",[s(\"li\",[e._v(\"If \"),s(\"code\",{pre:!0},[e._v(\"eventValue\")]),e._v(\" is not a string value, then use \"),s(\"code\",{pre:!0},[e._v(\"eventValue\")]),e._v(\" as the event handler.\")]),e._v(\" \"),s(\"li\",[e._v(\"If \"),s(\"code\",{pre:!0},[e._v(\"eventValue\")]),e._v(\" is a string value, then use the caller's \"),s(\"code\",{pre:!0},[e._v(\"eventValue\")]),e._v(\" property value as the event handler.\")])]),e._v(\" \"),s(\"p\",[e._v(\"After 1.10.0+, you can set \"),s(\"a\",{attrs:{href:\"https://vuejs.org/v2/guide/render-function.html#The-Data-Object-In-Depth\"}},[e._v(\"all avaliable properties in Vue\")]),e._v(\", but you need to add prefix \"),s(\"code\",{pre:!0},[e._v(\"$\")]),e._v(\", eg:\")]),e._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".$createAaBb({\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"$attrs\")]),e._v(\": {\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"id\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'id'\")]),e._v(\"\\n  },\\n  \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"$class\")]),e._v(\": {\\n    \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'my-class'\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[e._v(\"true\")]),e._v(\"\\n  }\\n})\\n\")])]),e._v(\" \"),s(\"p\",[s(\"strong\",[e._v(\"The Returned value \"),s(\"code\",{pre:!0},[e._v(\"instance\")]),e._v(\":\")])]),e._v(\" \"),s(\"p\",[s(\"code\",{pre:!0},[e._v(\"instance\")]),e._v(\" is a instantiated Vue component.\")]),e._v(\" \"),s(\"blockquote\",[s(\"p\",[e._v(\"And the \"),s(\"code\",{pre:!0},[e._v(\"remove\")]),e._v(\" method will be \"),s(\"strong\",[e._v(\"attached\")]),e._v(\" to this instance.\")])]),e._v(\" \"),s(\"p\",[e._v(\"You can invoke the \"),s(\"code\",{pre:!0},[e._v(\"remove\")]),e._v(\" method to destroy the component and detach the component's content from \"),s(\"code\",{pre:!0},[e._v(\"body\")]),e._v(\" element.\")]),e._v(\" \"),s(\"p\",[e._v(\"If the caller is destroyed and the \"),s(\"code\",{pre:!0},[e._v(\"instance\")]),e._v(\" will be destroyed too.\")])])])]),e._v(\" \"),s(\"li\",[s(\"p\",[e._v(\"Example:\")]),e._v(\" \"),s(\"p\",[e._v(\"First we create Hello.vue component：\")]),e._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"template\")]),e._v(\">\")]),e._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"div\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"@click\")]),e._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"clickHandler\"')]),e._v(\">\")]),e._v(\"\\n    {{content}}\\n    \"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"slot\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"name\")]),e._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"other\"')]),e._v(\">\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"slot\")]),e._v(\">\")]),e._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"div\")]),e._v(\">\")]),e._v(\"\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"template\")]),e._v(\">\")]),e._v(\"\\n\\n\"),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"<\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"script\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"type\")]),e._v(\"=\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v('\"text/ecmascript-6\"')]),e._v(\">\")]),s(\"span\",{attrs:{class:\"javascript\"}},[e._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"export\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"default\")]),e._v(\" {\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"name\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'hello'\")]),e._v(\",\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"props\")]),e._v(\": {\\n      \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"content\")]),e._v(\": {\\n        \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"type\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-built_in\"}},[e._v(\"String\")]),e._v(\",\\n        \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"default\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'Hello'\")]),e._v(\"\\n      }\\n    },\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"methods\")]),e._v(\": {\\n      clickHandler(e) {\\n        \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".$emit(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'click'\")]),e._v(\", e)\\n      }\\n    }\\n  }\\n\")]),s(\"span\",{attrs:{class:\"hljs-tag\"}},[e._v(\"</\"),s(\"span\",{attrs:{class:\"hljs-name\"}},[e._v(\"script\")]),e._v(\">\")]),e._v(\"\\n\")])]),e._v(\" \"),s(\"p\",[e._v(\"Then we make Hello.vue to an API style component by calling the \"),s(\"code\",{pre:!0},[e._v(\"createAPI\")]),e._v(\" method.\")]),e._v(\" \"),s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[e._v(\"  \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" Vue \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'vue'\")]),e._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" Hello \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'./Hello.vue'\")]),e._v(\"\\n\\n  \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// import Style to load the base style\")]),e._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" {\\n    \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"/* eslint-disable no-unused-vars */\")]),e._v(\"\\n    Style,\\n    Dialog,\\n    createAPI\\n  } \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'cube-ui'\")]),e._v(\"\\n\\n  Vue.use(Dialog)\\n\\n  \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// create this.$createHello API\")]),e._v(\"\\n  createAPI(Vue, Hello, [\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'click'\")]),e._v(\"], \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[e._v(\"true\")]),e._v(\")\\n\\n  \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// init Vue\")]),e._v(\"\\n  \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"new\")]),e._v(\" Vue({\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"el\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'#app'\")]),e._v(\",\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"render\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-function\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"function\")]),e._v(\" (\"),s(\"span\",{attrs:{class:\"hljs-params\"}},[e._v(\"h\")]),e._v(\") \")]),e._v(\"{\\n      \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"return\")]),e._v(\" h(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'button'\")]),e._v(\", {\\n        \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"on\")]),e._v(\": {\\n          \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"click\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".showHello\\n        }\\n      }, [\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'Show Hello'\")]),e._v(\"])\\n    },\\n    \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"methods\")]),e._v(\": {\\n      showHello() {\\n        \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"/* The first parameter of `$createHello` will be passed to the component as its props except the events in `events`(It will transform by default, eg: If `events` has value `['click']`, then the prop `onClick` will be treated as component's event and not component's props) */\")]),e._v(\"\\n        \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"const\")]),e._v(\" instance = \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".$createHello({\\n          \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"content\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'My Hello Content'\")]),e._v(\",\\n          onClick(e) {\\n            \"),s(\"span\",{attrs:{class:\"hljs-built_in\"}},[e._v(\"console\")]),e._v(\".log(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'Hello component clicked.'\")]),e._v(\")\\n          }\\n        }, \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"/* renderFn */\")]),e._v(\" (createElement) => {\\n          \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"return\")]),e._v(\" [\\n            createElement(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'p'\")]),e._v(\", {\\n              \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"slot\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'other'\")]),e._v(\"\\n            }, \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'other content'\")]),e._v(\")\\n          ]\\n        })\\n        \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// Also, the event hanlder can be registered by instance's `$on` method\")]),e._v(\"\\n        instance.$on(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'click'\")]),e._v(\", (e) => {\\n          \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"const\")]),e._v(\" $dialog = \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"this\")]),e._v(\".$createDialog({\\n            \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"type\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'confirm'\")]),e._v(\",\\n            \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"content\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'click confirm to remove current instance'\")]),e._v(\",\\n            \"),s(\"span\",{attrs:{class:\"hljs-attr\"}},[e._v(\"icon\")]),e._v(\": \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'cubeic-alert'\")]),e._v(\"\\n          })\\n          $dialog.show()\\n\\n          $dialog.$on(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'confirm'\")]),e._v(\", () => {\\n            \"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// remove instance\")]),e._v(\"\\n            instance.remove()\\n          }).$on(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'cancel'\")]),e._v(\", () => {\\n            \"),s(\"span\",{attrs:{class:\"hljs-built_in\"}},[e._v(\"console\")]),e._v(\".log(\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'cancel'\")]),e._v(\")\\n          })\\n        })\\n      }\\n    }\\n  })\\n\")])]),e._v(\" \"),s(\"p\",[e._v(\"In this example, we create a component \"),s(\"code\",{pre:!0},[e._v(\"Hello\")]),e._v(\" which needs to be invoked in api form and we invoke it in another component.The focus is what \"),s(\"code\",{pre:!0},[e._v(\"showHello()\")]),e._v(\" does: invoking method \"),s(\"code\",{pre:!0},[e._v(\"this.$createHello(config, renderFn)\")]),e._v(\" to instantiate \"),s(\"code\",{pre:!0},[e._v(\"Hello\")]),e._v(\".\")])])])},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"p\",[e._v(\"In vue component, you could call by \"),s(\"code\",{pre:!0},[e._v(\"this.$createHello(config, renderFn)\")]),e._v(\" because the \"),s(\"code\",{pre:!0},[e._v(\"this\")]),e._v(\" is just a Vue instance. But in general JS files, you need to use \"),s(\"code\",{pre:!0},[e._v(\"Hello.$create\")]),e._v(\". As shown below:\")])},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" Vue \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'vue'\")]),e._v(\"\\n\"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" Hello \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'./Hello.vue'\")]),e._v(\"\\n\\n\"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" {\\n  createAPI\\n} \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'cube-ui'\")]),e._v(\"\\n\\n\"),s(\"span\",{attrs:{class:\"hljs-comment\"}},[e._v(\"// 创建 this.$createHello and $Hello.create API\")]),e._v(\"\\ncreateAPI(Vue, Hello, [\"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'click'\")]),e._v(\"], \"),s(\"span\",{attrs:{class:\"hljs-literal\"}},[e._v(\"true\")]),e._v(\")\\n\\nHello.$create(config, renderFn)\\n\")])])},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s(\"pre\",{pre:!0},[s(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" Vue \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'vue'\")]),e._v(\"\\n\"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"import\")]),e._v(\" { Dialog } \"),s(\"span\",{attrs:{class:\"hljs-keyword\"}},[e._v(\"from\")]),e._v(\" \"),s(\"span\",{attrs:{class:\"hljs-string\"}},[e._v(\"'cube-ui'\")]),e._v(\"\\n\\nVue.use(Dialog)\\n\\nDialog.$create({\\n  ...\\n})\\n\")])])}]}},\"i/fd\":function(e,t,s){e.exports=s(\"3JND\")}});"
  },
  {
    "path": "docs/js/85.5fbf101dd2b8a0f6cdc3.js",
    "content": "webpackJsonp([85],{DUjI:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"Checker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Checker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Checker\")]),s._v(\" \"),a(\"p\",[s._v(\"Checker is more flexible selection component, you can alse customize the layout.\")]),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"CubeCheckerItemPropsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CubeCheckerItemPropsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CubeCheckerItem Props configuration\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerValue\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerValue\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'red'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'yellow'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'blue'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'green'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The value of \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" is an array. The default \"),a(\"code\",{pre:!0},[s._v(\"checkerValue\")]),s._v(\" value is  \"),a(\"code\",{pre:!0},[s._v(\"''\")]),s._v(\",\\nIf you clicked one option, the \"),a(\"code\",{pre:!0},[s._v(\"checkerValue\")]),s._v(\" will be set as the value of this option.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"radio\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerValue\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"radio\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerValue\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"''\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'AAAAA'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'BBBBB'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"If the \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" is set to \"),a(\"code\",{pre:!0},[s._v(\"'radio'\")]),s._v(\", the checker will be a radio type.\\nThe default type is a \"),a(\"code\",{pre:!0},[s._v(\"'checkbox'\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Use slot\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use slot to implement custom layout.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"radio\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker-item\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-for\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item in options\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":key\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item.value\"')]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"item\"')]),s._v(\">\")]),s._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"orange\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"class\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"cubeic-alert\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"{{item.text}}\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"span\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker-item\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerList\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'AAAAA'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'BBBBB'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Use min & max prop\")]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" prop but the \"),a(\"code\",{pre:!0},[s._v(\"type\")]),s._v(\" must set to \"),a(\"code\",{pre:!0},[s._v(\"'checkbox'\")]),s._v(\".\")]),s._v(\" \"),a(\"p\",[a(\"code\",{pre:!0},[s._v(\"max\")]),s._v(\" set the max number of checked items, \"),a(\"code\",{pre:!0},[s._v(\"min\")]),s._v(\" set the min number of checked items.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":min\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":max\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"2\"')]),s._v(\"/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerList\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'red'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'yellow'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'blue'\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'green'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"disabled state \"),a(\"sup\",[s._v(\"1.12.19\")])]),s._v(\" \"),a(\"p\",[s._v(\"use \"),a(\"code\",{pre:!0},[s._v(\"disabled\")]),s._v(\"  to set disabled state\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checker\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkerList\"')]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\"/>\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkerList\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'first'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'second'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'third'\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"a collection of configuration items\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"type\")]),s._v(\" \"),a(\"td\",[s._v(\"the type of checker\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"checkbox/radio\")]),s._v(\" \"),a(\"td\",[s._v(\"checkbox\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\")]),s._v(\" \"),a(\"td\",[s._v(\"the min number\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\")]),s._v(\" \"),a(\"td\",[s._v(\"the max number\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"options length\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"options sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of checker item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of checker item\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\"),a(\"sup\",[s._v(\"1.12.19\")])]),s._v(\" \"),a(\"td\",[s._v(\"disabled state of checker item\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"option\")]),s._v(\" \"),a(\"td\",[s._v(\"item configuration object\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[s._v(\"option sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of checker item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of checker item\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\"),a(\"sup\",[s._v(\"1.12.19\")])]),s._v(\" \"),a(\"td\",[s._v(\"disabled state of checker item\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])}]}},YWVk:function(s,t,a){s.exports=a(\"nHuG\")},nHuG:function(s,t,a){var v=a(\"VU/8\")(null,a(\"DUjI\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/86.2da9326ba73eed0a8f57.js",
    "content": "webpackJsonp([86],{\"18H/\":function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Checkbox\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Checkbox-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Checkbox\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(2),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(5)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"Checkbox\")]),t._v(\" component. You can set the state, pass on special class and set the position of the checkbox's icon.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"checked\"')]),t._v(\">\")]),t._v(\"\\n  Checkbox\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"If selected, the value of \"),a(\"code\",{pre:!0},[t._v(\"checked\")]),t._v(\" is \"),a(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\".\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Styled checkbox\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"checked\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"position\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"right\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"shape\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"square\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":hollow-style\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"\\n  Styled Checkbox\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"If setting \"),a(\"code\",{pre:!0},[t._v(\"position\")]),t._v(\" to \"),a(\"code\",{pre:!0},[t._v(\"'right'\")]),t._v(\", the position of the checkbox's icon is on the right. And you could use \"),a(\"code\",{pre:!0},[t._v(\"shape\")]),t._v(\" to configure the shape of icon,  set \"),a(\"code\",{pre:!0},[t._v(\"hollow-style=true\")]),t._v(\" to use hollow-out style.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Change the value of model\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"checked\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":option\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"option\"')]),t._v(\" />\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"checked\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"option\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"label\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'Option Checkbox'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'optionValue'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"false\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"If \"),a(\"code\",{pre:!0},[t._v(\"option\")]),t._v(\" is setted, and when the checkbox is selected, the value of \"),a(\"code\",{pre:!0},[t._v(\"checked\")]),t._v(\" is \"),a(\"code\",{pre:!0},[t._v(\"'optionValue'\")]),t._v(\". When not selected, the value is \"),a(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\"; Therefore, in circumstances of single checkbox, better not set \"),a(\"code\",{pre:!0},[t._v(\"option\")]),t._v(\".\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Disabled state\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"checked\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":option\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"{disabled: true}\"')]),t._v(\">\")]),t._v(\"\\n  Disabled Checkbox\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"With click\")]),t._v(\" \"),a(\"p\",[t._v(\"If you want to handle click event, you need to handle the style:\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"with-click\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"checked\"')]),t._v(\">\")]),t._v(\"\\n  Agree \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"a\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"href\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"javascript:;\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click.stop\")]),t._v(\">\")]),t._v(\"《xxx》\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"a\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-checkbox\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-styl\"}},[a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".with-click\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-selector-class\"}},[t._v(\".cube-checkbox-label\")]),t._v(\"\\n    \"),a(\"span\",{attrs:{class:\"hljs-selector-tag\"}},[t._v(\"a\")]),t._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"position\")]),t._v(\": relative\\n      \"),a(\"span\",{attrs:{class:\"hljs-attribute\"}},[t._v(\"z-index\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1\")]),t._v(\"\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"option\")]),t._v(\" \"),a(\"td\",[t._v(\"option value（if the value of option is a string type, the label and value will be this string you just set for option.）\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean/String/Object\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"position\")]),t._v(\" \"),a(\"td\",[t._v(\"icon position\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"left/right\")]),t._v(\" \"),a(\"td\",[t._v(\"left\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"shape\")]),t._v(\" \"),a(\"td\",[t._v(\"icon shape\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"circle/square\")]),t._v(\" \"),a(\"td\",[t._v(\"circle\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"hollowStyle\")]),t._v(\" \"),a(\"td\",[t._v(\"whether is hollow-out style\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"option\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"label\")]),t._v(\" \"),a(\"td\",[t._v(\"the text of label\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"value\")]),t._v(\" \"),a(\"td\",[t._v(\"the value of checkbox item\")]),t._v(\" \"),a(\"td\",[t._v(\"String/Number\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"whether the checkbox item is disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameter\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the binding value changes\")]),t._v(\" \"),a(\"td\",[t._v(\"the updated value（ if you set value in the option and the checkbox is checked, the value is option.value; otherwise, the value is the v-model value of checkbox ）\")])])])])}]}},QTnR:function(t,s,a){t.exports=a(\"nejK\")},nejK:function(t,s,a){var e=a(\"VU/8\")(null,a(\"18H/\"),null,null,null);t.exports=e.exports}});"
  },
  {
    "path": "docs/js/87.d0fe1617ce4a06b0b876.js",
    "content": "webpackJsonp([87],{qjpr:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"CheckboxGroup\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CheckboxGroup-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CheckboxGroup\")]),s._v(\" \"),s._m(0),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(1),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(2),s._v(\" \"),s._m(3),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(6)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"CheckboxGroup\")]),s._v(\" is a group of checkboxs, which is used to select a group of options. It has vertical and horizontal styles.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Vertical order\")]),s._v(\" \"),a(\"p\",[s._v(\"Default is vertical order style.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkList\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"checkList\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"options\")]),s._v(\": [\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\",\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        },\\n        {\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"label\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\",\\n          \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"disabled\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\"\\n        }\\n      ]\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"The value of \"),a(\"code\",{pre:!0},[s._v(\"checkList\")]),s._v(\" is an array, which represents the set of the values of \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" in selected checkboxs.\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Horizontal order and icon shape\")]),s._v(\" \"),a(\"p\",[s._v(\"You can set \"),a(\"code\",{pre:!0},[s._v(\"horizontal\")]),s._v(\" to change the style to horizontal order. Besides, you could use \"),a(\"code\",{pre:!0},[s._v(\"shape\")]),s._v(\" to configure the shape of icon and set \"),a(\"code\",{pre:!0},[s._v(\"hollow-style=true\")]),s._v(\" to use hollow-out style.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkList\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"options\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":horizontal\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"shape\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"square\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":hollow-style\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"true\"')]),s._v(\" />\")]),s._v(\"\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Use slot\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"checkList\"')]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"1\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Checkbox 1\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"2\"')]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Checkbox 2\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{value: '3', disabled: true}\\\"\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Disabled Checkbox\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":option\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"\\\"{value: '4', disabled: true}\\\"\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),s._v(\"Disabled & Checked Checkbox\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"i\")]),s._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox\")]),s._v(\">\")]),s._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"Use \"),a(\"code\",{pre:!0},[s._v(\"cube-checkbox\")]),s._v(\", \"),a(\"a\",{attrs:{href:\"#/en-US/docs/checkbox\"}},[s._v(\"cube-checkbox doc\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Set column number\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"p\",[s._v(\"You can use \"),a(\"code\",{pre:!0},[s._v(\"colNum\")]),s._v(\" to control the display columns\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[s._v(\"  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-checkbox-group\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"v-model\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"colCheckList\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":options\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"colOptions\"')]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\":col-num\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"3\"')]),s._v(\" />\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"return\")]),s._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"colCheckList\")]),s._v(\": [],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"colOptions\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'1'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'2'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'3'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'4'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'5'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'6'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'7'\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'8'\")]),s._v(\"]\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"options\")]),s._v(\" \"),a(\"td\",[s._v(\"array of checkbox options\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"horizontal\")]),s._v(\" \"),a(\"td\",[s._v(\"whether in horizontal order\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"colNum\"),a(\"sup\",[s._v(\"1.12.28\")])]),s._v(\" \"),a(\"td\",[s._v(\"column number\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"1\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"shape\")]),s._v(\" \"),a(\"td\",[s._v(\"icon shape\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"circle/square\")]),s._v(\" \"),a(\"td\",[s._v(\"circle\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hollowStyle\")]),s._v(\" \"),a(\"td\",[s._v(\"whether is hollow-out style\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"min\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"min selected items count\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"0\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"max\"),a(\"sup\",[s._v(\"1.11.0\")])]),s._v(\" \"),a(\"td\",[s._v(\"max selected items count\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"Infinite\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"label\")]),s._v(\" \"),a(\"td\",[s._v(\"label content\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"checkbox item value\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"whether disabled\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[s._v(\"Note: each \"),a(\"code\",{pre:!0},[s._v(\"options\")]),s._v(\" item can be an string value, now both the\"),a(\"code\",{pre:!0},[s._v(\"label\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" values are the string value.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameter\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"checked\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when an checkbox in the checkboxGroup is checked\")]),s._v(\" \"),a(\"td\",[s._v(\"the currently checked checkbox value\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel-checked\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when an checkbox in the checkboxGroup is unchecked\")]),s._v(\" \"),a(\"td\",[s._v(\"the currently unchecked checkbox value\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"input\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the binding value changes\")]),s._v(\" \"),a(\"td\",[s._v(\"a set of the values of selected checkboxs\")])])])])}]}},wNVF:function(s,t,a){s.exports=a(\"xIH8\")},xIH8:function(s,t,a){var v=a(\"VU/8\")(null,a(\"qjpr\"),null,null,null);s.exports=v.exports}});"
  },
  {
    "path": "docs/js/88.62c985139bfaf2e40717.js",
    "content": "webpackJsonp([88],{KI1o:function(s,t,a){s.exports=a(\"QRzD\")},QRzD:function(s,t,a){var e=a(\"VU/8\")(null,a(\"eo6G\"),null,null,null);s.exports=e.exports},eo6G:function(s,t){s.exports={render:function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"section\",[a(\"h2\",{attrs:{id:\"CascadePicker\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-CascadePicker-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" CascadePicker\")]),s._v(\" \"),s._m(0),s._v(\" \"),s._m(1),s._v(\" \"),s._m(2),s._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Example\")]),s._v(\" \"),s._m(3),s._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Props configuration\")]),s._v(\" \"),s._m(4),s._v(\" \"),s._m(5),s._v(\" \"),s._m(6),s._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Events\")]),s._v(\" \"),s._m(7),s._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),s._v(\" Instance methods\")]),s._v(\" \"),s._m(8)])},staticRenderFns:[function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"blockquote\",[a(\"p\",[s._v(\"New in 1.2.0+\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\" component is used to implement the cascading change between picker columns. What is the effect of cascade? Considering the usage of province-city-area picker, when the province is changed, you may want the city column to display the exact cities of current province, so does the area column. And the \"),a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\" is here to help you handle this.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"p\",[a(\"strong\",[s._v(\"Notice:\")]),s._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[s._v(\"create-api\")]),s._v(\" first.\")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"p\",[s._v(\"Basic usage\")]),s._v(\" \"),a(\"p\",[s._v(\"Comparing to \"),a(\"code\",{pre:!0},[s._v(\"Picker\")]),s._v(\", the required structure of props data is different for \"),a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\". The data structure of \"),a(\"code\",{pre:!0},[s._v(\"Picker\")]),s._v(\" is a two-dimensional array, and each column corresponds to an array. As in \"),a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\", we need a tree structure, that each item of first column has a \"),a(\"code\",{pre:!0},[s._v(\"children\")]),s._v(\" property which contains the corresponding data of following columns. Here is an example.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showCascadePicker\"')]),s._v(\">\")]),s._v(\"Cascade Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" cascadeData = [\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Fruit'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Fruit'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Apple'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Apple'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'One'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Two'\")]),s._v(\" }]\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Orange'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Orange'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Three'\")]),s._v(\"}, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"4\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Four'\")]),s._v(\" }]\\n      }\\n    ]\\n  },\\n  {\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Drink'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Drink'\")]),s._v(\",\\n    \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Coffee'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Coffee'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'One'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Two'\")]),s._v(\" }]\\n      },\\n      {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Tea'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Tea'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"children\")]),s._v(\": [{ \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'One'\")]),s._v(\" }, { \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"value\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"3\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"text\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Three'\")]),s._v(\"}]\\n      }\\n    ]\\n  }\\n]\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cascadePicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Cascade Picker'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": cascadeData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"],\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showCascadePicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cascadePicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),s._v(\" \"),a(\"p\",[s._v(\"When the first column goes to \"),a(\"code\",{pre:!0},[s._v(\"Fruit\")]),s._v(\", the data of second column are \"),a(\"code\",{pre:!0},[s._v(\"Apple\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"Orange\")]),s._v(\". And so on, when the second column goes to on \"),a(\"code\",{pre:!0},[s._v(\"Orange\")]),s._v(\", the data of third column are \"),a(\"code\",{pre:!0},[s._v(\"Three\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"Four\")]),s._v(\".\")])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Address Picker\")]),s._v(\" \"),a(\"p\",[s._v(\"For address picker, the only thing you need to do is constructing the cascading data.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showAddressPicker\"')]),s._v(\">\")]),s._v(\"Address Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/area'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" addressData = provinceList\\naddressData.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"province\")]),s._v(\" =>\")]),s._v(\" {\\n  province.children = cityList[province.value]\\n  province.children.forEach(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"city\")]),s._v(\" =>\")]),s._v(\" {\\n    city.children = areaList[city.value]\\n  })\\n})\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".addressPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'City Picker'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": addressData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showAddressPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".addressPicker.show()\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Instance method \"),a(\"code\",{pre:!0},[s._v(\"setData\")])]),s._v(\" \"),a(\"p\",[s._v(\"You could use \"),a(\"code\",{pre:!0},[s._v(\"setData\")]),s._v(\" to reset the cascading data and selected index of \"),a(\"code\",{pre:!0},[s._v(\"CascadePicker\")]),s._v(\" instance no matter whether the picker is visible.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showSetDataPicker\"')]),s._v(\">\")]),s._v(\"SetData Picker\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Set Data'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showSetDataPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// setData when the picker is invisible.\")]),s._v(\"\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker.setData(cascadeData)\\n\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker.show()\\n      setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// setData when the picker is visible.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".setDataPicker.setData(addressData, [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"])\\n      }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\")\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])]),s._v(\" \"),a(\"li\",[a(\"p\",[s._v(\"Async load data\")]),s._v(\" \"),a(\"p\",[s._v(\"When the data is too large, it will be really hard to construct the whole cascade data tree at beginning. For this case, you could use the property \"),a(\"code\",{pre:!0},[s._v(\"async\")]),s._v(\" to enable async load data and update the data at the event \"),a(\"code\",{pre:!0},[s._v(\"change\")]),s._v(\". Before the data is updated, we will block the confirm handler temporarily.\")]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"@click\")]),s._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v('\"showAsyncPicker\"')]),s._v(\">\")]),s._v(\"Async Load Data\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[s._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[s._v(\"cube-button\")]),s._v(\">\")]),s._v(\"\\n\")])]),s._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"import\")]),s._v(\" { provinceList, cityList, areaList } \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"from\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'example/data/area'\")]),s._v(\"\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" asyncData = provinceList\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" asyncSelectedIndex = [\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\", \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"]\\nasyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children = cityList[asyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].value]\\nasyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children = areaList[asyncData[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].value]\\n\\n\"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"export\")]),s._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"default\")]),s._v(\" {\\n  mounted () {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncPicker = \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createCascadePicker({\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"title\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Async Load Data'\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"async\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[s._v(\"true\")]),s._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"data\")]),s._v(\": asyncData,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"selectedIndex\")]),s._v(\": asyncSelectedIndex.slice(),\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onSelect\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".selectHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onCancel\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".cancelHandle,\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"onChange\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncChangeHandle\\n    })\\n  },\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"methods\")]),s._v(\": {\\n    showAsyncPicker() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncPicker.show()\\n    },\\n    asyncChangeHandle(i, newIndex) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (newIndex !== asyncSelectedIndex[i]) {\\n        asyncSelectedIndex[i] = newIndex\\n        \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// If the first two column is changed, request the data for rest columns.\")]),s._v(\"\\n        \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i < \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\") {\\n          \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[s._v(\"// Mock async load.\")]),s._v(\"\\n          setTimeout(\"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[s._v(\"()\")]),s._v(\" =>\")]),s._v(\" {\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\") {\\n              \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" current = asyncData[newIndex]\\n              current.children = current.children || cityList[current.value]\\n              current.children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children = current.children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].children || areaList[current.children[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"].value]\\n              asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\"] = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n              asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"] = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n            }\\n\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"if\")]),s._v(\" (i === \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1\")]),s._v(\") {\\n              \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"const\")]),s._v(\" current = asyncData[asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"]].children[newIndex]\\n              current.children = current.children || areaList[current.value]\\n              asyncSelectedIndex[\"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"2\")]),s._v(\"] = \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"0\")]),s._v(\"\\n            }\\n            \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".asyncPicker.setData(asyncData, asyncSelectedIndex)\\n          }, \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"500\")]),s._v(\")\\n        }\\n      }\\n    },\\n    selectHandle(selectedVal, selectedIndex, selectedText) {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createDialog({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'warn'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"content\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"`Selected Item: <br/> - value: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedVal.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - index: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedIndex.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"', '\")]),s._v(\")}\")]),s._v(\" <br/> - text: \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[s._v(\"${selectedText.join(\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"' '\")]),s._v(\")}\")]),s._v(\"`\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"icon\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'cubeic-alert'\")]),s._v(\"\\n      }).show()\\n    },\\n    cancelHandle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[s._v(\"this\")]),s._v(\".$createToast({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"type\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'correct'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"txt\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[s._v(\"'Picker canceled'\")]),s._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[s._v(\"time\")]),s._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[s._v(\"1000\")]),s._v(\"\\n      }).show()\\n    }\\n  }\\n}\\n\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")]),s._v(\" \"),a(\"th\",[s._v(\"Accepted Values\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"data\")]),s._v(\" \"),a(\"td\",[s._v(\"the cascading data used to init option items\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"selectedIndex\")]),s._v(\" \"),a(\"td\",[s._v(\"the index of the selected item, corresponding content will be displayed when picker shows\")]),s._v(\" \"),a(\"td\",[s._v(\"Array\")]),s._v(\" \"),a(\"td\",[s._v(\"[]\")]),s._v(\" \"),a(\"td\",[s._v(\"[1]\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"async\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"async load data\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"title\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"subtitle\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"subtitle\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"''\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancelTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'取消'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"confirmTxt\")]),s._v(\" \"),a(\"td\",[s._v(\"the text of the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"String\")]),s._v(\" \"),a(\"td\",[s._v(\"'确定'\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"swipeTime\")]),s._v(\" \"),a(\"td\",[s._v(\"the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"2500\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"alias\")]),s._v(\" \"),a(\"td\",[s._v(\"configure the alias of \"),a(\"code\",{pre:!0},[s._v(\"value\")]),s._v(\" and \"),a(\"code\",{pre:!0},[s._v(\"text\")]),s._v(\", used as same as the alias of \"),a(\"code\",{pre:!0},[s._v(\"Picker\")]),s._v(\" component\")]),s._v(\" \"),a(\"td\",[s._v(\"Object\")]),s._v(\" \"),a(\"td\",[s._v(\"{}\")]),s._v(\" \"),a(\"td\",[s._v(\"{ value: 'id', text: 'name'}\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"visible\"),a(\"sup\",[s._v(\"1.8.1\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[s._v(\"v-model\")])]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"false\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"maskClosable\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"whether hide the component when clicked the mask layer\")]),s._v(\" \"),a(\"td\",[s._v(\"Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"true/false\")]),s._v(\" \"),a(\"td\",[s._v(\"true\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"zIndex\"),a(\"sup\",[s._v(\"1.9.6\")])]),s._v(\" \"),a(\"td\",[s._v(\"the value of the style z-index\")]),s._v(\" \"),a(\"td\",[s._v(\"Number\")]),s._v(\" \"),a(\"td\",[s._v(\"100\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[s._v(\"data\")]),s._v(\" sub configuration\")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Attribute\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Type\")]),s._v(\" \"),a(\"th\",[s._v(\"Default\")]),s._v(\" \"),a(\"th\",[s._v(\"Example\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"text\")]),s._v(\" \"),a(\"td\",[s._v(\"the displayed text of each item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"value\")]),s._v(\" \"),a(\"td\",[s._v(\"the value of each item\")]),s._v(\" \"),a(\"td\",[s._v(\"String/Number/Boolean\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Event Name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 3\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"select\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the confirm button\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedVal: Array, values of each columns in current selected item\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Array, indexes of each columns in current selected item\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedText: Array, texts of each columns in current selected item\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"change\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when the roller scrolls\")]),s._v(\" \"),a(\"td\",[s._v(\"index: Number, index of current scrolling roller\")]),s._v(\" \"),a(\"td\",[s._v(\"selectedIndex: Number, index of selected item in current column\")]),s._v(\" \"),a(\"td\")]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"cancel\")]),s._v(\" \"),a(\"td\",[s._v(\"triggers when clicking the cancel button\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[s._v(\"Method name\")]),s._v(\" \"),a(\"th\",[s._v(\"Description\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 1\")]),s._v(\" \"),a(\"th\",[s._v(\"Parameters 2\")])])]),s._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"show\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"hide\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")]),s._v(\" \"),a(\"td\",[s._v(\"-\")])]),s._v(\" \"),a(\"tr\",[a(\"td\",[s._v(\"setData\")]),s._v(\" \"),a(\"td\",[s._v(\"reset the cascading data and selected index\")]),s._v(\" \"),a(\"td\",[s._v(\"Array, the cascading data\")]),s._v(\" \"),a(\"td\",[s._v(\"Array, the indexes of selected item in each column\")])])])])}]}}});"
  },
  {
    "path": "docs/js/89.7e655c4acb6aaa07507c.js",
    "content": "webpackJsonp([89],{\"4Xeq\":function(t,s,a){t.exports=a(\"P/Yg\")},\"P/Yg\":function(t,s,a){var v=a(\"VU/8\")(null,a(\"hGzj\"),null,null,null);t.exports=v.exports},hGzj:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Button\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Button-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Button\")]),t._v(\" \"),t._m(0),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(3)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"Button\")]),t._v(\" provides various types, styles, states and icons.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Button type\")]),t._v(\" \"),a(\"p\",[t._v(\"The default type is \"),a(\"code\",{pre:!0},[t._v(\"button\")]),t._v(\", and you can set that to \"),a(\"code\",{pre:!0},[t._v(\"submit\")]),t._v(\" in form.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"submit\"')]),t._v(\">\")]),t._v(\"Submit Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Button state\")]),t._v(\" \"),a(\"p\",[t._v(\"Default is normal, can be set to active or disabled state.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":active\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Active Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Disabled Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Icon\")]),t._v(\" \"),a(\"p\",[t._v(\"You can set the class of \"),a(\"code\",{pre:!0},[t._v(\"icon\")]),t._v(\".\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"icon\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"cubeic-right\"')]),t._v(\">\")]),t._v(\"Button With Icon\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Style\")]),t._v(\" \"),a(\"p\",[t._v(\"You can set attributes like \"),a(\"code\",{pre:!0},[t._v(\"light\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"inline\")]),t._v(\", \"),a(\"code\",{pre:!0},[t._v(\"outline\")]),t._v(\", and \"),a(\"code\",{pre:!0},[t._v(\"primary\")]),t._v(\" to change the button's style.\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":light\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Light Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":inline\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Inline Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":outline\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Outline Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":primary\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\">\")]),t._v(\"Primary Button\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"type\")]),t._v(\" \"),a(\"td\",[t._v(\"Button type\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"button/submit\")]),t._v(\" \"),a(\"td\",[t._v(\"button\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"active state\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"disabled state\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"icon\")]),t._v(\" \"),a(\"td\",[t._v(\"Icon\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"the class of icon\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"light\")]),t._v(\" \"),a(\"td\",[t._v(\"light style\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"inline\")]),t._v(\" \"),a(\"td\",[t._v(\"whether inline\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"outline\")]),t._v(\" \"),a(\"td\",[t._v(\"outline style\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"primary\")]),t._v(\" \"),a(\"td\",[t._v(\"primary style\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"click\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when the button is clicked. If in disabled state, then it won't trigger\")]),t._v(\" \"),a(\"td\",[t._v(\"e - event target\")])])])])}]}}});"
  },
  {
    "path": "docs/js/9.43053995a79e41726eb4.js",
    "content": "webpackJsonp([9],{JsvZ:function(t,s,a){var v=a(\"VU/8\")(null,a(\"f7VQ\"),null,null,null);t.exports=v.exports},PG1Z:function(t,s,a){t.exports=a(\"JsvZ\")},f7VQ:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"Textarea\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Textarea-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Textarea\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"示例\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-示例-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 示例\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Props配置\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Props配置-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props 配置\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),a(\"h3\",{attrs:{id:\"插槽\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-插槽-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 插槽\")]),t._v(\" \"),t._m(5),t._v(\" \"),a(\"h3\",{attrs:{id:\"事件\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-事件-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 事件\")]),t._v(\" \"),t._m(6),t._v(\" \"),a(\"h3\",{attrs:{id:\"实例方法\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-实例方法-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" 实例方法\")]),t._v(\" \"),t._m(7)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"blockquote\",[a(\"p\",[t._v(\"1.5.0 新增\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[t._v(\"多行输入框组件，支持使用\"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\"对数据双向绑定，根据是否有内容、是否聚焦有折叠、展开两种状态。\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"基本用法\")]),t._v(\" \"),a(\"p\",[t._v(\"使用\"),a(\"code\",{pre:!0},[t._v(\"v-model\")]),t._v(\"对输入内容双向绑定。\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"配置计数标识\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"indicator\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"indicator\"')]),t._v(\">\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"indicator\")]),t._v(\": {\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"negative\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"remain\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n      }\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"如果 \"),a(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" 的值为 \"),a(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\"，则不显示计数标识，如果为 \"),a(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\"，则等同于 \"),a(\"code\",{pre:!0},[t._v(\"{remain: true, negative: true}\")]),t._v(\"，而如果是对象，则可通过 \"),a(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\" 和 \"),a(\"code\",{pre:!0},[t._v(\"negative\")]),t._v(\" 分别控制是否显示剩余字数（如果为 \"),a(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\" 则显示输入字数）和是否允许负值。\")]),t._v(\" \"),a(\"p\",[t._v(\"从1.12.53开始也支持具名作用域插槽 \"),a(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" 自定义计数标识，提供了剩余可输入字数 \"),a(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\"，和当前已输入字数 \"),a(\"code\",{pre:!0},[t._v(\"count\")]),t._v(\"：\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"text\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"请您至少输入8个字（必填）\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":maxlength\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"300\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":auto-expand\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"true\"')]),t._v(\"\\n>\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"span\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"indicator\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"slot-scope\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"{ remain }\"')]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"cube-textarea-indicator\"')]),t._v(\">\")]),t._v(\"{{remain}}/300\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"span\")]),t._v(\">\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v(\"\\x3c!-- 或者 vue2.6以上 --\\x3e\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-comment\"}},[t._v('\\x3c!-- <template #indicator=\"childValue\">\\n    <span class=\"cube-textarea-indicator\">{{childValue.remain}}/300</span>\\n  </template> --\\x3e')]),t._v(\"\\n\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"多项配置\")]),t._v(\" \"),a(\"p\",[t._v(\"支持原生组件的配置。\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"v-model\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"value\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":placeholder\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"placeholder\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":maxlength\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"maxlength\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":readonly\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"readonly\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":disabled\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"disabled\"')]),t._v(\"\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\":autofocus\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"autofocus\"')]),t._v(\"\\n>\")]),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-textarea\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-javascript\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  data() {\\n    \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"return\")]),t._v(\" {\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"value\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"''\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"placeholder\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'请输入内容'\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"readonly\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"maxlength\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"100\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"disabled\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n      \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"autofocus\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\"\\n    }\\n  }\\n}\\n\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"v-model\")]),t._v(\" \"),a(\"td\",[t._v(\"绑定的值\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"空\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"disabled\")]),t._v(\" \"),a(\"td\",[t._v(\"禁用状态\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"readonly\")]),t._v(\" \"),a(\"td\",[t._v(\"只读状态\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maxlength\")]),t._v(\" \"),a(\"td\",[t._v(\"最大输入长度\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"60\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"placeholder\")]),t._v(\" \"),a(\"td\",[t._v(\"占位文本\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"空\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"autofocus\")]),t._v(\" \"),a(\"td\",[t._v(\"自动对焦\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"indicator\"),a(\"sup\",[t._v(\"1.10.0\")])]),t._v(\" \"),a(\"td\",[t._v(\"计数标识配置\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean/Object\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false/{}\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"autoExpand\"),a(\"sup\",[t._v(\"1.12.0\")])]),t._v(\" \"),a(\"td\",[t._v(\"如果为 true 且默认有内容的话，会默认展开\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"forceExpand\"),a(\"sup\",[t._v(\"1.12.53\")])]),t._v(\" \"),a(\"td\",[t._v(\"如果为 true , 会始终保持展开\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"indicator 子配置项\")]),t._v(\" \"),a(\"p\",[t._v(\"如果 \"),a(\"code\",{pre:!0},[t._v(\"indicator\")]),t._v(\" 的值为 \"),a(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\"，则不显示计数标识，如果为 \"),a(\"code\",{pre:!0},[t._v(\"true\")]),t._v(\" 则等同于配置 \"),a(\"code\",{pre:!0},[t._v(\"{remain: true, negative: true}\")]),t._v(\"。如果是对象，则：\")]),t._v(\" \"),a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"参数\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"类型\")]),t._v(\" \"),a(\"th\",[t._v(\"可选值\")]),t._v(\" \"),a(\"th\",[t._v(\"默认值\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"remain\")]),t._v(\" \"),a(\"td\",[t._v(\"是否控制显示剩余字数，如果为 \"),a(\"code\",{pre:!0},[t._v(\"false\")]),t._v(\" 则代表显示输入字数\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"negative\")]),t._v(\" \"),a(\"td\",[t._v(\"当 \"),a(\"code\",{pre:!0},[t._v(\"remain\")]),t._v(\" 为 true 时有效，是否允许出现负值\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])])])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"名称\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"indicator\"),a(\"sup\",[t._v(\"1.12.53\")])]),t._v(\" \"),a(\"td\",[t._v(\"自定义右下角计数标识\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"事件名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")]),t._v(\" \"),a(\"th\",[t._v(\"参数\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"focus\")]),t._v(\" \"),a(\"td\",[t._v(\"输入框聚焦后触发此事件，如果禁用状态，则不触发\")]),t._v(\" \"),a(\"td\",[t._v(\"e - 事件对象\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"blur\")]),t._v(\" \"),a(\"td\",[t._v(\"输入框失焦后触发此事件\")]),t._v(\" \"),a(\"td\",[t._v(\"e - 事件对象\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"input\")]),t._v(\" \"),a(\"td\",[t._v(\"绑定值变化时触发\")]),t._v(\" \"),a(\"td\",[t._v(\"更新后的绑定值\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"方法名\")]),t._v(\" \"),a(\"th\",[t._v(\"说明\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"focus\"),a(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),a(\"td\",[t._v(\"获得焦点\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"blur\"),a(\"sup\",[t._v(\"1.12.10+\")])]),t._v(\" \"),a(\"td\",[t._v(\"离焦\")])])])])}]}}});"
  },
  {
    "path": "docs/js/90.47dffefcce8c6186abcd.js",
    "content": "webpackJsonp([90],{\"1H2i\":function(t,e,r){t.exports=r(\"myNN\")},\"3kb2\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,r=t._self._c||e;return r(\"section\",[r(\"h2\",{attrs:{id:\"better-scrollmodule\"}},[r(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-better-scrollmodule-anchor\",\"aria-hidden\":\"true\"}},[r(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[r(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" better-scroll module\")]),t._v(\" \"),t._m(0),t._v(\" \"),r(\"h3\",{attrs:{id:\"Links\"}},[r(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Links-anchor\",\"aria-hidden\":\"true\"}},[r(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[r(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Links\")]),t._v(\" \"),r(\"p\",[t._v(\"About better-scroll:\")]),t._v(\" \"),t._m(1)])},staticRenderFns:[function(){var t=this,e=t.$createElement,r=t._self._c||e;return r(\"p\",[t._v(\"This module exports a default function called \"),r(\"code\",{pre:!0},[t._v(\"BetterScroll\")]),t._v(\",  for more information about better-scroll, please refer to \"),r(\"a\",{attrs:{href:\"https://github.com/ustbhuangyi/better-scroll\"}},[t._v(\"better-scroll lib\")]),t._v(\".\")])},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r(\"ul\",[r(\"li\",[r(\"p\",[r(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/#/\"}},[t._v(\"Home\")])])]),t._v(\" \"),r(\"li\",[r(\"p\",[r(\"a\",{attrs:{href:\"https://better-scroll.github.io/docs-v1/#/examples/en\"}},[t._v(\"Example\")])])])])}]}},myNN:function(t,e,r){var s=r(\"VU/8\")(null,r(\"3kb2\"),null,null,null);t.exports=s.exports}});"
  },
  {
    "path": "docs/js/91.fc93e315db5c6a555034.js",
    "content": "webpackJsonp([91],{E7JB:function(t,s,a){var v=a(\"VU/8\")(null,a(\"dhZy\"),null,null,null);t.exports=v.exports},dhZy:function(t,s){t.exports={render:function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"section\",[a(\"h2\",{attrs:{id:\"ActionSheet\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-ActionSheet-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" ActionSheet\")]),t._v(\" \"),t._m(0),t._v(\" \"),t._m(1),t._v(\" \"),a(\"h3\",{attrs:{id:\"Example\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Example-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Example\")]),t._v(\" \"),t._m(2),t._v(\" \"),a(\"h3\",{attrs:{id:\"Propsconfiguration\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Propsconfiguration-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Props configuration\")]),t._v(\" \"),t._m(3),t._v(\" \"),t._m(4),t._v(\" \"),t._m(5),t._v(\" \"),a(\"h3\",{attrs:{id:\"Events\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Events-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Events\")]),t._v(\" \"),t._m(6),t._v(\" \"),a(\"h3\",{attrs:{id:\"Instancemethods\"}},[a(\"a\",{staticClass:\"anchor\",attrs:{href:\"#cube-Instancemethods-anchor\",\"aria-hidden\":\"true\"}},[a(\"svg\",{attrs:{\"aria-hidden\":\"true\",height:\"16\",version:\"1.1\",viewBox:\"0 0 16 16\",width:\"16\"}},[a(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"}})])]),t._v(\" Instance methods\")]),t._v(\" \"),t._m(7)])},staticRenderFns:[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"code\",{pre:!0},[t._v(\"ActionSheet\")]),t._v(\" provides two common styles and it is flexible.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"p\",[a(\"strong\",[t._v(\"Notice:\")]),t._v(\" Cause this component used create-api, so you should read \"),a(\"a\",{attrs:{href:\"#/en-US/docs/create-api\"}},[t._v(\"create-api\")]),t._v(\" first.\")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"p\",[t._v(\"Basic usage\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showDefault\"')]),t._v(\">\")]),t._v(\"action sheet\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showDefault() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createActionSheet({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题~~~'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'<em>align - center</em>'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"class\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'cube-foo'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'align - left'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"align\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'left'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'align - right'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"align\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'right'\")]),t._v(\"\\n          }\\n        ],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"item, index\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${item.content}\")]),t._v(\"`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"You can create a basic actionsheet by setting \"),a(\"code\",{pre:!0},[t._v(\"title\")]),t._v(\" and \"),a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" option. Pay attention that \"),a(\"code\",{pre:!0},[t._v(\"content\")]),t._v(\" in \"),a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" can be a HTML string. Also, setting the custom class by \"),a(\"code\",{pre:!0},[t._v(\"class\")]),t._v(\" and setting the align of the item's content by \"),a(\"code\",{pre:!0},[t._v(\"align\")]),t._v(\".\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Highlight item\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showActive\"')]),t._v(\">\")]),t._v(\"ActionSheet - active\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showActive() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createActionSheet({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题~~~'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"active\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"0\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'舒适型'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'七座商务'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'豪华型'\")]),t._v(\"\\n          }\\n        ],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"item, index\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${item.content}\")]),t._v(\"`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'correct'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onCancel\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked canceled`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"You can control the highlighted item by setting the \"),a(\"code\",{pre:!0},[t._v(\"active\")]),t._v(\" option.\")])]),t._v(\" \"),a(\"li\",[a(\"p\",[t._v(\"Picker style setting\")]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-html\"}},[a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"<\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"@click\")]),t._v(\"=\"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v('\"showPickerStyle\"')]),t._v(\">\")]),t._v(\"ActionSheet - picker style\"),a(\"span\",{attrs:{class:\"hljs-tag\"}},[t._v(\"</\"),a(\"span\",{attrs:{class:\"hljs-name\"}},[t._v(\"cube-button\")]),t._v(\">\")]),t._v(\"\\n\")])]),t._v(\" \"),a(\"pre\",{pre:!0},[a(\"code\",{attrs:{\"v-pre\":\"\",class:\"language-js\"}},[a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"export\")]),t._v(\" \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"default\")]),t._v(\" {\\n  \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"methods\")]),t._v(\": {\\n    showPickerStyle() {\\n      \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createActionSheet({\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"title\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'我是标题~~~'\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"pickerStyle\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-literal\"}},[t._v(\"true\")]),t._v(\",\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"data\")]),t._v(\": [\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'舒适型'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'七座商务'\")]),t._v(\"\\n          },\\n          {\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"content\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'豪华型'\")]),t._v(\"\\n          }\\n        ],\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onSelect\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[t._v(\"(\"),a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"item, index\")]),t._v(\") =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked \"),a(\"span\",{attrs:{class:\"hljs-subst\"}},[t._v(\"${item.content}\")]),t._v(\"`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'correct'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        },\\n        \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"onCancel\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-function\"}},[a(\"span\",{attrs:{class:\"hljs-params\"}},[t._v(\"()\")]),t._v(\" =>\")]),t._v(\" {\\n          \"),a(\"span\",{attrs:{class:\"hljs-keyword\"}},[t._v(\"this\")]),t._v(\".$createToast({\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"txt\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"`Clicked canceled`\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"type\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-string\"}},[t._v(\"'warn'\")]),t._v(\",\\n            \"),a(\"span\",{attrs:{class:\"hljs-attr\"}},[t._v(\"time\")]),t._v(\": \"),a(\"span\",{attrs:{class:\"hljs-number\"}},[t._v(\"1000\")]),t._v(\"\\n          }).show()\\n        }\\n      }).show()\\n    }\\n  }\\n}\\n\")])]),t._v(\" \"),a(\"p\",[t._v(\"You can use Picker style by setting \"),a(\"code\",{pre:!0},[t._v(\"pickerStyle\")]),t._v(\" to be true.\")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"title\")]),t._v(\" \"),a(\"td\",[t._v(\"actionsheet's title\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"cancelTxt\"),a(\"sup\",[t._v(\"1.9.9\")])]),t._v(\" \"),a(\"td\",[t._v(\"the text of the cancel button\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"'取消'\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"data\")]),t._v(\" \"),a(\"td\",[t._v(\"the data list to display\")]),t._v(\" \"),a(\"td\",[t._v(\"Array\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"[]\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"active\")]),t._v(\" \"),a(\"td\",[t._v(\"the highlighted item's index\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-1\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"pickerStyle\")]),t._v(\" \"),a(\"td\",[t._v(\"Picker style\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"visible\"),a(\"sup\",[t._v(\"1.8.1\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether visible. Bind to \"),a(\"code\",{pre:!0},[t._v(\"v-model\")])]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"false\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"maskClosable\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"whether hide the component when clicked the mask layer\")]),t._v(\" \"),a(\"td\",[t._v(\"Boolean\")]),t._v(\" \"),a(\"td\",[t._v(\"true/false\")]),t._v(\" \"),a(\"td\",[t._v(\"true\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"zIndex\"),a(\"sup\",[t._v(\"1.9.6\")])]),t._v(\" \"),a(\"td\",[t._v(\"the value of the style z-index\")]),t._v(\" \"),a(\"td\",[t._v(\"Number\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"100\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"ul\",[a(\"li\",[a(\"code\",{pre:!0},[t._v(\"data\")]),t._v(\" sub configuration\")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Attribute\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Type\")]),t._v(\" \"),a(\"th\",[t._v(\"Accepted Values\")]),t._v(\" \"),a(\"th\",[t._v(\"Default\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"content\")]),t._v(\" \"),a(\"td\",[t._v(\"the content to display in the actionsheet's item\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"any text, include HTML\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"align\")]),t._v(\" \"),a(\"td\",[t._v(\"align the content\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"left/right\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"class\")]),t._v(\" \"),a(\"td\",[t._v(\"custom class\")]),t._v(\" \"),a(\"td\",[t._v(\"String\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"''\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Event Name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 1\")]),t._v(\" \"),a(\"th\",[t._v(\"Parameters 2\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"cancel\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when clicking the cancel button\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")]),t._v(\" \"),a(\"td\",[t._v(\"-\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"select\")]),t._v(\" \"),a(\"td\",[t._v(\"triggers when clicking some item\")]),t._v(\" \"),a(\"td\",[t._v(\"the clicked item - data[index]\")]),t._v(\" \"),a(\"td\",[t._v(\"the index of the clicked item\")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a(\"table\",[a(\"thead\",[a(\"tr\",[a(\"th\",[t._v(\"Method name\")]),t._v(\" \"),a(\"th\",[t._v(\"Description\")])])]),t._v(\" \"),a(\"tbody\",[a(\"tr\",[a(\"td\",[t._v(\"show\")]),t._v(\" \"),a(\"td\",[t._v(\"show\")])]),t._v(\" \"),a(\"tr\",[a(\"td\",[t._v(\"hide\")]),t._v(\" \"),a(\"td\",[t._v(\"hide\")])])])])}]}},egGD:function(t,s,a){t.exports=a(\"E7JB\")}});"
  },
  {
    "path": "docs/js/app.86543725b2fbb55f515f.js",
    "content": "webpackJsonp([93],{\"//Y1\":function(t,e,n){var a,s,i;!function(r,o){s=[n(\"/5sW\"),n(\"HIuL\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}var a=n(t),s=n(e);a.default.directive(\"highlight\",function(t){t.querySelectorAll(\"pre code\").forEach(function(t){s.default.highlightBlock(t)})})})},\"1+tu\":function(t,e){},\"1j6h\":function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"VAcG\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={data:function(){return{hash:\"/\"}},computed:{ifrSrc:function(){return\"\"+n.baseUrl+this.hash}},watch:{$route:{handler:function(t,e){var n=t.path.indexOf(\"/docs/\");this.hash=t.path.substr(n+6)},immediate:!0}}},t.exports=e.default})},\"2DPt\":function(t,e,n){function a(t){n(\"i5GG\")}var s=n(\"VU/8\")(n(\"6p5i\"),n(\"v+5S\"),a,null,null);t.exports=s.exports},\"2KHY\":function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAEYCAIAAAAI7H7bAAAG+0lEQVR4nO3d0Y3sNgwF0H1BGsxHmkhBaSIfKXFSQLSABF5S9uKcz8WM7ZnZCwE0Tf36fD5fQM1vty8AfgJBggBBggBBggBBggBBgoDfl3/948+/hq9jx7///F15+3cfannY5Yv3X9mkfgGTH6Hp97rruw9lRYIAQYIAQYIAQYIAQYIAQYKAdfl7qVjNPLJf+tx/Zf3692vi9SMUP1e9Jr7v6FzF7/CZ/4RfViSIECQIECQIECQIECQIECQIOCh/L9VbdDsKmtdL0ked5vuuN0QfFa/rdws2PeGf0IoEAYIEAYIEAYIEAYIEAYIEAdXy9zMdFV6Lw0/qitXbo0p9RwG9qdb/LlYkCBAkCBAkCBAkCBAkCBAkCPiZ5e8mTTXx/SMsL2Bycnf9XJP3FSZZkSBAkCBAkCBAkCBAkCBAkCBAkCCgeh/pmXcAJufKN90Yub6J7Ytu+DzhqqxIECBIECBIECBIECBIECBIEHBQ/r4+wb3J5BShsZpyfbD99R0Djs51nRUJAgQJAgQJAgQJAgQJAgQJAn59Pp/b1/BuTU3lxQt4V/v5E9q3i6xIECBIECBIECBIECBIECBIEFAtf9drrx39vPULmCzIdhSaj7q/949Qr/VPXkDR0f+AFQkCBAkCBAkCBAkCBAkCBAkC1sNP9guyxRnZ3ykOJJnc6rSp97mpTNz0exU11fqLju6LWJEgQJAgQJAgQJAgQJAgQJAgYF3+7qg+X+/Iro/Druv4CJMN+JOF5vrbJ/vHrUgQIEgQIEgQIEgQIEgQIEgQIEgQcLCH7FJ9p9Gljm7/picLrj9bcX0C/eQQ/aNzTf5eViQIECQIECQIECQIECQIECQIqE4R2lfvdd8fY9Q0Rahu7IGFeq1/3/VnK5p2DDhiRYIAQYIAQYIAQYIAQYIAQYKAgz1km1qPx0rt79pWtaMnvX6uI2Nj+JsGVBmiD9MECQIECQIECQIECQIECQIOyt9Lky26R4ftMLmt6tIzh+g/8wbAEeVveARBggBBggBBggBBggBBgoCD4SeTimXWd1WEi4d97Oa8+xdQfHtTq/vR57IiQYAgQYAgQYAgQYAgQYAgQYAgQcD6MYqO+0iTdxvqF7DUNJR98q7d5FMMTfsAxE90dAEeo4BGggQBggQBggQBggQBggQB68coOhwVSScnyEx6Zll/6fp8qCZN2whYkSBAkCBAkCBAkCBAkCBAkCCgOkR/6fpU9Xe53v299Mzi9eSexbq/YZogQYAgQYAgQYAgQYAgQUC1+7upR/in7jT69rL+0Y4BHcNP6l9g06YHViQIECQIECQIECQIECQIECQIOCh/N22r2rFd7P6JvjtCU5F03/V53E8YqF155dG56j+3FQkCBAkCBAkCBAkCBAkCBAkCqt3f9brh9e7vYu11v0m5rn7Yju9wstW9fkyzv+G5BAkCBAkCBAkCBAkCBAkCBAkCWvaQbZp0Xnzl0RGK98eecGejqOmqxm4u1Q97xIoEAYIEAYIEAYIEAYIEAYIEAff3kF3qGI1/1O1/dITKMY/ONfnFLjU9RtH0KM3kfQUrEgQIEgQIEgQIEgQIEgQIEgSsy9/Xd2tdarqAjolFR67X36+3uhdd3574y4oEEYIEAYIEAYIEAYIEAYIEAevhJ5NTI5omuO+/8kW1/uKmqHX1w17/Yptq4lYkCBAkCBAkCBAkCBAkCBAkCFiXvzs6f5t6hK/PA7k+pHvS5PCT4lU1nes7ViQIECQIECQIECQIECQIECQIECQIuP8Yxf4FjN2X6PPMj9A0MKh4rvoFmCIELyNIECBIECBIECBIECBIEHAwRH9fU5G0Y//T7w57fYT89TsQTSbL+mMDqr6sSBAhSBAgSBAgSBAgSBAgSBCwLn+/SFM/dVOPcMfA/p/akV085neavm0rEgQIEgQIEgQIEgQIEgQIEgRUh+hPaipcdnRk1zvNizvDXt9boG6y1l8/rBUJAgQJAgQJAgQJAgQJAgQJAtbl76XJemhH/b2ppt9Uap+cEt7U6l7UdC6zv+G5BAkCBAkCBAkCBAkCBAkCDsrfS9e7jCenlNTf3nG1RzXxyUp3sdZfN1mstyJBgCBBgCBBgCBBgCBBgCBBgCBBQPU+0jO9a4j+dZNT/Cfn5RfnQxmiD9MECQIECQIECQIECQIECQJeX/6uT6BvemJizOTOtvVK9+QzI01HWLIiQYAgQYAgQYAgQYAgQYAgQcCvz+fz/79eH6D+zAto8swZ9vvqE4s63n502DorEgQIEgQIEgQIEgQIEgQIEgQcdH9fb3PeV28Hbqq97msaEtJRkm4qKF//fzP8BKYJEgQIEgQIEgQIEgQIEgSsu7+BI1YkCBAkCBAkCBAkCBAkCBAkCBAkCPgPmhi1fkt5OnQAAAAASUVORK5CYII=\"},\"2PaY\":function(t,e){},\"2a/n\":function(t,e){},\"2cv7\":function(t,e){},\"3+2Z\":function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"fZjL\"),n(\"ZQ4r\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var i=s(n),r=s(a),o={};e.default={props:{navList:{type:Object,default:function(){return{}}}},components:{SideNav:r.default},mounted:function(){var t=this,e=\"\",n=\"\",a=this.navList;this.$watch(\"$route.path\",function(s){e=s.split(\"/\").pop(),o&&(o.hasActived=!1,n||(o.isRootActive=!1,window.innerWidth>960&&setTimeout(function(){var t=document.querySelector(\".page-sidelist .nav-active\");t&&t.scrollIntoViewIfNeeded()},0))),n=t.seekRoot(a,e),o=n&&a[n],t.$set(o,\"isRootActive\",!0),t.$set(o,\"hasActived\",!0)},{immediate:!0})},methods:{seekRoot:function(t,e,n){for(var a=(0,i.default)(t),s=0;s<a.length;s++){var r=a[s];if(r===e)return n;if(t[r].subList){var o=t[r].subList,l=this.seekRoot(o,e,n||r);if(l)return l}}}}},t.exports=e.default})},\"4Sli\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"home-index\",[n(\"template\",{slot:\"desc\"},[t._v(\"A fantastic mobile ui lib implement by Vue.js\")]),t._v(\" \"),n(\"template\",{slot:\"rec-btns\"},[n(\"router-link\",{staticClass:\"btn-link\",attrs:{to:\"/en-US/docs/quick-start\"}},[n(\"span\",[t._v(\"Quick Start\")])]),t._v(\" \"),n(\"router-link\",{staticClass:\"btn-link btn-active\",attrs:{to:\"/en-US/docs/introduction\"}},[n(\"span\",[t._v(\"Introduction\")])])],1),t._v(\" \"),n(\"template\",{slot:\"feature-1\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"High Quality\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Quality\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      From DiDi interior component library and has been put to business test for more than one year. Every component has full unit tests to provide assurance for continuous integration.\\n    \")])]),t._v(\" \"),n(\"template\",{slot:\"feature-2\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"Good Experience\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Experience\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      Make quick response, fluent animation and close to native components as the goal, and pursue the perfection of the interactive experience.\\n    \")])]),t._v(\" \"),n(\"template\",{slot:\"feature-3\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"Keep Standard\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Standard\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      Follow a uniform design interaction standard and highly restore the design; Standardize the interface and unify the way of use, making development more simple and efficient.\\n    \")])]),t._v(\" \"),n(\"template\",{slot:\"feature-4\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"Design Scalability\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Scalability\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      Lightweight and flexible: support \"),n(\"router-link\",{attrs:{to:\"/en-US/docs/post-compile\"}},[t._v(\"post-compile\")]),t._v(\" and importing on demand; High scalability: it is easy to implement secondary development based on existing components.\\n    \")],1)])],2)},staticRenderFns:[]}},\"5usR\":function(t,e){},\"6p5i\":function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"Rrh0\"),n(\"DJf5\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var i=s(n),r=s(a);e.default={mounted:function(){window.scrollTo(0,0)},components:{Badge:i.default,Sfooter:r.default}},t.exports=e.default})},\"6zig\":function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"docs-view\"},[a(\"img\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showCatalog,expression:\"showCatalog\"}],staticClass:\"menu\",attrs:{src:n(\"CqQb\")},on:{click:t.toggleCatalog}}),t._v(\" \"),a(\"img\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.showCatalog,expression:\"!showCatalog\"}],staticClass:\"menu\",attrs:{src:n(\"tZDt\")},on:{click:t.toggleCatalog}}),t._v(\" \"),a(\"back\"),t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showCatalog,expression:\"showCatalog\"}],staticClass:\"mask\",class:{active:t.showCatalog},on:{click:t.toggleCatalog}}),t._v(\" \"),a(\"div\",{staticClass:\"nav-list-wrapper\",class:{active:t.showCatalog}},[a(\"side-list\",{attrs:{\"nav-list\":t.navList}})],1),t._v(\" \"),a(\"router-view\",{directives:[{name:\"highlight\",rawName:\"v-highlight\"}],staticClass:\"page-doc md-body\"}),t._v(\" \"),a(\"display\")],1)},staticRenderFns:[]}},\"7ntu\":function(t,e,n){function a(t){n(\"WVq/\")}var s=n(\"VU/8\")(n(\"ioLt\"),n(\"IRSP\"),a,null,null);t.exports=s.exports},\"8Rhx\":function(t,e,n){function a(t){n(\"OgmX\")}var s=n(\"VU/8\")(n(\"Q+I9\"),n(\"XZBs\"),a,null,null);t.exports=s.exports},\"9IYW\":function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"fZjL\"),n(\"VAcG\"),n(\"c3CN\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,a,s,i){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t){var e=[];return(0,l.default)(t.subList).forEach(function(n){var a=t.subList[n];\"string\"==typeof a?e.push(n):e=e.concat(o(a))}),e}Object.defineProperty(e,\"__esModule\",{value:!0});var l=r(a),c=r(i),u={};(0,l.default)(c.default).forEach(function(t){var e=function(t){return s.eventHub.$emit(\"begin-loading\"),t.then(function(t){return s.eventHub.$emit(\"finish-loading\"),t})},a=[],i={path:\"docs\",redirect:\"./docs/introduction\",component:function(){return e(n(\"ZWYt\")(\"./\"+t+\".vue\"))},children:a};u[t]=[i];var r=c.default[t];(0,l.default)(r).forEach(function(s){o(r[s]).forEach(function(s){a.push({path:s,component:function(){return e(n(\"tCUt\")(\"./\"+t+\"/\"+s+\".md\"))}})})})}),e.default=u,t.exports=e.default})},\"9bSS\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"home\",[n(\"template\",{slot:\"nav\"},[n(\"router-link\",{staticClass:\"tab\",attrs:{to:\"/en-US/docs\"}},[n(\"span\",[t._v(\"Docs\")])]),t._v(\" \"),n(\"router-link\",{staticClass:\"tab\",attrs:{to:\"/en-US/example\"}},[n(\"span\",[t._v(\"Example\")])])],1),t._v(\" \"),n(\"div\",{attrs:{slot:\"home\"},slot:\"home\"},[t._v(\"home\")])],2)},staticRenderFns:[]}},\"9zYt\":function(t,e,n){function a(t){n(\"qaPp\")}var s=n(\"VU/8\")(n(\"Evpz\"),n(\"C2Dz\"),a,null,null);t.exports=s.exports},C2Dz:function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"img\",{staticClass:\"to-home\",attrs:{src:n(\"v4eX\")},on:{click:t.toHome}})},staticRenderFns:[]}},CMlA:function(t,e,n){var a,s,i;!function(n,r){s=[t,e],a=r,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={data:function(){return{oldPath:window.location.hash}},mounted:function(){var t=this;document.body.addEventListener(\"click\",function(e){for(var n=e.target;n&&\"anchor\"!==n.className;)n=n.parentNode;n&&(e.preventDefault(),t.scrollToHash(n.getAttribute(\"href\")))})},watch:{$route:function(t,e){this.oldPath=\"#\"+t.path,this.scrollToHash(t.hash)}},methods:{scrollToHash:function(t){var e=/#cube-(.*)-anchor/,n=\"\",a=void 0;t||(a=window.location.hash.match(e))&&(t=a[0]),t&&(a=t.match(e),n=this.oldPath+t,window.location.hash=n,setTimeout(function(){var t=decodeURIComponent(a[1]),e=document.querySelector(\"#\"+t);e&&e.scrollIntoView()}))}}},t.exports=e.default})},CqQb:function(t,e){t.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTIyMzk3NzYxMzgyIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1NjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTgyMi4wMDM0NSA3NzYuODIyNDM0bDAuMDIyNTEzLTAuMDIyNTEzTDI0Ni41MDQyMyAyMDEuMzE3MDc1Yy01Ljc4NzgyLTUuNzkxOTEzLTEzLjc4NTk4MS05LjM3NDUwOC0yMi42MjEyMDctOS4zNzQ1MDgtMTcuNjYyMjY1IDAtMzEuOTgwMzY1IDE0LjMxODEtMzEuOTgwMzY1IDMxLjk4MDM2NSAwIDguODM0MjAyIDMuNTgyNTk1IDE2LjgzMjM2NCA5LjM3MzQ4NSAyMi42MjAxODRMNzc2LjExMjI2IDgyMS4zMzkzMjRjNS44Mzg5ODUgNi4yNzc5ODQgMTQuMTY2NjUxIDEwLjIwOTUyNiAyMy40MTYzMTYgMTAuMjA5NTI2IDE3LjY2MjI2NSAwIDMxLjk4MDM2NS0xNC4zMTgxIDMxLjk4MDM2NS0zMS45ODAzNjVDODMxLjUwODk0MSA3OTAuNjY3NzY3IDgyNy44NzEwODcgNzgyLjYyMDQ4NyA4MjIuMDAzNDUgNzc2LjgyMjQzNHoiIHAtaWQ9IjI1NjIiIGZpbGw9IiM2NDY0NjQiPjwvcGF0aD48cGF0aCBkPSJNNzc2Ljc4MzU0OSAyMDEuNDQ4MDU4bC0wLjAyMjUxMy0wLjAyMjUxM0wyMDEuMjc4MTg5IDc3Ni45NDcyNzhjLTUuNzkxOTEzIDUuNzg3ODItOS4zNzQ1MDggMTMuNzg1OTgxLTkuMzc0NTA4IDIyLjYyMTIwNyAwIDE3LjY2MjI2NSAxNC4zMTgxIDMxLjk4MDM2NSAzMS45ODAzNjUgMzEuOTgwMzY1IDguODM0MjAyIDAgMTYuODMyMzY0LTMuNTgyNTk1IDIyLjYyMDE4NC05LjM3MzQ4NWw1NzQuNzk3MjMxLTU3NC44MzYxMTdjNi4yNzc5ODQtNS44Mzg5ODUgMTAuMjA5NTI2LTE0LjE2NjY1MSAxMC4yMDk1MjYtMjMuNDE2MzE2IDAtMTcuNjYyMjY1LTE0LjMxODEtMzEuOTgwMzY1LTMxLjk4MDM2NS0zMS45ODAzNjVDNzkwLjYyODg4MiAxOTEuOTQyNTY3IDc4Mi41ODA1NzggMTk1LjU4MDQyIDc3Ni43ODM1NDkgMjAxLjQ0ODA1OHoiIHAtaWQ9IjI1NjMiIGZpbGw9IiM2NDY0NjQiPjwvcGF0aD48L3N2Zz4=\"},DJf5:function(t,e,n){function a(t){n(\"bStC\")}var s=n(\"VU/8\")(n(\"T7jr\"),n(\"Qwle\"),a,null,null);t.exports=s.exports},ETzz:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"bj/E\"),n(\"TAy9\"),n(\"9zYt\"),n(\"c3CN\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a,s,i){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(n),l=r(a),c=r(s),u=r(i);e.default={props:{lang:{type:String,default:\"zh-CN\"}},data:function(){return{navList:u.default[this.lang],showCatalog:!1}},watch:{$route:function(){this.showCatalog=!1,window.scrollTo(0,0)},showCatalog:function(t){document.documentElement.className=t?\"ov-hidden\":\"\"}},methods:{toggleCatalog:function(){this.showCatalog=!this.showCatalog}},mounted:function(){var t=document.querySelector(\".md-body\"),e=/#cube-(.*)-anchor/,n=window.location.hash.match(e);if(n){var a=decodeURIComponent(n[1]),s=t.querySelector(\"#\"+a);s&&s.scrollIntoView()}window.scrollTo(0,0)},components:{SideList:o.default,Display:l.default,Back:c.default}},t.exports=e.default})},Evpz:function(t,e,n){var a,s,i;!function(n,r){s=[t,e],a=r,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={methods:{toHome:function(){this.$router.push(\"/\")}}},t.exports=e.default})},G2UX:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"sJTd\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(t){return t&&t.__esModule?t:{default:t}}(n),s={star:\"https://img.shields.io/github/stars/didi/cube-ui.json\",fork:\"https://img.shields.io/github/forks/didi/cube-ui.json\",watch:\"https://img.shields.io/github/watchers/didi/cube-ui.json\"};e.default={data:function(){return{badgeName:\"\",badgeValue:\"\"}},props:{type:{type:String,default:function(){return\"\"}}},mounted:function(){var t=this.type;this.getData(t)},methods:{getData:function(t){var e=this,n=s[t];(0,a.default)(n).then(function(t){var n=JSON.parse(t);e.badgeName=n.name,e.badgeValue=n.value})}}},t.exports=e.default})},GmuY:function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"home-example\"},[a(\"div\",{staticClass:\"example-main\"},[a(\"back\"),t._v(\" \"),a(\"display\"),t._v(\" \"),a(\"div\",{staticClass:\"example-desc\"},[a(\"a\",{staticClass:\"online-link\",attrs:{href:t.baseUrl}},[t._v(\"Online Example\")]),t._v(\" \"),a(\"img\",{attrs:{src:n(\"2KHY\")}}),t._v(\"\\n      On Gitee\\n      \"),a(\"img\",{attrs:{src:n(\"h+pa\")}})])],1)])},staticRenderFns:[]}},Gzs6:function(t,e){},HHvJ:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlkAAAJZCAMAAACtJtB1AAACBFBMVEUAAABGWrIxRZtVasT71Tj71ThVasRGVrfasADwyAHbsQDyyg1BU7JGVrfvxwBFVrfasADlvABGVrdGVrdGVrdGVrbvxwBGVrfiuADvxwDvxwDvxwDowADasADasADasAA4S6bvxwDasAA8TqoxRZsxRZvuxQBEVbXvxwBGVrfswwBGVrfsxADvxwBVasTasAAxRZsxRZsxRZvbsQA/Ua4xRZs/UK3zyxP2zx5IWblHV7gxRZv71ThFVrZPYr/bsQDetAAxRZtGVrdVasTmvQBNX73xyglGVrfasADxyQnasADasABVasTzyxFLXLtJWbn71ThGVrfwyATbsQL71Tj71Tj71ThVasT71Tg7Tag+T6zhtwBVasTasAAxRZsxRZvasABVasTuxgAxRZtVasTvxwAxRZvvxwAxRZvvxwBTaMPjuQBVasTiuQDYvEn71TjasAAxRZv71TjvxwBVasRGVrc8VaVddsZWar/iuQ7qwQEzR55SartUaL01SaHMtVNHXrL61DPcsQDetAHJsVBMYLU5T6Q0R59SZrvftgBYb8FEW61DWKw3TKFac8Q+V6jrxB9SZsJOY7c/U6r40SrlwAvxyyjkvxrsxACUi0730DBPZbl5emjiwBTZuRNJXZnBqis9TZFJVYhhZnSsnT20nzDvxyNpcnzgvxdeaoaIg1rMrx1ByQG9AAAAcHRSTlMA4ECAgMDA8EDw8BDqEPYgEPDA4ED14ID2wIAg6cDggPZAIPAQ8PDvoGDsoOhgQKAg4MBf6IAwMPSPUGDw9/b26aBwEPfw6rCQUFAw8Orp6eDQsbCgYEAgIPfr6eDQsJBwYPfQoJBwcFDQ0Oaw6+iQ4sNb0wAAFfNJREFUeNrs3LFqG0EUhtElzTZZFqQ1agMpgnBrDBKkcePaZfIWU0xlcJvXzjqQxuBsJK89M1fnPMOP+LhipwMAAAAAAAAAAAAAAAAAAAAAgEt33HewuttNzlvbYmXDdf5je+xgPbs+/7WZOljHcZtntsXqgfXS9djB2wyHPLMtVnbX51fshg7ONG3z63rb4jzjJv9bf9fBGYG1xOmUswJrgdMp6wbWzHmLNwSWbdF9ZGA5b3Ge/XNg2RYrmx7yEqdTTjbe5yVOp5xs2OUlTqe8R2A5nfIugeV0ytqB5bzFGwLLtugqDCznLV6YNvmZbbGq8TovcTrljMDq8wKnU0633+Z31u86Ls5/BJbTKVUFlm1drsXAct6izsCyrUt0u8kf7955K7rhlMByOuWE94qKOThvhXXc5pL6g9+tkObAKuvq66eOcObAKuzmMVlWPHNglfX5KSXLCmcOrLK+fUnJssIZywfWY7KscIZDLuzmV0qWFc5dFYFlWdFMlQSWZcVST2BZViQ1BZZlBVJVYFlWGJUFlmUFUTyw8hxYlhXOsMuFfZ4Dy7LC2VcYWJbVvukhl/V9DizLCme8z4XNgWVZ4dQbWJbVtIoDy7IaVnVgWVazKg8sy2pU9YFlWW3aF/8rZw4sywpn2uSyrn6kZFnhjMW/9vr5mCwrnKH8115zYFlWOM0ElmU1paHAsqyGNBVYltWMxgLLslpRy+f0lhVLBe8VpWRZ4VTxXpFlxVM+sJ5SsqxwGg0sy6rcb3bOYLWJKIzCUxeFEhBcNNjGTTZSxK670p2LbhR8B5G6mjJZBEQQpaJoF+IL+0/SaWrM3Lk3Ddxz/nu+Z/hgPs5wf9rAklnQEAeWzEKGObBkFi7cgSWzUMn+nL69VySz3AF4r0hmeQDxXpHM4gfzXpHMYsdJYMksMNwElszCwk9gySwksgdW+5xeZrkje2C1z+llljtYntPLLDLw7xXJLEYY7hXJLD447hXJLDacBpbMSkeBJbPw8RtYMisRZ4G1/pxeZnmA8zm9zIKH7V6RzOKA716RzGKA8V6RzMKniMCSWTEosGQWPqUElswaRIEls/DJH1gDH0KZRYmL5/QyCw72e0UyCxP+e0UyC5LyAktmbUaBJbPwKTOwZNYGFFgyC59iA0tm/Y+n5/SpgSWzKMj+nD79XpHMIsDbvSKZBYK7e0UyCwIFlsy6QYG1QGYho8CSWTcosG6RWbBkD6wXIIElswxPz+lhAktmVZXuFa2QWYg4v1cks1LQvaI1ZBYaCixWs6YXR9MKFgUWq1mTt41xNKkwUWCRmjU6bm44QXRLgcVq1um4WXEyqtD48CZdBuLn9G7Mmh41/3BwjObW/uxl0tewkMACN2ty0hjYbu3PZqluUd4r8mTW6Pig2cT4tALCzDJeHca5wHuvyJFZy8CCd8vMinaroMDCNcsCK8QYZt7an3W8DopQWGChmmWBNQTKdGpmdfwOuVVYYGGa1QXWkFtnFQBm1h23eiaI8gIL0qzzcTMA0nRqZkW55eQ5PbFZZ4vA4nHLzBpyq5RfOdBmjcKBBThvrZu1Yd5y+NqLzqxFYHG5ZWYF3fJyr4jarC6wkt3KMG8FzVrNW8UGFpJZEYGFOJ2aWX1ulRxYOGZFBBbmdGpm9bpVcGDBmDUcWKjTacAsm06LDSwQsyICC3Y6NbOCbhUaWBBmTcKBBT5v9ZvVzVtFBhaAWaN3jcHrlpk16FaBgZXfrPfhwMKft4bNauct/ntFZGZNF4FF7ZaZFeUW+70iKrMiAgt/OjWz4tw6LCqw0syCDqzo6TSDWd10WlBgJZsFHFiZplMzK96tcgIrySz4wIqbTjOaZfNWKYEVbRZJYGWYTs2sNLfKCKwsZtlz+jBU81aCWd28xfycHtms02Bg0bllZqW7RXivCN6s6UUTAdG8lWhWN2+Rv/aCM8vuFQ3D5ZaZtZ1bvgNrwCziwOqfTjHMaqdTz4E1ZBZzYPVNpyhmtdOp38AKm0UeWGuMqyU4ZplbbgMrYJaHwLrLky/VEiSzbN5yGlh9ZrkJrI5nX+u6WgJlVusW1XN6LLPsXlFenv6oa1SzzK09h4E1YNau7hXl5eHjukY2a7Z36ZYUs9LvFeXFAquWWZHwmNXeK8pHF1gyKxYas0ACS2bFQmJW/sB6VNcyKwUKs4ACS2bFQmBW/sB6boElsxLBN+s8e2DZ0iCztuHjr6vry12xMiv/vaKdBZbM2oo/n+bz+eed/WtqzYK5V7STwJJZW/Ht+3zJzx39FniAda/o/oEls7bh+mp+y1927i6njRiKArDkrqDvLIFVdQXAw2TUNDRUCoqaFKrQHyFoKdCK/myyHqR5CCR3fDye+Oees4ZPyfH1+E6WQWyZsgsWZblkPK3XMr847B9TdsGiLIcsJ/XTzKvDvjFlFyzK6szFvN6U2elhv5iyCxZldeR0Vm/LrN8x0eTxnL6zYFGWT46ntZRpnypvcnlOLxSsdweU5ZPxUlDV+5hoEt5X5JQ9+0dIWXDayWinLe9jokl6X1Fn9u23MpQFpp2MCgkwgjBlFyzK2pzjLcU94DHRlF2wKGtTxosai89NtSm7YFGWMBlFgt9Um7ILFmU9SzWvvYIeE02WBeuVLViUJQafjAYeQZgcn9PbgkVZUvDJaPhjosnzOT1leWQsFCxXW+7HRJPTvqJHV7ZgURYQYDIadARh8tpX1BQsyvLJ6UoEE/6YaMouWJQlTEaR4DfVpuyCRVnAZDTsMdFkU7CaCRZlAQlasPCbapNJwWr2FVEWEHAyGn4EYfIoWPZjZMryyQegYIU9JpocntM3BYuyhKCTUTz4B80ms31FlDXkZBSndbg1Jvl9RbZgURYQ4VFO6KwWwuMxk9m+IsoCrp6HzXxRVZKssgvWoLJepCvreHBXk2lVybLKLlg6ZY2X9dCZnVddstItWPY5PWWlMhldz5V11Smr7IKlUJbwKCdgwXKQledzesoCJqNhM7GunGRltq+IsqSMp/XQmZ5XjrIy21dEWUKGn4yurCtXWZntK6KsuJPRyl1W2QVLk6z38C8WXtwRWWUXLE2yRqMhbU1swcJklV2wdMmCbOGTUVBW2QVLm6zRWT1EVsuqgmWVXbDUybK2gJ8toGDhstJ4Tr9esCjLTxZgC756xmVltq+IsrpkAXULKVi4rMz2FVGWIAuwBU9GcVmZ7SuirK15Mwpt68oWLF9Z93uwhKwKlmJZo1Gw4o7LuvsBS8isYKmWNToLMhnFZd1e4hRyK1i6ZQnHRKC4w7L+fvb0MPy+IsryliXbwiejuKz77z4Y4u8roixAllDlgYIFybr75aUhgX1FlIXJwm3ZySiQ1ApWx2svygory9pCCpa3rGtFBYuy2rqFPsrBZd3/wynkW7AoC6nydjKKRm3Boix3W5NFhUdtwaIspyrfTkbxJFKwXK8IKctTFmBLKO5IkihY7vuKKMtTFmBLeJSDJIWCBXyMTFk9ZckRJqNwbi89/ghLKFiUtSlnwmQUy7XXVU6S+4ooC5YlHxPlgiXnIfq3MmjBoixPWbCtqx6ubn7iFMopWJQlVfk+BetGecGiLCksWJSVmKz4BevlQRp5hEBZT8OCRVkpyYpesPZTKFiUJSXPghV90kBZA8j6w4JFWQ5hwaKsJGSxYFGWY1iwKCu6LBYsygLCgkVZcWVFf06/n8ZVDmWFlfXAgkVZQ8jy+hg5w31FlLVrWW8/vkYxZLmviLJ2LuvoBLKlpGBRVgBZR0cnXx0l6ClYlBVClqstTQWLsgLJsra+dVFQVbAoK5Qsm0+/OzlkvK+IsuLJsrak363M9xVRVkRZNl+2juNz31dEWdFkybYKe+1FWbuX9Xy8pbJgUVYIWaItpQWLsoLLWh9vqS1YlDWMrNaW3oJFWUPIakenuq4IKWsXstrRaUH7iigrIVnN6LTsj5EpK4asdryls2BRVhhZsq0i9hVRVnKymvGWvoKlSdYqiqzWlraCpUnWNI6sdrylrGBRVlBZsi1VBYuydiKrHZ0W8JyeshKU1YxO1RQsyhpAljw6zXVfEWWlLasZb5Xw2us/e/fTElUUxnH8QQochbBNYGKSKERQ+QdtyIUJIRW4sWVUi+jPKmbO3aRG6FizsEYGk5Ta+zqbZ3LS29xzBmeeufec5/6+r+ED8zvneq+Q5Z8stpWDgQVZGcji6y31AwuyhGRd3JbygQVZmchiW2u6BxZkZSWLbWkeWJCVmSy2tRre6/SQFYIsYw5Xw/5jZMjyVRbb0jmwICtbWVyxEMT3iiArOFnGbJTURhxkQRZkddPWAWR1CrK6q3YAWe4gq9uqnyDLFWT1YGsPsuxBVi9934MsW5DVW9v7kJUcZPXY1raUrOrWF2WyKiclsfIni4+JIrI+l8u6ZFXqO6YkVh5l8TGxZ1m1clmZrKNfxkBW/211dKVM1sZPYyArjWOie2CVlcnabbiCLLG+7Xcnq+FKl6xK3RjIkj0m2m25fgiVyTraMZBlS/5Jtd2VMlkbjeEOWX2o9vsCsqrlsjJZPLAgy5H8MTF5uCuTVTkxBrL62I+EY2LizagyWfUdA1kdkr+CSBhYymTxzShkdUr+mNjmSpms5s0oZKXR1lebLB5YymTtnhgOsjom/6Q6fjOqS1alNbAgq2Pyx8TzP4TKZJ3djEJWelU/xmSxK2Wyzt+MQlbH5I+JrZtRZbLiN6OQlW7NY+LfgaVMVqVuYkFWyvEVRPNmVJmstuEOWalXO2gMLGWyEgYWZPlaQLISb0Yhy9eCkWW5GYUsXwtElvVmFLJ8LQxZR9aBBVm+FoIs13CHLF/zX5b7ZhSyfM13Wct14wyyfM1zWY8vGXeQ5WteyxqfJMiCLPFeDBJBFmRJNzRPBFmQJe5qYoQgK2hZH4y7bGTdmySCrJBlzS1eNu6ykDU+SARZIcuafU/kn6wbT4kgK2RZ0wtT5J+soQkiyApa1soMkX+yno0QZAUta26AyEdZgwRZIcuaXSKCLMjipAcWZEEWJz6wIAuyOOmBBVmQxUkPLMiCLPEaAwuyIEu8lzNEkAVZ0r0eIIIsyJJueokIsiCLkx5YkAVZnPjAgizI4qQHVrCyxtZ3jDPIyioeWMHKGn4TRYWicQVZGfVqisKV9a4QcYVDYw+yMmluhihYWU+uRa1W7bYgK4NmB4iClXV/NDrfmm1uQVbqTb8lClbW2K0olt0WZKUcD6xgZQ1fL0TtXSkm2YKsdOOBFaysO82BlWjLtAVZ7uQHVrCybo5GtpKuICDLlfzAClbW/HpkyXJMhCxX0gMrYFmbUcdWY3MLslJqbpFIuaz4MRGynEm+Tp8DWVFUxH+hS7PpBaKcyDo7JkJW/1uZovzI+ndMhCxLogMrV7JOn1RD1v9lPrDCl9W8goCseB4MLA2y+JgIWbE8GFg6ZLEtyIol+jp9nmXxk2rIko9fp8+5LLYFWcLx94ogq1GhCFmc5PeKIKt1TIQsTwaWMln8pBqyvBhY6mTxMRGyPBhYCmXxMRGyen6dHrKSbUFWb6/TQ5at26Xey6csfp0esmwdPywJlEtZjYEFWdael2SjvvTAQ1k8sCDL1tXlknDUl+56J6s5sCDL0qOhklQ5k3U6sCArsU3JgZUvWa2BBVkJHcsOrDzJ+sPOHaw2FURhHD+DIpKVL9AWfIAWFQSXUhdF3bnoRlHRlVXM2ifxcZ3UQhPvzY1Nztz5zsz//ww/yMcJc28HFrKGXS1960fW+nN6ZA0Glvtw70XW5nN6ZJUf7p3I+uc5PbIGl1H3upA1+F4RstYqNNw7kDUysJA1uIy617ys0YGFrPIDq3VZ4wMLWYPLaLmsTJ/fHyxLeGCFlpUvo7NkhTq/99ZBlvNzemTlgbUs3FCWmK1U4Dk9svJldK6sYOdfHWR5PqfvXdavxXK+rGiX+9tKBb5X1LesfBmdMyvc5YN9ZQkPrJCyrpbzZsU73c9WEh5YAWXly+jM2QydfttHlvDACicrX0Znz3zyP28l4YEVTFa+jFbItlTdVhIeWKFk5ctolcwn//NWKvCcvkdZcw8sb1n+tlKB7xX1J+vV7K68ZfmfTlOB7xX1JqvGwPKW5X86TQW+V9SXrN9VXHnL8j+dJuGBFULWj2XdzCf/02kSHlgBZFUb7t6y/E+nSXhgycvKl9HqmU/+56206zl9/VRl5eEukPnkbyvteE4vkKasfBmVyOo1fd5Kk8/pJZKUVX9g1Ze1Op3uIetL/YGlK0thYAnIyrZebJclPLBUZWkMLAlZE6fTJDywRGWJDCwRWdnW93FZwgNLU5ZYJtDo6TQJDyxkBZE1aisJDyxkhZG1Om9Ny/qoNLCQFUjWytZ2WU+1BhayQslanU7HZT1RG1jICiZr43Sa1r5XJBqywshaP50m4YGFrHiybk+nSXhgIWt3F6bX39NpEh5YyNrV0WOTbHXeSsIDC1nTHT802U4fpJe6AwtZUy0+mXTPTT5kjXXxyAhZuT4GVqx+IivQwIrUfWRttDgxQpZ/ZwwsZBXo6I0Rstw7fm2ErBwDSzpkMbCuQ9ZNDCz1kMXAug5Z7i1O+CHMIcu7M/7KuQ5Zvh3xV85NyPLs+JnRTchiYAWpX1kMrI2QxcAKUp+yGFiDkOURA2sYsg7vHQNrJGQd2gcG1mjIOqwFA2tLyGJgBaknWQysiZDFwApSL7IYWDtCFgMrSF3I4jn97pDFc/ogNS9L/XtFzda6LL5X9J8hi4EVpJZlMbDuELIYWEFqVhYD624hi+f0QWpSFs/pBWpQFt8rkqg9WXyvSKPWZDGwVGpLFgNLp5ZkMbCUakgWA0uqZmQxsMRqRBbP6eVqQhbfKxKsBVl8r0ix+LL4XpFm0WUxsFSLLYuBpVtoWQws4QLLYmBJF1YWz+nFiyqLgaVeTFl8r0i/iLL4XlGE4sliYMUonKw/7dyxTQNREARQAhO5IBIaICPAFq1M95gc29Ldrdj9eq+GCUYj7SpYQwxLloI1xqhkKViDDEqWgjXKnGQ5p59lSrL8K5pmRrL8K5pnQrL8K5poQLIUrJHaJ0vBGqp5shSssVonS8EarHOynNNP1jdZzuln65os/4qm65ks/4rma5ksBWsBDZOlYC2hXbIUrEU0S5aCtYxeyVKw1tEpWc7pV9InWf4VraVLsvwrWk2TZPlXtJwWyVKwFtQgWQrWkv49WQrWoj7e9ydLweIP31+7k+WcnpJsxTk9d7y97kqWf0Xcdd2RrfhXxAPXz83JUrB46LIxW1GweOKyaYKIgsUz59OGbEXBoiRbcU5PybwV5/SUZCv+FVEynca/Ikqm0yhYlEynUbAomU6jYFEynUbBomTeioJFSbbinJ6SeSvO6SnJVvwromQ6jX9FlEynUbAomU6jYFEynUbBomQ6jYJFybwVBYuSbMU5PSXzVvwroiRb8a+Ikuk0/hXxUjGdRsHi5vjpNAoWvw6fTqNgcbzbdBoFiwLnk3N6AAAAAAAAAAAAAAAAAAAAAACAWj+XfjQW6D6WqQAAAABJRU5ErkJggg==\"},HIuL:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"70Rd\"),n(\"R1FX\"),n(\"izbv\"),n(\"V3HO\"),n(\"IZDm\"),n(\"GdJY\"),n(\"l7j4\"),n(\"6STP\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a,s,i,r,o,l,c){\"use strict\";function u(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var A=u(n),d=u(a),f=u(s),v=u(i),g=u(r),p=u(o),h=u(l),y=u(c);A.default.registerLanguage(\"css\",f.default),A.default.registerLanguage(\"markdown\",v.default),A.default.registerLanguage(\"javascript\",g.default),A.default.registerLanguage(\"json\",p.default),A.default.registerLanguage(\"shell\",d.default),A.default.registerLanguage(\"stylus\",h.default),A.default.registerLanguage(\"xml\",y.default),e.default=A.default,t.exports=e.default})},HdVk:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlkAAAJZCAMAAACtJtB1AAAClFBMVEUAAAAxRZvYjGn8gi//l0//l1D5pGn8kEb/rHP/k0r/rHP9kEb9ijz+jUFCU7L+kEX/rHP/rHP/l1D2fSr/l1D/l1D/l1BGVrf/rHPveCf2fCr/l1D2hjr/l1BGVrf5ikDvdyYxRZvzfS3/rHP/q3ExRZvvfjFFVrbweSlGVrf/rHP/rHL1gTNGVrf/rHP/l1DwhDr/pGbvdyZGVrdGVrfyeihGVrdGVrfvsYg5TKf/oWD7gS7vj05GVrdFVbU8TqrweCY+UK3/nlv/m1YxRZvvn2rvq33vdybvr4X/mFL/m1b6gC0xRZv/l1AxRZvvdyb4fyzwmF7/rHPvpnQxRZv/rHP/oF/8gi/vdyb/l1D/l1D/rHP/mVM3SqP4k0/9kkrvdyYxRZvzeinvlV7/mFExRZsxRZv/rHP/lk71jET/qG78o2b6nFv/rHP/rHPvdyb/qW4xRZv/pWhGVrcxRZv/p2o4S6T4iT4yRp0xRZvvdybweCb8rHb9iTr7gS76gC1GVrf2omnvdyZGVrfwj07vm2L/nVrvdybweCdGVrfvqHn8ijxGVrf8gi/vlFf/nVr/oF7vrYHwjkz3fiz/rHPUimn/pWj/rHPvdyZ/bZ3/l1AxRZv8gi//rHNGVrfvdyb9jD/xeCf8gzH9hzf8hTP+lU37j0X7gS7/mFL/l079k0vxeyv1gzbyeij+jkL/qW8zRp7zhDnzfzD5fy3/p2rRh2n/mlb7llT/lEv/q3H/nFn5i0D1fSv+kUf4fy36gTD/pGf9iz33hzryfS/xfzP2gjI1SaLvfC7zhjz/oF/9l1L4llb9kUj1i0T/qW3+oWL7n2D4kUtdX6zEhXX4mFqScY79iTujd4NSWrFvZaGCbJjhj2QzqIjDAAAAmnRSTlMAwPdA8PfxEPDpEMD38OrpwIAg8OCAQPDg9/bA8KAQ98Dw6WAfEP738IBA9+ngoGD79oBAIOmgYB/38fDvwPDw8Orp6ODAcEA88ezoQDAg/ujd0JyAMPf39pDQcHAw8OHgYE77sKCQT0/28enosJAg7XDt0FA89eDQsGAv9/Xr67CrkHD6zcCwopCHWFD159yHV/rr5+eYlHBlo9M6lgAAGm1JREFUeNrs2DEKg0AURdEpB6ukszdVChcjWLkAu+zo7zUgBEIEMc4vz1nDKy6vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFvqvSuQbYwI2yJbN8WmDgXyzH189LZFmrXGl34tkGGJH7dngZR2ty026e2+Nz4KNLa7bZFtrXHg5d6iud33XKcktvt+WwUa2n3HdcpFc40I2yLbUOO8yb3FSfc44Drlom6Mv93cW7S1u+uUlna3Ld7s3NlrE1EUx/ErKIYI2ojagFgKEcQUq7RiUXDDh4Lgi9CC1KWooFZbRXFBX1zABQR91DOZuYoLI4IboqAvgiC4gOCC2z9jcltL29Q7y7mTOdN7Pg/6D3xJfp4ZozRqu/PplKG2O7fFFKPbHSvXJxiLtN35dMoQ2z02fqOZxdrufDplqO3ObbEqYtt9okE+b7GA7c6nU5bGduc3mtn/lFwNPp2yuIbcMbgtZso5V4NPpyy21gMD7njcFjNSlpQH2tw4+I1mFlCWfLhzsrb4dMow+qVsTFvnBLOKHPHwkJuoNTBXMJvIUW8TbKutF2CRYDaRY7w96Caj7QUATJ8pmEXkOE8TaeuIDzXzBbOIlIm3ddQHZbpg9jgs65g+na6Bf5YLZo1uqWjawm/3UfMEs4Yqq97ONnPbfYz9gtli8rLU6dTQdh9roUhZV/OqlYIhYMtSbRnY7jDBApGmzmNeFbeFgCnL4Om0F8ZL91q6cpU34kqLYEnbLaW2Ldx2rzdXpKRlabM3qnkpt5W0DqmBOm/latudzIdW1zKvittCwZeFb0tt9zqpPeLpXOvVab4gGAK2LNXWAHq7K5hHPPiBVW9Zl2AI6LLU6RS53ZHXUvzA4rYQsGXp22pDbnfEIx7swNI51ilYIs7LOujTqdruND601MDSW8ttJaJVSnxb+u2e3rW0RQ0sbgsl+bLUG82I7d74RzxqYIVyls/ySrJlIU+nvRBoi2iEq8u8kPiRDxa+LPVGc6Ttnta1dIcaWNwWgvGyMKfTAc12xz/iwQ8sPT7Lp1uWaku33YNtEwhGBxY/8kmMjOfAQMjtjnjEgxtY3FZERMpSbQVvd8QjHsTAQmnms3wKZeneaG57BRq6a2n6A4sf+VQRKmvc6fSIZrs37hHPhdrA4rZIkBLXVt12T/FDqzPSwOLHiePRKkudTjXbvZGPeFaGHlj8yKcBuqWCbKsXIlsozGq54lVxW2SosrB2QQxbKA4sPstPgbIW0RxY3Fbmy4K5RAcWt5X1sraRHVh8ls92WdNn0h1Y3BZaR3plwXxD/52+HreVPiNlzYBY5qEH1lkvDD7Lh0GyLIhpOfJ/e3k63FYkU6useQKhK3BgcVtRTKmyYAH5gcVn+WyWtTADA4vbiudSqmXBliwMLG4rjlaJ9xZiW5SNgcVn+XTKegbxzc3IwOK2slbWtswMrIlt8emUdlnTZ0YaWKl/EfJZPqxLKZcFFyP9XhEp3JbO4bTLghfXQ/9eETnNSwVL8KC1AlD8zdtD/SAkSXyW/6+ZGyTWScDxYfP2DA0sbiuk06mXBT7ApuMZGljcVjj9qZdVSwuuHc/QwBpn9inBJtOdflkqLbi2OEMDa9SS1c40wSbVmn5Z4Ks/Lta1RXhgDVv/xOGykro8zAED/JG2xFhXaQ8sz5td7YrL0v1yN8ouMMOfcN7aQX5gvXMcLkt/eSBR1khbm4enfEsGBpbDZQXoIFLW8JeivzcLA2vjE4fLCtZPpazhtjbdzMbA4rIC7ZYIH8AwH/zvHmXrqgOLy0r+8vAAjPPhq0dWbWBxWWGdkfFBEvw9HlHVgcVlRXCZWFkA3754BNUGlk1l9ZT7CoX2JqVQKOwr5yOfSzdQK4tiWrWBZU1Z5cLgVrdermmotFhE0EGuLHJp1QaWJWX1FJpcnWJ7KR/6XNpPrixiaVUHlh1l9QwV3RAGS/lkX9S6DaOmclq1gWVDWfm+ohtaeznJy8MzSNA3j4Z1JxzHhrIWt7vRFEsiWDfBsuCPR8CS9Y5jQ1nlJje6XCEvglwiWBaFk2l1YNlQ1uJBN55cKfDyQLEs+O1h4d+VsaCs/JCrgf1O7KBYlo9c8fiBZUNZpZyLUiwHvKhFsCzY4yHgB5YNZZW3umhN2rZuyOheQ7IwUws/sGwoK9/umvB5keEXte5D0vxfHgJqYNlQViHnGvD4U2WW9vJAsSzE9yFuYNlQVrnomvDibkVflmilWNbLGP8+xA8sG8pSlwa8z3cqVfqyDtMry4/xoYUfWDaUlS+4Jjx/VFFmCa3LxMryX0LVD0/L/MCyoax9RSMD60NFUWUZvTzcgyR9HPnrp9co61Y7jg1l9TS5Jry/UwlZluggVNZLULQfWqYH1hPHhrLUyR3vza2KEliW0k/l29D/AIr+Q8v4wLKhrD4zl4Z7FSVsWbuJ3OA/wljfvcSpgWVDWerkjvfqbkVXFv7y8Je9c+l1KQrDsLjEPYQQhBAMBCEMSSQYYSIGJEzEhIkYGeIHiJmQfNZS97g3pEv1iKQuA/f7Jf6NY5NTtP269vm+tfuu3fWMz+w86Xr7dHX3DYWgTn/DvD1UHViDYNZypeT+zRjWLHkuvUX6XK/T/7Q1rf4PrCjNUkvuhjFLqTw8Im3avWI+PVS7jDwIZikl91dXzGjMWjbvregmvL5XGf9seIiBFZ1Zy2eqJXfGLLZzNHO59VT1IKQW7IZX/bbXIJilldyz0sCZxXeO5ouKP+oDq51wV+KHB9ZAmLVMMbnnN+vsX/Puw71K4eXhNTF8Op+BM7BiMkspuQ9dNqMxa98qm5HfrZuaA4s/DoEGVjxmTVmjn9z9zTo6z7bx+pmgPMgPwvZ3h1ADKxqzNJN7frOyV8tRu3VN5yDk/+L8eayBFYlZK3dpXe4bjVnM24b6rQLKQ508+AE2sKIwa/lh/eTub9ZR9tXy3UcPtx6pHIQ8X8EGVgxm6ST32hvTm6l5+1nmVtDyUCc/PoMNLHyzDiom9/xmrbG98EqntzW84nF6d2UGwiyl5N68bLyYynw5VuTWVY3kzgM2sLDNypK7Thy9kt+s5fPyjDg+bz0TXO7z5JPOAyEHwiz+JUPuFm/WYZsPPp1eUygNPD+wBhawWUxyDzbhp7Yl91xuPdfLpXXKy1esgQVrFp/c5W7xZh09bfPDp9NH8tLA8x1rYKGaxSZ3+SUH3qwp2aulslsXFV6weLOwBhamWczlPinve39uKHjbwKXTp2KveD5jDSxEswTJXeZWZtbBSTZD362r0oOQx2ENLDyzpgiSu/gezdTlu6wAPsvfl3rF4/r/UQ60WYLkLnfr0mQrg0+nb4QHIY/TeF5Rac0SJXf5pz1Xq1aN5ovc5eEVSXAazysqq1lnrABxOr3QtDzidPpIdhDyOKyBBWXWXNpaswJE9+EvD9mMkG5dZA9CIQ5rYEGZtYiItr6zgeDT6auqDcGXZ37loU5iHNbAQjJrFmVsYf/HYdy6W7M8Wuk0nFjksAYWkllziPrgVvOCufze6sHfaL7PeCXEYQ0sJLPG0wgbGrY4lIc7n05vMl7JcFgDC8istfQXE4bdKhEtt24xl/tkOI3nFZXSrL30DxN22zIxkk6vMaVBhNN4XlEZzZpL/7NtnS0Tf9y6yByEIhzWwMIxaxG1KKlbv280P2KSuwSHNbBgzJpFHRlOp2UiS6fMQSjBYQ0sGLMOjac2SunW88pt5pa7AIc1sGDMGmemdXNre9WWidfPrtIr0sdhDSwgs4yZNoE6s6Vcbn2cQAFwWAMLyixzafoAuLVuGwXBYQ0sLLN+uUWdKE86rW6nQDiN5xWV1yxjrsygTpTDrcYGCobT+LZXmc3i3Io9b62bQOFwWAML0SxjLk+mTkSeTmtbKSSu07e9+g6YWWV0q7GFwuKwBhaqWV3dijWdZgdhUBzWwMI1y5hp5cnytW0UHIc1sJDNMmXJ8llpCI7DGljYZpUinTY2TKAicFgDC9ws1q048haT3HVxWAML3qxht2JOp+/0SwNv1iaUgRWBWRFneaY06OOwBlYUZnV1CzxvBSgNvFmboQ7CKMyKMZ3WtlOhOKyBFY1ZnFuIeSs7CAtl7DlEYjDLmGPxpNPepSGZJUBqVrRZ3ie5J7MEqJsVx41mv+SezBIgNSvKLO97uS+ZxaBsltwtgLzlndyTWTL0zeKz/O6q7R+5knsyS4i+WXw6pZcN2y/kpSGZJUJuVuZWl7zVL7dUknsya0z/zWLSKb20RaOU3JNZYxDMYty63rTFUlU5CJNZY8ZgmMWk0yLdypJ730lmMWapuvWgoCyflQYAkll6ZvFZvhi3suQOQTJL1yw+nT4InLey5A5CMkvZLP5BIzQU0q2+l4ZkVkiz+HQa0K0sueOQzGLMkrl1lzoSLJ02+l8akllqZvFuPaYu6LsFdRAmsxgOGBPOLfW8BZDck1m+7D9hNLj8kDqh6hZOaUhmeXCgcmdHJG41EJJ7MsubJZXKneM6bt2gTuikU5Tknszy5khlmAUbjQZPFN2K4CBMZvGsr4R3S5a34EpDMsuLifsrGbP3GAUu3VV2C7E0JLN8R/xvLoZ1a9R5q4aU3JNZOZi1cP6IW0bFLc0s3xgiaJJZ3ZlDV1tu7TQGKsu/JHCSWexPlA+7VRlxCyjL164TOsmsXj9RfnN15Tc46bQKfhAms7x+orxQt2o+Awv+IExmef9E+bWlI27p5K1vo0+nTfyDMJnl/xPlLbfCZ/l3luHdA4qEZJbvT5RfW1GUW0PVyA/CZBafHNpYvKKodDpUjfogTGb1SA4St+RZPsbSkMzqzUnqRLHpNL7SkMzqzbjOz2go1q2Yknsyy/8bFl3dGslbF0/ouNU9ncZ5ECazOLOYZzQUneWr0ZSGZJaXWaxbS4ty60EtvoMwmcWZxT//I0w6LRXJLNas7BkNya1klrpZ/PM/Frey/B6jwYUSuZXMYsxinv8RLJ2Wxq1kFmOWl1utG82ndNyicpDM4s1qAZBOoyKZ9ZO9u+edIYrCAL6iUGm8NDRIJAoJkegVSmyj0ChIaEWi8BKNVqm7kVw73mIXBeXKCqJT+zz++e/OnLnMnDlj7ty9597n+Qy/ZJ88mT2XkSW2dQ22IKuvLNdW53Q68zZvaQ9kyWXFMctrCWTJZfG2ftEsXzs0kq8tyJLLCj+dzo3eQBYjq7+t835tvTB6A1mMLMaWYDqFrAgTvSzJLG+/FJAVWxTIYl40LKfTqV0VkBVXVMgSzfKrArJiihJZoi+aV5AVUdTIev78MTedTndtfX1eD2T1SM6yumb5BluQJU7esrgvmqflLO/agixhcpfVPp3+em8rW5AVQbTJ4mb5T5WtArK2Hn2ymOmUbH0pIKtfIKvD1qKyBVm9Allds/xyQdMpZMkDWZ3TqVnOyBZkSQNZkln+e2XrK2QJA1mC6ZSxBVnB8qAvhKhkMbbet8zykBUkx+9Otp6hL5S3zVvztukUssbP7ZOT7WeArHI6fW0aM/9JtiArYPZcmcQQRpY4zTca3OkUsgLl4qVJHLn53EMKiS3Iakx6BWuTRyO/aLhckC3Iakh6BavMuXFvNLizPGQ5SbNg1V6RHt0WzfKQVU+aBYua1tj3P9zpFLI2SbZgUY7tLgNj26LpFLJ2k27BqnLH7/2Pd6Yx89osD1l+s+f6JM6cC3E62Z3lIctfLt6bxJqdEh/G1q/aF82Q5SfHr07izRnndHKw6RSyPORWlAWrzFFjAtr6QbYgK9WCtc5lY4xzo+GZn1leMp1CVpoFy32inGyFnOUhK8WCtZt9pozzouGItpzpdAVZCRasf54od04nB5vlISu1grXOIeMk0IuG7hfN34zebEHWxRsTBTlj3IxwOvl353T6w+hNMFlUsOL/ISwnBzdkK9wsvzRqE1rWrbi+lWnN5VAvGvLT6ey10ZqwsvZE961MW25u/UXDta33Rms6ZGVYsNbZG+ZFQ97Wwlr7xigNJyvPgrWRFcWLhsuF3hLPycqyYJWyInnRcDnTWuLbZGVbsEgWa2vufZZvm7cgi8lxRQWrkoUXDeOXpapgkaxuW3jRcKuyHugqWCSr8/7HONNpKhlb1n1tBYtkCV80hC2ZrOwLFsnq+6Khpel0UD6mYesvWShYjiwnr7Y+y6uKKwsFi5HF2KLp1NuhEfWpyULB6pAVxSyvJpUsFCxGlsiWha1mWen/nX6QLMrjcNOp5r5FspK9V+RNlu9ZHhdwtd8r8iyLf9GwsuXOW5CV5L0iz7L46ZRsfYUsFCxGVn9b5bw1/VBAFgqWRFb/Wf5LAVkoWFJZlK4vmqe7tiALBUsui2x1T6erArJQsMSyKC8ltiAr5b/TjyGLt3XaTktbkJXkvaIxZfHT6dmWs9yQlcS9orFkDXrRELISuFc0nqxBLxpCVl4FSyhLPp26LxpCVrYFi5ElsGWa4p5OhqxMCxYja8B06tiCrCwLFsnybWtBtiArw4I1QBY/b7mnkyFL/72iwLJ4WzOyBVna7xWFlEW2Guct93QyZCm/VxRYFk2n78y/YWxlL0vdvaLgsvj7H+6LhpCVT8HyI0v+oiFk5VKwNrl58O2otmovGkJWHgWrzLELRwaqkr9omLmsTApWmUfWjm3rB9nKWJb6v9P3zhNr7fnPfmyZxtB0aldFrrLyKVhV9l2wPmzJXzTMUZbqe0X/nYfWBrBVe9EwO1nK7xUNKPF2Y+vtMFXyFw2zkpVfwaqX+EC2aDrNR1aGBavKAbrRYP3MW78F02kesvIsWLUnysnWNbI19iyfvqxsC1b9ifI3p8jW8zFtvanN8mnLyrhgrXP4n/sfAWf5hGWl9nf6/jnk3P8IY4u+aE5VVkL3ipgInyinGw1hp9MEZSV1r4iJ+InyoLZmZCsxWYndK6IMe6L89WnP89ar7ulU7yvSO7JQsFonBzd0OjnULK/5FekdWShYLZNDU+YnQtlaz1t6X5HekYWC1ZinzOnkkNOp1rd+d2ShYDVmb7F/67b+sHf2rFEFURi+hDBaWIhfoCJYbauNkMLCJpJGFrFRsdPC3+BHoWijIFjYDIExSlzMrkIMpIiyhWZx0cSPxt+jxmxmEu89mZt7zs3M3Pf5DQ93h2fPnBkYY2ZmdaSM4YCVbxax/8Om08vHpjmg0mm0h/ixplynL2sWsaOh1iwf7SF+LPl9RRXMItwisjzzRPNAx8lY8vuKKphF7Giolk5TfHXuP7OS31dUySzaLQO3CLNwwCLMIvd/yKTTZHiGA5bP7ft9cKsc44czQJjl4dYKe5aP+SHWEScOZIA2y7L76TQarh7JAGWWv1tn4JZl/FoGPM2ybu16Og2fK3syUNIsvyzfbg0a7NbxCxnwNKv8i4ZmmWfRSHx569CpDOzELP8sP9/IdHoYP4QVzKLdWjVl3EprA+5xlAaOPaV3i9KpdevTJrdSN+sQSgODWXSWt251N7mVsllI7hxmWbeK8tbQjPiwKW8la9YJHLB4zLLplHarveZW8mYhuTObRbu1bNaZ+dBJ2qxxlAZms+h0+s+t9sitdM1Ccmc3y7q1qPN59dl+txI1C8ldyizardnVrlnnTT9Bsw7dzICIWZaXSzqX1+9nrFupmYXkLmwW7Zbd0WC6CymZdQPJXdYsy1sft1IxC8mdwSwGt3o2y3dSMAvDfQJm0cwVnOXnek6Wj94sJHcRs2heFLr1znErarOO44dQzizaLZ3Pq3dOlo/WLCR3drM40qnrVpxmIbkzmCXhln3RcKYfoVkY7st2/YXygrzluvWmH5lZSO4hmPXHrRWdz0cny0dk1jiSeyBmkauTbTqNxSwkdyYeS79oaN2KwSwM97Gx5/JBwf0fW9Jp6GYhuXNyS3x1sutW0GYhufNyUvxFwxU3ywdrFob7uLldz+pkm06DNAvJXYD75i9HB7JudR23wjMLpUGCPefMGvOS+z/odPpFVwbJPUBu1bL/g3JL6YpguC9MHpp63Jp1svxCIGbhPr0oUxfNiGFnuq4sH4JZWGG7hYjd6jlZnsMsJPfQOX/WrPO5x+LWr+3T6XynollI7lHA6xb9oqH9QFYyC8N9kXD+9IZbg2kOnm+bTk2vs2OzkNwj4tKGW8vC6XTofCB3ZBZW2EbGpVZNbv1c3nDrui4Nknt8TEy26slbdvlWa1GXBMN9UVKXW3ZBUrmPFpJ7vExcdMoAi1tFeWv1n1s/tDdI7nHDn05Jtx5obzDcFztTZ7ndmtU5rL9boLQfSO4pQKZTziU2c6t+h3gM9yVDfW4NfQ7xSO4JQaRT3gVJX/V2ILknBnuWz3frjibBffoUudciXjRkWpC0tKQJcJ8+UfjT6WKpTxaSe7pMTBpZt77rQpDc04Y/nS55fbIw3Jc+km590wUguTeCpzbL91jd+qELwArbpiCQTgt/DJHcm4Uz0dyb5nErPzkguTcO/nS6V+eA+/QNhNstpR2Q3JuMm077gZmF4b64cdzq9kMyC8k9eiZGi0baprsQilkY7ksCJ512F0IwC8k9GaaemD+019zq7LpZSO4psZZO28QtH1+zMNwHCrO8GXaqmIX79GALj063ib98fM3CfXrwP/sfmCpuKSR3UMSjKguSFIb7gMhfPgrJHYgsSFJYYQtEbmIoJHcg4pZCcgciC5IUhvuAyE0MheQOPBcklftuKQz3AZGbGArJHYi4pTDcB0TSqUJyByJuKSR3UJJJrwVJCsN9QCSdKiR3ILIgSeE+PRBJpwrJHYi4pTDcB0QWJCkkdyCSThVW2AKRBUkKyR2IpFOF5A5E3FIY7vvd3h0TAQjEUBTsIgURKKBFA1ZQgBh0IIkyBn5mrtjVkOpNLsdIOi3JnZHZKidsCR5I6s3AktwZSadluY/ggaSerV1yZySdPpI7M7NVlvtowUMj2yu504Lp9LLcR1J/+fpJ7rRgOr0t99GSs1Xe0zPhOCV3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW8QPtLMWDjrd5zAAAAABJRU5ErkJggg==\"},IRSP:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"langs\"},[n(\"a\",{attrs:{href:\"javascript:;\"},on:{click:t.toggle}},[t._v(t._s(\"zh-CN\"===t.current?\"English\":\"中文\"))])])},staticRenderFns:[]}},LUbo:function(t,e){},Lcb3:function(t,e){},M1wD:function(t,e,n){function a(t){n(\"2PaY\")}var s=n(\"VU/8\")(n(\"slt8\"),n(\"GmuY\"),a,null,null);t.exports=s.exports},MJxS:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"2DPt\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default={components:{HomeIndex:a.default}},t.exports=e.default})},MRID:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"nav\",{staticClass:\"page-sidelist\"},[n(\"side-nav\",{attrs:{data:t.navList}})],1)},staticRenderFns:[]}},MbER:function(t,e){},OgmX:function(t,e){},\"Q+I9\":function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"2DPt\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default={components:{HomeIndex:a.default}},t.exports=e.default})},QEj7:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlkAAAJZCAMAAACtJtB1AAADAFBMVEUAAADa4PK0wtjV3O7K0+e/yd++yd/DzOJXV4pRUYbDzOLDzOLDzOJVVYhhYZJhYZLDzOJVVYi/yuBVVYhVVYhbW41hYZLDzOLDzOJhYZK0wthhYZJSUYXDzOJOTIJhYZJXV4q6xtxbW41YWItUVIhUU4fCy+G8x91MSYDJ0ea0wti0wthVVYjEzOJVVYjDzOLBy+HAy+BVVYhVVYi+yd+0wthVVYi/yuBKSYJVVYjS2OxhYZJVVYhRUIXFzePa4PLa4PLa4PLO1eleXpC0wtja4PLa4PLFt7jDzOK0wtja4PK0wti7x91hYZLDzOLDzOLa4PLa4PKSos1MSYBMSYBMSYBhYZJhYZJhYZJhYZJQT4RhYZLPta60wtgxRZsxRZsyRpxMSYAxRZsxRZthYZJMSYC0wti0wthMSYBMSYBhYZJMSYAxRZtMSYDJx8tpc6hMSYBwgbhJXKba4PLR2Oza4PK0wtjDzOJVVYja4PJhYZLucR38gi9MSYD/nFr71TjasABVasQxRZvvxwBGVre2w9lfX5Ht02JSUIVmZ5ZjZJVdXY/7nmFWVon6hTZXV4nCu8DPqpi4xdtYWIuAhayptc+5v8zauq/+l1L7k07xdCHY3vFLXLegq8f30z6uu9Nic8F3eqSaqdJSZL5absWKkbXUlnLxhT72hTrygTbsxwx/j8pdZpjV3O+uvNfHzNRQYLlMS4L0mmDwj1DRsKM2SaFrbZvyfS+ot9WHmM5rf8jJy8a/s7XQzKjPpZBQU4l3ZYTfnXXofDZ2iMq8ucJZa79SZavGqZ1bYZPVy4zspnzxeinrdijzziTmwhaapMKVnb5NU4rNnobYj2OucWHdilfBdlTlyDbhugvMy7VqY4zbynHgyVLjgD/qyBvXshJUaLtEV67Er6rhrI1MUIjj0oLxo3HulFrzikTyyguhsNKDk8GSm7w6TqVCVaNydaDcsJrghUvetAC6wLq+vaLHuWzklWTMt1Dw0k7RtDXCu4fng0KbbW3cyGKZb3HLbTqumwZIAAAAdnRSTlMAwIDg4BAg8CAQ4IBA8PAQwKDo4GDu0GCgoPAwMPfqYOr29uJwUPDw8OjgQND2sbDrT5D268DAMGCA9uBA9/Dgn/Dw6KBAEP7QsIBg97CQcGAg/vbQoZBwUPbwgP7QwKCBgEAgwMCQcPfgQEDwkPvIsPjr0Mlwntq+dgAAGvZJREFUeNrs0rERABAQALBvcIfeGMazPkN85ZIZEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPysBOSbvQ23yFb3edoKuOzaQWrDMBBGYVGQBbYX3tnbbtpVKYFCrpBVcpv8J8i9a0oLSUtaxRnSkfK+MzzQMBpDsdOnlrZgZ0ySaAvG+o1ObfoAGAxYPw20hevELkmiLRgbW5312gRgkX7QrybawgLNpBltwViXlIG1PC6zajWjLdhaD5rRFmzFSTlYy2PBgEVbMNa3mtEWbDWDcrCWx0XiVjPagrFdkkRbCMHHgMVaHn/eytAWbMVOM9qCsTEpA2t5LDlGpi0EtwMWbeH4GDkDa3lcd4xMW7jBMbKNdhVwX5pJOVjLw+xWhrZgcIx8G8M64A5kHyOzlof9MTJtwe+A9c3E6rReC25lWMvD/hiZtpB3jOxA6gLqskvygS+fqvSt/KCtajSv8oXvxCrETv7w5VO+0cuARVtV6Tdya2AtXyx3AxZfPlWIndOHkLbKNnraNJy3ZS1flv7fv3L48qlRM6kgtFWMAgasU2kX4N+qjAGLL5/CrIsZsI49PT4EeBaLGrC+vDwf9pTlWnED1oe3w35PWZ69s3PGKA1EURTdg30KG20tXIbreb904CP2WYALmGYWELKAKbSNISG9rZVNwEl1DQxD3vD43h/uWcOBf3lzGKpW5mIelmYyi5n/j5HnsLg1k1nMcMTIboaBJbOooYmR3QNLZjFT58C6W5rJLGbYW5lxFk9mMosZyhj5oodQZlHDGiNP8zB4JbOYYY6RpweWzGKm0oF1byazmKkhRh7h5sVkFjWVxMgjXsksZuqJkc9bGTOZxUxdMTJaGTOZRc11DSyZxUKVMXK6WZrJLGZqjZHNZBYz9cbIMouaOgfW4+CVzGKmzlbmFCPLLGYqj5FlFinVx8gyi5P6Y2SZxch1DyyZ5YOslVn1qRSIkWUWMyExcrfL+bBOJcBDKLOoCYmR+zaf2BRwCzGyzGImJEZeH/JAEbcQI8ssZmIG1ib/Zb9KsYwOLJnFTEiM3O3zQBG30MrILGpCYuRdm0c4dikeeCWzmAmJkftDHqfdRbuFVkZmMRMSI68xsMq4tbg3k1nURAys1T5Pc+hTEHgIZRY1ETFyt8sDZdxCjCyzmAmJkfs2TxF53sLAklnMBMTIuIwWcAsxssyiJmJgbTfZxWabZoOBJbOYCWhlcBmdIOp0ilZGZjETESN3uIwWcusUI8ssZiJiZFxG/RyTD8TIMouakBj5J8+m/Uwu0GDJLGaCYuTXt/e5XjVNcoCBJbOYCftx3+vz8yy3PprGYxZaGZnFTESMDLNmuPXx3XjMwkMos6gJiZFhFtxyeOUxCzGyzGIm8M/IMGtw68sxsHxmIUaWWbyEDSyYBbccXnnMwsCSWaw4YmS3WXBrerj7zcKnHJlFiiNGdpsFt6YHlt8seGUyixJPjOw3C25NPYRus85bGZn1y969vM4UxnEcP6wol9wTUnJJIUnKJQsWNvaIv4GNHsccZCP3O2dcQhYGCynEwhCTEn4it0JS5LJQyP0SnjmG7xwz55nzPWae83nOPO8d61d+X+f3OTOA8cbIfFnUdYUrnqyaMbKVhRf7wEouix5BhA8stqw4Pwi3FIqikpUVO6wxskKWwhYdWFxZscbIWzac9Eq3L4sgKytWaGNkhiyyRa7YsujAUsJaccKTddw+78s/WllxwhojM2SRLTqw+LJojKyGtWKDV+nu+UtWljozDiyFLPpvIrliyqIDSw1Ltsf726NbRStLEeBWhimLbNHhzpBFW5mGsGRnvOpKhaKVFRXWGDmJLGolWxaNkePAkp30wsmj67KVVSewMbJ+WaNWsWCVT3iKji7fygqFNkbWLktusHiw5Alfv7e3LllZvzPrwGqJLHlgMWHJrnlRPSoUraxyuFsZHbI4WxkJizrsKSoVLltZiGNknbImruLAol546h5ZWYBjZF2yaIzMgEUnvDorC3CMrEcWjZEZsCivQU+sLJMOrObJogOLBYs646m7ZWXhjZE1yOKNRgkWddJTd9fKwhsja5BFrhiwWIdWycrCGyO3XBZtZfiw6Flpg3wrC26M3FpZNEZODovmDtFdtrJQtzItktV7VTJY3BO+YGXBjZFbK0skg8U+4d/GldVz/tSeji3JGNlkWQSLe8J3qGWRqx65XH9LK9EY2WBZBIt/whfVsshVztJK/cDSLmvWiuiueerOK2WRK0sL51vE9cnyFbIOs094kkWuLK2qMXLqabyznoc1seYOSlldBuZkllbVGBkgjbKehjA1Z+7QueLK0gqNkRHSKOtUCFNz5g6dyVWYltOupX9gNUHWY8FqywqqSXOHnYtyEQ102jK5lUHpyv7Esj74ghdBas7cYecOScjSCo2RgTr+LJmsT+8Et6vJT/hShCtLq6oBGAcWdfYZX9aX90IR+4TftenImT1x5w7kytIKj5HxirYVcWB9FUlaEA1rmezI0T1x5w77yq4sLcwDK9z91fFlPf4gkuWrYAVtOhyFq1Dt6qBkY2mFDiy0H4QNbdU7sHyRtA0KWITrWuTcgVxZWtUNQHnSEGXrcwxZX96J5F1VwqIO1x5dHeSK0xwn+3UD+FVOo859biDr8XvxP72JB6vu0VUkV5yGOhlPjpGN6Nx+hSw63BM2Kw4swhU6us5XXFlaUFsZzuOtkC3Vk1F+fmxYtRd9IXBlaaGMkf/XlvLJKL/nsWFRh6+Vdf28IJFYWjhj5P99vKV8MsrvKQcWdeRe2ZWlhTRGTtjChyRLcWCxO5UIVuDK0jL1wKKC15791X9lPVYcWMy2KGAxXLGb62QsmK0Mq8pXTwSPTunJaHNSwGK4YtdjkJOlEMbI3EKfjCwfndKT0eZ0NTYscmVpIY6R2YU/GfnKe9HcnhKsmK4sLcwxMrOJ5Ko1LSBYsVxZWpk4sMZvE63OJ1gxXFlapmxlGh1YGtoQB9bRO2VXlhb0GBnnB+HvrhKsaFcPAgmWFvgYOVbjVwk9vSFYulxRJn9QDeQYuWEjtwldzZKwdLnK0Buuhh5Ys4W+fIIVw5WlhT9GTv3A+tPFIxxXlpYBY+TIXxHq7tTFl/FdWVomjJFrok9G1tysiyfDrkqRrtqclilj5HBDRon0unT+Bbn6rpDQ1rTMPLDoB2FK+Vs/ttqV2R9UY9YYGcbV704VfuQ0N3OSY0TmjZErBxZE9PEMupq52R3hGJCZY+SxozD+wUrFldvHMSB7YJnkap50JZvswGfmVkaOkRHS76rfRjeoiwOe8WPkNNuXmisX/X7PxBg5nRiv0TfdlayvA50dIxvqyu3uIGfmgTUe4sBKxxU1wcHN0K0MxIGVpiv0+x1/jHxqQc1fgfwgTN+VO8ZBDX+MnF/hdXw8tSTU+LZ01YNcwd/vBoyR85UvhLi79fiSSiMRDiz9roa5tXXv6mC2ePoS8CSsFS+93307v3BJMEZOv5uvc1ojV+F6OaB1WjoF21b+n2/e+nZxFsAPwpuncxojV7UNdkDrtHTp0iljl8CWr/PluaXblwWnDLsCvt87LZXtnYFqS8IK2uOF67h93hfxyrIr1x3uoCZlAdvKq77T7e6tS6Jh2Xbluqj3eyDrj60lcOUbfafbo1tFocp8VzP/ujLrfidZZVujl2CVj/PluaVCJK4MuNruqpvmwCZlodoiWHTC162j7kXfBq6gx6SBLOoYji2CRSd8dE9EaztwaG1Ob+TKxPs9kIVpK4BFHfXUFURVbeIK+ZfRgSxIW3nm1zK/JQZt48od5wBHsiiAx/IEi054daJS+7hysV8Gk7IAbQWwwnkNKopy7eQK+n4PZOHZIljUNU/dLckgA65Ob3Zjhf8yGMmqSfNjeTUsOXdQdzsLrtb+dWX6/a6QpetXPmpY1AtP3SPR5HaCu0J/GUzKArNFsHgnvC+Eya+lNnRlzJhUIUvjY3k1LN6z0vZyBf4yWCALylYtLJo7qCu0lSvsl8EqspBshWDxnpXebStX6Pe7QlY6j+WvkiTuodXRVq6Ax6QkC8nWm2hZG7wGXTLQ1br1G91K2brfA1lAtkYuIEnsE/5/pzSr9ml3lYvnyqSXwRiy9D2WHzJK+CFLmucOr9apGCC5gh6TkiwUW8EH9z1fQWmfO7yOpoXlCvhlsGpZGLakq3L8E576/zPLjaCF5gr/flfI0vrrRPpk5FMkKYW5w4419WjBucIekyplaf2VT+iTkWcRpDTmDttraQG6Qn4ZrFpW6rZCn4wcDWv3kaN7Wj13uLF8Ta61rSVXWb7fFbI0PZav+WTk55GwfrF3Hi1SBFEcL0ysB0fEAOOII7qCqIgBE+pNEBEvZgwHxSyCeGgKcQ4jIq66BlY9LCOuiRVWRDHuHhQxIHoQP4IBFfPJixer2/DsmZ7qfjM11a+r6/cBlj38eO/Pe6969goud7Y39tzhduHYngbScphHIrmPwSRmaXQLAhbwRiKWx9HO5w08dzh1ENSi6hXxY1IwK063Kr+MvLa6WEDn8/ZGnTucLPxRi6xXicjvCLPUj+WDPwh5XCoWcPlOe0POHc62eWoR9or+MhrMisOtql9GPhIiFgCJXuW5w+eCUIuyV7Qfg/nN0u+W5MvIz6KIBaGrXfm5Q4urFl2viD8GU2EWjOUVBCzgO0Ks8kT/yFHAqYKrFlmvkpHfwSydbsm/jLw2slhA5512BecOEOIFB4h6Rf0xmM8s3W7Jv4x8GikWhC5VF8tnDypTq6WN/yFl+V2BWdixfPiXkd8hxQK5On86SrhU8NQi6RX1x2A+szS5BZMGOc+wYgEnHDW0qFDraYhXph6Tglm63IKAJedm7GI5ZwoeB+h5xVs35lkiUGYWjOXlq5xwFsQuluOcq1OtK+CVYtrEN3GzOUYfvFl4t+AYORrxi+WFeE8tYl5x/vs/mrNyICOOMEuLW5hfEX8Xu1heiPc4RMsrDnO2xasYadSaBWN5vFfAm/jFcpwDBY/rh7BeHeON5PAeILOCclcEs9S6hQ9YwFoCYokbwL9qEfKKt5a152F5sl0RYxbeLThGxnCcgFiO8+2fWmS8cvN7BVmiXbFRZrljeWiESCiIJUL8P7WoeOXl90rmrKA4lseYhXcLjpFRPCMgFoR4oRYRryC/l7ORXldEmYV3azIELATfKYglQjyoRcIryO8BZLLbGSlQZuHp49TCzaMUxBIh/p9aLRS8cpuhjDlrKHVFkmaJOfyDD7GL5T7k+YvkGeIhHV5BfpezmM7qh6hZgkf3bsQlFjzkCVXr0NNWrgFohnIIrX7omuXKdeJHTGLBDSCoFbdXvDXcK0KrH9JmCU6feHBZu1hAm08trFfaSxal1Q91s1xuQujSKBaEeFAL75WO/A5QWv0kwSzHTfQ3dIoFtPjUQnqlKb8DlFY/CTHLS/Tv9YoFD3lALZxXupshqdVPcszyQtcPjWJBiAe1fo+vEF5pze+kVj+JMut36LqsSSx4jQ+0Cq8O82gQKFmI1Y81y/HGqNrEcl/j+9TCeKU5v9Na/STRLMGC1442Wnxq3ecxMW0U2i3/kEveFa1Z+jlVoKEW5wOGyuQitvqxZoVzzmfWWx4nY6rHLWKrH2tWOGcPUilaLtPqK1zDqqx+rFlxcMln1nUeN6NGB8hFbfVjzcKH+Jc8fursipVDLmtWLJwp+DjICVAW58mtfqxZiQvxwV2R3OrHmpXAEA9MQ3RF+X2zNSs6Rof48q5Ib/VjzYrIAXIhHhgzeg+91Y81KyIvCIZ40qsfa1ZUvpEM8XRXP9aspId4qqsfa1ZkTpIN8SRXP9as6LQRDvH0Vj/WLFNCPLXVjzULwe1EFC2XAaNiX/1YsxCcoh/i1a1+tluzQkhbiKey+rFmGRjiSax+rFkoPhd88ARQ7+onZ82qjtE3gFRXP9aspD7kQTGq3tWPNasq5126u1w6PPYLumoI8cTXhw0bcuWsWf/T9bijo7S/KqWP+PVhWyKLlprVjzXrL1cvXtgv5XEqQrzC1Y816zfdxeI1uVoP0xHiJV0R/Wkba5ZbsorFC/vlnDfiIY/W1U/OmiVKVqhapauGPOTR1xUzubSbJUqWIKwfdph4A4hb/eDVSrlZ3UWPCyW5Wt0GPeTRtPrJ5FJtlleyovTDu2kL8bWvfkCtNJvVVfxL2OjB3BvAhq1+Mk3pNetuEQjph13GPeRp/Opn2MDUmvWw+B9ho4dUhnj/kAuvVkrNgpIVoR9euFpfiF/KE49Y/aDVSqdZULKijB566nyNP5IbgBhyIdVKo1n+khU+il+S4hCP7oqgVgrNgpLVoNHD+EnmFS3skEuolTqzoGSBWipH8cN7saZxPrXmcWOArhhBrbSZBSWrIaOH+X0ZY+t9Zm3lBhF99bM4ZWZByUKMHiJfAU6fyTy2mdkPcV0xmy6zfCUr8ig+2uhh/BT2hx1Ghnjs6iebJrPOF4NQcgUoAhawy+SiFXn1k02RWT1FQO3oYX4/Bhgc4lGrn2xqzAouWQquAKdPYAwwO8RjhlzZtJgVXLLqvgIcv4iV098f4ldzQwlb/WTTYRaULIWjBxGw+rJKxib5IY/CIdeKVJgFJUvSD7EPEBf2Y4FsMj3ER+yK+RSYBSULrVbp2rXgfrhuAqtCU8H8EB9pyJU336yeopySp5BLyeXVLY99f/jkVDLcF7CkIX4cN52qXTFvulnniyGU9kn46lQiApaE/uPSEeKBaWOC3cobblZYyboo8aqyZHkBS84s5SF+wKABnDbBXTFvtFlLiiG8QpWs8b6ApSnED2L9h8zgxAla/eRNNqtDZckavoVFYITq9eEIJmiaPZjTJqAr5s01S2nJ2tyXRWKn2hA/8d+wbBAnTvnqJ5Mz1iyFJWu6L2BpDPHNDP7ykImcOGMO+9Uy1CxVJQsCViRmKX3I098/MJtKPc57hQvUMtMsVSVL3MqgWKYwxA+qXCFN4sQRQy5Qy0Sz7l5UU7LEMTICxTeAc4P6bXNyumImZ6BZTnc9JWuJ4wLHyBiWKytag1kwIxIz5MrkDDTLeVh7yXriCOAYGUd/ZTeAzawqQxLSFTM5DWb1dvRyVdYPH4eVLAhYaJpVhfgmJqGpmfyQy71vzgw0zyzp2vBLWMnyHyPHEuInsRDmJqErDhtonllOV+0ly3+MHE+IH8vCSMTqZ85A88xyemorWXCMjEH1Q57BLJRkrH6aDTTrY20lC25lECh/yDObhZGM1c8AA7shjB4wJWt3TQFL/UOeJhZGMlY/U400y+nBl6wNrC5Uvcb/Rd4ZrLQRRWH4R6jMXcxiSFYhzCoBiSHQgKlCpC3YgnVTiNkIamih3Qiliw70DfIYIu4K7grqttDn6KMUjRBNMrlzx3tzzzn3e4Yvx9/7n5P0oIVH9RPJNOvq0nRknWCKzxBfhQ4e1U9P4KvDPRemI+szDHC3AxhDC4/qpyrVrOyX2cg6hRmuDnm60MGj+okFvsE/cDW79PDP4shyd8gTQQeP6ieRa9bc08NvJyPL8jV+Gzlwe+SqCzYru/EwsjTX+BbyO4/qpw3JZmW3piPLe4iPFXTwqH6qss26vjQbWf5DfAI7RF2/fxVjJdus7ML2yHJ9yFOHDh7VTwLhZmV/rI4s54c8bWjhUf3UxZt1dW5xZLk/5GnAMnU/1U8b4s3KLgqMrLPJyCIQ4hV08Kh+qgGYld3oR9YIRri7xk/gBLXq/eZYhWBWdqsdWQoTvIf4PnTwqH4SBGHW9aXmEmyEKV5DfAVaeFQ/9TDMym5yvojt7OSO05GCC5rmIb4BHTyqnzYCMSs7/3vP92+j0Wj70x1YAdvGIV6vOI/qpxGMWRP217Fatg1DfAdaeFQ/KiizjjehxalaqYVjMB7VT4KAzKodwDF6tXat5HcG1U8/ILMMrr3cqTWwcwxGvvqpIBizTAKWS7VSS8ukxKufRihmtVwFLPPd5bH//L6C6keFYVbtKzwzLDi0qjCDavWTIAizvryAd4aFQnwMU4hWP/0QzNpaBwWGRa7xu/CKtUeuCuSb1doEEaZqpYTyu5vqpyHerNoa6DDUhvgeCGCj+lHSzdojELAWqZUSy++2H7k6kG3W1isQY7g8xMcKVHhe9dMUbVbrJcihDpfuACagRPnqpwLBZpEKWAvUOlq8KkeLsl9tsyPYrD0aLw1L1Fq4KkePUtVPJNasLTIvDflqpWTz+7Ornw6EmtU6AGXUYd7LA538/rxfNWjKNKu2RuulIVetDdr5vXz1U4FIs/apBqx5tY7mqjbaFK1+diSadUw4YM3dig1mP+rkKVb9RPLMqtEOWI+ob8yH+AY4oK9+OhBnFvmANafWmEV+N6x+mtLM4hCwZtXa8L5Mar/6qUCWWXR2ZYzU2n38UWdFbvXTFWWW/2XkkmoNOOX3YtVPJMksCsvIJdVKp/+qM2RB9dODHLOILCOX/HatMZVl0vLVj76hevNEBCZm8QtYT88QU375fVn1E2Mh717/nMLCLKK7MiZq7VIuo42rny5y+Dh1i4NZxJaRS6k1mHzUmaMeqp8I0LpF3yx6y8il1Er9H4NZq356WMaPt/ciUDeL4jJyObXGfPP7DH1Nqf7+w51btM3iHrD+s2/HOAgCURRFQ94+rNyAlZWBhh4KV+L+E+2w0QzIG//w71nDKyb8y/u0TjF+BvNathV7WWFj5C3Ot7bf7yu3NQReVuQYeYt7K8fofcxD0GUFj5FRsq2Ay4ofI6PA3EVbVmOtDD4au0jLaiRGRuG2oiyrnRgZZcY+xLJ4YB3Q1P99WTywDmqHbSlrK4Pvfv4sr1wxMqqdfJQsRkatbSlbjIxK50TxwILl5KPUrQx821LCGBnrXLtNy8oYI6PCyUcpY2T4tyUeWChy6VcuK2mMDPfJR1ljZJi3JWJkWM6JIkaG5eQjWhlYtiViZFjOiSJGhuXkI2JkWLYlHliwfJYXrQws2xIxMizbEjEyLJ/lRYwMy7bEAwuWbYlWBpbP8iJGhmVbIkaGZVsiRobls7x4YMGyLREjw7ItESNjseNneREjw7ItESNjd+PjtSxaGRhMvYiRYcEXLAAAAADAsz04EAAAAAAQ5G89yBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcBa1pr3UjDscrAAAAAElFTkSuQmCC\"},Qwle:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},staticRenderFns:[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"footer\",{staticClass:\"s-footer\"},[n(\"a\",{attrs:{href:\"https://github.com/didi\"}},[t._v(\"© 2012-2019 DiDiChuxing. All Rights Reserved.\")])])}]}},Rrh0:function(t,e,n){function a(t){n(\"mGNT\")}var s=n(\"VU/8\")(n(\"G2UX\"),n(\"lwBK\"),a,null,null);t.exports=s.exports},SOhj:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{attrs:{id:\"app\"}},[n(\"router-view\")],1)},staticRenderFns:[]}},T7jr:function(t,e,n){var a,s,i;!function(n,r){s=[t,e],a=r,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={},t.exports=e.default})},TAy9:function(t,e,n){function a(t){n(\"LUbo\")}var s=n(\"VU/8\")(n(\"1j6h\"),n(\"qrVi\"),a,null,null);t.exports=s.exports},VAcG:function(t,e,n){var a,s,i;!function(r,o){s=[e,n(\"/5sW\"),n(\"lbHh\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){try{window.localStorage.setItem(t,e)}catch(n){l.default.set(t,e,{expires:365})}}function i(t){var e=window.localStorage.getItem(t);return e||(e=l.default.get(t)),e||\"\"}function r(){var t=window.location.hash,e=t.indexOf(\"/zh-\")>=0?\"zh-CN\":t.indexOf(\"/en-\")>=0?\"en-US\":\"\",n=e||i(\"CUBE_LANGUAGE\")||window.navigator.language||\"en-US\",a=\"en-US\";return n.indexOf(\"zh-\")>=0&&(a=\"zh-CN\"),s(\"CUBE_LANGUAGE\",a),a}Object.defineProperty(t,\"__esModule\",{value:!0}),t.eventHub=t.baseUrl=void 0,t.setItem=s,t.getItem=i,t.getCurrentLang=r;var o=a(e),l=a(n),c=window.location.href.replace(/#.*$/,\"\")+\"example/#/\",u=new o.default;t.baseUrl=c,t.eventHub=u})},Vxqz:function(t,e){},\"WVq/\":function(t,e){},XMLa:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"/5sW\"),n(\"/ocq\"),n(\"VAcG\"),n(\"9IYW\"),n(\"k3Z2\"),n(\"iCAB\"),n(\"mGbb\"),n(\"8Rhx\"),n(\"M1wD\"),n(\"YKRY\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a,s,i,r,o,l,c,u){\"use strict\";function A(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var d=A(n),f=A(a),v=A(i),g=A(r),p=A(o),h=A(l),y=A(c),m=A(u);d.default.use(f.default);var C=[{path:\"\",component:h.default},{path:\"example\",component:m.default}].concat(v.default[\"en-US\"]),L=[{path:\"\",component:y.default},{path:\"example\",component:m.default}].concat(v.default[\"zh-CN\"]);e.default=new f.default({routes:[{path:\"/\",redirect:function(){return\"/\"+(0,s.getCurrentLang)()}},{path:\"/en-US\",component:g.default,children:C},{path:\"/zh-CN\",component:p.default,children:L}]}),t.exports=e.default})},XZBs:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"home-index\",[n(\"template\",{slot:\"desc\"},[t._v(\"基于 Vue.js 实现的精致移动端组件库\")]),t._v(\" \"),n(\"template\",{slot:\"rec-btns\"},[n(\"router-link\",{staticClass:\"btn-link\",attrs:{to:\"/zh-CN/docs/quick-start\"}},[n(\"span\",[t._v(\"快速上手\")])]),t._v(\" \"),n(\"router-link\",{staticClass:\"btn-link btn-active\",attrs:{to:\"/zh-CN/docs/introduction\"}},[n(\"span\",[t._v(\"介绍\")])])],1),t._v(\" \"),n(\"template\",{slot:\"feature-1\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"质量可靠\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Quality\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      由滴滴内部组件库精简提炼而来，历经考验，并且每个组件都有充分单元测试，为后续集成提供保障。\\n    \")])]),t._v(\" \"),n(\"template\",{slot:\"feature-2\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"体验极致\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Experience\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      以迅速响应、动画流畅、接近原生为目标，在交互体验方面追求极致。\\n    \")])]),t._v(\" \"),n(\"template\",{slot:\"feature-3\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"标准规范\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Standard\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      遵循统一的设计交互标准，高度还原设计效果；接口标准化，统一规范使用方式，开发更加简单高效。\\n    \")])]),t._v(\" \"),n(\"template\",{slot:\"feature-4\"},[n(\"h1\",{staticClass:\"h1\"},[t._v(\"扩展性强\")]),t._v(\" \"),n(\"h1\",{staticClass:\"h2\"},[t._v(\"Scalability\")]),t._v(\" \"),n(\"p\",[t._v(\"\\n      支持按需引入和\"),n(\"router-link\",{attrs:{to:\"/zh-CN/docs/post-compile\"}},[t._v(\"后编译\")]),t._v(\"，轻量灵活；扩展性强，可以方便地基于现有组件实现二次开发。\\n    \")],1)])],2)},staticRenderFns:[]}},YKRY:function(t,e,n){function a(t){n(\"tplh\")}var s=n(\"VU/8\")(n(\"ETzz\"),n(\"6zig\"),a,null,null);t.exports=s.exports},ZQ4r:function(t,e,n){function a(t){n(\"2a/n\")}var s=n(\"VU/8\")(n(\"fSRg\"),n(\"q0Y2\"),a,null,null);t.exports=s.exports},ZWYt:function(t,e,n){function a(t){var e=s[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error(\"Cannot find module '\"+t+\"'.\"))}var s={\"./en-US.vue\":[\"+GB6\",1],\"./zh-CN.vue\":[\"RUos\",0]};a.keys=function(){return Object.keys(s)},a.id=\"ZWYt\",t.exports=a},ZfAl:function(t,e,n){function a(t){n(\"fKiL\")}var s=n(\"VU/8\")(n(\"kJGJ\"),n(\"r3/M\"),a,null,null);t.exports=s.exports},\"Zu/x\":function(t,e,n){function a(t){n(\"Lcb3\")}var s=n(\"VU/8\")(n(\"wtIw\"),n(\"teN3\"),a,null,null);t.exports=s.exports},aP4Y:function(t,e,n){var a,s,i;!function(r,o){s=[n(\"/5sW\"),n(\"vmBx\"),n(\"XMLa\"),n(\"j1ja\"),n(\"HIuL\"),n(\"MbER\"),n(\"Gzs6\"),n(\"rL4i\"),n(\"//Y1\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function a(t){return t&&t.__esModule?t:{default:t}}var s=a(t),i=a(e),r=a(n);new s.default({el:\"#app\",router:r.default,render:function(t){return t(i.default)}})})},bStC:function(t,e){},\"bj/E\":function(t,e,n){function a(t){n(\"2cv7\")}var s=n(\"VU/8\")(n(\"3+2Z\"),n(\"MRID\"),a,null,null);t.exports=s.exports},c3CN:function(t,e){t.exports={\"en-US\":{overview:{name:\"Overview\",angle:\"01\",subList:{introduction:\"Introduction\",\"quick-start\":\"QuickStart\",\"post-compile\":\"PostCompile\",theme:\"Theme\",singleton:\"Singleton\",internationalization:\"Internationalization\"}},components:{name:\"Components\",angle:\"02\",subList:{basic:{name:\"Basic\",subList:{button:\"Button\",loading:\"Loading\",tip:\"Tip\",toolbar:\"Toolbar\",\"tab-bar\":\"TabBar\"}},form:{name:\"Form\",subList:{checkbox:\"Checkbox\",\"checkbox-group\":\"CheckboxGroup\",radio:\"Radio\",checker:\"Checker\",input:\"Input\",textarea:\"Textarea\",select:\"Select\",switch:\"Switch\",rate:\"Rate\",validator:\"Validator\",upload:\"Upload\",form:\"Form\"}},popup:{name:\"Popup\",subList:{popup:\"Popup\",toast:\"Toast\",picker:\"Picker\",\"cascade-picker\":\"CascadePicker\",\"date-picker\":\"DatePicker\",\"time-picker\":\"TimePicker\",\"segment-picker\":\"SegmentPicker\",dialog:\"Dialog\",\"action-sheet\":\"ActionSheet\",drawer:\"Drawer\",\"image-preview\":\"ImagePreview\"}},scroll:{name:\"Scroll\",subList:{scroll:\"Scroll\",slide:\"Slide\",\"index-list\":\"IndexList\",swipe:\"Swipe\",sticky:\"Sticky\",\"scroll-nav-bar\":\"ScrollNavBar\",\"scroll-nav\":\"ScrollNav\",\"recycle-list\":\"RecycleList\"}}}},modules:{name:\"Modules\",angle:\"03\",subList:{style:\"style\",\"create-api\":\"create-api\",\"better-scroll\":\"better-scroll\"}}},\"zh-CN\":{overview:{name:\"概览\",angle:\"01\",subList:{introduction:\"介绍\",\"quick-start\":\"快速上手\",\"post-compile\":\"后编译\",theme:\"主题\",singleton:\"单例模式\",internationalization:\"国际化\"}},components:{name:\"组件\",angle:\"02\",subList:{basic:{name:\"基础\",subList:{button:\"Button\",loading:\"Loading\",tip:\"Tip\",toolbar:\"Toolbar\",\"tab-bar\":\"TabBar\"}},form:{name:\"表单\",subList:{checkbox:\"Checkbox\",\"checkbox-group\":\"CheckboxGroup\",radio:\"Radio\",checker:\"Checker\",input:\"Input\",textarea:\"Textarea\",select:\"Select\",switch:\"Switch\",rate:\"Rate\",validator:\"Validator\",upload:\"Upload\",form:\"Form\"}},popup:{name:\"弹出层\",subList:{popup:\"Popup\",toast:\"Toast\",picker:\"Picker\",\"cascade-picker\":\"CascadePicker\",\"date-picker\":\"DatePicker\",\"time-picker\":\"TimePicker\",\"segment-picker\":\"SegmentPicker\",dialog:\"Dialog\",\"action-sheet\":\"ActionSheet\",drawer:\"Drawer\",\"image-preview\":\"ImagePreview\"}},scroll:{name:\"滚动\",subList:{scroll:\"Scroll\",slide:\"Slide\",\"index-list\":\"IndexList\",swipe:\"Swipe\",sticky:\"Sticky\",\"scroll-nav-bar\":\"ScrollNavBar\",\"scroll-nav\":\"ScrollNav\",\"recycle-list\":\"RecycleList\"}}}},modules:{name:\"模块\",angle:\"03\",subList:{style:\"style\",\"create-api\":\"create-api\",\"better-scroll\":\"better-scroll\"}}}}},fKiL:function(t,e){},fSRg:function(t,e,n){var a,s,i;!function(n,r){s=[t,e],a=r,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={name:\"side-nav\",props:{data:{type:Object,default:function(){return{}}}},methods:{derail:function(t){var e=t.isRootActive;this.$set(t,\"isRootActive\",!e)}}},t.exports=e.default})},fkAZ:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"home\",[n(\"template\",{slot:\"nav\"},[n(\"router-link\",{staticClass:\"tab\",attrs:{to:\"/zh-CN/docs\"}},[n(\"span\",[t._v(\"文档\")])]),t._v(\" \"),n(\"router-link\",{staticClass:\"tab\",attrs:{to:\"/zh-CN/example\"}},[n(\"span\",[t._v(\"示例\")])])],1),t._v(\" \"),n(\"div\",{attrs:{slot:\"home\"},slot:\"home\"},[t._v(\"home\")])],2)},staticRenderFns:[]}},gDL7:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"Zu/x\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default={components:{Home:a.default}},t.exports=e.default})},\"h+pa\":function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQBAMAAABykSv/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAHlBMVEX///9RVGdXWmxydIRydIRaXW/9/f1/gY/8/PxydIToIcY9AAAAAWJLR0QAiAUdSAAAAAlwSFlzAAAXEQAAFxEByibzPwAAA5pJREFUeNrt20Fu1EAQBVBbSKx7JmTBOUDiRij3PwHSsBhTLle3hyQQ+/2VNWlX/dfZZDGZJhEREREREZGDZr6M5BrPtnTC70+HJq6zuw4ICAgICAhIDrl+28z325vP7woZrJNAnqbNfL6kB+Z4iYufxXKrRHS8lf11QEBAQEBAQI4LmS9/5ql+809TLHeJnxamBfrxOiAgICAgICBnhcxh4SotzF1mGgoICAgICAgIyGNv5uXip4thFS99DQQEBAQEBOQVIJ/C9z5+/FvIYJ0EkqaExLSetDI9WAcEBAQEBOTVIF9+bubl9ubXd4XsqrM5L831XSG76jwCmePCt3oEAQEBAQEBeVPI8/8Fyf6jZ39uo9r9sZs29tqrlAMBAQEBAQE5HGS+z5vTLfsPdP1xWCuuLZ8LAgICAgICcnBIvnA1JNYYvJUHzxZ3BQICAgICAnJcyKJcG9uS8/KryP35trxyHhAQEBAQEJCDQ/IM8rrliqvovjb1hoGAgICAgIAcHbKYFx8vaY1WjI6vDZryFd1tICAgICAgIMeFFD2rA7FLfhVtmoYXr/yXNCAgICAgICCngMSF8/14viU3td6wfFu3ciUFAQEBAQEBORsklsuTH2jFiqLyFDtM+wICAgICAgJyDEheuRXzxnrmt/L37TcPgICAgICAgBwPsscUD+TlVme7yXn5XBAQEBAQEJDzQAZ53bP1wmnrr7W4Lb+VCwgICAgICMgZIN3RqwNxaOtNGLyVboeRgICAgICAgBwDstiymLdK90A8W7WPlefettUNgoCAgICAgBwcMph8XmyUn+3WqCD5DYKAgICAgIAcHDLff7Cat3v3nkat6JC3BwEBAQEBATkPpBodP+36W7q7FY2Ks93FICAgICAgIMeFrBp1e0b/KvG1buUq+TYQEBAQEBCQg0P2ZC625Mn9Y+VmEBAQEBAQkPNCVuXSXPfsXrQfe1wMm4tHEBAQEBAQkDHI9dtmvt9efP4gkKdpM58v9wNzHBLnt+I3nU94pU9BQEBAQEBAjguJu59ySJE2PZRqbry2Vg4BAQEBAQEBOSGkmpebuui8cqzTPQsCAgICAgJyYshcLCykq0b52a6/6AACAgICAgKygnwKX0P58VEhaTb+1spHb26ps5rQRYOAgICAgLwF5MvPzbzcXv/6QSDdVN/7/bCQ7sL8QHwcTHGDICAgICAgIA9Cnrs9/zlEREREREREzp1ftrjTlRII7tUAAAAASUVORK5CYII=\"},i5GG:function(t,e){},iCAB:function(t,e,n){function a(t){n(\"Vxqz\")}var s=n(\"VU/8\")(n(\"txnZ\"),n(\"fkAZ\"),a,null,null);t.exports=s.exports},ioLt:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"VAcG\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.default={data:function(){return{current:(0,n.getCurrentLang)()}},methods:{toggle:function(){this.current=\"zh-CN\"===this.current?\"en-US\":\"zh-CN\",(0,n.setItem)(\"CUBE_LANGUAGE\",this.current),this.$router.replace({path:this.$router.currentRoute.path.replace(/\\/(zh-CN|en-US)(?=\\/?)/,\"/\"+this.current)})}}},t.exports=e.default})},k3Z2:function(t,e,n){function a(t){n(\"1+tu\")}var s=n(\"VU/8\")(n(\"gDL7\"),n(\"9bSS\"),a,null,null);t.exports=s.exports},kJGJ:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"VAcG\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={data:function(){return{loading:!1,toEnd:!1}},computed:{loadingCls:function(){var t={};return this.loading&&(t[\"nav-loading-ani\"]=!0),this.toEnd&&(t[\"nav-loading-ani-end\"]=!0),t}},created:function(){var t=this,e=void 0,a=void 0;n.eventHub.$on(\"begin-loading\",function(){a=Date.now(),clearTimeout(e),t.loading=!0}),n.eventHub.$on(\"finish-loading\",function(){var n=Date.now()-a;n>500?t.resetLoading():e=setTimeout(t.resetLoading,500-n)})},methods:{resetLoading:function(){var t=this;this.toEnd=!0,setTimeout(function(){t.toEnd=!1,t.loading=!1},100)}}},t.exports=e.default})},lwBK:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"a\",{staticClass:\"badge\",attrs:{href:\"https://github.com/didi/cube-ui\",target:\"_blank\"}},[n(\"span\",{staticClass:\"badge-left\"},[t._v(t._s(t.badgeName||t.type))]),t._v(\" \"),n(\"span\",{staticClass:\"badge-right\"},[t._v(t._s(t.badgeValue||\"...\"))])])},staticRenderFns:[]}},mGNT:function(t,e){},mGbb:function(t,e,n){function a(t){n(\"nhAE\")}var s=n(\"VU/8\")(n(\"MJxS\"),n(\"4Sli\"),a,null,null);t.exports=s.exports},nhAE:function(t,e){},q0Y2:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"ul\",{staticClass:\"nav-ul\"},t._l(t.data,function(e,a){return n(\"li\",{key:a,staticClass:\"nav-li\",class:{\"nav-li_open\":e.isRootActive,\"nav-li_active\":e.hasActived}},[e.name?[n(\"p\",{staticClass:\"nav-name\",on:{click:function(n){t.derail(e)}}},[t._v(t._s(e.name))]),t._v(\" \"),n(\"side-nav\",{attrs:{data:e.subList}})]:n(\"router-link\",{attrs:{\"active-class\":\"nav-active\",to:{path:a}}},[t._v(t._s(e))]),t._v(\" \"),e.angle?n(\"span\",{staticClass:\"angle\"},[t._v(t._s(e.angle))]):t._e(),t._v(\" \"),e.angle?n(\"div\",{staticClass:\"arrow\",class:{rotate:e.isRootActive}}):t._e()],2)}))},staticRenderFns:[]}},qaPp:function(t,e){},qrVi:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"page-display\"},[n(\"div\",{staticClass:\"display-wrapper\"},[n(\"section\",{staticClass:\"mofang-demo\"},[n(\"iframe\",{attrs:{src:t.ifrSrc,frameborder:\"0\",width:\"100%\",height:\"100%\",scrolling:\"no\"}})])])])},staticRenderFns:[]}},\"r3/M\":function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"div\",{staticClass:\"nav-loading\",class:t.loadingCls})},staticRenderFns:[]}},rL4i:function(t,e){},s9WP:function(t,e){t.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAABFCAYAAAFf3xjmAAAAAXNSR0IArs4c6QAAHm9JREFUeAHtXQl4FUW2ruq+2VhlFYRRQERQgYgrIE6UAII6g+Og8xy30fdMchPEKIOCC+iIihtIyOboc3nOGwdHHccREFFBFp1BRBHGlUVRCeCCLAlJbne9/3Ruder23fre3ITg6/6+e6vq1KlTVaf61HLqVDVjLfhwmZe4e7SQfnL5ba/bcSq8KX6LoJqRMWxzCD3fhG0py1STGYkO1cvVjEbpLzL6ySc/zy/oJ8Pk+vOLZqlhpx/xdxFMpvNJBLP/jhzy61lt2/NzNu0f/iqzCRcWFp5YWloasYYWIc6v9DG+JSDMlRWVZZqk6XTDIigjJ5Jp8qMlzJ/vz5N+ckGcMyGeRkarEOSIL5Y1EUK0V3G5ZKNkIbXR8FfX27V6e9zJVo0kASIu/RrX7hRc7EYeGjKcyQW/r6xywYMyA8LjnG1kXC8uLy9ZZrMmsKiPlYFsJ43zmavHZls8l4lT6hqL+m5Qa5VS4k5i4u4xDzlhqQzbbJRtZxE/ZevpfPyWtanMiGjZL4gkLF8UCqdSoIme/epTJnZGnH8vXxRCwitsvYHyLSRYvMefV3StikNpbaGWEc5Xn+AF+UWfWfIEPyWyXv/8wlfQBiYKcoEqDhJP0lPdsMzUSOmH1H4o/apbXlF6oRqWfku+mJgow9INy2z46x+OYIGAjG9wNb6mIM//IgRxYo+e3dsW5BfORkbng2iAcx6APxPCu1YIdholkLWjTNWw9TbSmyjbS7aV7DkacmuGf9mLNANpi6QtZ2oG4oGxbVmtoXbIH2AwzVZxWrvffj/E7NzvIU+drALXGqHlTjfqVQ6nWtZDM0tNiKNCAVRId5KT76YTTuHHtMtWPcUnndXs72ukzF3CaHgNqVRIB6kQoVYiAaQfVUqJsr1SgiWgIN+/HHOEIhlW3XgzJRXX6adOV86kZJyaN/ntHl8iOF2qkJtXLz/fX6ox7T/V9OUVZTllFWUL1EwpPh8deNC9RuJLHOkSHF3in2bNmpUucRJx41bMLbGKirJCk5mPqfhosffQYr9VYeRHj2V18pqmf+yMU8NpQp9VU1OTpcLIj8nb46Ywb3fC1bDd30ugU7Zk/y/jpdua5YvKGNbdi8X9hxsisEZWoLFivO7tcdkZEu65rZED4t7R57XGcrkpU9irSIkwx6qBkykJNMcSXtJuLjekYmL26OlYPt8TLbPDqYINveKbs3xs9cr6aBVy9JRvYFwbHQ23tcDD1n9qwcyBX38s2hwcqMKkv17v0C9r3IatMtza3MgDtC7+Ta0UrVI0BIzmT+e3tsqo5QmrmDVXHLrlBBVJ+nP0543GcU1CG12aDqk/TIfC6EtsdeokYW7dSGklTLqhGWcY/4xEnDP+e5ovGkwLmTCruPl5heugsXqalrTyV7Vjl2P9o6ZoXr+9HrOy0YywDsTNBLihiGJYeXnZKWpx1XV7NL/EV+NJBwANhw9sbF9WVqYueCV6XDe0Yg5095VyJHQZlJUpyCuci8ny1VBkjNZ8vCt0tN8RieBrFTIkuSTdqKhymyARPBQ2RJ8bLW15ZWmxyfgNUMdcbgTEt1QhKSuURoZVWDRaEh6zxSQSuSNeW3++MFVImN+YnDd5aEllyQcyxhSsAv5KGY7mYn12hS7YTFTuSVSyQT0BZKzxbqI0smWjpy96FPMlvxrvqmKkIg6rlODrVULI3EccxeKQVA2Lwf0LoT9Lkzgo/D/xTh0N2ZEgWkjWM86vE6b536WknWesE9FAjzYJPHyOcy1sLUeJqaKEBz3cJyB3PEPhnJXnYk7uIFYv/m3lllW3yhi03V72n+178S0kPNuKC/3bi/VYx1BQ6wrZgomJ7wqWVaepFYs0ZrX2BaZkr10xCVDVbGrFtLZZHVafNXCfxDtsXaogydbwpe+XHLaV+CkWPOxVjFdJcc+YnzPTXG7jcVbPdN6N37LsRxvmeZqNA64aDFrwNRiahrsrBb+b37YspsrPHR0PKxIHIs47xH25g1lAbLATKHMFGxbNc+SeUXLAwBx9vyb0rnzC57XR0D14YhywJUzcnfsyZpEXJJacsPlec9iWLMFMe1IYjQYmdlP08dvmR4v34PE5AA1V7tNoqCviozZiiC4HlpvHVOU0Qtz50GDiYv2xql2s6/+sGZt9s7tUHpbKAXSJLhqL81pz6NY6oRnSYClHJRLLX8W7vzNJqzwziIMmYz3RcK6fgoKi8VgH/hHpelEipN2Fv2nl5aVPuSaiIMIy7AwYbJ1eXr6gRae/fv/1I4QRuILr+qKyshL0ZpEfmIGUU0x5ZVmBxMAyltbqrKKiND/iGCYRyQ0qtmlHzPWumJ6WdsIIc2HDspUx2Vgq2bh+qdnAWvtF7JP2VhNQBRD/JMGca2YVL5JfGJxegJmIa9EGY4Y5CFqDfG6SUR2L2mCEEyy33WCY8EmtUZwGg44AiW0dQZBQuMP5Kt/4raPUCNg7Jv3IxorWGPSmLVy4sPCN15cHoDCphgFSG7gWEyJZQFGcYOJdNPydaqEK8wrHGEz8HbBMaIM3Ma39qPLy+35QcchPquyqqt0vg3ETEBQwQny4rKJ0qhOvJcJxJSxWIfSsIzrxc97fEwsn0TjYbUyDJQAMO/ldsdJecsklpDa3O1eyiYuGb8VB1aXG00uRztN7z62Ya1kj4AXQ6QUAPERqCQ8q+hBYcXFxVryXSs0rlf6QSiRKONWNpeaPlYSl3VZhqfST9KKxvpY06QWA+tPaa4GmfTHBozXK3Llza2ALPIxw/Hn+X5NLD/Zjap2/hhgSSxZbyywR47hNkrA4tJOKLqtYcD8YNQfdzyMgEHUJICUCOPVgflLGSM4CouszkTcTnMVdN1ZUlJD+25ZwolVRWRp1nM/I8C05WFOHuZNJm9t3EL7zQf4+kmZMrDY642S4SRImiajuiKXvz2mqDTjX0qzNbnrDMavrotInP+1cUPdFftlYqORHFC4qKgrZKCeLNYLDtu85cuVDkiD90rUlqqLUsvbVGR9LccjvbxJHurTZIPElLJY7b968HSjjdvQcI2BYtsiJW1AwZQgay9qUhEXdYGe8DJOlAM1aukpAiOvYmAiJQ4A2Ayet2Z711b5vv0WwjTM+Wtitzr84v7hXjaj91Ekbr/ULmPZe7KRfUFDcT5i1mx1wmpS0g9bF2toh20iMkTOpSwTjvgcD7a0qrmnXYLr/hCM9NdgzkPiQ3Z40rp9RUlHyLyeumzDNcpWZn5UEjfmJL00/vaSkZK+TBl6ObQRDPfqEiLS4J3cqTNofsBPEaTB1n8JOE82j8WFvj8mmbsR7msCBkAZT6YiHJ2UxbcfLxoCvohoUxWowvDHvrhl7smXnr9L1/E3jQNQGc5I1Fve5F93HLSrc2WC6ro9ZlTtkmYrj+VsBB8TKwZ2MxX3rMbn4rBUUxytCPA5g+6UjlMYb4uF58anngOsuUWaNzcz1mOEoB6y0h/ltr90k4z23eTngusHE7DF3wUDp9qjF0bQcPuO1FVHjvYiUcCBug+FkxGnMYG7XGwdZBnaYf7/0QEpK5xEJ40DUBhPzx2ewvXW0IG4Xlioe4IiDT/Gi1VfHQ/PiE+dAxAaD9uN1kDo3YXKcfWdmbz4CujhLiQoF+XR9/Jb7EqbjJYjKgZAGQ0NdD0xSuib8mCds3ywy646NlFBP04bwMVs+jBTnwRLjgNVg4v4xx7E6k3R2iT/d9y43eu/OiZcQGf2gZfXpzs9pUNrGw/fiI3NAwzR9ZlKN5TM+sA4ouWgsyhqa105GzTZcTdD35chF8aBuOEA3Csxyg9iIw6vN7C01xpBtQxth7nxf8J+tHqW/cIE7bA8rEgcS2sA0j6v6ULQ/EHWvJlIGBBNM23m274XueDlGRsPx4O444K7BOuL2smOtS8USbqzf+sq+/FL0PBqN5a5EChbtwO7csbsUBjT/BbA13mJf6/kje3S7DHF1CqprL8zmJgN5f6R9L9dEkkCMZL7mJEP2LLDo6su0DjOkMRCds4OFy8lpadoU7JXVxt1xNodtNoON5aQfM/ysNvEt0uZbjRUTM3Ik7Crm0w4sGus6YNizWRjUXAx4LTb1yiKnjA3FcbT5YMofYmOlPhavaz79YlFG3X5FOD7fgbYSD401Di97nmEYlmV1zAYzB37zKQjExJGEbZfzpblZr/Qs5VdFOjJno8XyYFv/bjQUSQLTfbwP7Q7LH87S9iQ4KlcQ6f4WivspPzEbQ7SpGeC28uiq9urHtM2AfeI4t2mi4gl2K8VRI+Fs8BcqHg4+V507OsfqynF69Rk17v+D390YFocTuuY7hZ/3+Xtx0FxFo6v7M6Qnpl0imaQB7xvgHYWxTPvhhx9619UGSjMy064jYxc1o4KCwkLMes6LZGAK24oXIKoXET6uuvwDLLYiWjP58yZfaTKjEmiZ6J2/1H1sAl6kTWo+LeWPKWHxCgGpWkiGOKlqLMoPjfAbcmE7P5PcaA8aoBdJIBrMDAQC7ZHuAvTz4YZAJhtCcSF0BLeOZFNjoQ6WvSBdY4WXgIxTQx5YRu1BYz0FIK435N+hhEfj8PxGGPC8G4LYQoGkGwymzfv08VsvbaFypjgbcSSM/5ZTg6PhdXIR/isaVrOkLpgbZnavwttR4+y6IG5XcmGvsgKdwCkFBZNzU1ywuOSSbjB0WjfEpd6KEWCff45aPIQnWeFgF0l+TLjGoiUP4Na9P6q4dBOfFW8aL6nwlvAnPYbputjeEgVsjjzQCBH1phAd61YXyjNo4wgrYPFYjDLYXTDd52gyEbLU0HTtP3C06IUY6SNG+ep9eFciP0k3WGRyLQel+04Mbpyp+bSl6MoSy5gLp7FpQ3rB1sFzRkOgfojlCjYF49iUBlj0f9jO67DpTA/BMIzEejAu2pJYsyz2fQgdJdAsDVZbXzdKySMhL97+97EGy4aJ9nDMxN6OlriemW+gcp11zjPRYP2j4UWCozs/JhIcy/MhFsMQib28H2EHT0v2O3BMKe5CG5qTR5GMfk14+AnUEVuHLaJQSewNiEIkHMz/Eg5zB0lj+iWEiZnYymgp0EDQfIjOFE/qGtP0WXb2Zp15fFgaLsJhQoAx4Q/oWkePKKZ7984rLAzBLTt7JzbdQCRvIXLGRQqjwJZ9PiY110eKJxjyj9secRGiEY8EH7nq4/YjXl1PtxehfMk98yvnf4aU1fjpmDovj0TFX1BkNZCm67+g+PLyRz4hF4fznidXfdBb/lwNSz8kOEQp4Pf7z6I4SLglJbRcaMAVw2Qa6fr9U06DIDyIzxL0lrB4ri9dt5Yr4M0jyKudEx+Nv9WCcf4nZ5waTlmXOGLp+rXmgZpTVeLJ+jF1bksnQ4jZ5GIavRaj/0Z078PxHg6kCEwQnlLPCgNnC8D9gA/1GyvH0YcewP8VlQHT8hsdZdkBCf4E0/a/ME17FhfFXGwa7HLCwT1eeRJX0zOPNo2DXzaUgd+DwxIrTNP0m0b9L4O4xRI3nks9AdZ596DsM5DXPvhr0OjrUNZBgHVp6Ip5HWarVjmi0WuyhOFuo9ut+8MEc9VYOAd5W7TCqPCGtVGDuQIa4jSMa7+jxkJDmXQcCeunq1V8TLWPhXSsAowOvtNl/VZjATYD0/K5Ki5gH9Cl2cC5FMpg+hbA5YDtsfJUEMvKHt6emZV+FEDgKTHawIdPBBqLv+fEVZJF9aLMt2p6OrpjjlMzAldliLOsxkIK5I8TNRHPl+1Cnb9o06YNikl4eLDrvAQFGUd+9QkeSFdBtn+FNrLgNj613Aa48Ggan7x6TPYCF6geShQOWBLGb112Hut2bDr6mR+j4IWB3+DDaY/K1YO3ZyWdCfMayxW7YiLZYxjPe7QemEeIe3NPZoZ4L2Yq95HVvdt37frciJ/VuE/iYcbigN1gEolPX7Yefo5b20hzfaeEJ+z6fCPfHj14TcLpvAQxORB10gE7+btIE49ucm1MCo5IDJD3U/fnNZaDMSkKhkmYky42JE8Xb57YzjxY/S1mNBnOeBlGy25aMy77JBn23ObhQFQJU7OjD+xhKyUTJyxHq3DyY/0T6NA+vYvXWE7ONE84roSp2fJxm9+gNsLpy0fgnoVd2l+uHjv07yqO5/c44HFA4UDSOj+FRlwvjIs1du+qa6GBmI0FerfGBHwRS/PdyG9eYukCG+Gez+PAT4MDzSZg4sEJx7CDdbijRTTsvMfjF+e7oSe7lU0/63HOpaI8XiIv3uNA6+ZAygQMKzTO7su9DFu0uIet4bLXplWdPwej32l8+pJtTaPjpfY4cOg40CQBE7PH9cQ9EPcybl4JoWoSrZgs4OxrmPffzG5Z9r/Qe1mbQjHxvUiPA62EAwkLhbh7zEXQ4z+ItVS/FquDxj4VfXfuNzvuHwY1GASMP63xzOn8vI92tFgZvIw8DiTBgbgCJu4ZDdsQ63LrPAiVnkQeySQJsA61q82+O4YK3TgiFgFUYIvG9al8/OYXY+F5cR4HDgUHIgoYzHFwQJPBxkgMarFCaWyrOHr3brPz3tOTzROVMbDTU6mlZdzBcz/GoSDv8ThwaDlgC1jDfUWctH6hlvzNVj58fqTtwdWsf9VAUw8oqvvUZYjKfQTr0WI+fhsd8PIejwMtzgHcVz8Glrrin/i5MhNoUgmhrBC9v/vC7LZnRJPoJJAYa7YDr/FRax/W/auWjhl+ewJJPVSPA03mgA8awOcwHWw+4cqqX23239FPpNX3RGl7BX9NLngsAtW8zabbtFvEWjaYjLfobpIcHDD5V6w0XpzHgebggA/C1SfFhHexXj98Yvb4HucxLNX9yBTTDyMH1X3tGn7K27O0m06tFpl04urEMKQWAFRWVqZt3LjxyEBA64yjTfszMsT3uC1kTwtk7WXRSjmQkDFi1DqkG+vEgB1dzfTaY4DT3fo1825VHcv49C5f8YEV4oyTkR+ZIeeQAr+lnqL8ohycLy2FZtU+c7v+vQ+C2TdcynIQ5z5wArCxSJgiY6pwMw6pxTxa2Zig6T75CSeLEvJ3fkS06Tm0LgoNVziYj8lSxbrWSOJEc3Er3Ts4uBe8mYCxtHT9ZziN+ZUTX71GieJwCVp73Ku1n/xNE7D0wFpz8BenYqQ6hYg154NRKlDNsh7/tf7opXtFW1LdD2hJgaK60V1WO3fuehSf5bw2gD/lOQjt5WKE/4E59xZw9Tt8brgnrFv64foHmqZejYaiaxx6IdUzELpncP6gBEdyox5KV2h73sOYA8kLmGZ+bpz0BR2gb7YHL+Fnms5v5OO2/IMyyXlzU4/aurq8ZsswBmF8nfFU3KX5DlDsvUCUbw6EJOSrXAoJ9ab3IoLjcoB54NcU8kPgJuMs+m86dGx33Jw5c1wfdqW03nP4cCB5AcsIVKGa/VNZVajVcUkDf0LTtBk4G7MrlbSbQgv3tI0K1BtvNdLgO7nWfpC8ibcRHtuH6dkN+Lz3Utwg8gphYoTr9uOe/TTytZhW1VlCsiHFLSVHYoaQ0a1bt50YpQ86cRINE010SJ1Bs0PXrl13pIJmomVoLfjJC1iKaoBR4Euhi2m+cduSvt8oRUWJSIZeFqxj1ENvIpOnnTkvwjfvIxJwAEsrSxdNnjy5OzoR+14kmnriZ+JFP5Fuy5RJMOfvjzl/5JvLJBJcrBUqMSJeZ4E4X4TbWM5XokO8yCdzZ9XuR1GvKygCo2gwXjCM0PaaEdsbP2iMX1taURrXQoZuZgsw80mUITs2Tex9MlHSrl2bWx988MEDwYx/0s6hEzDOXvSN32bdTtOaOVxYUHgVZsGN5lq4J39exbxtTSkzhGZ3U9InnRZrQAhRDaVHx7YHmzN34v6xFSeffNLGzz77LL26unoUlpa3Y009Ar9OGGlfwHqx2pemnbJgwYKPnfnSd7UPstoP64XRyY7DNcJpTHuoS48uG2jkIoGuqvr2fC4E8hKk3Z2yf1/1FFwT9TK+vW3dDWan/Ql6DomA4erBSnxGLOYd+62F1xjABtKKST74Ns1hfdUIpm2ft+/Qdtj999+/T9Yp6NI9OkvoN23atPb79h74CgLRAeE2gXpzI0bdPqoGDdPmM2vM2reDaUlgn8B69BoZli4JGfx0qd7zmDYehREad7aJDHD0QmjfXok12koah7MLrXHLPxoz4047Wr5U7nLEzX/fu8NslVgCSpVTIwhXSGEpHt/fOEMB6hCyGUoYfU5jG2I6uTKScIXgI4BR8BsIVuONZEJMIOWRE++nFD4kIxiulwzRcbdqhmrsc6he1KefGjic/BCEVW41ljQlhNZzGwbvPg11FLTfaD1YK56NkaiHDNOUMj+vsFaGY7qYEqjxZj0j4+53VRg+N3UdLq2sVGGR/BgdJpVVlv01NM6sDg2nLuTz+RKmfWgELMk619UFuiaZNOlkGRlpf609WF+JaY012mONcg2IzUyaIBJi/fEsevJLbRpcH1ZRUbLeDjeXhy7eTeDBtC8ApYRMQVNI6zEMDuNsGw7FL/8K4W9lfCIuvgEQpuzQNPEx+rTH49ERzLfViSM0fSvDfbzywXcDjpf+hF0u+irV3IebzROevRxWAga7SbqOoEUfMnXKzy96BC9QcUPGorc/v/DxsorSa5MpCHrnX6B3VoSLtH6RhYvX4TJkNw+HusINXzjLxprIh18gHtni4uLONdW1/Rvx+Erp1zTfv02jTgbJfQvXK1+pAprix6cJ3iKaydAoLy95B4oZEvaGzliwiRhxu4BmQseX6BM6wjTIKqnh4do/pDcR110DJkKxGXBHLnv/nBGvvo87p9mEZiAfl2RFxYIb0U3b5k2mENdgSrSOlAFxEysI9AkCCNdLEoQR4tMePbr9UobbtWuHkaDxCXDzmsZQZN/UqVPbYnS1BRYXKoTQUFMBr92uqt0PqbBo/oM1teqHmve1bZd1j8QtK5v3Efhh1wN0r7Bu7ZcIMVzqnCAAIvjbs3DhQnvjPkayhKJwMf2UxgQiHQPauhtuuKFRE9wYGdFH60K0k7VXSQgYoQOZmb6bIiLHAeK4ymg3fV84may6Vcag7WeFR8SH6Dofy8dtfS0aJhqMj3zt/avg3IuRw57rR8N3A8fLfDtu27zbDW40HL9/8q9wST3N+dWp1rdogTuystL/EmkKYe1tGWw6dpV/G0KXa3MtwQ0BWtYet2A0Qr2DD2fbONevRs+8QoLIxSiUiU/tzsYUjkZWWZ4fudahr7oBHmKLGCSAieJ2rqWPswQlCJOOtafFzUVog6MIBr4d8KVrA1UNosTF/ttK5N/4DnA2HV/km4MXMuydwsg9UZgC076Gb62A7h6ui0H0LUxJL5Wu33/9OaYReN2qQpAwdWhc53dg2v9354dsIFSDjXq0EWc3oO4ZsiyoyzewLRwSawSMZYvYagQs580PetfWYQrI2GWycqlywaT9HTu07bX4zOP2poKmP8//a6wRyKC0YyL0qCdEI8/GNzVnxUqXn3/9SZwZy9HQXWLhqXGYTD5dXl52lQojvypgyHsJFEyL0DvPd+JFCgP/YWgHY/bcJJD13HgFnUKvSDQiwOrpEyoweF4QIS7lIDL+xTqvBLy0N/bdZcI3c02/tLx8/rp4+LEFbO7EI1jNgTvxXRgy+/bFI2bHp2AEG750/SR0vQ9g6neMTTfFHvTWfx47JvvyWcFvkKaYPMP+UIdAQOSgDjhzZh6DEzpd0YGjWnwXXroq3NGzOqNNxquRRjc3ZcH671zgXYSe/3jQ6hxMg++O8x2o21vI69lYowCtpfDt1k6UDndpV8uP7dL0du/eA79DQYeBdh/Qo0UVrP3FMqzoXpLW4MH8XDkYrQeYJrsIvDjV+iYRZzVYg2xH+Aum+f6Gj01tcEWomZDoONGG9zbkQOD6wea9JxQgPVC+WpSvCnzcYTL9g2jr4WSLJKcWdnpccnMBLrl5CFOaATYwkqcJAjZTn/reG2wkGrY5HmwBcPYE3vEZa8YNbTX2jM1RU49m6+dA2IjFZ7xO2hJLYyIeGNud1Rm47ppfg14Owt46H/TkX3KNT1udm90q7RlbJ9e8UrUEB8IETM2U/34pjQC0827tvuO2qUswst2PcLNN6dT8Y/lp6peepk1bfs7Qr2LheXEeBw4lB2IKmLNg+FjfQsDox8TLA3ph0Q6lhLgMc9iwqaYzbdPDvAoL+Rmrc4c+iXzDtFRNp+9R8DiQeg4kJGBq9vzCT79G+HL6QUPDjSX9r4LmCx+2ZXS5TUoeSO1LzOe7ac3owZslwRaQZJmV53ocaDIHkhYwNefgiPIkYPSDHmpAP6OujjY0J1LY/QNDWi7u6D0mu+I5zhvtXdwT8DA9DrQqDqREwJw14rmfbgEMqmUIm5ikm0vW5eGw8l0Y3cL2dTAivcbTePHqc7M3Oel4YY8DHgcS5IBY1P+EWYvnXz1p06b0BJN66B4HDjsO/B8N1bixq/ZDrAAAAABJRU5ErkJggg==\"},sJTd:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"//Fk\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function a(t){return new s.default(function(e,n){var a=new window.XMLHttpRequest;a.open(\"GET\",t,!0),a.send(null),a.onreadystatechange=function(){4===a.readyState&&(a.status>=200&&a.status<300?e(a.responseText):n(a))}})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=a;var s=function(t){return t&&t.__esModule?t:{default:t}}(n);t.exports=e.default})},slt8:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"VAcG\"),n(\"TAy9\"),n(\"9zYt\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a,s){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=i(a),o=i(s);e.default={data:function(){return{baseUrl:n.baseUrl}},mounted:function(){window.scrollTo(0,0)},components:{Display:r.default,Back:o.default}},t.exports=e.default})},tCUt:function(t,e,n){function a(t){var e=s[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error(\"Cannot find module '\"+t+\"'.\"))}var s={\"./en-US/action-sheet.md\":[\"egGD\",91],\"./en-US/better-scroll.md\":[\"1H2i\",90],\"./en-US/button.md\":[\"4Xeq\",89],\"./en-US/cascade-picker.md\":[\"KI1o\",88],\"./en-US/checkbox-group.md\":[\"wNVF\",87],\"./en-US/checkbox.md\":[\"QTnR\",86],\"./en-US/checker.md\":[\"YWVk\",85],\"./en-US/create-api.md\":[\"i/fd\",84],\"./en-US/date-picker.md\":[\"6Rwf\",83],\"./en-US/dialog.md\":[\"gPPJ\",82],\"./en-US/drawer.md\":[\"DOGQ\",81],\"./en-US/form.md\":[\"nzGO\",80],\"./en-US/image-preview.md\":[\"FFtv\",79],\"./en-US/index-list.md\":[\"tHys\",78],\"./en-US/input.md\":[\"o9DV\",77],\"./en-US/internationalization.md\":[\"C/JU\",76],\"./en-US/introduction.md\":[\"YA8a\",75],\"./en-US/loading.md\":[\"jBRB\",74],\"./en-US/picker.md\":[\"BBNq\",73],\"./en-US/popup.md\":[\"HlXn\",72],\"./en-US/post-compile.md\":[\"1cY+\",71],\"./en-US/quick-start.md\":[\"gyX9\",70],\"./en-US/radio.md\":[\"D+uV\",69],\"./en-US/rate.md\":[\"qr3w\",68],\"./en-US/recycle-list.md\":[\"9hRo\",67],\"./en-US/scroll-nav-bar.md\":[\"vucU\",66],\"./en-US/scroll-nav.md\":[\"jS6/\",65],\"./en-US/scroll.md\":[\"a6IA\",64],\"./en-US/segment-picker.md\":[\"PiHE\",63],\"./en-US/select.md\":[\"CSGf\",62],\"./en-US/singleton.md\":[\"AoaZ\",61],\"./en-US/slide.md\":[\"qc/E\",60],\"./en-US/sticky.md\":[\"X7Go\",59],\"./en-US/style.md\":[\"jpwl\",58],\"./en-US/swipe.md\":[\"FRSy\",57],\"./en-US/switch.md\":[\"2nyi\",56],\"./en-US/tab-bar.md\":[\"djff\",55],\"./en-US/textarea.md\":[\"9woc\",54],\"./en-US/theme.md\":[\"qVBK\",53],\"./en-US/time-picker.md\":[\"BGpj\",52],\"./en-US/tip.md\":[\"X+F9\",51],\"./en-US/toast.md\":[\"jUSb\",50],\"./en-US/toolbar.md\":[\"yyOQ\",49],\"./en-US/upload.md\":[\"YJZO\",48],\"./en-US/validator.md\":[\"hl6N\",47],\"./zh-CN/action-sheet.md\":[\"Ezhp\",46],\"./zh-CN/better-scroll.md\":[\"JGwD\",45],\"./zh-CN/button.md\":[\"s6Rz\",44],\"./zh-CN/cascade-picker.md\":[\"kh0H\",43],\"./zh-CN/checkbox-group.md\":[\"NVJK\",42],\"./zh-CN/checkbox.md\":[\"n3PG\",41],\"./zh-CN/checker.md\":[\"Ye5R\",40],\"./zh-CN/create-api.md\":[\"Nx+F\",39],\"./zh-CN/date-picker.md\":[\"vw3j\",38],\"./zh-CN/dialog.md\":[\"DZkJ\",37],\"./zh-CN/drawer.md\":[\"e4wh\",36],\"./zh-CN/form.md\":[\"XO3d\",35],\"./zh-CN/image-preview.md\":[\"672m\",34],\"./zh-CN/index-list.md\":[\"hUpT\",33],\"./zh-CN/input.md\":[\"IwIh\",32],\"./zh-CN/internationalization.md\":[\"H0+O\",31],\"./zh-CN/introduction.md\":[\"zpSu\",30],\"./zh-CN/loading.md\":[\"dNW6\",29],\"./zh-CN/picker.md\":[\"92Kx\",28],\"./zh-CN/popup.md\":[\"ZL7z\",27],\"./zh-CN/post-compile.md\":[\"hvjf\",26],\"./zh-CN/quick-start.md\":[\"8XCF\",25],\"./zh-CN/radio.md\":[\"wPXv\",24],\"./zh-CN/rate.md\":[\"JQnJ\",23],\"./zh-CN/recycle-list.md\":[\"oF9l\",22],\"./zh-CN/scroll-nav-bar.md\":[\"T9KO\",21],\"./zh-CN/scroll-nav.md\":[\"iP+r\",20],\"./zh-CN/scroll.md\":[\"kegs\",19],\"./zh-CN/segment-picker.md\":[\"UCq8\",18],\"./zh-CN/select.md\":[\"eM4Z\",17],\"./zh-CN/singleton.md\":[\"+gXa\",16],\"./zh-CN/slide.md\":[\"7yxM\",15],\"./zh-CN/sticky.md\":[\"ula/\",14],\"./zh-CN/style.md\":[\"rDWR\",13],\"./zh-CN/swipe.md\":[\"YVHs\",12],\"./zh-CN/switch.md\":[\"hpvZ\",11],\"./zh-CN/tab-bar.md\":[\"2y7F\",10],\"./zh-CN/textarea.md\":[\"PG1Z\",9],\"./zh-CN/theme.md\":[\"7PUU\",8],\"./zh-CN/time-picker.md\":[\"C6Sj\",7],\"./zh-CN/tip.md\":[\"hIhO\",6],\"./zh-CN/toast.md\":[\"Wmdn\",5],\"./zh-CN/toolbar.md\":[\"1dH2\",4],\"./zh-CN/upload.md\":[\"dSBi\",3],\"./zh-CN/validator.md\":[\"OsmJ\",2]};a.keys=function(){return Object.keys(s)},a.id=\"tCUt\",t.exports=a},tZDt:function(t,e){t.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTIyMzk3MTQ1NzcxIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE4OTkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTEyOCAyMTMuMzQwMTZsNzY4IDBxMTcuNjc0MjQgMCAzMC4xNjcwNCAxMi40OTI4dDEyLjQ5MjggMzAuMTY3MDQtMTIuNDkyOCAzMC4xNjcwNC0zMC4xNjcwNCAxMi40OTI4bC03NjggMHEtMTcuNjc0MjQgMC0zMC4xNjcwNC0xMi40OTI4dC0xMi40OTI4LTMwLjE2NzA0IDEyLjQ5MjgtMzAuMTY3MDQgMzAuMTY3MDQtMTIuNDkyOHpNMTI4IDcyNS4zNDAxNmw3NjggMHExNy42NzQyNCAwIDMwLjE2NzA0IDEyLjQ5Mjh0MTIuNDkyOCAzMC4xNjcwNC0xMi40OTI4IDMwLjE2NzA0LTMwLjE2NzA0IDEyLjQ5MjhsLTc2OCAwcS0xNy42NzQyNCAwLTMwLjE2NzA0LTEyLjQ5Mjh0LTEyLjQ5MjgtMzAuMTY3MDQgMTIuNDkyOC0zMC4xNjcwNCAzMC4xNjcwNC0xMi40OTI4ek0xMjggNDY5LjM0MDE2bDc2OCAwcTE3LjY3NDI0IDAgMzAuMTY3MDQgMTIuNDkyOHQxMi40OTI4IDMwLjE2NzA0LTEyLjQ5MjggMzAuMTY3MDQtMzAuMTY3MDQgMTIuNDkyOGwtNzY4IDBxLTE3LjY3NDI0IDAtMzAuMTY3MDQtMTIuNDkyOHQtMTIuNDkyOC0zMC4xNjcwNCAxMi40OTI4LTMwLjE2NzA0IDMwLjE2NzA0LTEyLjQ5Mjh6IiBwLWlkPSIxOTAwIiBmaWxsPSIjNjQ2NDY0Ij48L3BhdGg+PC9zdmc+Cg==\"},teN3:function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"home-view\",class:{\"home-view-docs\":t.isDocs,\"home-view-demo\":t.isExample,opacity1:t.opacity1}},[a(\"div\",{ref:\"navigator\",staticClass:\"navigator\",class:{active:t.showTabs}},[a(\"div\",{staticClass:\"logo\"},[a(\"router-link\",{attrs:{to:\"/\"}},[a(\"img\",{attrs:{src:n(\"s9WP\"),alt:\"Cube-UI\"}})])],1),t._v(\" \"),a(\"div\",{staticClass:\"tabs\"},[a(\"i\"),t._v(\" \"),t._t(\"nav\"),t._v(\" \"),a(\"site-lang\")],2),t._v(\" \"),a(\"span\",{staticClass:\"toggle-nav\",on:{click:t.toggleNav}},[a(\"i\")])]),t._v(\" \"),a(\"div\",{staticClass:\"router-view\"},[a(\"nav-loading\"),t._v(\" \"),a(\"router-view\")],1)])},staticRenderFns:[]}},tplh:function(t,e){},txnZ:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"Zu/x\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default={components:{Home:a.default}},t.exports=e.default})},\"v+5S\":function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a(\"div\",{staticClass:\"home-index\"},[a(\"div\",{staticClass:\"banner\"},[a(\"h2\",[t._v(\"Cube UI\")]),t._v(\" \"),a(\"p\",[t._t(\"desc\")],2),t._v(\" \"),a(\"div\",{staticClass:\"ghbtns\"},[a(\"Badge\",{attrs:{type:\"star\"}}),t._v(\" \"),a(\"Badge\",{attrs:{type:\"fork\"}}),t._v(\" \"),a(\"Badge\",{attrs:{type:\"watch\"}})],1),t._v(\" \"),a(\"div\",{staticClass:\"rec-btns\"},[t._t(\"rec-btns\")],2)]),t._v(\" \"),a(\"section\",{staticClass:\"features\"},[a(\"ul\",[a(\"li\",[a(\"img\",{attrs:{src:n(\"HdVk\")}}),t._v(\" \"),a(\"div\",{staticClass:\"text\"},[t._t(\"feature-1\")],2)]),t._v(\" \"),a(\"li\",[a(\"img\",{attrs:{src:n(\"QEj7\")}}),t._v(\" \"),a(\"div\",{staticClass:\"text\"},[t._t(\"feature-2\")],2)]),t._v(\" \"),a(\"li\",[a(\"img\",{attrs:{src:n(\"zcSr\")}}),t._v(\" \"),a(\"div\",{staticClass:\"text\"},[t._t(\"feature-3\")],2)]),t._v(\" \"),a(\"li\",[a(\"img\",{attrs:{src:n(\"HHvJ\")}}),t._v(\" \"),a(\"div\",{staticClass:\"text\"},[t._t(\"feature-4\")],2)])])]),t._v(\" \"),a(\"sfooter\")],1)},staticRenderFns:[]}},v4eX:function(t,e){t.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTIyMzk5MTkyMjAzIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM2MzMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTI2OC44OTYgNDc2LjAzMiA2MjIuMjQgMTI1LjkyYzE4Ljg0OC0xOC42NTYgNDkuMjE2LTE4LjUyOCA2Ny44NzIgMC4zMiAxOC42NTYgMTguODE2IDE4LjUyOCA0OS4yMTYtMC4zMiA2Ny44NzJsLTMxOS40NTYgMzE2LjU3NiAzMTguMTc2IDMyMS4wNTZjMTguNjU2IDE4LjgxNiAxOC41MjggNDkuMjE2LTAuMzIgNjcuODcyLTkuMzQ0IDkuMjgtMjEuNTY4IDEzLjkyLTMzLjc5MiAxMy45Mi0xMi4zNTIgMC0yNC43MDQtNC43MzYtMzQuMDgtMTQuMjA4TDI3MC4yMDggNTQ1Ljk4NGMtMC41MTItMC41MTItMC42NzItMS4yNDgtMS4xODQtMS43OTItMC4xMjgtMC4xMjgtMC4yODgtMC4xNi0wLjQxNi0wLjI4OEMyNDkuOTUyIDUyNS4wODggMjUwLjA4IDQ5NC42ODggMjY4Ljg5NiA0NzYuMDMyeiIgcC1pZD0iMzYzNCIgZmlsbD0iIzY0NjQ2NCI+PC9wYXRoPjwvc3ZnPg==\"},vmBx:function(t,e,n){function a(t){n(\"5usR\")}var s=n(\"VU/8\")(n(\"CMlA\"),n(\"SOhj\"),a,null,null);t.exports=s.exports},wtIw:function(t,e,n){var a,s,i;!function(r,o){s=[t,e,n(\"7ntu\"),n(\"ZfAl\"),n(\"nP5o\")],a=o,void 0!==(i=\"function\"==typeof a?a.apply(e,s):a)&&(t.exports=i)}(0,function(t,e,n,a,s){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=i(n),o=i(a),l=i(s);e.default={data:function(){return{showTabs:!1,opacity1:!1,isDocs:this.$route.path.indexOf(\"/docs\")>-1,isExample:this.$route.path.indexOf(\"/example\")>-1}},computed:{isIndex:function(){return!this.isDocs&&!this.isExample}},watch:{$route:function(t){this.isDocs=t.path.indexOf(\"/docs\")>-1,this.isExample=t.path.indexOf(\"/example\")>-1,this.showTabs=!1},isIndex:{handler:function(t){t?(document.addEventListener(\"touchmove\",this.checkScrollTop,!1),window.addEventListener(\"scroll\",this.checkScrollTop,!1)):(document.removeEventListener(\"touchmove\",this.checkScrollTop,!1),window.removeEventListener(\"scroll\",this.checkScrollTop,!1),this.$refs.navigator&&(this.$refs.navigator.style.backgroundColor=\"\"))},immediate:!0}},beforeCreate:function(){var t=this;this.checkScrollTop=(0,l.default)(function(){var e=window.scrollY,n=e/48;t.opacity1=n>=.98,t.$refs.navigator.style.backgroundColor=\"rgba(255, 255, 255, \"+n+\")\"},10,{leading:!0})},mounted:function(){var t=this;setTimeout(function(){t.isIndex&&t.checkScrollTop()})},components:{SiteLang:r.default,NavLoading:o.default},methods:{toggleNav:function(){this.showTabs=!this.showTabs},toggleCatalog:function(){this.showCatalog=!this.showCatalog}}},t.exports=e.default})},zcSr:function(t,e,n){t.exports=n.p+\"img/standard.79d9737.png\"}},[\"aP4Y\"]);"
  },
  {
    "path": "docs/js/manifest.ce5efbe71aaf8ececafa.js",
    "content": "!function(e){function c(a){if(f[a])return f[a].exports;var d=f[a]={i:a,l:!1,exports:{}};return e[a].call(d.exports,d,d.exports,c),d.l=!0,d.exports}var a=window.webpackJsonp;window.webpackJsonp=function(f,b,n){for(var r,t,o,u=0,i=[];u<f.length;u++)t=f[u],d[t]&&i.push(d[t][0]),d[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(a&&a(f,b,n);i.length;)i.shift()();if(n)for(u=0;u<n.length;u++)o=c(c.s=n[u]);return o};var f={},d={94:0};c.e=function(e){function a(){r.onerror=r.onload=null,clearTimeout(t);var c=d[e];0!==c&&(c&&c[1](new Error(\"Loading chunk \"+e+\" failed.\")),d[e]=void 0)}var f=d[e];if(0===f)return new Promise(function(e){e()});if(f)return f[2];var b=new Promise(function(c,a){f=d[e]=[c,a]});f[2]=b;var n=document.getElementsByTagName(\"head\")[0],r=document.createElement(\"script\");r.type=\"text/javascript\",r.charset=\"utf-8\",r.async=!0,r.timeout=12e4,c.nc&&r.setAttribute(\"nonce\",c.nc),r.src=c.p+\"js/\"+e+\".\"+{0:\"9cf876f3d8a0dd614939\",1:\"8cbaaf36e614ee3d9b86\",2:\"2432e5fc0d2475977d63\",3:\"225ad627a1feba4b3628\",4:\"d6af701a543a8fb02755\",5:\"a8a43ce0421c2d5b9833\",6:\"87961418e2ec57592899\",7:\"73be176458726c27bd5c\",8:\"168676b0456643c9cd9e\",9:\"43053995a79e41726eb4\",10:\"5930217e28de542041c0\",11:\"7bf9df3122c98050b7d4\",12:\"9bba651f6de7f3c71b3f\",13:\"d9efc3abe297630dced6\",14:\"c07f00aea03c853eb3bb\",15:\"3364954d8a27037cf761\",16:\"cd9871b346f43683d669\",17:\"4541b85f4e12c13cfd08\",18:\"10fbc962ddf6f40615a5\",19:\"16a57cbea5da52c6251a\",20:\"54471a66679d37700a5e\",21:\"4f7be796c379f2d96aa4\",22:\"243e0384e9430df62447\",23:\"c5f3e83f3d39993c29a6\",24:\"d1556b10eeafa4d49b52\",25:\"ff3890b12c1f7cf10eed\",26:\"e0fb07bdd85581017dc7\",27:\"453820af424256909e32\",28:\"151782d124b73d93df8c\",29:\"b2c82b91d678ed460578\",30:\"24e49757187172cd5252\",31:\"59f2caea82ab4a2b2b28\",32:\"92d97fca65bc47567d91\",33:\"0932b21b5b43e2ba95fb\",34:\"65fc2b56c169315abffc\",35:\"4cc6441f69c3f719becb\",36:\"c1a6541b1f2a282d9ce1\",37:\"2ab1d956cac9655d5e3a\",38:\"35b79bd8afe1ae8f8682\",39:\"e691cb19dfc9942357d8\",40:\"f0d920ac58825c920648\",41:\"3c28ecf59ffa843d25c4\",42:\"66317608a96419d33a02\",43:\"c064229db7098f19a043\",44:\"5f1f01671968b86fc2ff\",45:\"173edcbc30408a1aaea4\",46:\"615250d5103ff47df383\",47:\"ee4add645124d5625695\",48:\"82cf541dae749a99ddfa\",49:\"e61e7c5334a8e3beb42a\",50:\"b7460cb6cb217521ae88\",51:\"250ed44339e16d80bc45\",52:\"92711c31af8e119072b8\",53:\"c7096cf68e0b7c72c22e\",54:\"7584e58e8789cb3bbd81\",55:\"913118efef50f51fa244\",56:\"2ded9d5c2b260f563fc8\",57:\"9d86c4c58cbe42d519d6\",58:\"6f4cdbad62be8cab39c9\",59:\"224e2cca1fdcdf88dff7\",60:\"48f6468a209288732754\",61:\"265d640336d59817c112\",62:\"0fe8bd8b3202beab35aa\",63:\"65ab03781228409081a9\",64:\"4df41c1ba975112cb0ed\",65:\"4d06d6170b5b89f3fce9\",66:\"edd9bd50ae205f0e44a7\",67:\"2851d35bedf7b7cab2a0\",68:\"2ffbc60f611766a3442a\",69:\"ca4c0927412c530708c1\",70:\"a557bc5bc06bebb31bd5\",71:\"448b4b2ef777ac211afd\",72:\"21370efcd3163368da02\",73:\"3cb88cb8424290dc70d9\",74:\"ce38c9d67ccce0cdfb67\",75:\"987c766d09acb00dac2c\",76:\"95b13be54c0af4fa673f\",77:\"7351763012ae5b6d1629\",78:\"744c249608bc30533fd5\",79:\"f9d3846d0374e7537f2a\",80:\"ea58e0c55487a44cda81\",81:\"dcf4c2075ca1e5efdd88\",82:\"661e3976ba4e39135fef\",83:\"05cabda29bb21d2b7ba2\",84:\"c806b6eaf1522e4fbc07\",85:\"5fbf101dd2b8a0f6cdc3\",86:\"2da9326ba73eed0a8f57\",87:\"d0fe1617ce4a06b0b876\",88:\"62c985139bfaf2e40717\",89:\"7e655c4acb6aaa07507c\",90:\"47dffefcce8c6186abcd\",91:\"fc93e315db5c6a555034\"}[e]+\".js\";var t=setTimeout(a,12e4);return r.onerror=r.onload=a,n.appendChild(r),b},c.m=e,c.c=f,c.d=function(e,a,f){c.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:f})},c.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(a,\"a\",a),a},c.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},c.p=\"/cube-ui/\",c.oe=function(e){throw console.error(e),e}}([]);"
  },
  {
    "path": "docs/js/vendor.03c1e619c9792283e75e.js",
    "content": "webpackJsonp([92],{\"+2+s\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"49qz\")(!0);r(r.P,\"String\",{at:function(t){return o(this,t)}})},\"+CM9\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"ot5s\")(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(\"NNrz\")(i)),\"Array\",{indexOf:function(t){return a?i.apply(this,arguments)||0:o(this,t,arguments[1])}})},\"+E39\":function(t,e,n){t.exports=!n(\"S82l\")(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},\"+Mt+\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"7gX0\"),i=n(\"OzIq\"),a=n(\"7O1s\"),u=n(\"nphH\");r(r.P+r.R,\"Promise\",{finally:function(t){var e=a(this,o.Promise||i.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},\"+ZMJ\":function(t,e,n){var r=n(\"lOnJ\");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},\"+oTD\":function(t,e,n){var r,o,i;!function(n,a){o=[t,e],r=a,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e){\"use strict\";function n(t){for(var e=t.length;e--&&r.test(t.charAt(e)););return e}Object.defineProperty(e,\"__esModule\",{value:!0});var r=/\\s/;e.default=n,t.exports=e.default})},\"+tPU\":function(t,e,n){n(\"xGkn\");for(var r=n(\"7KvD\"),o=n(\"hJx8\"),i=n(\"/bQp\"),a=n(\"dSzd\")(\"toStringTag\"),u=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),s=0;s<u.length;s++){var c=u[s],f=r[c],l=f&&f.prototype;l&&!l[a]&&o(l,a,c),i[c]=i.Array}},\"+vXH\":function(t,e,n){n(\"77Ug\")(\"Float64\",8,function(t){return function(e,n,r){return t(this,e,n,r)}})},\"+yjc\":function(t,e,n){var r=n(\"UKM+\");n(\"3i66\")(\"isSealed\",function(t){return function(e){return!r(e)||!!t&&t(e)}})},\"//Fk\":function(t,e,n){t.exports={default:n(\"U5ju\"),__esModule:!0}},\"/5sW\":function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),function(t,n){function r(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function u(t){return\"string\"==typeof t||\"number\"==typeof t||\"symbol\"==typeof t||\"boolean\"==typeof t}function s(t){return null!==t&&\"object\"==typeof t}function c(t){return\"[object Object]\"===mr.call(t)}function f(t){return\"[object RegExp]\"===mr.call(t)}function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function p(t){return null==t?\"\":\"object\"==typeof t?JSON.stringify(t,null,2):String(t)}function d(t){var e=parseFloat(t);return isNaN(e)?t:e}function h(t,e){for(var n=Object.create(null),r=t.split(\",\"),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}function v(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}function g(t,e){return _r.call(t,e)}function y(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function m(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function b(t,e){return t.bind(e)}function _(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function w(t,e){for(var n in e)t[n]=e[n];return t}function x(t){for(var e={},n=0;n<t.length;n++)t[n]&&w(e,t[n]);return e}function O(t,e,n){}function E(t,e){if(t===e)return!0;var n=s(t),r=s(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every(function(t,n){return E(t,e[n])});if(o||i)return!1;var a=Object.keys(t),u=Object.keys(e);return a.length===u.length&&a.every(function(n){return E(t[n],e[n])})}catch(t){return!1}}function S(t,e){for(var n=0;n<t.length;n++)if(E(t[n],e))return n;return-1}function P(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function M(t){var e=(t+\"\").charCodeAt(0);return 36===e||95===e}function A(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function k(t){if(!Ir.test(t)){var e=t.split(\".\");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}function D(t){return\"function\"==typeof t&&/native code/.test(t.toString())}function C(t){Jr.target&&to.push(Jr.target),Jr.target=t}function N(){Jr.target=to.pop()}function I(t){return new eo(void 0,void 0,void 0,String(t))}function R(t){var e=new eo(t.tag,t.data,t.children,t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.isCloned=!0,e}function T(t){uo=t}function j(t,e,n){t.__proto__=e}function L(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(t,i,e[i])}}function F(t,e){if(s(t)&&!(t instanceof eo)){var n;return g(t,\"__ob__\")&&t.__ob__ instanceof so?n=t.__ob__:uo&&!Xr()&&(Array.isArray(t)||c(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new so(t)),e&&n&&n.vmCount++,n}}function U(t,e,n,r,o){var i=new Jr,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var u=a&&a.get;u||2!==arguments.length||(n=t[e]);var s=a&&a.set,c=!o&&F(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=u?u.call(t):n;return Jr.target&&(i.depend(),c&&(c.dep.depend(),Array.isArray(e)&&$(e))),e},set:function(e){var r=u?u.call(t):n;e===r||e!==e&&r!==r||(s?s.call(t,e):n=e,c=!o&&F(e),i.notify())}})}}function z(t,e,n){if(Array.isArray(t)&&l(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(U(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function B(t,e){if(Array.isArray(t)&&l(e))return void t.splice(e,1);var n=t.__ob__;t._isVue||n&&n.vmCount||g(t,e)&&(delete t[e],n&&n.dep.notify())}function $(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&$(e)}function q(t,e){if(!e)return t;for(var n,r,o,i=Object.keys(e),a=0;a<i.length;a++)n=i[a],r=t[n],o=e[n],g(t,n)?c(r)&&c(o)&&q(r,o):z(t,n,o);return t}function W(t,e,n){return n?function(){var r=\"function\"==typeof e?e.call(n,n):e,o=\"function\"==typeof t?t.call(n,n):t;return r?q(r,o):o}:e?t?function(){return q(\"function\"==typeof e?e.call(this,this):e,\"function\"==typeof t?t.call(this,this):t)}:e:t}function K(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function V(t,e,n,r){var o=Object.create(t||null);return e?w(o,e):o}function G(t,e){var n=t.props;if(n){var r,o,i,a={};if(Array.isArray(n))for(r=n.length;r--;)\"string\"==typeof(o=n[r])&&(i=xr(o),a[i]={type:null});else if(c(n))for(var u in n)o=n[u],i=xr(u),a[i]=c(o)?o:{type:o};t.props=a}}function X(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(c(n))for(var i in n){var a=n[i];r[i]=c(a)?w({from:i},a):{from:a}}}}function Y(t){var e=t.directives;if(e)for(var n in e){var r=e[n];\"function\"==typeof r&&(e[n]={bind:r,update:r})}}function H(t,e,n){function r(r){var o=co[r]||po;s[r]=o(t[r],e[r],n,r)}\"function\"==typeof e&&(e=e.options),G(e,n),X(e,n),Y(e);var o=e.extends;if(o&&(t=H(t,o,n)),e.mixins)for(var i=0,a=e.mixins.length;i<a;i++)t=H(t,e.mixins[i],n);var u,s={};for(u in t)r(u);for(u in e)g(t,u)||r(u);return s}function Q(t,e,n,r){if(\"string\"==typeof n){var o=t[e];if(g(o,n))return o[n];var i=xr(n);if(g(o,i))return o[i];var a=Or(i);if(g(o,a))return o[a];return o[n]||o[i]||o[a]}}function Z(t,e,n,r){var o=e[t],i=!g(n,t),a=n[t],u=nt(Boolean,o.type);if(u>-1)if(i&&!g(o,\"default\"))a=!1;else if(\"\"===a||a===Sr(t)){var s=nt(String,o.type);(s<0||u<s)&&(a=!0)}if(void 0===a){a=J(r,o,t);var c=uo;T(!0),F(a),T(c)}return a}function J(t,e,n){if(g(e,\"default\")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:\"function\"==typeof r&&\"Function\"!==tt(e.type)?r.call(t):r}}function tt(t){var e=t&&t.toString().match(/^\\s*function (\\w+)/);return e?e[1]:\"\"}function et(t,e){return tt(t)===tt(e)}function nt(t,e){if(!Array.isArray(e))return et(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(et(e[n],t))return n;return-1}function rt(t,e,n){if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{var a=!1===o[i].call(r,t,e,n);if(a)return}catch(t){ot(t,r,\"errorCaptured hook\")}}ot(t,e,n)}function ot(t,e,n){if(Nr.errorHandler)try{return Nr.errorHandler.call(null,t,e,n)}catch(t){it(t,null,\"config.errorHandler\")}it(t,e,n)}function it(t,e,n){if(!Tr&&!jr||\"undefined\"==typeof console)throw t;console.error(t)}function at(){vo=!1;var t=ho.slice(0);ho.length=0;for(var e=0;e<t.length;e++)t[e]()}function ut(t){return t._withTask||(t._withTask=function(){go=!0;var e=t.apply(null,arguments);return go=!1,e})}function st(t,e){var n;if(ho.push(function(){if(t)try{t.call(e)}catch(t){rt(t,e,\"nextTick\")}else n&&n(e)}),vo||(vo=!0,go?lo():fo()),!t&&\"undefined\"!=typeof Promise)return new Promise(function(t){n=t})}function ct(t){ft(t,wo),wo.clear()}function ft(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!s(t)||Object.isFrozen(t)||t instanceof eo)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(o)for(n=t.length;n--;)ft(t[n],e);else for(r=Object.keys(t),n=r.length;n--;)ft(t[r[n]],e)}}function lt(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=n.slice(),o=0;o<r.length;o++)r[o].apply(null,t)}return e.fns=t,e}function pt(t,e,n,o,i){var a,u,s,c;for(a in t)u=t[a],s=e[a],c=xo(a),r(u)||(r(s)?(r(u.fns)&&(u=t[a]=lt(u)),n(c.name,u,c.once,c.capture,c.passive,c.params)):u!==s&&(s.fns=u,t[a]=s));for(a in e)r(t[a])&&(c=xo(a),o(c.name,e[a],c.capture))}function dt(t,e,n){function a(){n.apply(this,arguments),v(u.fns,a)}t instanceof eo&&(t=t.data.hook||(t.data.hook={}));var u,s=t[e];r(s)?u=lt([a]):o(s.fns)&&i(s.merged)?(u=s,u.fns.push(a)):u=lt([s,a]),u.merged=!0,t[e]=u}function ht(t,e,n){var i=e.options.props;if(!r(i)){var a={},u=t.attrs,s=t.props;if(o(u)||o(s))for(var c in i){var f=Sr(c);vt(a,s,c,f,!0)||vt(a,u,c,f,!1)}return a}}function vt(t,e,n,r,i){if(o(e)){if(g(e,n))return t[n]=e[n],i||delete e[n],!0;if(g(e,r))return t[n]=e[r],i||delete e[r],!0}return!1}function gt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function yt(t){return u(t)?[I(t)]:Array.isArray(t)?bt(t):void 0}function mt(t){return o(t)&&o(t.text)&&a(t.isComment)}function bt(t,e){var n,a,s,c,f=[];for(n=0;n<t.length;n++)a=t[n],r(a)||\"boolean\"==typeof a||(s=f.length-1,c=f[s],Array.isArray(a)?a.length>0&&(a=bt(a,(e||\"\")+\"_\"+n),mt(a[0])&&mt(c)&&(f[s]=I(c.text+a[0].text),a.shift()),f.push.apply(f,a)):u(a)?mt(c)?f[s]=I(c.text+a):\"\"!==a&&f.push(I(a)):mt(a)&&mt(c)?f[s]=I(c.text+a.text):(i(t._isVList)&&o(a.tag)&&r(a.key)&&o(e)&&(a.key=\"__vlist\"+e+\"_\"+n+\"__\"),f.push(a)));return f}function _t(t,e){return(t.__esModule||Hr&&\"Module\"===t[Symbol.toStringTag])&&(t=t.default),s(t)?e.extend(t):t}function wt(t,e,n,r,o){var i=ro();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}function xt(t,e,n){if(i(t.error)&&o(t.errorComp))return t.errorComp;if(o(t.resolved))return t.resolved;if(i(t.loading)&&o(t.loadingComp))return t.loadingComp;if(!o(t.contexts)){var a=t.contexts=[n],u=!0,c=function(){for(var t=0,e=a.length;t<e;t++)a[t].$forceUpdate()},f=P(function(n){t.resolved=_t(n,e),u||c()}),l=P(function(e){o(t.errorComp)&&(t.error=!0,c())}),p=t(f,l);return s(p)&&(\"function\"==typeof p.then?r(t.resolved)&&p.then(f,l):o(p.component)&&\"function\"==typeof p.component.then&&(p.component.then(f,l),o(p.error)&&(t.errorComp=_t(p.error,e)),o(p.loading)&&(t.loadingComp=_t(p.loading,e),0===p.delay?t.loading=!0:setTimeout(function(){r(t.resolved)&&r(t.error)&&(t.loading=!0,c())},p.delay||200)),o(p.timeout)&&setTimeout(function(){r(t.resolved)&&l(null)},p.timeout))),u=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(n)}function Ot(t){return t.isComment&&t.asyncFactory}function Et(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(o(n)&&(o(n.componentOptions)||Ot(n)))return n}}function St(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&At(t,e)}function Pt(t,e,n){n?_o.$once(t,e):_o.$on(t,e)}function Mt(t,e){_o.$off(t,e)}function At(t,e,n){_o=t,pt(e,n||{},Pt,Mt,t),_o=void 0}function kt(t,e){var n={};if(!t)return n;for(var r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var u=a.slot,s=n[u]||(n[u]=[]);\"template\"===i.tag?s.push.apply(s,i.children||[]):s.push(i)}}for(var c in n)n[c].every(Dt)&&delete n[c];return n}function Dt(t){return t.isComment&&!t.asyncFactory||\" \"===t.text}function Ct(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?Ct(t[n],e):e[t[n].key]=t[n].fn;return e}function Nt(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function It(t,e,n){t.$el=e,t.$options.render||(t.$options.render=ro),Ft(t,\"beforeMount\");var r;return r=function(){t._update(t._render(),n)},new Co(t,r,O,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Ft(t,\"mounted\")),t}function Rt(t,e,n,r,o){var i=!!(o||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==yr);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=o,t.$attrs=r.data.attrs||yr,t.$listeners=n||yr,e&&t.$options.props){T(!1);for(var a=t._props,u=t.$options._propKeys||[],s=0;s<u.length;s++){var c=u[s],f=t.$options.props;a[c]=Z(c,f,e,t)}T(!0),t.$options.propsData=e}n=n||yr;var l=t.$options._parentListeners;t.$options._parentListeners=n,At(t,n,l),i&&(t.$slots=kt(o,r.context),t.$forceUpdate())}function Tt(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function jt(t,e){if(e){if(t._directInactive=!1,Tt(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)jt(t.$children[n]);Ft(t,\"activated\")}}function Lt(t,e){if(!(e&&(t._directInactive=!0,Tt(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)Lt(t.$children[n]);Ft(t,\"deactivated\")}}function Ft(t,e){C();var n=t.$options[e];if(n)for(var r=0,o=n.length;r<o;r++)try{n[r].call(t)}catch(n){rt(n,t,e+\" hook\")}t._hasHookEvent&&t.$emit(\"hook:\"+e),N()}function Ut(){ko=Eo.length=So.length=0,Po={},Mo=Ao=!1}function zt(){Ao=!0;var t,e;for(Eo.sort(function(t,e){return t.id-e.id}),ko=0;ko<Eo.length;ko++)t=Eo[ko],e=t.id,Po[e]=null,t.run();var n=So.slice(),r=Eo.slice();Ut(),qt(n),Bt(r),Yr&&Nr.devtools&&Yr.emit(\"flush\")}function Bt(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&Ft(r,\"updated\")}}function $t(t){t._inactive=!1,So.push(t)}function qt(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,jt(t[e],!0)}function Wt(t){var e=t.id;if(null==Po[e]){if(Po[e]=!0,Ao){for(var n=Eo.length-1;n>ko&&Eo[n].id>t.id;)n--;Eo.splice(n+1,0,t)}else Eo.push(t);Mo||(Mo=!0,st(zt))}}function Kt(t,e,n){No.get=function(){return this[e][n]},No.set=function(t){this[e][n]=t},Object.defineProperty(t,n,No)}function Vt(t){t._watchers=[];var e=t.$options;e.props&&Gt(t,e.props),e.methods&&Jt(t,e.methods),e.data?Xt(t):F(t._data={},!0),e.computed&&Ht(t,e.computed),e.watch&&e.watch!==qr&&te(t,e.watch)}function Gt(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];!t.$parent||T(!1);for(var i in e)!function(i){o.push(i);var a=Z(i,e,n,t);U(r,i,a),i in t||Kt(t,\"_props\",i)}(i);T(!0)}function Xt(t){var e=t.$options.data;e=t._data=\"function\"==typeof e?Yt(e,t):e||{},c(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);o--;){var i=n[o];r&&g(r,i)||M(i)||Kt(t,\"_data\",i)}F(e,!0)}function Yt(t,e){C();try{return t.call(e,e)}catch(t){return rt(t,e,\"data()\"),{}}finally{N()}}function Ht(t,e){var n=t._computedWatchers=Object.create(null),r=Xr();for(var o in e){var i=e[o],a=\"function\"==typeof i?i:i.get;r||(n[o]=new Co(t,a||O,O,Io)),o in t||Qt(t,o,i)}}function Qt(t,e,n){var r=!Xr();\"function\"==typeof n?(No.get=r?Zt(e):n,No.set=O):(No.get=n.get?r&&!1!==n.cache?Zt(e):n.get:O,No.set=n.set?n.set:O),Object.defineProperty(t,e,No)}function Zt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),Jr.target&&e.depend(),e.value}}function Jt(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?O:Pr(e[n],t)}function te(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)ee(t,n,r[o]);else ee(t,n,r)}}function ee(t,e,n,r){return c(n)&&(r=n,n=n.handler),\"string\"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function ne(t){var e=t.$options.provide;e&&(t._provided=\"function\"==typeof e?e.call(t):e)}function re(t){var e=oe(t.$options.inject,t);e&&(T(!1),Object.keys(e).forEach(function(n){U(t,n,e[n])}),T(!0))}function oe(t,e){if(t){for(var n=Object.create(null),r=Hr?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,u=e;u;){if(u._provided&&g(u._provided,a)){n[i]=u._provided[a];break}u=u.$parent}if(!u&&\"default\"in t[i]){var s=t[i].default;n[i]=\"function\"==typeof s?s.call(e):s}}return n}}function ie(t,e){var n,r,i,a,u;if(Array.isArray(t)||\"string\"==typeof t)for(n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=e(t[r],r);else if(\"number\"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(s(t))for(a=Object.keys(t),n=new Array(a.length),r=0,i=a.length;r<i;r++)u=a[r],n[r]=e(t[u],u,r);return o(n)&&(n._isVList=!0),n}function ae(t,e,n,r){var o,i=this.$scopedSlots[t];if(i)n=n||{},r&&(n=w(w({},r),n)),o=i(n)||e;else{var a=this.$slots[t];a&&(a._rendered=!0),o=a||e}var u=n&&n.slot;return u?this.$createElement(\"template\",{slot:u},o):o}function ue(t){return Q(this.$options,\"filters\",t,!0)||Ar}function se(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function ce(t,e,n,r,o){var i=Nr.keyCodes[e]||n;return o&&r&&!Nr.keyCodes[e]?se(o,r):i?se(i,t):r?Sr(r)!==e:void 0}function fe(t,e,n,r,o){if(n)if(s(n)){Array.isArray(n)&&(n=x(n));var i;for(var a in n)!function(a){if(\"class\"===a||\"style\"===a||br(a))i=t;else{var u=t.attrs&&t.attrs.type;i=r||Nr.mustUseProp(e,u,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}if(!(a in i)&&(i[a]=n[a],o)){(t.on||(t.on={}))[\"update:\"+a]=function(t){n[a]=t}}}(a)}else;return t}function le(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?r:(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),de(r,\"__static__\"+t,!1),r)}function pe(t,e,n){return de(t,\"__once__\"+e+(n?\"_\"+n:\"\"),!0),t}function de(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&\"string\"!=typeof t[r]&&he(t[r],e+\"_\"+r,n);else he(t,e,n)}function he(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function ve(t,e){if(e)if(c(e)){var n=t.on=t.on?w({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function ge(t){t._o=pe,t._n=d,t._s=p,t._l=ie,t._t=ae,t._q=E,t._i=S,t._m=le,t._f=ue,t._k=ce,t._b=fe,t._v=I,t._e=ro,t._u=Ct,t._g=ve}function ye(t,e,n,r,o){var a,u=o.options;g(r,\"_uid\")?(a=Object.create(r),a._original=r):(a=r,r=r._original);var s=i(u._compiled),c=!s;this.data=t,this.props=e,this.children=n,this.parent=r,this.listeners=t.on||yr,this.injections=oe(u.inject,r),this.slots=function(){return kt(n,r)},s&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=t.scopedSlots||yr),u._scopeId?this._c=function(t,e,n,o){var i=Se(a,t,e,n,o,c);return i&&!Array.isArray(i)&&(i.fnScopeId=u._scopeId,i.fnContext=r),i}:this._c=function(t,e,n,r){return Se(a,t,e,n,r,c)}}function me(t,e,n,r,i){var a=t.options,u={},s=a.props;if(o(s))for(var c in s)u[c]=Z(c,s,e||yr);else o(n.attrs)&&_e(u,n.attrs),o(n.props)&&_e(u,n.props);var f=new ye(n,u,i,r,t),l=a.render.call(null,f._c,f);if(l instanceof eo)return be(l,n,f.parent,a);if(Array.isArray(l)){for(var p=yt(l)||[],d=new Array(p.length),h=0;h<p.length;h++)d[h]=be(p[h],n,f.parent,a);return d}}function be(t,e,n,r){var o=R(t);return o.fnContext=n,o.fnOptions=r,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function _e(t,e){for(var n in e)t[xr(n)]=e[n]}function we(t,e,n,a,u){if(!r(t)){var c=n.$options._base;if(s(t)&&(t=c.extend(t)),\"function\"==typeof t){var f;if(r(t.cid)&&(f=t,void 0===(t=xt(f,c,n))))return wt(f,e,n,a,u);e=e||{},Ce(t),o(e.model)&&Ee(t.options,e);var l=ht(e,t,u);if(i(t.options.functional))return me(t,l,e,n,a);var p=e.on;if(e.on=e.nativeOn,i(t.options.abstract)){var d=e.slot;e={},d&&(e.slot=d)}Oe(e);var h=t.options.name||u;return new eo(\"vue-component-\"+t.cid+(h?\"-\"+h:\"\"),e,void 0,void 0,void 0,n,{Ctor:t,propsData:l,listeners:p,tag:u,children:a},f)}}}function xe(t,e,n,r){var i={_isComponent:!0,parent:e,_parentVnode:t,_parentElm:n||null,_refElm:r||null},a=t.data.inlineTemplate;return o(a)&&(i.render=a.render,i.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(i)}function Oe(t){for(var e=t.hook||(t.hook={}),n=0;n<To.length;n++){var r=To[n];e[r]=Ro[r]}}function Ee(t,e){var n=t.model&&t.model.prop||\"value\",r=t.model&&t.model.event||\"input\";(e.props||(e.props={}))[n]=e.model.value;var i=e.on||(e.on={});o(i[r])?i[r]=[e.model.callback].concat(i[r]):i[r]=e.model.callback}function Se(t,e,n,r,o,a){return(Array.isArray(n)||u(n))&&(o=r,r=n,n=void 0),i(a)&&(o=Lo),Pe(t,e,n,r,o)}function Pe(t,e,n,r,i){if(o(n)&&o(n.__ob__))return ro();if(o(n)&&o(n.is)&&(e=n.is),!e)return ro();Array.isArray(r)&&\"function\"==typeof r[0]&&(n=n||{},n.scopedSlots={default:r[0]},r.length=0),i===Lo?r=yt(r):i===jo&&(r=gt(r));var a,u;if(\"string\"==typeof e){var s;u=t.$vnode&&t.$vnode.ns||Nr.getTagNamespace(e),a=Nr.isReservedTag(e)?new eo(Nr.parsePlatformTagName(e),n,r,void 0,void 0,t):o(s=Q(t.$options,\"components\",e))?we(s,n,t,r,e):new eo(e,n,r,void 0,void 0,t)}else a=we(e,n,t,r);return Array.isArray(a)?a:o(a)?(o(u)&&Me(a,u),o(n)&&Ae(n),a):ro()}function Me(t,e,n){if(t.ns=e,\"foreignObject\"===t.tag&&(e=void 0,n=!0),o(t.children))for(var a=0,u=t.children.length;a<u;a++){var s=t.children[a];o(s.tag)&&(r(s.ns)||i(n)&&\"svg\"!==s.tag)&&Me(s,e,n)}}function Ae(t){s(t.style)&&ct(t.style),s(t.class)&&ct(t.class)}function ke(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=kt(e._renderChildren,r),t.$scopedSlots=yr,t._c=function(e,n,r,o){return Se(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Se(t,e,n,r,o,!0)};var o=n&&n.data;U(t,\"$attrs\",o&&o.attrs||yr,null,!0),U(t,\"$listeners\",e._parentListeners||yr,null,!0)}function De(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function Ce(t){var e=t.options;if(t.super){var n=Ce(t.super);if(n!==t.superOptions){t.superOptions=n;var r=Ne(t);r&&w(t.extendOptions,r),e=t.options=H(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function Ne(t){var e,n=t.options,r=t.extendOptions,o=t.sealedOptions;for(var i in n)n[i]!==o[i]&&(e||(e={}),e[i]=Ie(n[i],r[i],o[i]));return e}function Ie(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var o=0;o<t.length;o++)(e.indexOf(t[o])>=0||n.indexOf(t[o])<0)&&r.push(t[o]);return r}return t}function Re(t){this._init(t)}function Te(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=_(arguments,1);return n.unshift(this),\"function\"==typeof t.install?t.install.apply(t,n):\"function\"==typeof t&&t.apply(null,n),e.push(t),this}}function je(t){t.mixin=function(t){return this.options=H(this.options,t),this}}function Le(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=H(n.options,t),a.super=n,a.options.props&&Fe(a),a.options.computed&&Ue(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Dr.forEach(function(t){a[t]=n[t]}),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=w({},a.options),o[r]=a,a}}function Fe(t){var e=t.options.props;for(var n in e)Kt(t.prototype,\"_props\",n)}function Ue(t){var e=t.options.computed;for(var n in e)Qt(t.prototype,n,e[n])}function ze(t){Dr.forEach(function(e){t[e]=function(t,n){return n?(\"component\"===e&&c(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),\"directive\"===e&&\"function\"==typeof n&&(n={bind:n,update:n}),this.options[e+\"s\"][t]=n,n):this.options[e+\"s\"][t]}})}function Be(t){return t&&(t.Ctor.options.name||t.tag)}function $e(t,e){return Array.isArray(t)?t.indexOf(e)>-1:\"string\"==typeof t?t.split(\",\").indexOf(e)>-1:!!f(t)&&t.test(e)}function qe(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var u=Be(a.componentOptions);u&&!e(u)&&We(n,i,r,o)}}}function We(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,v(n,e)}function Ke(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Ve(r.data,e));for(;o(n=n.parent);)n&&n.data&&(e=Ve(e,n.data));return Ge(e.staticClass,e.class)}function Ve(t,e){return{staticClass:Xe(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Ge(t,e){return o(t)||o(e)?Xe(t,Ye(e)):\"\"}function Xe(t,e){return t?e?t+\" \"+e:t:e||\"\"}function Ye(t){return Array.isArray(t)?He(t):s(t)?Qe(t):\"string\"==typeof t?t:\"\"}function He(t){for(var e,n=\"\",r=0,i=t.length;r<i;r++)o(e=Ye(t[r]))&&\"\"!==e&&(n&&(n+=\" \"),n+=e);return n}function Qe(t){var e=\"\";for(var n in t)t[n]&&(e&&(e+=\" \"),e+=n);return e}function Ze(t){return ei(t)?\"svg\":\"math\"===t?\"math\":void 0}function Je(t){if(!Tr)return!0;if(ni(t))return!1;if(t=t.toLowerCase(),null!=ri[t])return ri[t];var e=document.createElement(t);return t.indexOf(\"-\")>-1?ri[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ri[t]=/HTMLUnknownElement/.test(e.toString())}function tn(t){if(\"string\"==typeof t){var e=document.querySelector(t);return e||document.createElement(\"div\")}return t}function en(t,e){var n=document.createElement(t);return\"select\"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute(\"multiple\",\"multiple\"),n)}function nn(t,e){return document.createElementNS(Jo[t],e)}function rn(t){return document.createTextNode(t)}function on(t){return document.createComment(t)}function an(t,e,n){t.insertBefore(e,n)}function un(t,e){t.removeChild(e)}function sn(t,e){t.appendChild(e)}function cn(t){return t.parentNode}function fn(t){return t.nextSibling}function ln(t){return t.tagName}function pn(t,e){t.textContent=e}function dn(t,e){t.setAttribute(e,\"\")}function hn(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?v(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}function vn(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&gn(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function gn(t,e){if(\"input\"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||oi(r)&&oi(i)}function yn(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=r);return a}function mn(t,e){(t.data.directives||e.data.directives)&&bn(t,e)}function bn(t,e){var n,r,o,i=t===ui,a=e===ui,u=_n(t.data.directives,t.context),s=_n(e.data.directives,e.context),c=[],f=[];for(n in s)r=u[n],o=s[n],r?(o.oldValue=r.value,xn(o,\"update\",e,t),o.def&&o.def.componentUpdated&&f.push(o)):(xn(o,\"bind\",e,t),o.def&&o.def.inserted&&c.push(o));if(c.length){var l=function(){for(var n=0;n<c.length;n++)xn(c[n],\"inserted\",e,t)};i?dt(e,\"insert\",l):l()}if(f.length&&dt(e,\"postpatch\",function(){for(var n=0;n<f.length;n++)xn(f[n],\"componentUpdated\",e,t)}),!i)for(n in u)s[n]||xn(u[n],\"unbind\",t,t,a)}function _n(t,e){var n=Object.create(null);if(!t)return n;var r,o;for(r=0;r<t.length;r++)o=t[r],o.modifiers||(o.modifiers=fi),n[wn(o)]=o,o.def=Q(e.$options,\"directives\",o.name,!0);return n}function wn(t){return t.rawName||t.name+\".\"+Object.keys(t.modifiers||{}).join(\".\")}function xn(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){rt(r,n.context,\"directive \"+t.name+\" \"+e+\" hook\")}}function On(t,e){var n=e.componentOptions;if(!(o(n)&&!1===n.Ctor.options.inheritAttrs||r(t.data.attrs)&&r(e.data.attrs))){var i,a,u=e.elm,s=t.data.attrs||{},c=e.data.attrs||{};o(c.__ob__)&&(c=e.data.attrs=w({},c));for(i in c)a=c[i],s[i]!==a&&En(u,i,a);(Ur||Br)&&c.value!==s.value&&En(u,\"value\",c.value);for(i in s)r(c[i])&&(Ho(i)?u.removeAttributeNS(Yo,Qo(i)):Go(i)||u.removeAttribute(i))}}function En(t,e,n){t.tagName.indexOf(\"-\")>-1?Sn(t,e,n):Xo(e)?Zo(n)?t.removeAttribute(e):(n=\"allowfullscreen\"===e&&\"EMBED\"===t.tagName?\"true\":e,t.setAttribute(e,n)):Go(e)?t.setAttribute(e,Zo(n)||\"false\"===n?\"false\":\"true\"):Ho(e)?Zo(n)?t.removeAttributeNS(Yo,Qo(e)):t.setAttributeNS(Yo,e,n):Sn(t,e,n)}function Sn(t,e,n){if(Zo(n))t.removeAttribute(e);else{if(Ur&&!zr&&\"TEXTAREA\"===t.tagName&&\"placeholder\"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener(\"input\",r)};t.addEventListener(\"input\",r),t.__ieph=!0}t.setAttribute(e,n)}}function Pn(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var u=Ke(e),s=n._transitionClasses;o(s)&&(u=Xe(u,Ye(s))),u!==n._prevClass&&(n.setAttribute(\"class\",u),n._prevClass=u)}}function Mn(t){if(o(t[hi])){var e=Ur?\"change\":\"input\";t[e]=[].concat(t[hi],t[e]||[]),delete t[hi]}o(t[vi])&&(t.change=[].concat(t[vi],t.change||[]),delete t[vi])}function An(t,e,n){var r=$o;return function o(){null!==t.apply(null,arguments)&&Dn(e,o,n,r)}}function kn(t,e,n,r,o){e=ut(e),n&&(e=An(e,t,r)),$o.addEventListener(t,e,Wr?{capture:r,passive:o}:r)}function Dn(t,e,n,r){(r||$o).removeEventListener(t,e._withTask||e,n)}function Cn(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};$o=e.elm,Mn(n),pt(n,o,kn,Dn,e.context),$o=void 0}}function Nn(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,u=t.data.domProps||{},s=e.data.domProps||{};o(s.__ob__)&&(s=e.data.domProps=w({},s));for(n in u)r(s[n])&&(a[n]=\"\");for(n in s){if(i=s[n],\"textContent\"===n||\"innerHTML\"===n){if(e.children&&(e.children.length=0),i===u[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if(\"value\"===n){a._value=i;var c=r(i)?\"\":String(i);In(a,c)&&(a.value=c)}else a[n]=i}}}function In(t,e){return!t.composing&&(\"OPTION\"===t.tagName||Rn(t,e)||Tn(t,e))}function Rn(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}function Tn(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return d(n)!==d(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}function jn(t){var e=Ln(t.style);return t.staticStyle?w(t.staticStyle,e):e}function Ln(t){return Array.isArray(t)?x(t):\"string\"==typeof t?mi(t):t}function Fn(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=jn(o.data))&&w(r,n);(n=jn(t.data))&&w(r,n);for(var i=t;i=i.parent;)i.data&&(n=jn(i.data))&&w(r,n);return r}function Un(t,e){var n=e.data,i=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(i.staticStyle)&&r(i.style))){var a,u,s=e.elm,c=i.staticStyle,f=i.normalizedStyle||i.style||{},l=c||f,p=Ln(e.data.style)||{};e.data.normalizedStyle=o(p.__ob__)?w({},p):p;var d=Fn(e,!0);for(u in l)r(d[u])&&wi(s,u,\"\");for(u in d)(a=d[u])!==l[u]&&wi(s,u,null==a?\"\":a)}}function zn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(/\\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+e+\" \")<0&&t.setAttribute(\"class\",(n+e).trim())}}function Bn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(/\\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute(\"class\");else{for(var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \",r=\" \"+e+\" \";n.indexOf(r)>=0;)n=n.replace(r,\" \");n=n.trim(),n?t.setAttribute(\"class\",n):t.removeAttribute(\"class\")}}function $n(t){if(t){if(\"object\"==typeof t){var e={};return!1!==t.css&&w(e,Si(t.name||\"v\")),w(e,t),e}return\"string\"==typeof t?Si(t):void 0}}function qn(t){Ii(function(){Ii(t)})}function Wn(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),zn(t,e))}function Kn(t,e){t._transitionClasses&&v(t._transitionClasses,e),Bn(t,e)}function Vn(t,e,n){var r=Gn(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var u=o===Mi?Di:Ni,s=0,c=function(){t.removeEventListener(u,f),n()},f=function(e){e.target===t&&++s>=a&&c()};setTimeout(function(){s<a&&c()},i+1),t.addEventListener(u,f)}function Gn(t,e){var n,r=window.getComputedStyle(t),o=r[ki+\"Delay\"].split(\", \"),i=r[ki+\"Duration\"].split(\", \"),a=Xn(o,i),u=r[Ci+\"Delay\"].split(\", \"),s=r[Ci+\"Duration\"].split(\", \"),c=Xn(u,s),f=0,l=0;return e===Mi?a>0&&(n=Mi,f=a,l=i.length):e===Ai?c>0&&(n=Ai,f=c,l=s.length):(f=Math.max(a,c),n=f>0?a>c?Mi:Ai:null,l=n?n===Mi?i.length:s.length:0),{type:n,timeout:f,propCount:l,hasTransform:n===Mi&&Ri.test(r[ki+\"Property\"])}}function Xn(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return Yn(e)+Yn(t[n])}))}function Yn(t){return 1e3*Number(t.slice(0,-1))}function Hn(t,e){var n=t.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var i=$n(t.data.transition);if(!r(i)&&!o(n._enterCb)&&1===n.nodeType){for(var a=i.css,u=i.type,c=i.enterClass,f=i.enterToClass,l=i.enterActiveClass,p=i.appearClass,h=i.appearToClass,v=i.appearActiveClass,g=i.beforeEnter,y=i.enter,m=i.afterEnter,b=i.enterCancelled,_=i.beforeAppear,w=i.appear,x=i.afterAppear,O=i.appearCancelled,E=i.duration,S=Oo,M=Oo.$vnode;M&&M.parent;)M=M.parent,S=M.context;var A=!S._isMounted||!t.isRootInsert;if(!A||w||\"\"===w){var k=A&&p?p:c,D=A&&v?v:l,C=A&&h?h:f,N=A?_||g:g,I=A&&\"function\"==typeof w?w:y,R=A?x||m:m,T=A?O||b:b,j=d(s(E)?E.enter:E),L=!1!==a&&!zr,F=Jn(I),U=n._enterCb=P(function(){L&&(Kn(n,C),Kn(n,D)),U.cancelled?(L&&Kn(n,k),T&&T(n)):R&&R(n),n._enterCb=null});t.data.show||dt(t,\"insert\",function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),I&&I(n,U)}),N&&N(n),L&&(Wn(n,k),Wn(n,D),qn(function(){Kn(n,k),U.cancelled||(Wn(n,C),F||(Zn(j)?setTimeout(U,j):Vn(n,u,U)))})),t.data.show&&(e&&e(),I&&I(n,U)),L||F||U()}}}function Qn(t,e){function n(){O.cancelled||(t.data.show||((i.parentNode._pending||(i.parentNode._pending={}))[t.key]=t),h&&h(i),_&&(Wn(i,f),Wn(i,p),qn(function(){Kn(i,f),O.cancelled||(Wn(i,l),w||(Zn(x)?setTimeout(O,x):Vn(i,c,O)))})),v&&v(i,O),_||w||O())}var i=t.elm;o(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=$n(t.data.transition);if(r(a)||1!==i.nodeType)return e();if(!o(i._leaveCb)){var u=a.css,c=a.type,f=a.leaveClass,l=a.leaveToClass,p=a.leaveActiveClass,h=a.beforeLeave,v=a.leave,g=a.afterLeave,y=a.leaveCancelled,m=a.delayLeave,b=a.duration,_=!1!==u&&!zr,w=Jn(v),x=d(s(b)?b.leave:b),O=i._leaveCb=P(function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[t.key]=null),_&&(Kn(i,l),Kn(i,p)),O.cancelled?(_&&Kn(i,f),y&&y(i)):(e(),g&&g(i)),i._leaveCb=null});m?m(n):n()}}function Zn(t){return\"number\"==typeof t&&!isNaN(t)}function Jn(t){if(r(t))return!1;var e=t.fns;return o(e)?Jn(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function tr(t,e){!0!==e.data.show&&Hn(e)}function er(t,e,n){nr(t,e,n),(Ur||Br)&&setTimeout(function(){nr(t,e,n)},0)}function nr(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,u=0,s=t.options.length;u<s;u++)if(a=t.options[u],o)i=S(r,or(a))>-1,a.selected!==i&&(a.selected=i);else if(E(or(a),r))return void(t.selectedIndex!==u&&(t.selectedIndex=u));o||(t.selectedIndex=-1)}}function rr(t,e){return e.every(function(e){return!E(e,t)})}function or(t){return\"_value\"in t?t._value:t.value}function ir(t){t.target.composing=!0}function ar(t){t.target.composing&&(t.target.composing=!1,ur(t.target,\"input\"))}function ur(t,e){var n=document.createEvent(\"HTMLEvents\");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function sr(t){return!t.componentInstance||t.data&&t.data.transition?t:sr(t.componentInstance._vnode)}function cr(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?cr(Et(e.children)):t}function fr(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[xr(i)]=o[i];return e}function lr(t,e){if(/\\d-keep-alive$/.test(e.tag))return t(\"keep-alive\",{props:e.componentOptions.propsData})}function pr(t){for(;t=t.parent;)if(t.data.transition)return!0}function dr(t,e){return e.key===t.key&&e.tag===t.tag}function hr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function vr(t){t.data.newPos=t.elm.getBoundingClientRect()}function gr(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform=\"translate(\"+r+\"px,\"+o+\"px)\",i.transitionDuration=\"0s\"}}/*!\n * Vue.js v2.5.17\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\nvar yr=Object.freeze({}),mr=Object.prototype.toString,br=(h(\"slot,component\",!0),h(\"key,ref,slot,slot-scope,is\")),_r=Object.prototype.hasOwnProperty,wr=/-(\\w)/g,xr=y(function(t){return t.replace(wr,function(t,e){return e?e.toUpperCase():\"\"})}),Or=y(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Er=/\\B([A-Z])/g,Sr=y(function(t){return t.replace(Er,\"-$1\").toLowerCase()}),Pr=Function.prototype.bind?b:m,Mr=function(t,e,n){return!1},Ar=function(t){return t},kr=\"data-server-rendered\",Dr=[\"component\",\"directive\",\"filter\"],Cr=[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\"],Nr={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Mr,isReservedAttr:Mr,isUnknownElement:Mr,getTagNamespace:O,parsePlatformTagName:Ar,mustUseProp:Mr,_lifecycleHooks:Cr},Ir=/[^\\w.$]/,Rr=\"__proto__\"in{},Tr=\"undefined\"!=typeof window,jr=\"undefined\"!=typeof WXEnvironment&&!!WXEnvironment.platform,Lr=jr&&WXEnvironment.platform.toLowerCase(),Fr=Tr&&window.navigator.userAgent.toLowerCase(),Ur=Fr&&/msie|trident/.test(Fr),zr=Fr&&Fr.indexOf(\"msie 9.0\")>0,Br=Fr&&Fr.indexOf(\"edge/\")>0,$r=(Fr&&Fr.indexOf(\"android\"),Fr&&/iphone|ipad|ipod|ios/.test(Fr)||\"ios\"===Lr),qr=(Fr&&/chrome\\/\\d+/.test(Fr),{}.watch),Wr=!1;if(Tr)try{var Kr={};Object.defineProperty(Kr,\"passive\",{get:function(){Wr=!0}}),window.addEventListener(\"test-passive\",null,Kr)}catch(t){}var Vr,Gr,Xr=function(){return void 0===Vr&&(Vr=!Tr&&!jr&&void 0!==t&&\"server\"===t.process.env.VUE_ENV),Vr},Yr=Tr&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Hr=\"undefined\"!=typeof Symbol&&D(Symbol)&&\"undefined\"!=typeof Reflect&&D(Reflect.ownKeys);Gr=\"undefined\"!=typeof Set&&D(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var Qr=O,Zr=0,Jr=function(){this.id=Zr++,this.subs=[]};Jr.prototype.addSub=function(t){this.subs.push(t)},Jr.prototype.removeSub=function(t){v(this.subs,t)},Jr.prototype.depend=function(){Jr.target&&Jr.target.addDep(this)},Jr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},Jr.target=null;var to=[],eo=function(t,e,n,r,o,i,a,u){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=u,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},no={child:{configurable:!0}};no.child.get=function(){return this.componentInstance},Object.defineProperties(eo.prototype,no);var ro=function(t){void 0===t&&(t=\"\");var e=new eo;return e.text=t,e.isComment=!0,e},oo=Array.prototype,io=Object.create(oo);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(t){var e=oo[t];A(io,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case\"push\":case\"unshift\":o=n;break;case\"splice\":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i})});var ao=Object.getOwnPropertyNames(io),uo=!0,so=function(t){if(this.value=t,this.dep=new Jr,this.vmCount=0,A(t,\"__ob__\",this),Array.isArray(t)){(Rr?j:L)(t,io,ao),this.observeArray(t)}else this.walk(t)};so.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)U(t,e[n])},so.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)F(t[e])};var co=Nr.optionMergeStrategies;co.data=function(t,e,n){return n?W(t,e,n):e&&\"function\"!=typeof e?t:W(t,e)},Cr.forEach(function(t){co[t]=K}),Dr.forEach(function(t){co[t+\"s\"]=V}),co.watch=function(t,e,n,r){if(t===qr&&(t=void 0),e===qr&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var o={};w(o,t);for(var i in e){var a=o[i],u=e[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(u):Array.isArray(u)?u:[u]}return o},co.props=co.methods=co.inject=co.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return w(o,t),e&&w(o,e),o},co.provide=W;var fo,lo,po=function(t,e){return void 0===e?t:e},ho=[],vo=!1,go=!1;if(void 0!==n&&D(n))lo=function(){n(at)};else if(\"undefined\"==typeof MessageChannel||!D(MessageChannel)&&\"[object MessageChannelConstructor]\"!==MessageChannel.toString())lo=function(){setTimeout(at,0)};else{var yo=new MessageChannel,mo=yo.port2;yo.port1.onmessage=at,lo=function(){mo.postMessage(1)}}if(\"undefined\"!=typeof Promise&&D(Promise)){var bo=Promise.resolve();fo=function(){bo.then(at),$r&&setTimeout(O)}}else fo=lo;var _o,wo=new Gr,xo=y(function(t){var e=\"&\"===t.charAt(0);t=e?t.slice(1):t;var n=\"~\"===t.charAt(0);t=n?t.slice(1):t;var r=\"!\"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),Oo=null,Eo=[],So=[],Po={},Mo=!1,Ao=!1,ko=0,Do=0,Co=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Do,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Gr,this.newDepIds=new Gr,this.expression=\"\",\"function\"==typeof e?this.getter=e:(this.getter=k(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};Co.prototype.get=function(){C(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;rt(t,e,'getter for watcher \"'+this.expression+'\"')}finally{this.deep&&ct(t),N(),this.cleanupDeps()}return t},Co.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Co.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Co.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Wt(this)},Co.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){rt(t,this.vm,'callback for watcher \"'+this.expression+'\"')}else this.cb.call(this.vm,t,e)}}},Co.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Co.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},Co.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var No={enumerable:!0,configurable:!0,get:O,set:O},Io={lazy:!0};ge(ye.prototype);var Ro={init:function(t,e,n,r){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var o=t;Ro.prepatch(o,o)}else{(t.componentInstance=xe(t,Oo,n,r)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;Rt(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Ft(n,\"mounted\")),t.data.keepAlive&&(e._isMounted?$t(n):jt(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Lt(e,!0):e.$destroy())}},To=Object.keys(Ro),jo=1,Lo=2,Fo=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=Fo++,e._isVue=!0,t&&t._isComponent?De(e,t):e.$options=H(Ce(e.constructor),t||{},e),e._renderProxy=e,e._self=e,Nt(e),St(e),ke(e),Ft(e,\"beforeCreate\"),re(e),Vt(e),ne(e),Ft(e,\"created\"),e.$options.el&&e.$mount(e.$options.el)}}(Re),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,\"$data\",e),Object.defineProperty(t.prototype,\"$props\",n),t.prototype.$set=z,t.prototype.$delete=B,t.prototype.$watch=function(t,e,n){var r=this;if(c(e))return ee(r,t,e,n);n=n||{},n.user=!0;var o=new Co(r,t,e,n);return n.immediate&&e.call(r,o.value),function(){o.teardown()}}}(Re),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,o=this;if(Array.isArray(t))for(var i=0,a=t.length;i<a;i++)r.$on(t[i],n);else(o._events[t]||(o._events[t]=[])).push(n),e.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var o=0,i=t.length;o<i;o++)n.$off(t[o],e);return r}var a=r._events[t];if(!a)return r;if(!e)return r._events[t]=null,r;if(e)for(var u,s=a.length;s--;)if((u=a[s])===e||u.fn===e){a.splice(s,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?_(n):n;for(var r=_(arguments,1),o=0,i=n.length;o<i;o++)try{n[o].apply(e,r)}catch(n){rt(n,e,'event handler for \"'+t+'\"')}}return e}}(Re),function(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Ft(n,\"beforeUpdate\");var r=n.$el,o=n._vnode,i=Oo;Oo=n,n._vnode=t,o?n.$el=n.__patch__(o,t):(n.$el=n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),Oo=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Ft(t,\"beforeDestroy\"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||v(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Ft(t,\"destroyed\"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Re),function(t){ge(t.prototype),t.prototype.$nextTick=function(t){return st(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;r&&(t.$scopedSlots=r.data.scopedSlots||yr),t.$vnode=r;var o;try{o=n.call(t._renderProxy,t.$createElement)}catch(e){rt(e,t,\"render\"),o=t._vnode}return o instanceof eo||(o=ro()),o.parent=r,o}}(Re);var Uo=[String,RegExp,Array],zo={name:\"keep-alive\",abstract:!0,props:{include:Uo,exclude:Uo,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)We(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch(\"include\",function(e){qe(t,function(t){return $e(e,t)})}),this.$watch(\"exclude\",function(e){qe(t,function(t){return!$e(e,t)})})},render:function(){var t=this.$slots.default,e=Et(t),n=e&&e.componentOptions;if(n){var r=Be(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!$e(i,r))||a&&r&&$e(a,r))return e;var u=this,s=u.cache,c=u.keys,f=null==e.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):e.key;s[f]?(e.componentInstance=s[f].componentInstance,v(c,f),c.push(f)):(s[f]=e,c.push(f),this.max&&c.length>parseInt(this.max)&&We(s,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Bo={KeepAlive:zo};!function(t){var e={};e.get=function(){return Nr},Object.defineProperty(t,\"config\",e),t.util={warn:Qr,extend:w,mergeOptions:H,defineReactive:U},t.set=z,t.delete=B,t.nextTick=st,t.options=Object.create(null),Dr.forEach(function(e){t.options[e+\"s\"]=Object.create(null)}),t.options._base=t,w(t.options.components,Bo),Te(t),je(t),Le(t),ze(t)}(Re),Object.defineProperty(Re.prototype,\"$isServer\",{get:Xr}),Object.defineProperty(Re.prototype,\"$ssrContext\",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Re,\"FunctionalRenderContext\",{value:ye}),Re.version=\"2.5.17\";var $o,qo,Wo=h(\"style,class\"),Ko=h(\"input,textarea,option,select,progress\"),Vo=function(t,e,n){return\"value\"===n&&Ko(t)&&\"button\"!==e||\"selected\"===n&&\"option\"===t||\"checked\"===n&&\"input\"===t||\"muted\"===n&&\"video\"===t},Go=h(\"contenteditable,draggable,spellcheck\"),Xo=h(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible\"),Yo=\"http://www.w3.org/1999/xlink\",Ho=function(t){return\":\"===t.charAt(5)&&\"xlink\"===t.slice(0,5)},Qo=function(t){return Ho(t)?t.slice(6,t.length):\"\"},Zo=function(t){return null==t||!1===t},Jo={svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},ti=h(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),ei=h(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),ni=function(t){return ti(t)||ei(t)},ri=Object.create(null),oi=h(\"text,number,password,search,email,tel,url\"),ii=Object.freeze({createElement:en,createElementNS:nn,createTextNode:rn,createComment:on,insertBefore:an,removeChild:un,appendChild:sn,parentNode:cn,nextSibling:fn,tagName:ln,setTextContent:pn,setStyleScope:dn}),ai={create:function(t,e){hn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(hn(t,!0),hn(e))},destroy:function(t){hn(t,!0)}},ui=new eo(\"\",{},[]),si=[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"],ci={create:mn,update:mn,destroy:function(t){mn(t,ui)}},fi=Object.create(null),li=[ai,ci],pi={create:On,update:On},di={create:Pn,update:Pn},hi=\"__r\",vi=\"__c\",gi={create:Cn,update:Cn},yi={create:Nn,update:Nn},mi=y(function(t){var e={},n=/;(?![^(]*\\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),bi=/^--/,_i=/\\s*!important$/,wi=function(t,e,n){if(bi.test(e))t.style.setProperty(e,n);else if(_i.test(n))t.style.setProperty(e,n.replace(_i,\"\"),\"important\");else{var r=Oi(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},xi=[\"Webkit\",\"Moz\",\"ms\"],Oi=y(function(t){if(qo=qo||document.createElement(\"div\").style,\"filter\"!==(t=xr(t))&&t in qo)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<xi.length;n++){var r=xi[n]+e;if(r in qo)return r}}),Ei={create:Un,update:Un},Si=y(function(t){return{enterClass:t+\"-enter\",enterToClass:t+\"-enter-to\",enterActiveClass:t+\"-enter-active\",leaveClass:t+\"-leave\",leaveToClass:t+\"-leave-to\",leaveActiveClass:t+\"-leave-active\"}}),Pi=Tr&&!zr,Mi=\"transition\",Ai=\"animation\",ki=\"transition\",Di=\"transitionend\",Ci=\"animation\",Ni=\"animationend\";Pi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ki=\"WebkitTransition\",Di=\"webkitTransitionEnd\"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ci=\"WebkitAnimation\",Ni=\"webkitAnimationEnd\"));var Ii=Tr?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},Ri=/\\b(transform|all)(,|$)/,Ti=Tr?{create:tr,activate:tr,remove:function(t,e){!0!==t.data.show?Qn(t,e):e()}}:{},ji=[pi,di,gi,yi,Ei,Ti],Li=ji.concat(li),Fi=function(t){function e(t){return new eo(C.tagName(t).toLowerCase(),{},[],void 0,t)}function n(t,e){function n(){0==--n.listeners&&a(t)}return n.listeners=e,n}function a(t){var e=C.parentNode(t);o(e)&&C.removeChild(e,t)}function s(t,e,n,r,a,u,s){if(o(t.elm)&&o(u)&&(t=u[s]=R(t)),t.isRootInsert=!a,!c(t,e,n,r)){var f=t.data,l=t.children,h=t.tag;o(h)?(t.elm=t.ns?C.createElementNS(t.ns,h):C.createElement(h,t),y(t),d(t,l,e),o(f)&&g(t,e),p(n,t.elm,r)):i(t.isComment)?(t.elm=C.createComment(t.text),p(n,t.elm,r)):(t.elm=C.createTextNode(t.text),p(n,t.elm,r))}}function c(t,e,n,r){var a=t.data;if(o(a)){var u=o(t.componentInstance)&&a.keepAlive;if(o(a=a.hook)&&o(a=a.init)&&a(t,!1,n,r),o(t.componentInstance))return f(t,e),i(u)&&l(t,e,n,r),!0}}function f(t,e){o(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(g(t,e),y(t)):(hn(t),e.push(t))}function l(t,e,n,r){for(var i,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,o(i=a.data)&&o(i=i.transition)){for(i=0;i<k.activate.length;++i)k.activate[i](ui,a);e.push(a);break}p(n,t.elm,r)}function p(t,e,n){o(t)&&(o(n)?n.parentNode===t&&C.insertBefore(t,e,n):C.appendChild(t,e))}function d(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)s(e[r],n,t.elm,null,!0,e,r);else u(t.text)&&C.appendChild(t.elm,C.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return o(t.tag)}function g(t,e){for(var n=0;n<k.create.length;++n)k.create[n](ui,t);M=t.data.hook,o(M)&&(o(M.create)&&M.create(ui,t),o(M.insert)&&e.push(t))}function y(t){var e;if(o(e=t.fnScopeId))C.setStyleScope(t.elm,e);else for(var n=t;n;)o(e=n.context)&&o(e=e.$options._scopeId)&&C.setStyleScope(t.elm,e),n=n.parent;o(e=Oo)&&e!==t.context&&e!==t.fnContext&&o(e=e.$options._scopeId)&&C.setStyleScope(t.elm,e)}function m(t,e,n,r,o,i){for(;r<=o;++r)s(n[r],i,t,e,!1,n,r)}function b(t){var e,n,r=t.data;if(o(r))for(o(e=r.hook)&&o(e=e.destroy)&&e(t),e=0;e<k.destroy.length;++e)k.destroy[e](t);if(o(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function _(t,e,n,r){for(;n<=r;++n){var i=e[n];o(i)&&(o(i.tag)?(w(i),b(i)):a(i.elm))}}function w(t,e){if(o(e)||o(t.data)){var r,i=k.remove.length+1;for(o(e)?e.listeners+=i:e=n(t.elm,i),o(r=t.componentInstance)&&o(r=r._vnode)&&o(r.data)&&w(r,e),r=0;r<k.remove.length;++r)k.remove[r](t,e);o(r=t.data.hook)&&o(r=r.remove)?r(t,e):e()}else a(t.elm)}function x(t,e,n,i,a){for(var u,c,f,l,p=0,d=0,h=e.length-1,v=e[0],g=e[h],y=n.length-1,b=n[0],w=n[y],x=!a;p<=h&&d<=y;)r(v)?v=e[++p]:r(g)?g=e[--h]:vn(v,b)?(E(v,b,i),v=e[++p],b=n[++d]):vn(g,w)?(E(g,w,i),g=e[--h],w=n[--y]):vn(v,w)?(E(v,w,i),x&&C.insertBefore(t,v.elm,C.nextSibling(g.elm)),v=e[++p],w=n[--y]):vn(g,b)?(E(g,b,i),x&&C.insertBefore(t,g.elm,v.elm),g=e[--h],b=n[++d]):(r(u)&&(u=yn(e,p,h)),c=o(b.key)?u[b.key]:O(b,e,p,h),r(c)?s(b,i,t,v.elm,!1,n,d):(f=e[c],vn(f,b)?(E(f,b,i),e[c]=void 0,x&&C.insertBefore(t,f.elm,v.elm)):s(b,i,t,v.elm,!1,n,d)),b=n[++d]);p>h?(l=r(n[y+1])?null:n[y+1].elm,m(t,l,n,d,y,i)):d>y&&_(t,e,p,h)}function O(t,e,n,r){for(var i=n;i<r;i++){var a=e[i];if(o(a)&&vn(t,a))return i}}function E(t,e,n,a){if(t!==e){var u=e.elm=t.elm;if(i(t.isAsyncPlaceholder))return void(o(e.asyncFactory.resolved)?P(t.elm,e,n):e.isAsyncPlaceholder=!0);if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))return void(e.componentInstance=t.componentInstance);var s,c=e.data;o(c)&&o(s=c.hook)&&o(s=s.prepatch)&&s(t,e);var f=t.children,l=e.children;if(o(c)&&v(e)){for(s=0;s<k.update.length;++s)k.update[s](t,e);o(s=c.hook)&&o(s=s.update)&&s(t,e)}r(e.text)?o(f)&&o(l)?f!==l&&x(u,f,l,n,a):o(l)?(o(t.text)&&C.setTextContent(u,\"\"),m(u,null,l,0,l.length-1,n)):o(f)?_(u,f,0,f.length-1):o(t.text)&&C.setTextContent(u,\"\"):t.text!==e.text&&C.setTextContent(u,e.text),o(c)&&o(s=c.hook)&&o(s=s.postpatch)&&s(t,e)}}function S(t,e,n){if(i(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}function P(t,e,n,r){var a,u=e.tag,s=e.data,c=e.children;if(r=r||s&&s.pre,e.elm=t,i(e.isComment)&&o(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(o(s)&&(o(a=s.hook)&&o(a=a.init)&&a(e,!0),o(a=e.componentInstance)))return f(e,n),!0;if(o(u)){if(o(c))if(t.hasChildNodes())if(o(a=s)&&o(a=a.domProps)&&o(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,p=t.firstChild,h=0;h<c.length;h++){if(!p||!P(p,c[h],n,r)){l=!1;break}p=p.nextSibling}if(!l||p)return!1}else d(e,c,n);if(o(s)){var v=!1;for(var y in s)if(!N(y)){v=!0,g(e,n);break}!v&&s.class&&ct(s.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var M,A,k={},D=t.modules,C=t.nodeOps;for(M=0;M<si.length;++M)for(k[si[M]]=[],A=0;A<D.length;++A)o(D[A][si[M]])&&k[si[M]].push(D[A][si[M]]);var N=h(\"attrs,class,staticClass,staticStyle,key\");return function(t,n,a,u,c,f){if(r(n))return void(o(t)&&b(t));var l=!1,p=[];if(r(t))l=!0,s(n,p,c,f);else{var d=o(t.nodeType);if(!d&&vn(t,n))E(t,n,p,u);else{if(d){if(1===t.nodeType&&t.hasAttribute(kr)&&(t.removeAttribute(kr),a=!0),i(a)&&P(t,n,p))return S(n,p,!0),t;t=e(t)}var h=t.elm,g=C.parentNode(h);if(s(n,p,h._leaveCb?null:g,C.nextSibling(h)),o(n.parent))for(var y=n.parent,m=v(n);y;){for(var w=0;w<k.destroy.length;++w)k.destroy[w](y);if(y.elm=n.elm,m){for(var x=0;x<k.create.length;++x)k.create[x](ui,y);var O=y.data.hook.insert;if(O.merged)for(var M=1;M<O.fns.length;M++)O.fns[M]()}else hn(y);y=y.parent}o(g)?_(g,[t],0,0):o(t.tag)&&b(t)}}return S(n,p,l),n.elm}}({nodeOps:ii,modules:Li});zr&&document.addEventListener(\"selectionchange\",function(){var t=document.activeElement;t&&t.vmodel&&ur(t,\"input\")});var Ui={inserted:function(t,e,n,r){\"select\"===n.tag?(r.elm&&!r.elm._vOptions?dt(n,\"postpatch\",function(){Ui.componentUpdated(t,e,n)}):er(t,e,n.context),t._vOptions=[].map.call(t.options,or)):(\"textarea\"===n.tag||oi(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener(\"compositionstart\",ir),t.addEventListener(\"compositionend\",ar),t.addEventListener(\"change\",ar),zr&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if(\"select\"===n.tag){er(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,or);if(o.some(function(t,e){return!E(t,r[e])})){(t.multiple?e.value.some(function(t){return rr(t,o)}):e.value!==e.oldValue&&rr(e.value,o))&&ur(t,\"change\")}}}},zi={bind:function(t,e,n){var r=e.value;n=sr(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay=\"none\"===t.style.display?\"\":t.style.display;r&&o?(n.data.show=!0,Hn(n,function(){t.style.display=i})):t.style.display=r?i:\"none\"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&(n=sr(n),n.data&&n.data.transition?(n.data.show=!0,r?Hn(n,function(){t.style.display=t.__vOriginalDisplay}):Qn(n,function(){t.style.display=\"none\"})):t.style.display=r?t.__vOriginalDisplay:\"none\")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Bi={model:Ui,show:zi},$i={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},qi={name:\"transition\",props:$i,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||Ot(t)}),n.length)){var r=this.mode,o=n[0];if(pr(this.$vnode))return o;var i=cr(o);if(!i)return o;if(this._leaving)return lr(t,o);var a=\"__transition-\"+this._uid+\"-\";i.key=null==i.key?i.isComment?a+\"comment\":a+i.tag:u(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=fr(this),c=this._vnode,f=cr(c);if(i.data.directives&&i.data.directives.some(function(t){return\"show\"===t.name})&&(i.data.show=!0),f&&f.data&&!dr(i,f)&&!Ot(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=w({},s);if(\"out-in\"===r)return this._leaving=!0,dt(l,\"afterLeave\",function(){e._leaving=!1,e.$forceUpdate()}),lr(t,o);if(\"in-out\"===r){if(Ot(i))return c;var p,d=function(){p()};dt(s,\"afterEnter\",d),dt(s,\"enterCancelled\",d),dt(l,\"delayLeave\",function(t){p=t})}}return o}}},Wi=w({tag:String,moveClass:String},$i);delete Wi.mode;var Ki={props:Wi,render:function(t){for(var e=this.tag||this.$vnode.data.tag||\"span\",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=fr(this),u=0;u<o.length;u++){var s=o[u];if(s.tag)if(null!=s.key&&0!==String(s.key).indexOf(\"__vlist\"))i.push(s),n[s.key]=s,(s.data||(s.data={})).transition=a;else;}if(r){for(var c=[],f=[],l=0;l<r.length;l++){var p=r[l];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?c.push(p):f.push(p)}this.kept=t(e,null,c),this.removed=f}return t(e,null,i)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||\"v\")+\"-move\";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(hr),t.forEach(vr),t.forEach(gr),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;Wn(n,e),r.transform=r.WebkitTransform=r.transitionDuration=\"\",n.addEventListener(Di,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Di,t),n._moveCb=null,Kn(n,e))})}}))},methods:{hasMove:function(t,e){if(!Pi)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){Bn(n,t)}),zn(n,e),n.style.display=\"none\",this.$el.appendChild(n);var r=Gn(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},Vi={Transition:qi,TransitionGroup:Ki};Re.config.mustUseProp=Vo,Re.config.isReservedTag=ni,Re.config.isReservedAttr=Wo,Re.config.getTagNamespace=Ze,Re.config.isUnknownElement=Je,w(Re.options.directives,Bi),w(Re.options.components,Vi),Re.prototype.__patch__=Tr?Fi:O,Re.prototype.$mount=function(t,e){return t=t&&Tr?tn(t):void 0,It(this,t,e)},Tr&&setTimeout(function(){Nr.devtools&&Yr&&Yr.emit(\"init\",Re)},0),e.default=Re}.call(e,n(\"DuR2\"),n(\"162o\").setImmediate)},\"/bQp\":function(t,e){t.exports={}},\"/n6Q\":function(t,e,n){n(\"zQR9\"),n(\"+tPU\"),t.exports=n(\"Kh4W\").f(\"iterator\")},\"/ocq\":function(t,e,n){\"use strict\";function r(t,e){}function o(t){return Object.prototype.toString.call(t).indexOf(\"Error\")>-1}function i(t,e){switch(typeof e){case\"undefined\":return;case\"object\":return e;case\"function\":return e(t);case\"boolean\":return e?t.params:void 0}}function a(t,e){for(var n in e)t[n]=e[n];return t}function u(t,e,n){void 0===e&&(e={});var r,o=n||s;try{r=o(t||\"\")}catch(t){r={}}for(var i in e)r[i]=e[i];return r}function s(t){var e={};return(t=t.trim().replace(/^(\\?|#|&)/,\"\"))?(t.split(\"&\").forEach(function(t){var n=t.replace(/\\+/g,\" \").split(\"=\"),r=zt(n.shift()),o=n.length>0?zt(n.join(\"=\")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]}),e):e}function c(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return\"\";if(null===n)return Ut(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(Ut(e)):r.push(Ut(e)+\"=\"+Ut(t)))}),r.join(\"&\")}return Ut(e)+\"=\"+Ut(n)}).filter(function(t){return t.length>0}).join(\"&\"):null;return e?\"?\"+e:\"\"}function f(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{i=l(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||\"/\",hash:e.hash||\"\",query:i,params:e.params||{},fullPath:d(e,o),matched:t?p(t):[]};return n&&(a.redirectedFrom=d(n,o)),Object.freeze(a)}function l(t){if(Array.isArray(t))return t.map(l);if(t&&\"object\"==typeof t){var e={};for(var n in t)e[n]=l(t[n]);return e}return t}function p(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function d(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;void 0===o&&(o=\"\");var i=e||c;return(n||\"/\")+i(r)+o}function h(t,e){return e===$t?t===e:!!e&&(t.path&&e.path?t.path.replace(Bt,\"\")===e.path.replace(Bt,\"\")&&t.hash===e.hash&&v(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&v(t.query,e.query)&&v(t.params,e.params)))}function v(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],o=e[n];return\"object\"==typeof r&&\"object\"==typeof o?v(r,o):String(r)===String(o)})}function g(t,e){return 0===t.path.replace(Bt,\"/\").indexOf(e.path.replace(Bt,\"/\"))&&(!e.hash||t.hash===e.hash)&&y(t.query,e.query)}function y(t,e){for(var n in e)if(!(n in t))return!1;return!0}function m(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){if(/\\b_blank\\b/i.test(t.currentTarget.getAttribute(\"target\")))return}return t.preventDefault&&t.preventDefault(),!0}}function b(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],\"a\"===e.tag)return e;if(e.children&&(e=b(e.children)))return e}}function _(t){if(!_.installed||Rt!==t){_.installed=!0,Rt=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,\"_route\",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,\"$router\",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,\"$route\",{get:function(){return this._routerRoot._route}}),t.component(\"router-view\",Tt),t.component(\"router-link\",Kt);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}function w(t,e,n){var r=t.charAt(0);if(\"/\"===r)return t;if(\"?\"===r||\"#\"===r)return e+t;var o=e.split(\"/\");n&&o[o.length-1]||o.pop();for(var i=t.replace(/^\\//,\"\").split(\"/\"),a=0;a<i.length;a++){var u=i[a];\"..\"===u?o.pop():\".\"!==u&&o.push(u)}return\"\"!==o[0]&&o.unshift(\"\"),o.join(\"/\")}function x(t){var e=\"\",n=\"\",r=t.indexOf(\"#\");r>=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf(\"?\");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}function O(t){return t.replace(/\\/\\//g,\"/\")}function E(t,e){for(var n,r=[],o=0,i=0,a=\"\",u=e&&e.delimiter||\"/\";null!=(n=Jt.exec(t));){var s=n[0],c=n[1],f=n.index;if(a+=t.slice(i,f),i=f+s.length,c)a+=c[1];else{var l=t[i],p=n[2],d=n[3],h=n[4],v=n[5],g=n[6],y=n[7];a&&(r.push(a),a=\"\");var m=null!=p&&null!=l&&l!==p,b=\"+\"===g||\"*\"===g,_=\"?\"===g||\"*\"===g,w=n[2]||u,x=h||v;r.push({name:d||o++,prefix:p||\"\",delimiter:w,optional:_,repeat:b,partial:m,asterisk:!!y,pattern:x?D(x):y?\".*\":\"[^\"+k(w)+\"]+?\"})}}return i<t.length&&(a+=t.substr(i)),a&&r.push(a),r}function S(t,e){return A(E(t,e))}function P(t){return encodeURI(t).replace(/[\\/?#]/g,function(t){return\"%\"+t.charCodeAt(0).toString(16).toUpperCase()})}function M(t){return encodeURI(t).replace(/[?#]/g,function(t){return\"%\"+t.charCodeAt(0).toString(16).toUpperCase()})}function A(t){for(var e=new Array(t.length),n=0;n<t.length;n++)\"object\"==typeof t[n]&&(e[n]=new RegExp(\"^(?:\"+t[n].pattern+\")$\"));return function(n,r){for(var o=\"\",i=n||{},a=r||{},u=a.pretty?P:encodeURIComponent,s=0;s<t.length;s++){var c=t[s];if(\"string\"!=typeof c){var f,l=i[c.name];if(null==l){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected \"'+c.name+'\" to be defined')}if(Gt(l)){if(!c.repeat)throw new TypeError('Expected \"'+c.name+'\" to not repeat, but received `'+JSON.stringify(l)+\"`\");if(0===l.length){if(c.optional)continue;throw new TypeError('Expected \"'+c.name+'\" to not be empty')}for(var p=0;p<l.length;p++){if(f=u(l[p]),!e[s].test(f))throw new TypeError('Expected all \"'+c.name+'\" to match \"'+c.pattern+'\", but received `'+JSON.stringify(f)+\"`\");o+=(0===p?c.prefix:c.delimiter)+f}}else{if(f=c.asterisk?M(l):u(l),!e[s].test(f))throw new TypeError('Expected \"'+c.name+'\" to match \"'+c.pattern+'\", but received \"'+f+'\"');o+=c.prefix+f}}else o+=c}return o}}function k(t){return t.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g,\"\\\\$1\")}function D(t){return t.replace(/([=!:$\\/()])/g,\"\\\\$1\")}function C(t,e){return t.keys=e,t}function N(t){return t.sensitive?\"\":\"i\"}function I(t,e){var n=t.source.match(/\\((?!\\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return C(t,e)}function R(t,e,n){for(var r=[],o=0;o<t.length;o++)r.push(L(t[o],e,n).source);return C(new RegExp(\"(?:\"+r.join(\"|\")+\")\",N(n)),e)}function T(t,e,n){return j(E(t,n),e,n)}function j(t,e,n){Gt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,o=!1!==n.end,i=\"\",a=0;a<t.length;a++){var u=t[a];if(\"string\"==typeof u)i+=k(u);else{var s=k(u.prefix),c=\"(?:\"+u.pattern+\")\";e.push(u),u.repeat&&(c+=\"(?:\"+s+c+\")*\"),c=u.optional?u.partial?s+\"(\"+c+\")?\":\"(?:\"+s+\"(\"+c+\"))?\":s+\"(\"+c+\")\",i+=c}}var f=k(n.delimiter||\"/\"),l=i.slice(-f.length)===f;return r||(i=(l?i.slice(0,-f.length):i)+\"(?:\"+f+\"(?=$))?\"),i+=o?\"$\":r&&l?\"\":\"(?=\"+f+\"|$)\",C(new RegExp(\"^\"+i,N(n)),e)}function L(t,e,n){return Gt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?I(t,e):Gt(t)?R(t,e,n):T(t,e,n)}function F(t,e,n){try{return(te[t]||(te[t]=Xt.compile(t)))(e||{},{pretty:!0})}catch(t){return\"\"}}function U(t,e,n,r){var o=e||[],i=n||Object.create(null),a=r||Object.create(null);t.forEach(function(t){z(o,i,a,t)});for(var u=0,s=o.length;u<s;u++)\"*\"===o[u]&&(o.push(o.splice(u,1)[0]),s--,u--);return{pathList:o,pathMap:i,nameMap:a}}function z(t,e,n,r,o,i){var a=r.path,u=r.name,s=r.pathToRegexpOptions||{},c=$(a,o,s.strict);\"boolean\"==typeof r.caseSensitive&&(s.sensitive=r.caseSensitive);var f={path:c,regex:B(c,s),components:r.components||{default:r.component},instances:{},name:u,parent:o,matchAs:i,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach(function(r){var o=i?O(i+\"/\"+r.path):void 0;z(t,e,n,r,f,o)}),void 0!==r.alias){(Array.isArray(r.alias)?r.alias:[r.alias]).forEach(function(i){var a={path:i,children:r.children};z(t,e,n,a,o,f.path||\"/\")})}e[f.path]||(t.push(f.path),e[f.path]=f),u&&(n[u]||(n[u]=f))}function B(t,e){var n=Xt(t,[],e);return n}function $(t,e,n){return n||(t=t.replace(/\\/$/,\"\")),\"/\"===t[0]?t:null==e?t:O(e.path+\"/\"+t)}function q(t,e,n,r){var o=\"string\"==typeof t?{path:t}:t;if(o.name||o._normalized)return o;if(!o.path&&o.params&&e){o=W({},o),o._normalized=!0;var i=W(W({},e.params),o.params);if(e.name)o.name=e.name,o.params=i;else if(e.matched.length){var a=e.matched[e.matched.length-1].path;o.path=F(a,i,\"path \"+e.path)}return o}var s=x(o.path||\"\"),c=e&&e.path||\"/\",f=s.path?w(s.path,c,n||o.append):c,l=u(s.query,o.query,r&&r.options.parseQuery),p=o.hash||s.hash;return p&&\"#\"!==p.charAt(0)&&(p=\"#\"+p),{_normalized:!0,path:f,query:l,hash:p}}function W(t,e){for(var n in e)t[n]=e[n];return t}function K(t,e){function n(t){U(t,s,c,l)}function r(t,n,r){var o=q(t,n,!1,e),i=o.name;if(i){var u=l[i];if(!u)return a(null,o);var f=u.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if(\"object\"!=typeof o.params&&(o.params={}),n&&\"object\"==typeof n.params)for(var p in n.params)!(p in o.params)&&f.indexOf(p)>-1&&(o.params[p]=n.params[p]);if(u)return o.path=F(u.path,o.params,'named route \"'+i+'\"'),a(u,o,r)}else if(o.path){o.params={};for(var d=0;d<s.length;d++){var h=s[d],v=c[h];if(V(v.regex,o.path,o.params))return a(v,o,r)}}return a(null,o)}function o(t,n){var o=t.redirect,i=\"function\"==typeof o?o(f(t,n,null,e)):o;if(\"string\"==typeof i&&(i={path:i}),!i||\"object\"!=typeof i)return a(null,n);var u=i,s=u.name,c=u.path,p=n.query,d=n.hash,h=n.params;if(p=u.hasOwnProperty(\"query\")?u.query:p,d=u.hasOwnProperty(\"hash\")?u.hash:d,h=u.hasOwnProperty(\"params\")?u.params:h,s){l[s];return r({_normalized:!0,name:s,query:p,hash:d,params:h},void 0,n)}if(c){var v=G(c,t);return r({_normalized:!0,path:F(v,h,'redirect route with path \"'+v+'\"'),query:p,hash:d},void 0,n)}return a(null,n)}function i(t,e,n){var o=F(n,e.params,'aliased route with path \"'+n+'\"'),i=r({_normalized:!0,path:o});if(i){var u=i.matched,s=u[u.length-1];return e.params=i.params,a(s,e)}return a(null,e)}function a(t,n,r){return t&&t.redirect?o(t,r||n):t&&t.matchAs?i(t,n,t.matchAs):f(t,n,r,e)}var u=U(t),s=u.pathList,c=u.pathMap,l=u.nameMap;return{match:r,addRoutes:n}}function V(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var o=1,i=r.length;o<i;++o){var a=t.keys[o-1],u=\"string\"==typeof r[o]?decodeURIComponent(r[o]):r[o];a&&(n[a.name]=u)}return!0}function G(t,e){return w(t,e.parent?e.parent.path:\"/\",!0)}function X(){window.history.replaceState({key:it()},\"\"),window.addEventListener(\"popstate\",function(t){H(),t.state&&t.state.key&&at(t.state.key)})}function Y(t,e,n,r){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$nextTick(function(){var t=Q(),i=o(e,n,r?t:null);i&&(\"function\"==typeof i.then?i.then(function(e){rt(e,t)}).catch(function(t){}):rt(i,t))})}}function H(){var t=it();t&&(ee[t]={x:window.pageXOffset,y:window.pageYOffset})}function Q(){var t=it();if(t)return ee[t]}function Z(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),o=t.getBoundingClientRect();return{x:o.left-r.left-e.x,y:o.top-r.top-e.y}}function J(t){return nt(t.x)||nt(t.y)}function tt(t){return{x:nt(t.x)?t.x:window.pageXOffset,y:nt(t.y)?t.y:window.pageYOffset}}function et(t){return{x:nt(t.x)?t.x:0,y:nt(t.y)?t.y:0}}function nt(t){return\"number\"==typeof t}function rt(t,e){var n=\"object\"==typeof t;if(n&&\"string\"==typeof t.selector){var r=document.querySelector(t.selector);if(r){var o=t.offset&&\"object\"==typeof t.offset?t.offset:{};o=et(o),e=Z(r,o)}else J(t)&&(e=tt(t))}else n&&J(t)&&(e=tt(t));e&&window.scrollTo(e.x,e.y)}function ot(){return re.now().toFixed(3)}function it(){return oe}function at(t){oe=t}function ut(t,e){H();var n=window.history;try{e?n.replaceState({key:oe},\"\",t):(oe=ot(),n.pushState({key:oe},\"\",t))}catch(n){window.location[e?\"replace\":\"assign\"](t)}}function st(t){ut(t,!0)}function ct(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],function(){r(o+1)}):r(o+1)};r(0)}function ft(t){return function(e,n,r){var i=!1,a=0,u=null;lt(t,function(t,e,n,s){if(\"function\"==typeof t&&void 0===t.cid){i=!0,a++;var c,f=ht(function(e){dt(e)&&(e=e.default),t.resolved=\"function\"==typeof e?e:Rt.extend(e),n.components[s]=e,--a<=0&&r()}),l=ht(function(t){var e=\"Failed to resolve async component \"+s+\": \"+t;u||(u=o(t)?t:new Error(e),r(u))});try{c=t(f,l)}catch(t){l(t)}if(c)if(\"function\"==typeof c.then)c.then(f,l);else{var p=c.component;p&&\"function\"==typeof p.then&&p.then(f,l)}}}),i||r()}}function lt(t,e){return pt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function pt(t){return Array.prototype.concat.apply([],t)}function dt(t){return t.__esModule||ie&&\"Module\"===t[Symbol.toStringTag]}function ht(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}function vt(t){if(!t)if(Vt){var e=document.querySelector(\"base\");t=e&&e.getAttribute(\"href\")||\"/\",t=t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}else t=\"/\";return\"/\"!==t.charAt(0)&&(t=\"/\"+t),t.replace(/\\/$/,\"\")}function gt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]===e[n];n++);return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function yt(t,e,n,r){var o=lt(t,function(t,r,o,i){var a=mt(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,o,i)}):n(a,r,o,i)});return pt(r?o.reverse():o)}function mt(t,e){return\"function\"!=typeof t&&(t=Rt.extend(t)),t.options[e]}function bt(t){return yt(t,\"beforeRouteLeave\",wt,!0)}function _t(t){return yt(t,\"beforeRouteUpdate\",wt)}function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}function xt(t,e,n){return yt(t,\"beforeRouteEnter\",function(t,r,o,i){return Ot(t,o,i,e,n)})}function Ot(t,e,n,r,o){return function(i,a,u){return t(i,a,function(t){u(t),\"function\"==typeof t&&r.push(function(){Et(t,e.instances,n,o)})})}}function Et(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){Et(t,e,n,r)},16)}function St(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||\"/\")+window.location.search+window.location.hash}function Pt(t){var e=St(t);if(!/^\\/#/.test(e))return window.location.replace(O(t+\"/#\"+e)),!0}function Mt(){var t=At();return\"/\"===t.charAt(0)||(Ct(\"/\"+t),!1)}function At(){var t=window.location.href,e=t.indexOf(\"#\");return-1===e?\"\":t.slice(e+1)}function kt(t){var e=window.location.href,n=e.indexOf(\"#\");return(n>=0?e.slice(0,n):e)+\"#\"+t}function Dt(t){ne?ut(kt(t)):window.location.hash=t}function Ct(t){ne?st(kt(t)):window.location.replace(kt(t))}function Nt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function It(t,e,n){var r=\"hash\"===n?\"#\"+e:e;return t?O(t+\"/\"+r):r}Object.defineProperty(e,\"__esModule\",{value:!0});var Rt,Tt={name:\"router-view\",functional:!0,props:{name:{type:String,default:\"default\"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,u=e.data;u.routerView=!0;for(var s=o.$createElement,c=n.name,f=o.$route,l=o._routerViewCache||(o._routerViewCache={}),p=0,d=!1;o&&o._routerRoot!==o;)o.$vnode&&o.$vnode.data.routerView&&p++,o._inactive&&(d=!0),o=o.$parent;if(u.routerViewDepth=p,d)return s(l[c],u,r);var h=f.matched[p];if(!h)return l[c]=null,s();var v=l[c]=h.components[c];u.registerRouteInstance=function(t,e){var n=h.instances[c];(e&&n!==t||!e&&n===t)&&(h.instances[c]=e)},(u.hook||(u.hook={})).prepatch=function(t,e){h.instances[c]=e.componentInstance};var g=u.props=i(f,h.props&&h.props[c]);if(g){g=u.props=a({},g);var y=u.attrs=u.attrs||{};for(var m in g)v.props&&m in v.props||(y[m]=g[m],delete g[m])}return s(v,u,r)}},jt=/[!'()*]/g,Lt=function(t){return\"%\"+t.charCodeAt(0).toString(16)},Ft=/%2C/g,Ut=function(t){return encodeURIComponent(t).replace(jt,Lt).replace(Ft,\",\")},zt=decodeURIComponent,Bt=/\\/?$/,$t=f(null,{path:\"/\"}),qt=[String,Object],Wt=[String,Array],Kt={name:\"router-link\",props:{to:{type:qt,required:!0},tag:{type:String,default:\"a\"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Wt,default:\"click\"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,u=o.href,s={},c=n.options.linkActiveClass,l=n.options.linkExactActiveClass,p=null==c?\"router-link-active\":c,d=null==l?\"router-link-exact-active\":l,v=null==this.activeClass?p:this.activeClass,y=null==this.exactActiveClass?d:this.exactActiveClass,_=i.path?f(null,i,null,n):a;s[y]=h(r,_),s[v]=this.exact?s[y]:g(r,_);var w=function(t){m(t)&&(e.replace?n.replace(i):n.push(i))},x={click:m};Array.isArray(this.event)?this.event.forEach(function(t){x[t]=w}):x[this.event]=w;var O={class:s};if(\"a\"===this.tag)O.on=x,O.attrs={href:u};else{var E=b(this.$slots.default);if(E){E.isStatic=!1;var S=Rt.util.extend;(E.data=S({},E.data)).on=x;(E.data.attrs=S({},E.data.attrs)).href=u}else O.on=x}return t(this.tag,O,this.$slots.default)}},Vt=\"undefined\"!=typeof window,Gt=Array.isArray||function(t){return\"[object Array]\"==Object.prototype.toString.call(t)},Xt=L,Yt=E,Ht=S,Qt=A,Zt=j,Jt=new RegExp([\"(\\\\\\\\.)\",\"([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))\"].join(\"|\"),\"g\");Xt.parse=Yt,Xt.compile=Ht,Xt.tokensToFunction=Qt,Xt.tokensToRegExp=Zt;var te=Object.create(null),ee=Object.create(null),ne=Vt&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf(\"Android 2.\")&&-1===t.indexOf(\"Android 4.0\")||-1===t.indexOf(\"Mobile Safari\")||-1!==t.indexOf(\"Chrome\")||-1!==t.indexOf(\"Windows Phone\"))&&(window.history&&\"pushState\"in window.history)}(),re=Vt&&window.performance&&window.performance.now?window.performance:Date,oe=ot(),ie=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.toStringTag,ae=function(t,e){this.router=t,this.base=vt(e),this.current=$t,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};ae.prototype.listen=function(t){this.cb=t},ae.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},ae.prototype.onError=function(t){this.errorCbs.push(t)},ae.prototype.transitionTo=function(t,e,n){var r=this,o=this.router.match(t,this.current);this.confirmTransition(o,function(){r.updateRoute(o),e&&e(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(o)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},ae.prototype.confirmTransition=function(t,e,n){var i=this,a=this.current,u=function(t){o(t)&&(i.errorCbs.length?i.errorCbs.forEach(function(e){e(t)}):(r(!1,\"uncaught error during route navigation:\"),console.error(t))),n&&n(t)};if(h(t,a)&&t.matched.length===a.matched.length)return this.ensureURL(),u();var s=gt(this.current.matched,t.matched),c=s.updated,f=s.deactivated,l=s.activated,p=[].concat(bt(f),this.router.beforeHooks,_t(c),l.map(function(t){return t.beforeEnter}),ft(l));this.pending=t;var d=function(e,n){if(i.pending!==t)return u();try{e(t,a,function(t){!1===t||o(t)?(i.ensureURL(!0),u(t)):\"string\"==typeof t||\"object\"==typeof t&&(\"string\"==typeof t.path||\"string\"==typeof t.name)?(u(),\"object\"==typeof t&&t.replace?i.replace(t):i.push(t)):n(t)})}catch(t){u(t)}};ct(p,d,function(){var n=[];ct(xt(l,n,function(){return i.current===t}).concat(i.router.resolveHooks),d,function(){if(i.pending!==t)return u();i.pending=null,e(t),i.router.app&&i.router.app.$nextTick(function(){n.forEach(function(t){t()})})})})},ae.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(n){n&&n(t,e)})};var ue=function(t){function e(e,n){var r=this;t.call(this,e,n);var o=e.options.scrollBehavior;o&&X();var i=St(this.base);window.addEventListener(\"popstate\",function(t){var n=r.current,a=St(r.base);r.current===$t&&a===i||r.transitionTo(a,function(t){o&&Y(e,t,n,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){ut(O(r.base+t.fullPath)),Y(r.router,t,i,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){st(O(r.base+t.fullPath)),Y(r.router,t,i,!1),e&&e(t)},n)},e.prototype.ensureURL=function(t){if(St(this.base)!==this.current.fullPath){var e=O(this.base+this.current.fullPath);t?ut(e):st(e)}},e.prototype.getCurrentLocation=function(){return St(this.base)},e}(ae),se=function(t){function e(e,n,r){t.call(this,e,n),r&&Pt(this.base)||Mt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this,e=this.router,n=e.options.scrollBehavior,r=ne&&n;r&&X(),window.addEventListener(ne?\"popstate\":\"hashchange\",function(){var e=t.current;Mt()&&t.transitionTo(At(),function(n){r&&Y(t.router,n,e,!0),ne||Ct(n.fullPath)})})},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){Dt(t.fullPath),Y(r.router,t,i,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){Ct(t.fullPath),Y(r.router,t,i,!1),e&&e(t)},n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;At()!==e&&(t?Dt(e):Ct(e))},e.prototype.getCurrentLocation=function(){return At()},e}(ae),ce=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:\"/\"},e.prototype.ensureURL=function(){},e}(ae),fe=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=K(t.routes||[],this);var e=t.mode||\"hash\";switch(this.fallback=\"history\"===e&&!ne&&!1!==t.fallback,this.fallback&&(e=\"hash\"),Vt||(e=\"abstract\"),this.mode=e,e){case\"history\":this.history=new ue(this,t.base);break;case\"hash\":this.history=new se(this,t.base,this.fallback);break;case\"abstract\":this.history=new ce(this,t.base)}},le={currentRoute:{configurable:!0}};fe.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},le.currentRoute.get=function(){return this.history&&this.history.current},fe.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof ue)n.transitionTo(n.getCurrentLocation());else if(n instanceof se){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},fe.prototype.beforeEach=function(t){return Nt(this.beforeHooks,t)},fe.prototype.beforeResolve=function(t){return Nt(this.resolveHooks,t)},fe.prototype.afterEach=function(t){return Nt(this.afterHooks,t)},fe.prototype.onReady=function(t,e){this.history.onReady(t,e)},fe.prototype.onError=function(t){this.history.onError(t)},fe.prototype.push=function(t,e,n){this.history.push(t,e,n)},fe.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},fe.prototype.go=function(t){this.history.go(t)},fe.prototype.back=function(){this.go(-1)},fe.prototype.forward=function(){this.go(1)},fe.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},fe.prototype.resolve=function(t,e,n){var r=q(t,e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:It(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},fe.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==$t&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(fe.prototype,le),fe.install=_,fe.version=\"2.8.1\",Vt&&window.Vue&&window.Vue.use(fe),e.default=fe},\"/whu\":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on  \"+t);return t}},\"06OY\":function(t,e,n){var r=n(\"3Eo+\")(\"meta\"),o=n(\"EqjI\"),i=n(\"D2L2\"),a=n(\"evD5\").f,u=0,s=Object.isExtensible||function(){return!0},c=!n(\"S82l\")(function(){return s(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:\"O\"+ ++u,w:{}}})},l=function(t,e){if(!o(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!i(t,r)){if(!s(t))return\"F\";if(!e)return\"E\";f(t)}return t[r].i},p=function(t,e){if(!i(t,r)){if(!s(t))return!0;if(!e)return!1;f(t)}return t[r].w},d=function(t){return c&&h.NEED&&s(t)&&!i(t,r)&&f(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:l,getWeak:p,onFreeze:d}},\"07k+\":function(t,e,n){for(var r,o=n(\"OzIq\"),i=n(\"2p1q\"),a=n(\"ulTY\"),u=a(\"typed_array\"),s=a(\"view\"),c=!(!o.ArrayBuffer||!o.DataView),f=c,l=0,p=\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");l<9;)(r=o[p[l++]])?(i(r.prototype,u,!0),i(r.prototype,s,!0)):f=!1;t.exports={ABV:c,CONSTR:f,TYPED:u,VIEW:s}},\"0Rih\":function(t,e,n){\"use strict\";var r=n(\"OzIq\"),o=n(\"Ds5P\"),i=n(\"R3AP\"),a=n(\"A16L\"),u=n(\"1aA0\"),s=n(\"vmSO\"),c=n(\"9GpA\"),f=n(\"UKM+\"),l=n(\"zgIt\"),p=n(\"qkyc\"),d=n(\"yYvK\"),h=n(\"kic5\");t.exports=function(t,e,n,v,g,y){var m=r[t],b=m,_=g?\"set\":\"add\",w=b&&b.prototype,x={},O=function(t){var e=w[t];i(w,t,\"delete\"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:\"has\"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:\"get\"==t?function(t){return y&&!f(t)?void 0:e.call(this,0===t?0:t)}:\"add\"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if(\"function\"==typeof b&&(y||w.forEach&&!l(function(){(new b).entries().next()}))){var E=new b,S=E[_](y?{}:-0,1)!=E,P=l(function(){E.has(1)}),M=p(function(t){new b(t)}),A=!y&&l(function(){for(var t=new b,e=5;e--;)t[_](e,e);return!t.has(-0)});M||(b=e(function(e,n){c(e,b,t);var r=h(new m,e,b);return void 0!=n&&s(n,g,r[_],r),r}),b.prototype=w,w.constructor=b),(P||A)&&(O(\"delete\"),O(\"has\"),g&&O(\"get\")),(A||S)&&O(_),y&&w.clear&&delete w.clear}else b=v.getConstructor(e,t,g,_),a(b.prototype,n),u.NEED=!0;return d(b,t),x[t]=b,o(o.G+o.W+o.F*(b!=m),x),y||v.setStrong(b,t,g),b}},\"0j1G\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\");t.exports=function(t){r(r.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},\"0pGU\":function(t,e,n){\"use strict\";var r=n(\"DIVP\");t.exports=function(){var t=r(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},\"162o\":function(t,e,n){(function(t){function r(t,e){this._id=t,this._clearFn=e}var o=void 0!==t&&t||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;e.setTimeout=function(){return new r(i.call(setTimeout,o,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,o,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(\"mypn\"),e.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(\"DuR2\"))},\"1A13\":function(t,e,n){\"use strict\";var r=n(\"49qz\")(!0);n(\"uc2A\")(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},\"1ETD\":function(t,e,n){var r=n(\"kkCw\")(\"match\");t.exports=function(t){var e=/./;try{\"/./\"[t](e)}catch(n){try{return e[r]=!1,!\"/./\"[t](e)}catch(t){}}return!0}},\"1aA0\":function(t,e,n){var r=n(\"ulTY\")(\"meta\"),o=n(\"UKM+\"),i=n(\"WBcL\"),a=n(\"lDLk\").f,u=0,s=Object.isExtensible||function(){return!0},c=!n(\"zgIt\")(function(){return s(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:\"O\"+ ++u,w:{}}})},l=function(t,e){if(!o(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!i(t,r)){if(!s(t))return\"F\";if(!e)return\"E\";f(t)}return t[r].i},p=function(t,e){if(!i(t,r)){if(!s(t))return!0;if(!e)return!1;f(t)}return t[r].w},d=function(t){return c&&h.NEED&&s(t)&&!i(t,r)&&f(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:l,getWeak:p,onFreeze:d}},\"1ip3\":function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{log10:function(t){return Math.log(t)*Math.LOG10E}})},\"1kS7\":function(t,e){e.f=Object.getOwnPropertySymbols},\"1uLP\":function(t,e,n){var r=n(\"Ds5P\");r(r.G+r.W+r.F*!n(\"07k+\").ABV,{DataView:n(\"LrcN\").DataView})},\"2KxR\":function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t}},\"2VSL\":function(t,e,n){var r=n(\"BbyF\"),o=n(\"xAdt\"),i=n(\"/whu\");t.exports=function(t,e,n,a){var u=String(i(t)),s=u.length,c=void 0===n?\" \":String(n),f=r(e);if(f<=s||\"\"==c)return u;var l=f-s,p=o.call(c,Math.ceil(l/c.length));return p.length>l&&(p=p.slice(0,l)),a?p+u:u+p}},\"2p1q\":function(t,e,n){var r=n(\"lDLk\"),o=n(\"fU25\");t.exports=n(\"bUqO\")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},\"3Eo+\":function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},\"3QrE\":function(t,e,n){var r=n(\"Ds5P\");r(r.P,\"Function\",{bind:n(\"ZtwE\")})},\"3fs2\":function(t,e,n){var r=n(\"RY/4\"),o=n(\"dSzd\")(\"iterator\"),i=n(\"/bQp\");t.exports=n(\"FeBl\").getIteratorMethod=function(t){if(void 0!=t)return t[o]||t[\"@@iterator\"]||i[r(t)]}},\"3g/S\":function(t,e,n){var r=n(\"OzIq\"),o=n(\"7gX0\"),i=n(\"V3l/\"),a=n(\"M8WE\"),u=n(\"lDLk\").f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},\"3i66\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"7gX0\"),i=n(\"zgIt\");t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",a)}},\"3q4u\":function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var s=u.get(e);return s.delete(n),!!s.size||u.delete(e)}})},\"3s83\":function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},\"41xE\":function(t,e,n){var r=n(\"OzIq\"),o=r.navigator;t.exports=o&&o.userAgent||\"\"},\"49qz\":function(t,e,n){var r=n(\"oeih\"),o=n(\"/whu\");t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),s=r(n),c=u.length;return s<0||s>=c?t?\"\":void 0:(i=u.charCodeAt(s),i<55296||i>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):i:t?u.slice(s,s+2):a-56320+(i-55296<<10)+65536)}}},\"4IZP\":function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},\"4M2W\":function(t,e,n){n(\"A0n/\"),n(\"i68Q\"),n(\"QzLV\"),n(\"Hhm4\"),n(\"C+4B\"),n(\"W4Z6\"),n(\"tJwI\"),n(\"eC2H\"),n(\"VTn2\"),n(\"W/IU\"),n(\"Y5ex\"),n(\"WpPb\"),n(\"+yjc\"),n(\"gPva\"),n(\"n12u\"),n(\"nRs1\"),n(\"jrHM\"),n(\"gYYG\"),n(\"3QrE\"),n(\"EuXz\"),n(\"PbPd\"),n(\"S+E/\"),n(\"EvFb\"),n(\"QBuC\"),n(\"QWLi\"),n(\"ZRJK\"),n(\"Stuz\"),n(\"yuXV\"),n(\"XtiL\"),n(\"LG56\"),n(\"A1ng\"),n(\"WiIn\"),n(\"aJ2J\"),n(\"altv\"),n(\"dULJ\"),n(\"v2lb\"),n(\"7Jvp\"),n(\"lyhN\"),n(\"kBOG\"),n(\"xONB\"),n(\"LlNE\"),n(\"9xIj\"),n(\"m6Yj\"),n(\"wrs0\"),n(\"Lqg1\"),n(\"1ip3\"),n(\"pWGb\"),n(\"N4KQ\"),n(\"Hl+4\"),n(\"MjHD\"),n(\"SRCy\"),n(\"H0mh\"),n(\"bqOW\"),n(\"F3sI\"),n(\"mhn7\"),n(\"1A13\"),n(\"Racj\"),n(\"Y1S0\"),n(\"Gh7F\"),n(\"tqSY\"),n(\"CvWX\"),n(\"8Np7\"),n(\"R4pa\"),n(\"4RlI\"),n(\"iM2X\"),n(\"J+j9\"),n(\"82of\"),n(\"X/Hz\"),n(\"eVIH\"),n(\"UJiG\"),n(\"SU+a\"),n(\"5iw+\"),n(\"EWrS\"),n(\"J2ob\"),n(\"QaEu\"),n(\"8fhx\"),n(\"UbXY\"),n(\"Rk41\"),n(\"4Q0w\"),n(\"IMUI\"),n(\"beEN\"),n(\"xMpm\"),n(\"j42X\"),n(\"81dZ\"),n(\"uDYd\"),n(\"CEO+\"),n(\"w6W7\"),n(\"fOdq\"),n(\"wVdn\"),n(\"Nkrw\"),n(\"wnRD\"),n(\"lkT3\"),n(\"+CM9\"),n(\"oHKp\"),n(\"9vc3\"),n(\"No4x\"),n(\"WpTh\"),n(\"U6qc\"),n(\"Q/CP\"),n(\"WgSQ\"),n(\"lnZN\"),n(\"FaZr\"),n(\"pd+2\"),n(\"MfeA\"),n(\"VjuZ\"),n(\"qwQ3\"),n(\"mJx5\"),n(\"y9m4\"),n(\"MsuQ\"),n(\"dSUw\"),n(\"ZDXm\"),n(\"V/H1\"),n(\"9mmO\"),n(\"1uLP\"),n(\"52Wt\"),n(\"TFWu\"),n(\"MyjO\"),n(\"qtRy\"),n(\"THnP\"),n(\"K0JP\"),n(\"NfZy\"),n(\"dTzs\"),n(\"+vXH\"),n(\"CVR+\"),n(\"vmSu\"),n(\"4ZU1\"),n(\"yx1U\"),n(\"X7aK\"),n(\"SPtU\"),n(\"A52B\"),n(\"PuTd\"),n(\"dm+7\"),n(\"JG34\"),n(\"Rw4K\"),n(\"9mGU\"),n(\"bUY0\"),n(\"mTp7\"),n(\"gbyG\"),n(\"oF0V\"),n(\"v90c\"),n(\"+2+s\"),n(\"smQ+\"),n(\"m8F4\"),n(\"xn9I\"),n(\"LRL/\"),n(\"sc7i\"),n(\"9Yib\"),n(\"vu/c\"),n(\"zmx7\"),n(\"YVn/\"),n(\"FKfb\"),n(\"oYp4\"),n(\"dxQb\"),n(\"xCpI\"),n(\"AkTE\"),n(\"h7Xi\"),n(\"arGp\"),n(\"JJ3w\"),n(\"qZb+\"),n(\"La7N\"),n(\"BOYP\"),n(\"4rmF\"),n(\"Ygg6\"),n(\"6Xxs\"),n(\"qdHU\"),n(\"DQfQ\"),n(\"j/Lv\"),n(\"U+VG\"),n(\"X6NR\"),n(\"W0pi\"),n(\"taNN\"),n(\"vnWP\"),n(\"R3KI\"),n(\"6iMJ\"),n(\"B3Xn\"),n(\"3s83\"),n(\"F1ui\"),n(\"uEEG\"),n(\"i039\"),n(\"H7zx\"),n(\"+Mt+\"),n(\"QcWB\"),n(\"yJ2x\"),n(\"3q4u\"),n(\"NHaJ\"),n(\"v3hU\"),n(\"zZHq\"),n(\"vsh6\"),n(\"8WbS\"),n(\"yOtE\"),n(\"EZ+5\"),n(\"aM0T\"),n(\"nh2o\"),n(\"v8VU\"),n(\"dich\"),n(\"fx22\"),t.exports=n(\"7gX0\")},\"4Q0w\":function(t,e,n){var r=n(\"kkCw\")(\"toPrimitive\"),o=Date.prototype;r in o||n(\"2p1q\")(o,r,n(\"jB26\"))},\"4RlI\":function(t,e,n){\"use strict\";n(\"y325\")(\"blink\",function(t){return function(){return t(this,\"blink\",\"\",\"\")}})},\"4ZU1\":function(t,e,n){var r=n(\"lDLk\"),o=n(\"Ds5P\"),i=n(\"DIVP\"),a=n(\"s4j0\");o(o.S+o.F*n(\"zgIt\")(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function(t,e,n){i(t),e=a(e,!0),i(n);try{return r.f(t,e,n),!0}catch(t){return!1}}})},\"4mcu\":function(t,e){t.exports=function(){}},\"4rmF\":function(t,e,n){n(\"iKpr\")(\"Map\")},\"52Wt\":function(t,e,n){n(\"77Ug\")(\"Int8\",1,function(t){return function(e,n,r){return t(this,e,n,r)}})},\"52gC\":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on  \"+t);return t}},\"5QVw\":function(t,e,n){t.exports={default:n(\"BwfY\"),__esModule:!0}},\"5iw+\":function(t,e,n){\"use strict\";n(\"y325\")(\"strike\",function(t){return function(){return t(this,\"strike\",\"\",\"\")}})},\"6STP\":function(t,e){t.exports=function(t){var e={className:\"symbol\",begin:\"&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;\"},n={begin:\"\\\\s\",contains:[{className:\"meta-keyword\",begin:\"#?[a-z_][a-z1-9_-]+\",illegal:\"\\\\n\"}]},r=t.inherit(n,{begin:\"\\\\(\",end:\"\\\\)\"}),o=t.inherit(t.APOS_STRING_MODE,{className:\"meta-string\"}),i=t.inherit(t.QUOTE_STRING_MODE,{className:\"meta-string\"}),a={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:\"attr\",begin:\"[A-Za-z0-9\\\\._:-]+\",relevance:0},{begin:/=\\s*/,relevance:0,contains:[{className:\"string\",endsParent:!0,variants:[{begin:/\"/,end:/\"/,contains:[e]},{begin:/'/,end:/'/,contains:[e]},{begin:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\",\"wsf\",\"svg\"],case_insensitive:!0,contains:[{className:\"meta\",begin:\"<![a-z]\",end:\">\",relevance:10,contains:[n,i,o,r,{begin:\"\\\\[\",end:\"\\\\]\",contains:[{className:\"meta\",begin:\"<![a-z]\",end:\">\",contains:[n,r,i,o]}]}]},t.COMMENT(\"\\x3c!--\",\"--\\x3e\",{relevance:10}),{begin:\"<\\\\!\\\\[CDATA\\\\[\",end:\"\\\\]\\\\]>\",relevance:10},e,{className:\"meta\",begin:/<\\?xml/,end:/\\?>/,relevance:10},{begin:/<\\?(php)?/,end:/\\?>/,subLanguage:\"php\",contains:[{begin:\"/\\\\*\",end:\"\\\\*/\",skip:!0},{begin:'b\"',end:'\"',skip:!0},{begin:\"b'\",end:\"'\",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]},{className:\"tag\",begin:\"<style(?=\\\\s|>)\",end:\">\",keywords:{name:\"style\"},contains:[a],starts:{end:\"</style>\",returnEnd:!0,subLanguage:[\"css\",\"xml\"]}},{className:\"tag\",begin:\"<script(?=\\\\s|>)\",end:\">\",keywords:{name:\"script\"},contains:[a],starts:{end:\"<\\/script>\",returnEnd:!0,subLanguage:[\"actionscript\",\"javascript\",\"handlebars\",\"xml\"]}},{className:\"tag\",begin:\"</?\",end:\"/?>\",contains:[{className:\"name\",begin:/[^\\/><\\s]+/,relevance:0},a]}]}}},\"6Xxs\":function(t,e,n){n(\"iKpr\")(\"WeakMap\")},\"6iMJ\":function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{isubh:function(t,e,n,r){var o=t>>>0,i=e>>>0,a=n>>>0;return i-(r>>>0)-((~o&a|~(o^a)&o-a>>>0)>>>31)|0}})},\"70Rd\":function(t,e,n){(function(n){var r,o;!function(n){var i=\"object\"==typeof window&&window||\"object\"==typeof self&&self;void 0===e||e.nodeType?i&&(i.hljs=n({}),r=[],void 0!==(o=function(){return i.hljs}.apply(e,r))&&(t.exports=o)):n(e)}(function(t){function e(t){return t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function r(t){return t.nodeName.toLowerCase()}function o(t,e){var n=t&&t.exec(e);return n&&0===n.index}function i(t){return U.test(t)}function a(t){var e,n,r,o,a=t.className+\" \";if(a+=t.parentNode?t.parentNode.className:\"\",n=z.exec(a)){var u=k(n[1]);return u||(console.warn(q.replace(\"{}\",n[1])),console.warn(\"Falling back to no-highlight mode for this block.\",t)),u?n[1]:\"no-highlight\"}for(a=a.split(/\\s+/),e=0,r=a.length;e<r;e++)if(o=a[e],i(o)||k(o))return o}function u(t){var e,n={},r=Array.prototype.slice.call(arguments,1);for(e in t)n[e]=t[e];return r.forEach(function(t){for(e in t)n[e]=t[e]}),n}function s(t){var e=[];return function t(n,o){for(var i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?o+=i.nodeValue.length:1===i.nodeType&&(e.push({event:\"start\",offset:o,node:i}),o=t(i,o),r(i).match(/br|hr|img|input/)||e.push({event:\"stop\",offset:o,node:i}));return o}(t,0),e}function c(t,n,o){function i(){return t.length&&n.length?t[0].offset!==n[0].offset?t[0].offset<n[0].offset?t:n:\"start\"===n[0].event?t:n:t.length?t:n}function a(t){function n(t){return\" \"+t.nodeName+'=\"'+e(t.value).replace(/\"/g,\"&quot;\")+'\"'}f+=\"<\"+r(t)+R.map.call(t.attributes,n).join(\"\")+\">\"}function u(t){f+=\"</\"+r(t)+\">\"}function s(t){(\"start\"===t.event?a:u)(t.node)}for(var c=0,f=\"\",l=[];t.length||n.length;){var p=i();if(f+=e(o.substring(c,p[0].offset)),c=p[0].offset,p===t){l.reverse().forEach(u);do{s(p.splice(0,1)[0]),p=i()}while(p===t&&p.length&&p[0].offset===c);l.reverse().forEach(a)}else\"start\"===p[0].event?l.push(p[0].node):l.pop(),s(p.splice(0,1)[0])}return f+e(o.substr(c))}function f(t){return!!t&&(t.endsWithParent||f(t.starts))}function l(t){return t.variants&&!t.cached_variants&&(t.cached_variants=t.variants.map(function(e){return u(t,{variants:null},e)})),t.cached_variants?t.cached_variants:f(t)?[u(t,{starts:t.starts?u(t.starts):null})]:Object.isFrozen(t)?[u(t)]:[t]}function p(t){if(N&&!t.langApiRestored){t.langApiRestored=!0;for(var e in N)t[e]&&(t[N[e]]=t[e]);(t.contains||[]).concat(t.variants||[]).forEach(p)}}function d(t,e){function n(t,n){e&&(n=n.toLowerCase()),n.split(\" \").forEach(function(e){var n=e.split(\"|\");r[n[0]]=[t,h(n[0],n[1])]})}var r={};return\"string\"==typeof t?n(\"keyword\",t):T(t).forEach(function(e){n(e,t[e])}),r}function h(t,e){return e?Number(e):v(t)?0:1}function v(t){return-1!=K.indexOf(t.toLowerCase())}function g(t){function e(t){return t&&t.source||t}function n(n,r){return new RegExp(e(n),\"m\"+(t.case_insensitive?\"i\":\"\")+(r?\"g\":\"\"))}function r(t){return new RegExp(t.toString()+\"|\").exec(\"\").length-1}function o(t,n){for(var r=/\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./,o=0,i=\"\",a=0;a<t.length;a++){o+=1;var u=o,s=e(t[a]);for(a>0&&(i+=n),i+=\"(\";s.length>0;){var c=r.exec(s);if(null==c){i+=s;break}i+=s.substring(0,c.index),s=s.substring(c.index+c[0].length),\"\\\\\"==c[0][0]&&c[1]?i+=\"\\\\\"+String(Number(c[1])+u):(i+=c[0],\"(\"==c[0]&&o++)}i+=\")\"}return i}function i(t){function e(t,e){u[f]=t,s.push([t,e]),f+=r(e)+1}for(var i,a,u={},s=[],c={},f=1,l=0;l<t.contains.length;l++){var p;a=t.contains[l],p=a.beginKeywords?\"\\\\.?(?:\"+a.begin+\")\\\\.?\":a.begin,e(a,p)}t.terminator_end&&e(\"end\",t.terminator_end),t.illegal&&e(\"illegal\",t.illegal);var d=s.map(function(t){return t[1]});return i=n(o(d,\"|\"),!0),c.lastIndex=0,c.exec=function(e){var n;if(0===s.length)return null;i.lastIndex=c.lastIndex;var r=i.exec(e);if(!r)return null;for(var o=0;o<r.length;o++)if(void 0!=r[o]&&void 0!=u[\"\"+o]){n=u[\"\"+o];break}return\"string\"==typeof n?(r.type=n,r.extra=[t.illegal,t.terminator_end]):(r.type=\"begin\",r.rule=n),r},c}function a(r,o){r.compiled||(r.compiled=!0,r.keywords=r.keywords||r.beginKeywords,r.keywords&&(r.keywords=d(r.keywords,t.case_insensitive)),r.lexemesRe=n(r.lexemes||/\\w+/,!0),o&&(r.beginKeywords&&(r.begin=\"\\\\b(\"+r.beginKeywords.split(\" \").join(\"|\")+\")\\\\b\"),r.begin||(r.begin=/\\B|\\b/),r.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\\B|\\b/),r.end&&(r.endRe=n(r.end)),r.terminator_end=e(r.end)||\"\",r.endsWithParent&&o.terminator_end&&(r.terminator_end+=(r.end?\"|\":\"\")+o.terminator_end)),r.illegal&&(r.illegalRe=n(r.illegal)),null==r.relevance&&(r.relevance=1),r.contains||(r.contains=[]),r.contains=Array.prototype.concat.apply([],r.contains.map(function(t){return l(\"self\"===t?r:t)})),r.contains.forEach(function(t){a(t,r)}),r.starts&&a(r.starts,o),r.terminators=i(r))}if(t.contains&&-1!=t.contains.indexOf(\"self\")){if(!F)throw new Error(\"ERR: contains `self` is not supported at the top-level of a language.  See documentation.\");t.contains=t.contains.filter(function(t){return\"self\"!=t})}a(t)}function y(){return!!W.hideUpgradeWarningAcceptNoSupportOrSecurityUpdates||(!(\"object\"!=typeof n||!Object({NODE_ENV:\"production\"}).HLJS_HIDE_UPGRADE_WARNING)||void 0)}function m(t,n,r,i){function a(t){return new RegExp(t.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),\"m\")}function u(t,e){if(o(t.endRe,e)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.endsWithParent)return u(t.parent,e)}function s(t,e){var n=O.case_insensitive?e[0].toLowerCase():e[0];return t.keywords.hasOwnProperty(n)&&t.keywords[n]}function c(t,e,n,r){if(!n&&\"\"===e)return\"\";if(!t)return e;var o=r?\"\":W.classPrefix,i='<span class=\"'+o,a=n?\"\":$;return(i+=t+'\">')+e+a}function f(){var t,n,r,o;if(!S.keywords)return e(A);for(o=\"\",n=0,S.lexemesRe.lastIndex=0,r=S.lexemesRe.exec(A);r;)o+=e(A.substring(n,r.index)),t=s(S,r),t?(D+=t[1],o+=c(t[0],e(r[0]))):o+=e(r[0]),n=S.lexemesRe.lastIndex,r=S.lexemesRe.exec(A);return o+e(A.substr(n))}function l(){var t=\"string\"==typeof S.subLanguage;if(t&&!j[S.subLanguage])return e(A);var n=t?m(S.subLanguage,A,!0,P[S.subLanguage]):b(A,S.subLanguage.length?S.subLanguage:void 0);return S.relevance>0&&(D+=n.relevance),t&&(P[S.subLanguage]=n.top),c(n.language,n.value,!1,!0)}function p(){M+=null!=S.subLanguage?l():f(),A=\"\"}function d(t){M+=t.className?c(t.className,\"\",!0):\"\",S=Object.create(t,{parent:{value:S}})}function h(t){var e=t[0],n=t.rule;return n&&n.endSameAsBegin&&(n.endRe=a(e)),n.skip?A+=e:(n.excludeBegin&&(A+=e),p(),n.returnBegin||n.excludeBegin||(A=e)),d(n),n.returnBegin?0:e.length}function v(t){var e=t[0],n=w.substr(t.index),r=u(S,n);if(r){var o=S;o.skip?A+=e:(o.returnEnd||o.excludeEnd||(A+=e),p(),o.excludeEnd&&(A=e));do{S.className&&(M+=$),S.skip||S.subLanguage||(D+=S.relevance),S=S.parent}while(S!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),d(r.starts)),o.returnEnd?0:e.length}}function _(t,e){var n=e&&e[0];if(A+=t,null==n)return p(),0;if(\"begin\"==x.type&&\"end\"==e.type&&x.index==e.index&&\"\"===n)return A+=w.slice(e.index,e.index+1),1;if(\"illegal\"===x.type&&\"\"===n)return A+=w.slice(e.index,e.index+1),1;if(x=e,\"begin\"===e.type)return h(e);if(\"illegal\"===e.type&&!r)throw new Error('Illegal lexeme \"'+n+'\" for mode \"'+(S.className||\"<unnamed>\")+'\"');if(\"end\"===e.type){var o=v(e);if(void 0!=o)return o}return A+=n,n.length}y()||I||(I=!0,console.log(\"Version 9 of Highlight.js has reached EOL and is no longer supported.\\nPlease upgrade or ask whatever dependency you are using to upgrade.\\nhttps://github.com/highlightjs/highlight.js/issues/2877\"));var w=n,x={},O=k(t);if(!O)throw console.error(q.replace(\"{}\",t)),new Error('Unknown language: \"'+t+'\"');g(O);var E,S=i||O,P={},M=\"\";for(E=S;E!==O;E=E.parent)E.className&&(M=c(E.className,\"\",!0)+M);var A=\"\",D=0;try{for(var C,N,R=0;;){if(S.terminators.lastIndex=R,!(C=S.terminators.exec(w)))break;N=_(w.substring(R,C.index),C),R=C.index+N}for(_(w.substr(R)),E=S;E.parent;E=E.parent)E.className&&(M+=$);return{relevance:D,value:M,illegal:!1,language:t,top:S}}catch(n){if(n.message&&-1!==n.message.indexOf(\"Illegal\"))return{illegal:!0,relevance:0,value:e(w)};if(F)return{relevance:0,value:e(w),language:t,top:S,errorRaised:n};throw n}}function b(t,n){n=n||W.languages||T(j);var r={relevance:0,value:e(t)},o=r;return n.filter(k).filter(D).forEach(function(e){var n=m(e,t,!1);n.language=e,n.relevance>o.relevance&&(o=n),n.relevance>r.relevance&&(o=r,r=n)}),o.language&&(r.second_best=o),r}function _(t){return W.tabReplace||W.useBR?t.replace(B,function(t,e){return W.useBR&&\"\\n\"===t?\"<br>\":W.tabReplace?e.replace(/\\t/g,W.tabReplace):\"\"}):t}function w(t,e,n){var r=e?L[e]:n,o=[t.trim()];return t.match(/\\bhljs\\b/)||o.push(\"hljs\"),-1===t.indexOf(r)&&o.push(r),o.join(\" \").trim()}function x(t){var e,n,r,o,u,f=a(t);i(f)||(W.useBR?(e=document.createElement(\"div\"),e.innerHTML=t.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\")):e=t,u=e.textContent,r=f?m(f,u,!0):b(u),n=s(e),n.length&&(o=document.createElement(\"div\"),o.innerHTML=r.value,r.value=c(n,s(o),u)),r.value=_(r.value),t.innerHTML=r.value,t.className=w(t.className,f,r.language),t.result={language:r.language,re:r.relevance},r.second_best&&(t.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function O(t){W=u(W,t)}function E(){if(!E.called){E.called=!0;var t=document.querySelectorAll(\"pre code\");R.forEach.call(t,x)}}function S(){window.addEventListener(\"DOMContentLoaded\",E,!1),window.addEventListener(\"load\",E,!1)}function P(e,n){var r;try{r=n(t)}catch(t){if(console.error(\"Language definition for '{}' could not be registered.\".replace(\"{}\",e)),!F)throw t;console.error(t),r=V}j[e]=r,p(r),r.rawDefinition=n.bind(null,t),r.aliases&&r.aliases.forEach(function(t){L[t]=e})}function M(){return T(j)}function A(t){var e=k(t);if(e)return e;throw new Error(\"The '{}' language is required, but not loaded.\".replace(\"{}\",t))}function k(t){return t=(t||\"\").toLowerCase(),j[t]||j[L[t]]}function D(t){var e=k(t);return e&&!e.disableAutodetect}function C(t){Object.freeze(t);var e=\"function\"==typeof t;return Object.getOwnPropertyNames(t).forEach(function(n){!t.hasOwnProperty(n)||null===t[n]||\"object\"!=typeof t[n]&&\"function\"!=typeof t[n]||e&&(\"caller\"===n||\"callee\"===n||\"arguments\"===n)||Object.isFrozen(t[n])||C(t[n])}),t}var N,I=!1,R=[],T=Object.keys,j=Object.create(null),L=Object.create(null),F=!0,U=/^(no-?highlight|plain|text)$/i,z=/\\blang(?:uage)?-([\\w-]+)\\b/i,B=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,$=\"</span>\",q=\"Could not find the language '{}', did you forget to load/include a language module?\",W={hideUpgradeWarningAcceptNoSupportOrSecurityUpdates:!1,classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0},K=\"of and for in not or if then\".split(\" \"),V={disableAutodetect:!0};return t.highlight=m,t.highlightAuto=b,t.fixMarkup=_,t.highlightBlock=x,t.configure=O,t.initHighlighting=E,t.initHighlightingOnLoad=S,t.registerLanguage=P,t.listLanguages=M,t.getLanguage=k,t.requireLanguage=A,t.autoDetection=D,t.inherit=u,t.debugMode=function(){F=!1},t.IDENT_RE=\"[a-zA-Z]\\\\w*\",t.UNDERSCORE_IDENT_RE=\"[a-zA-Z_]\\\\w*\",t.NUMBER_RE=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",t.C_NUMBER_RE=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",t.BINARY_NUMBER_RE=\"\\\\b(0b[01]+)\",t.RE_STARTERS_RE=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",t.BACKSLASH_ESCAPE={begin:\"\\\\\\\\[\\\\s\\\\S]\",relevance:0},t.APOS_STRING_MODE={className:\"string\",begin:\"'\",end:\"'\",illegal:\"\\\\n\",contains:[t.BACKSLASH_ESCAPE]},t.QUOTE_STRING_MODE={className:\"string\",begin:'\"',end:'\"',illegal:\"\\\\n\",contains:[t.BACKSLASH_ESCAPE]},t.PHRASAL_WORDS_MODE={begin:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},t.COMMENT=function(e,n,r){var o=t.inherit({className:\"comment\",begin:e,end:n,contains:[]},r||{});return o.contains.push(t.PHRASAL_WORDS_MODE),o.contains.push({className:\"doctag\",begin:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",relevance:0}),o},t.C_LINE_COMMENT_MODE=t.COMMENT(\"//\",\"$\"),t.C_BLOCK_COMMENT_MODE=t.COMMENT(\"/\\\\*\",\"\\\\*/\"),t.HASH_COMMENT_MODE=t.COMMENT(\"#\",\"$\"),t.NUMBER_MODE={className:\"number\",begin:t.NUMBER_RE,relevance:0},t.C_NUMBER_MODE={className:\"number\",begin:t.C_NUMBER_RE,relevance:0},t.BINARY_NUMBER_MODE={className:\"number\",begin:t.BINARY_NUMBER_RE,relevance:0},t.CSS_NUMBER_MODE={className:\"number\",begin:t.NUMBER_RE+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",relevance:0},t.REGEXP_MODE={className:\"regexp\",begin:/\\//,end:/\\/[gimuy]*/,illegal:/\\n/,contains:[t.BACKSLASH_ESCAPE,{begin:/\\[/,end:/\\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}]},t.TITLE_MODE={className:\"title\",begin:t.IDENT_RE,relevance:0},t.UNDERSCORE_TITLE_MODE={className:\"title\",begin:t.UNDERSCORE_IDENT_RE,relevance:0},t.METHOD_GUARD={begin:\"\\\\.\\\\s*\"+t.UNDERSCORE_IDENT_RE,relevance:0},[t.BACKSLASH_ESCAPE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,t.PHRASAL_WORDS_MODE,t.COMMENT,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.HASH_COMMENT_MODE,t.NUMBER_MODE,t.C_NUMBER_MODE,t.BINARY_NUMBER_MODE,t.CSS_NUMBER_MODE,t.REGEXP_MODE,t.TITLE_MODE,t.UNDERSCORE_TITLE_MODE,t.METHOD_GUARD].forEach(function(t){C(t)}),t})}).call(e,n(\"W2nU\"))},\"77Pl\":function(t,e,n){var r=n(\"EqjI\");t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},\"77Ug\":function(t,e,n){\"use strict\";if(n(\"bUqO\")){var r=n(\"V3l/\"),o=n(\"OzIq\"),i=n(\"zgIt\"),a=n(\"Ds5P\"),u=n(\"07k+\"),s=n(\"LrcN\"),c=n(\"rFzY\"),f=n(\"9GpA\"),l=n(\"fU25\"),p=n(\"2p1q\"),d=n(\"A16L\"),h=n(\"oeih\"),v=n(\"BbyF\"),g=n(\"8D8H\"),y=n(\"zo/l\"),m=n(\"s4j0\"),b=n(\"WBcL\"),_=n(\"wC1N\"),w=n(\"UKM+\"),x=n(\"FryR\"),O=n(\"9vb1\"),E=n(\"7ylX\"),S=n(\"KOrd\"),P=n(\"WcO1\").f,M=n(\"SHe9\"),A=n(\"ulTY\"),k=n(\"kkCw\"),D=n(\"LhTa\"),C=n(\"ot5s\"),N=n(\"7O1s\"),I=n(\"WgSQ\"),R=n(\"bN1p\"),T=n(\"qkyc\"),j=n(\"CEne\"),L=n(\"zCYm\"),F=n(\"DPsE\"),U=n(\"lDLk\"),z=n(\"x9zv\"),B=U.f,$=z.f,q=o.RangeError,W=o.TypeError,K=o.Uint8Array,V=Array.prototype,G=s.ArrayBuffer,X=s.DataView,Y=D(0),H=D(2),Q=D(3),Z=D(4),J=D(5),tt=D(6),et=C(!0),nt=C(!1),rt=I.values,ot=I.keys,it=I.entries,at=V.lastIndexOf,ut=V.reduce,st=V.reduceRight,ct=V.join,ft=V.sort,lt=V.slice,pt=V.toString,dt=V.toLocaleString,ht=k(\"iterator\"),vt=k(\"toStringTag\"),gt=A(\"typed_constructor\"),yt=A(\"def_constructor\"),mt=u.CONSTR,bt=u.TYPED,_t=u.VIEW,wt=D(1,function(t,e){return Pt(N(t,t[yt]),e)}),xt=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),Ot=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),Et=function(t,e){var n=h(t);if(n<0||n%e)throw q(\"Wrong offset!\");return n},St=function(t){if(w(t)&&bt in t)return t;throw W(t+\" is not a typed array!\")},Pt=function(t,e){if(!(w(t)&&gt in t))throw W(\"It is not a typed array constructor!\");return new t(e)},Mt=function(t,e){return At(N(t,t[yt]),e)},At=function(t,e){for(var n=0,r=e.length,o=Pt(t,r);r>n;)o[n]=e[n++];return o},kt=function(t,e,n){B(t,e,{get:function(){return this._d[n]}})},Dt=function(t){var e,n,r,o,i,a,u=x(t),s=arguments.length,f=s>1?arguments[1]:void 0,l=void 0!==f,p=M(u);if(void 0!=p&&!O(p)){for(a=p.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&s>2&&(f=c(f,arguments[2],2)),e=0,n=v(u.length),o=Pt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Ct=function(){for(var t=0,e=arguments.length,n=Pt(this,e);e>t;)n[t]=arguments[t++];return n},Nt=!!K&&i(function(){dt.call(new K(1))}),It=function(){return dt.apply(Nt?lt.call(St(this)):St(this),arguments)},Rt={copyWithin:function(t,e){return F.call(St(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(St(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return L.apply(St(this),arguments)},filter:function(t){return Mt(this,H(St(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return J(St(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(St(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){Y(St(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(St(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(St(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return ct.apply(St(this),arguments)},lastIndexOf:function(t){return at.apply(St(this),arguments)},map:function(t){return wt(St(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(St(this),arguments)},reduceRight:function(t){return st.apply(St(this),arguments)},reverse:function(){for(var t,e=this,n=St(e).length,r=Math.floor(n/2),o=0;o<r;)t=e[o],e[o++]=e[--n],e[n]=t;return e},some:function(t){return Q(St(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return ft.call(St(this),t)},subarray:function(t,e){var n=St(this),r=n.length,o=y(t,r);return new(N(n,n[yt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,v((void 0===e?r:y(e,r))-o))}},Tt=function(t,e){return Mt(this,lt.call(St(this),t,e))},jt=function(t){St(this);var e=Et(arguments[1],1),n=this.length,r=x(t),o=v(r.length),i=0;if(o+e>n)throw q(\"Wrong length!\");for(;i<o;)this[e+i]=r[i++]},Lt={entries:function(){return it.call(St(this))},keys:function(){return ot.call(St(this))},values:function(){return rt.call(St(this))}},Ft=function(t,e){return w(t)&&t[bt]&&\"symbol\"!=typeof e&&e in t&&String(+e)==String(e)},Ut=function(t,e){return Ft(t,e=m(e,!0))?l(2,t[e]):$(t,e)},zt=function(t,e,n){return!(Ft(t,e=m(e,!0))&&w(n)&&b(n,\"value\"))||b(n,\"get\")||b(n,\"set\")||n.configurable||b(n,\"writable\")&&!n.writable||b(n,\"enumerable\")&&!n.enumerable?B(t,e,n):(t[e]=n.value,t)};mt||(z.f=Ut,U.f=zt),a(a.S+a.F*!mt,\"Object\",{getOwnPropertyDescriptor:Ut,defineProperty:zt}),i(function(){pt.call({})})&&(pt=dt=function(){return ct.call(this)});var Bt=d({},Rt);d(Bt,Lt),p(Bt,ht,Lt.values),d(Bt,{slice:Tt,set:jt,constructor:function(){},toString:pt,toLocaleString:It}),kt(Bt,\"buffer\",\"b\"),kt(Bt,\"byteOffset\",\"o\"),kt(Bt,\"byteLength\",\"l\"),kt(Bt,\"length\",\"e\"),B(Bt,vt,{get:function(){return this[bt]}}),t.exports=function(t,e,n,s){s=!!s;var c=t+(s?\"Clamped\":\"\")+\"Array\",l=\"get\"+t,d=\"set\"+t,h=o[c],y=h||{},m=h&&S(h),b=!h||!u.ABV,x={},O=h&&h.prototype,M=function(t,n){var r=t._d;return r.v[l](n*e+r.o,xt)},A=function(t,n,r){var o=t._d;s&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),o.v[d](n*e+o.o,r,xt)},k=function(t,e){B(t,e,{get:function(){return M(this,e)},set:function(t){return A(this,e,t)},enumerable:!0})};b?(h=n(function(t,n,r,o){f(t,h,c,\"_d\");var i,a,u,s,l=0,d=0;if(w(n)){if(!(n instanceof G||\"ArrayBuffer\"==(s=_(n))||\"SharedArrayBuffer\"==s))return bt in n?At(h,n):Dt.call(h,n);i=n,d=Et(r,e);var y=n.byteLength;if(void 0===o){if(y%e)throw q(\"Wrong length!\");if((a=y-d)<0)throw q(\"Wrong length!\")}else if((a=v(o)*e)+d>y)throw q(\"Wrong length!\");u=a/e}else u=g(n),a=u*e,i=new G(a);for(p(t,\"_d\",{b:i,o:d,l:a,e:u,v:new X(i)});l<u;)k(t,l++)}),O=h.prototype=E(Bt),p(O,\"constructor\",h)):i(function(){h(1)})&&i(function(){new h(-1)})&&T(function(t){new h,new h(null),new h(1.5),new h(t)},!0)||(h=n(function(t,n,r,o){f(t,h,c);var i;return w(n)?n instanceof G||\"ArrayBuffer\"==(i=_(n))||\"SharedArrayBuffer\"==i?void 0!==o?new y(n,Et(r,e),o):void 0!==r?new y(n,Et(r,e)):new y(n):bt in n?At(h,n):Dt.call(h,n):new y(g(n))}),Y(m!==Function.prototype?P(y).concat(P(m)):P(y),function(t){t in h||p(h,t,y[t])}),h.prototype=O,r||(O.constructor=h));var D=O[ht],C=!!D&&(\"values\"==D.name||void 0==D.name),N=Lt.values;p(h,gt,!0),p(O,bt,c),p(O,_t,!0),p(O,yt,h),(s?new h(1)[vt]==c:vt in O)||B(O,vt,{get:function(){return c}}),x[c]=h,a(a.G+a.W+a.F*(h!=y),x),a(a.S,c,{BYTES_PER_ELEMENT:e}),a(a.S+a.F*i(function(){y.of.call(h,1)}),c,{from:Dt,of:Ct}),\"BYTES_PER_ELEMENT\"in O||p(O,\"BYTES_PER_ELEMENT\",e),a(a.P,c,Rt),j(c),a(a.P+a.F*Ot,c,{set:jt}),a(a.P+a.F*!C,c,Lt),r||O.toString==pt||(O.toString=pt),a(a.P+a.F*i(function(){new h(1).slice()}),c,{slice:Tt}),a(a.P+a.F*(i(function(){return[1,2].toLocaleString()!=new h([1,2]).toLocaleString()})||!i(function(){O.toLocaleString.call([1,2])})),c,{toLocaleString:It}),R[c]=C?D:N,r||C||p(O,ht,N)}}else t.exports=function(){}},\"7Jvp\":function(t,e,n){function r(t){return isFinite(t=+t)&&0!=t?t<0?-r(-t):Math.log(t+Math.sqrt(t*t+1)):t}var o=n(\"Ds5P\"),i=Math.asinh;o(o.S+o.F*!(i&&1/i(0)>0),\"Math\",{asinh:r})},\"7KvD\":function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},\"7O1s\":function(t,e,n){var r=n(\"DIVP\"),o=n(\"XSOZ\"),i=n(\"kkCw\")(\"species\");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},\"7UMu\":function(t,e,n){var r=n(\"R9M2\");t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},\"7gX0\":function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},\"7ylX\":function(t,e,n){var r=n(\"DIVP\"),o=n(\"twxM\"),i=n(\"QKXm\"),a=n(\"mZON\")(\"IE_PROTO\"),u=function(){},s=function(){var t,e=n(\"jhxf\")(\"iframe\"),r=i.length;for(e.style.display=\"none\",n(\"d075\").appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),s=t.F;r--;)delete s.prototype[i[r]];return s()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=s(),void 0===e?n:o(n,e)}},\"81dZ\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"d075\"),i=n(\"ydD5\"),a=n(\"zo/l\"),u=n(\"BbyF\"),s=[].slice;r(r.P+r.F*n(\"zgIt\")(function(){o&&s.call(o)}),\"Array\",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,\"Array\"==r)return s.call(this,t,e);for(var o=a(t,n),c=a(e,n),f=u(c-o),l=new Array(f),p=0;p<f;p++)l[p]=\"String\"==r?this.charAt(o+p):this[o+p];return l}})},\"82Mu\":function(t,e,n){var r=n(\"7KvD\"),o=n(\"L42u\").set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,s=\"process\"==n(\"R9M2\")(a);t.exports=function(){var t,e,n,c=function(){var r,o;for(s&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(c)}}else n=function(){o.call(r,c)};else{var l=!0,p=document.createTextNode(\"\");new i(c).observe(p,{characterData:!0}),n=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},\"82of\":function(t,e,n){\"use strict\";n(\"y325\")(\"fontcolor\",function(t){return function(e){return t(this,\"font\",\"color\",e)}})},\"880/\":function(t,e,n){t.exports=n(\"hJx8\")},\"8D8H\":function(t,e,n){var r=n(\"oeih\"),o=n(\"BbyF\");t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError(\"Wrong length!\");return n}},\"8Np7\":function(t,e,n){\"use strict\";n(\"y325\")(\"anchor\",function(t){return function(e){return t(this,\"a\",\"name\",e)}})},\"8WbS\":function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=n(\"KOrd\"),a=r.has,u=r.key,s=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&s(t,r,n)};r.exp({hasMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},\"8fhx\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FryR\"),i=n(\"s4j0\");r(r.P+r.F*n(\"zgIt\")(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function(t){var e=o(this),n=i(e);return\"number\"!=typeof n||isFinite(n)?e.toISOString():null}})},\"8qzu\":function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"WlpS\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=function(t){return t&&t.__esModule?t:{default:t}}(n),o=function(){return r.default.Date.now()};e.default=o,t.exports=e.default})},\"8t38\":function(t,e,n){var r=n(\"OzIq\").parseFloat,o=n(\"Ymdd\").trim;t.exports=1/r(n(\"Xduv\")+\"-0\")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&\"-\"==e.charAt(0)?-0:n}:r},\"94VQ\":function(t,e,n){\"use strict\";var r=n(\"Yobk\"),o=n(\"X8DO\"),i=n(\"e6n0\"),a={};n(\"hJx8\")(a,n(\"dSzd\")(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+\" Iterator\")}},\"9GpA\":function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t}},\"9Yib\":function(t,e,n){n(\"3g/S\")(\"asyncIterator\")},\"9mGU\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"DIVP\"),i=Object.preventExtensions;r(r.S,\"Reflect\",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},\"9mmO\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"07k+\"),i=n(\"LrcN\"),a=n(\"DIVP\"),u=n(\"zo/l\"),s=n(\"BbyF\"),c=n(\"UKM+\"),f=n(\"OzIq\").ArrayBuffer,l=n(\"7O1s\"),p=i.ArrayBuffer,d=i.DataView,h=o.ABV&&f.isView,v=p.prototype.slice,g=o.VIEW;r(r.G+r.W+r.F*(f!==p),{ArrayBuffer:p}),r(r.S+r.F*!o.CONSTR,\"ArrayBuffer\",{isView:function(t){return h&&h(t)||c(t)&&g in t}}),r(r.P+r.U+r.F*n(\"zgIt\")(function(){return!new p(2).slice(1,void 0).byteLength}),\"ArrayBuffer\",{slice:function(t,e){if(void 0!==v&&void 0===e)return v.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,p))(s(o-r)),c=new d(this),f=new d(i),h=0;r<o;)f.setUint8(h++,c.getUint8(r++));return i}}),n(\"CEne\")(\"ArrayBuffer\")},\"9vb1\":function(t,e,n){var r=n(\"bN1p\"),o=n(\"kkCw\")(\"iterator\"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},\"9vc3\":function(t,e,n){var r=n(\"Ds5P\");r(r.P,\"Array\",{copyWithin:n(\"DPsE\")}),n(\"RhFG\")(\"copyWithin\")},\"9xIj\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"x78i\");r(r.S+r.F*(o!=Math.expm1),\"Math\",{expm1:o})},\"A0n/\":function(t,e,n){\"use strict\";var r=n(\"OzIq\"),o=n(\"WBcL\"),i=n(\"bUqO\"),a=n(\"Ds5P\"),u=n(\"R3AP\"),s=n(\"1aA0\").KEY,c=n(\"zgIt\"),f=n(\"VWgF\"),l=n(\"yYvK\"),p=n(\"ulTY\"),d=n(\"kkCw\"),h=n(\"M8WE\"),v=n(\"3g/S\"),g=n(\"C+Ps\"),y=n(\"XO1R\"),m=n(\"DIVP\"),b=n(\"UKM+\"),_=n(\"PHqh\"),w=n(\"s4j0\"),x=n(\"fU25\"),O=n(\"7ylX\"),E=n(\"bG/2\"),S=n(\"x9zv\"),P=n(\"lDLk\"),M=n(\"Qh14\"),A=S.f,k=P.f,D=E.f,C=r.Symbol,N=r.JSON,I=N&&N.stringify,R=d(\"_hidden\"),T=d(\"toPrimitive\"),j={}.propertyIsEnumerable,L=f(\"symbol-registry\"),F=f(\"symbols\"),U=f(\"op-symbols\"),z=Object.prototype,B=\"function\"==typeof C,$=r.QObject,q=!$||!$.prototype||!$.prototype.findChild,W=i&&c(function(){return 7!=O(k({},\"a\",{get:function(){return k(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=A(z,e);r&&delete z[e],k(t,e,n),r&&t!==z&&k(z,e,r)}:k,K=function(t){var e=F[t]=O(C.prototype);return e._k=t,e},V=B&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},G=function(t,e,n){return t===z&&G(U,e,n),m(t),e=w(e,!0),m(n),o(F,e)?(n.enumerable?(o(t,R)&&t[R][e]&&(t[R][e]=!1),n=O(n,{enumerable:x(0,!1)})):(o(t,R)||k(t,R,x(1,{})),t[R][e]=!0),W(t,e,n)):k(t,e,n)},X=function(t,e){m(t);for(var n,r=g(e=_(e)),o=0,i=r.length;i>o;)G(t,n=r[o++],e[n]);return t},Y=function(t,e){return void 0===e?O(t):X(O(t),e)},H=function(t){var e=j.call(this,t=w(t,!0));return!(this===z&&o(F,t)&&!o(U,t))&&(!(e||!o(this,t)||!o(F,t)||o(this,R)&&this[R][t])||e)},Q=function(t,e){if(t=_(t),e=w(e,!0),t!==z||!o(F,e)||o(U,e)){var n=A(t,e);return!n||!o(F,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},Z=function(t){for(var e,n=D(_(t)),r=[],i=0;n.length>i;)o(F,e=n[i++])||e==R||e==s||r.push(e);return r},J=function(t){for(var e,n=t===z,r=D(n?U:_(t)),i=[],a=0;r.length>a;)!o(F,e=r[a++])||n&&!o(z,e)||i.push(F[e]);return i};B||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===z&&e.call(U,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),W(this,t,x(1,n))};return i&&q&&W(z,t,{configurable:!0,set:e}),K(t)},u(C.prototype,\"toString\",function(){return this._k}),S.f=Q,P.f=G,n(\"WcO1\").f=E.f=Z,n(\"Y1aA\").f=H,n(\"Y1N3\").f=J,i&&!n(\"V3l/\")&&u(z,\"propertyIsEnumerable\",H,!0),h.f=function(t){return K(d(t))}),a(a.G+a.W+a.F*!B,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)d(tt[et++]);for(var nt=M(d.store),rt=0;nt.length>rt;)v(nt[rt++]);a(a.S+a.F*!B,\"Symbol\",{for:function(t){return o(L,t+=\"\")?L[t]:L[t]=C(t)},keyFor:function(t){if(!V(t))throw TypeError(t+\" is not a symbol!\");for(var e in L)if(L[e]===t)return e},useSetter:function(){q=!0},useSimple:function(){q=!1}}),a(a.S+a.F*!B,\"Object\",{create:Y,defineProperty:G,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:Z,getOwnPropertySymbols:J}),N&&a(a.S+a.F*(!B||c(function(){var t=C();return\"[null]\"!=I([t])||\"{}\"!=I({a:t})||\"{}\"!=I(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(b(e)||void 0!==t)&&!V(t))return y(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!V(e))return e}),r[1]=e,I.apply(N,r)}}),C.prototype[T]||n(\"2p1q\")(C.prototype,T,C.prototype.valueOf),l(C,\"Symbol\"),l(Math,\"Math\",!0),l(r.JSON,\"JSON\",!0)},A16L:function(t,e,n){var r=n(\"R3AP\");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},A1ng:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"n982\"),i=Math.abs;r(r.S,\"Number\",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},A52B:function(t,e,n){var r=n(\"x9zv\"),o=n(\"Ds5P\"),i=n(\"DIVP\");o(o.S,\"Reflect\",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},AkTE:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FryR\"),i=n(\"s4j0\"),a=n(\"KOrd\"),u=n(\"x9zv\").f;n(\"bUqO\")&&r(r.P+n(\"dm6P\"),\"Object\",{__lookupSetter__:function(t){var e,n=o(this),r=i(t,!0);do{if(e=u(n,r))return e.set}while(n=a(n))}})},B3Xn:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{imulh:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r,a=n>>16,u=r>>16,s=(a*i>>>0)+(o*i>>>16);return a*u+(s>>16)+((o*u>>>0)+(65535&s)>>16)}})},BOYP:function(t,e,n){n(\"0j1G\")(\"WeakSet\")},BbyF:function(t,e,n){var r=n(\"oeih\"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},BwfY:function(t,e,n){n(\"fWfb\"),n(\"M6a0\"),n(\"OYls\"),n(\"QWe/\"),t.exports=n(\"FeBl\").Symbol},\"C+4B\":function(t,e,n){var r=n(\"PHqh\"),o=n(\"x9zv\").f;n(\"3i66\")(\"getOwnPropertyDescriptor\",function(){return function(t,e){return o(r(t),e)}})},\"C+Ps\":function(t,e,n){var r=n(\"Qh14\"),o=n(\"Y1N3\"),i=n(\"Y1aA\");t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),s=i.f,c=0;u.length>c;)s.call(t,a=u[c++])&&e.push(a);return e}},\"CEO+\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(0),i=n(\"NNrz\")([].forEach,!0);r(r.P+r.F*!i,\"Array\",{forEach:function(t){return o(this,t,arguments[1])}})},CEne:function(t,e,n){\"use strict\";var r=n(\"OzIq\"),o=n(\"lDLk\"),i=n(\"bUqO\"),a=n(\"kkCw\")(\"species\");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},\"CVR+\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"XSOZ\"),i=n(\"DIVP\"),a=(n(\"OzIq\").Reflect||{}).apply,u=Function.apply;r(r.S+r.F*!n(\"zgIt\")(function(){a(function(){})}),\"Reflect\",{apply:function(t,e,n){var r=o(t),s=i(n);return a?a(r,e,s):u.call(r,e,s)}})},CXw9:function(t,e,n){\"use strict\";var r,o,i,a,u=n(\"O4g8\"),s=n(\"7KvD\"),c=n(\"+ZMJ\"),f=n(\"RY/4\"),l=n(\"kM2E\"),p=n(\"EqjI\"),d=n(\"lOnJ\"),h=n(\"2KxR\"),v=n(\"NWt+\"),g=n(\"t8x9\"),y=n(\"L42u\").set,m=n(\"82Mu\")(),b=n(\"qARP\"),_=n(\"dNDb\"),w=n(\"iUbK\"),x=n(\"fJUb\"),O=s.TypeError,E=s.process,S=E&&E.versions,P=S&&S.v8||\"\",M=s.Promise,A=\"process\"==f(E),k=function(){},D=o=b.f,C=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[n(\"dSzd\")(\"species\")]=function(t){t(k,k)};return(A||\"function\"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e&&0!==P.indexOf(\"6.6\")&&-1===w.indexOf(\"Chrome/66\")}catch(t){}}(),N=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},I=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var r=t._v,o=1==t._s,i=0;n.length>i;)!function(e){var n,i,a,u=o?e.ok:e.fail,s=e.resolve,c=e.reject,f=e.domain;try{u?(o||(2==t._h&&j(t),t._h=1),!0===u?n=r:(f&&f.enter(),n=u(r),f&&(f.exit(),a=!0)),n===e.promise?c(O(\"Promise-chain cycle\")):(i=N(n))?i.call(n,s,c):s(n)):c(r)}catch(t){f&&!a&&f.exit(),c(t)}}(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){y.call(s,function(){var e,n,r,o=t._v,i=T(t);if(i&&(e=_(function(){A?E.emit(\"unhandledRejection\",o,t):(n=s.onunhandledrejection)?n({promise:t,reason:o}):(r=s.console)&&r.error&&r.error(\"Unhandled promise rejection\",o)}),t._h=A||T(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},T=function(t){return 1!==t._h&&0===(t._a||t._c).length},j=function(t){y.call(s,function(){var e;A?E.emit(\"rejectionHandled\",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},L=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),I(e,!0))},F=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw O(\"Promise can't be resolved itself\");(e=N(t))?m(function(){var r={_w:n,_d:!1};try{e.call(t,c(F,r,1),c(L,r,1))}catch(t){L.call(r,t)}}):(n._v=t,n._s=1,I(n,!1))}catch(t){L.call({_w:n,_d:!1},t)}}};C||(M=function(t){h(this,M,\"Promise\",\"_h\"),d(t),r.call(this);try{t(c(F,this,1),c(L,this,1))}catch(t){L.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(\"xH/j\")(M.prototype,{then:function(t,e){var n=D(g(this,M));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=A?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=c(F,t,1),this.reject=c(L,t,1)},b.f=D=function(t){return t===M||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!C,{Promise:M}),n(\"e6n0\")(M,\"Promise\"),n(\"bRrM\")(\"Promise\"),a=n(\"FeBl\").Promise,l(l.S+l.F*!C,\"Promise\",{reject:function(t){var e=D(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!C),\"Promise\",{resolve:function(t){return x(u&&this===a?M:this,t)}}),l(l.S+l.F*!(C&&n(\"dY0y\")(function(t){M.all(t).catch(k)})),\"Promise\",{all:function(t){var e=this,n=D(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;v(t,!1,function(t){var u=i++,s=!1;n.push(void 0),a++,e.resolve(t).then(function(t){s||(s=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=D(e),r=n.reject,o=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},Cdx3:function(t,e,n){var r=n(\"sB3e\"),o=n(\"lktj\");n(\"uqUo\")(\"keys\",function(){return function(t){return o(r(t))}})},CvWX:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"BbyF\"),i=n(\"kqpo\"),a=\"\".startsWith;r(r.P+r.F*n(\"1ETD\")(\"startsWith\"),\"String\",{startsWith:function(t){var e=i(this,t,\"startsWith\"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},D2L2:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},DIVP:function(t,e,n){var r=n(\"UKM+\");t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},DPsE:function(t,e,n){\"use strict\";var r=n(\"FryR\"),o=n(\"zo/l\"),i=n(\"BbyF\");t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),s=o(e,a),c=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===c?a:o(c,a))-s,a-u),l=1;for(s<u&&u<s+f&&(l=-1,s+=f-1,u+=f-1);f-- >0;)s in n?n[u]=n[s]:delete n[u],u+=l,s+=l;return n}},DQfQ:function(t,e,n){var r=n(\"Ds5P\");r(r.G,{global:n(\"OzIq\")})},Dgii:function(t,e,n){\"use strict\";var r=n(\"lDLk\").f,o=n(\"7ylX\"),i=n(\"A16L\"),a=n(\"rFzY\"),u=n(\"9GpA\"),s=n(\"vmSO\"),c=n(\"uc2A\"),f=n(\"KB1o\"),l=n(\"CEne\"),p=n(\"bUqO\"),d=n(\"1aA0\").fastKey,h=n(\"zq/X\"),v=p?\"_s\":\"size\",g=function(t,e){var n,r=d(e);if(\"F\"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,c){var f=t(function(t,r){u(t,f,e,\"_i\"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[v]=0,void 0!=r&&s(r,n,t[c],t)});return i(f.prototype,{clear:function(){for(var t=h(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[v]=0},delete:function(t){var n=h(this,e),r=g(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[v]--}return!!r},forEach:function(t){h(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!g(h(this,e),t)}}),p&&r(f.prototype,\"size\",{get:function(){return h(this,e)[v]}}),f},def:function(t,e,n){var r,o,i=g(t,e);return i?i.v=n:(t._l=i={i:o=d(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[v]++,\"F\"!==o&&(t._i[o]=i)),t},getEntry:g,setStrong:function(t,e,n){c(t,e,function(t,n){this._t=h(t,e),this._k=n,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?\"keys\"==e?f(0,n.k):\"values\"==e?f(0,n.v):f(0,[n.k,n.v]):(t._t=void 0,f(1))},n?\"entries\":\"values\",!n,!0),l(e)}}},Ds5P:function(t,e,n){var r=n(\"OzIq\"),o=n(\"7gX0\"),i=n(\"2p1q\"),a=n(\"R3AP\"),u=n(\"rFzY\"),s=function(t,e,n){var c,f,l,p,d=t&s.F,h=t&s.G,v=t&s.S,g=t&s.P,y=t&s.B,m=h?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=h?o:o[e]||(o[e]={}),_=b.prototype||(b.prototype={});h&&(n=e);for(c in n)f=!d&&m&&void 0!==m[c],l=(f?m:n)[c],p=y&&f?u(l,r):g&&\"function\"==typeof l?u(Function.call,l):l,m&&a(m,c,l,t&s.U),b[c]!=l&&i(b,c,p),g&&_[c]!=l&&(_[c]=l)};r.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},DuR2:function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},EGZi:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},EWrS:function(t,e,n){\"use strict\";n(\"y325\")(\"sub\",function(t){return function(){return t(this,\"sub\",\"\",\"\")}})},\"EZ+5\":function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=n(\"XSOZ\"),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},\"EZG+\":function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"WlpS\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=function(t){return t&&t.__esModule?t:{default:t}}(n),o=r.default.Symbol;e.default=o,t.exports=e.default})},EqBC:function(t,e,n){\"use strict\";var r=n(\"kM2E\"),o=n(\"FeBl\"),i=n(\"7KvD\"),a=n(\"t8x9\"),u=n(\"fJUb\");r(r.P+r.R,\"Promise\",{finally:function(t){var e=a(this,o.Promise||i.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},EqjI:function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},EuXz:function(t,e,n){var r=n(\"lDLk\").f,o=Function.prototype,i=/^\\s*function ([^ (]*)/;\"name\"in o||n(\"bUqO\")&&r(o,\"name\",{configurable:!0,get:function(){try{return(\"\"+this).match(i)[1]}catch(t){return\"\"}}})},EvFb:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"8t38\");r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},F1ui:function(t,e,n){var r=n(\"Ds5P\"),o=Math.PI/180;r(r.S,\"Math\",{radians:function(t){return t*o}})},F3sI:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"PHqh\"),i=n(\"BbyF\");r(r.S,\"String\",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u<r&&a.push(String(arguments[u]));return a.join(\"\")}})},FKfb:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"lKE8\")(!0);r(r.S,\"Object\",{entries:function(t){return o(t)}})},\"FZ+f\":function(t,e){function n(t,e){var n=t[1]||\"\",o=t[3];if(!o)return n;if(e&&\"function\"==typeof btoa){var i=r(o);return[n].concat(o.sources.map(function(t){return\"/*# sourceURL=\"+o.sourceRoot+t+\" */\"})).concat([i]).join(\"\\n\")}return[n].join(\"\\n\")}function r(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?\"@media \"+e[2]+\"{\"+r+\"}\":r}).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var r={},o=0;o<this.length;o++){var i=this[o][0];\"number\"==typeof i&&(r[i]=!0)}for(o=0;o<t.length;o++){var a=t[o];\"number\"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),e.push(a))}},e}},FaZr:function(t,e,n){\"use strict\";n(\"pd+2\");var r=n(\"DIVP\"),o=n(\"0pGU\"),i=n(\"bUqO\"),a=/./.toString,u=function(t){n(\"R3AP\")(RegExp.prototype,\"toString\",t,!0)};n(\"zgIt\")(function(){return\"/a/b\"!=a.call({source:\"a\",flags:\"b\"})})?u(function(){var t=r(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):\"toString\"!=a.name&&u(function(){return a.call(this)})},FeBl:function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},FkIZ:function(t,e,n){var r=n(\"XSOZ\"),o=n(\"FryR\"),i=n(\"Q6Nf\"),a=n(\"BbyF\");t.exports=function(t,e,n,u,s){r(e);var c=o(t),f=i(c),l=a(c.length),p=s?l-1:0,d=s?-1:1;if(n<2)for(;;){if(p in f){u=f[p],p+=d;break}if(p+=d,s?p<0:l<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;s?p>=0:l>p;p+=d)p in f&&(u=e(u,f[p],p,c));return u}},FryR:function(t,e,n){var r=n(\"/whu\");t.exports=function(t){return Object(r(t))}},GdJY:function(t,e){t.exports=function(t){var e={literal:\"true false null\"},n=[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],r=[t.QUOTE_STRING_MODE,t.C_NUMBER_MODE],o={end:\",\",endsWithParent:!0,excludeEnd:!0,contains:r,keywords:e},i={begin:\"{\",end:\"}\",contains:[{className:\"attr\",begin:/\"/,end:/\"/,contains:[t.BACKSLASH_ESCAPE],illegal:\"\\\\n\"},t.inherit(o,{begin:/:/})].concat(n),illegal:\"\\\\S\"},a={begin:\"\\\\[\",end:\"\\\\]\",contains:[t.inherit(o)],illegal:\"\\\\S\"};return r.push(i,a),n.forEach(function(t){r.push(t)}),{contains:r,keywords:e,illegal:\"\\\\S\"}}},Gh7F:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"kqpo\");r(r.P+r.F*n(\"1ETD\")(\"includes\"),\"String\",{includes:function(t){return!!~o(this,t,\"includes\").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},H0mh:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},H7zx:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{signbit:function(t){return(t=+t)!=t?t:0==t?1/t==1/0:t>0}})},Hhm4:function(t,e,n){var r=n(\"Ds5P\");r(r.S+r.F*!n(\"bUqO\"),\"Object\",{defineProperties:n(\"twxM\")})},\"Hl+4\":function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{sign:n(\"cwmK\")})},IFpc:function(t,e,n){\"use strict\";function r(t,e,n,c,f,l,p,d){for(var h,v,g=f,y=0,m=!!p&&u(p,d,3);y<c;){if(y in n){if(h=m?m(n[y],y,e):n[y],v=!1,i(h)&&(v=h[s],v=void 0!==v?!!v:o(h)),v&&l>0)g=r(t,e,h,a(h.length),g,l-1)-1;else{if(g>=9007199254740991)throw TypeError();t[g]=h}g++}y++}return g}var o=n(\"XO1R\"),i=n(\"UKM+\"),a=n(\"BbyF\"),u=n(\"rFzY\"),s=n(\"kkCw\")(\"isConcatSpreadable\");t.exports=r},IMUI:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Array\",{isArray:n(\"XO1R\")})},IRJ3:function(t,e,n){\"use strict\";var r=n(\"7ylX\"),o=n(\"fU25\"),i=n(\"yYvK\"),a={};n(\"2p1q\")(a,n(\"kkCw\")(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+\" Iterator\")}},IZDm:function(t,e){t.exports=function(t){var e={begin:\"<>\",end:\"</>\"},n={begin:/<[A-Za-z0-9\\\\._:-]+/,end:/\\/[A-Za-z0-9\\\\._:-]+>|\\/>/},r=\"[A-Za-z$_][0-9A-Za-z$_]*\",o={keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},i={className:\"number\",variants:[{begin:\"\\\\b(0[bB][01]+)n?\"},{begin:\"\\\\b(0[oO][0-7]+)n?\"},{begin:t.C_NUMBER_RE+\"n?\"}],relevance:0},a={className:\"subst\",begin:\"\\\\$\\\\{\",end:\"\\\\}\",keywords:o,contains:[]},u={begin:\"html`\",end:\"\",starts:{end:\"`\",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,a],subLanguage:\"xml\"}},s={begin:\"css`\",end:\"\",starts:{end:\"`\",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,a],subLanguage:\"css\"}},c={className:\"string\",begin:\"`\",end:\"`\",contains:[t.BACKSLASH_ESCAPE,a]};a.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,u,s,c,i,t.REGEXP_MODE];var f=a.contains.concat([t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]);return{aliases:[\"js\",\"jsx\",\"mjs\",\"cjs\"],keywords:o,contains:[{className:\"meta\",relevance:10,begin:/^\\s*['\"]use (strict|asm)['\"]/},{className:\"meta\",begin:/^#!/,end:/$/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,u,s,c,t.C_LINE_COMMENT_MODE,t.COMMENT(\"/\\\\*\\\\*\",\"\\\\*/\",{relevance:0,contains:[{className:\"doctag\",begin:\"@[A-Za-z]+\",contains:[{className:\"type\",begin:\"\\\\{\",end:\"\\\\}\",relevance:0},{className:\"variable\",begin:r+\"(?=\\\\s*(-)|$)\",endsParent:!0,relevance:0},{begin:/(?=[^\\n])\\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,i,{begin:/[{,\\n]\\s*/,relevance:0,contains:[{begin:r+\"\\\\s*:\",returnBegin:!0,relevance:0,contains:[{className:\"attr\",begin:r,relevance:0}]}]},{begin:\"(\"+t.RE_STARTERS_RE+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",keywords:\"return throw case\",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:\"function\",begin:\"(\\\\(.*?\\\\)|\"+r+\")\\\\s*=>\",returnBegin:!0,end:\"\\\\s*=>\",contains:[{className:\"params\",variants:[{begin:r},{begin:/\\(\\s*\\)/},{begin:/\\(/,end:/\\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:f}]}]},{className:\"\",begin:/\\s/,end:/\\s*/,skip:!0},{variants:[{begin:e.begin,end:e.end},{begin:n.begin,end:n.end}],subLanguage:\"xml\",contains:[{begin:n.begin,end:n.end,skip:!0,contains:[\"self\"]}]}],relevance:0},{className:\"function\",beginKeywords:\"function\",end:/\\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:r}),{className:\"params\",begin:/\\(/,end:/\\)/,excludeBegin:!0,excludeEnd:!0,contains:f}],illegal:/\\[|%/},{begin:/\\$[(.]/},t.METHOD_GUARD,{className:\"class\",beginKeywords:\"class\",end:/[{;=]/,excludeEnd:!0,illegal:/[:\"\\[\\]]/,contains:[{beginKeywords:\"extends\"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:\"constructor get set\",end:/\\{/,excludeEnd:!0}],illegal:/#(?!!)/}}},Ibhu:function(t,e,n){var r=n(\"D2L2\"),o=n(\"TcQ7\"),i=n(\"vFc/\")(!1),a=n(\"ax3d\")(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);for(;e.length>s;)r(u,n=e[s++])&&(~i(c,n)||c.push(n));return c}},\"J+j9\":function(t,e,n){\"use strict\";n(\"y325\")(\"fixed\",function(t){return function(){return t(this,\"tt\",\"\",\"\")}})},J2ob:function(t,e,n){\"use strict\";n(\"y325\")(\"sup\",function(t){return function(){return t(this,\"sup\",\"\",\"\")}})},JG34:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"DIVP\"),i=Object.isExtensible;r(r.S,\"Reflect\",{isExtensible:function(t){return o(t),!i||i(t)}})},JJ3w:function(t,e,n){n(\"0j1G\")(\"Map\")},K0JP:function(t,e,n){n(\"77Ug\")(\"Int32\",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},KB1o:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},KOrd:function(t,e,n){var r=n(\"WBcL\"),o=n(\"FryR\"),i=n(\"mZON\")(\"IE_PROTO\"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},Kh4W:function(t,e,n){e.f=n(\"dSzd\")},L42u:function(t,e,n){var r,o,i,a=n(\"+ZMJ\"),u=n(\"knuC\"),s=n(\"RPLV\"),c=n(\"ON07\"),f=n(\"7KvD\"),l=f.process,p=f.setImmediate,d=f.clearImmediate,h=f.MessageChannel,v=f.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u(\"function\"==typeof t?t:Function(t),e)},r(g),g},d=function(t){delete y[t]},\"process\"==n(\"R9M2\")(l)?r=function(t){l.nextTick(a(m,t,1))}:v&&v.now?r=function(t){v.now(a(m,t,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&\"function\"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+\"\",\"*\")},f.addEventListener(\"message\",b,!1)):r=\"onreadystatechange\"in c(\"script\")?function(t){s.appendChild(c(\"script\")).onreadystatechange=function(){s.removeChild(this),m.call(t)}}:function(t){setTimeout(a(m,t,1),0)}),t.exports={set:p,clear:d}},LF1K:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"EZG+\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function r(t){var e=a.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var o=u.call(t);return r&&(e?t[s]=n:delete t[s]),o}Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n),i=Object.prototype,a=i.hasOwnProperty,u=i.toString,s=o.default?o.default.toStringTag:void 0;e.default=r,t.exports=e.default})},LG56:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Number\",{isNaN:function(t){return t!=t}})},LKZe:function(t,e,n){var r=n(\"NpIQ\"),o=n(\"X8DO\"),i=n(\"TcQ7\"),a=n(\"MmMw\"),u=n(\"D2L2\"),s=n(\"SfB7\"),c=Object.getOwnPropertyDescriptor;e.f=n(\"+E39\")?c:function(t,e){if(t=i(t),e=a(e,!0),s)try{return c(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},\"LRL/\":function(t,e,n){\"use strict\";n(\"Ymdd\")(\"trimRight\",function(t){return function(){return t(this,2)}},\"trimEnd\")},La7N:function(t,e,n){n(\"0j1G\")(\"WeakMap\")},LhTa:function(t,e,n){var r=n(\"rFzY\"),o=n(\"Q6Nf\"),i=n(\"FryR\"),a=n(\"BbyF\"),u=n(\"plSV\");t.exports=function(t,e){var n=1==t,s=2==t,c=3==t,f=4==t,l=6==t,p=5==t||l,d=e||u;return function(e,u,h){for(var v,g,y=i(e),m=o(y),b=r(u,h,3),_=a(m.length),w=0,x=n?d(e,_):s?d(e,0):void 0;_>w;w++)if((p||w in m)&&(v=m[w],g=b(v,w,y),t))if(n)x[w]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(f)return!1;return l?-1:c||f?f:x}}},LlNE:function(t,e,n){var r=n(\"Ds5P\"),o=Math.exp;r(r.S,\"Math\",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},Lqg1:function(t,e,n){var r=n(\"Ds5P\"),o=Math.imul;r(r.S+r.F*n(\"zgIt\")(function(){return-5!=o(4294967295,5)||2!=o.length}),\"Math\",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},LrcN:function(t,e,n){\"use strict\";function r(t,e,n){var r,o,i,a=new Array(n),u=8*n-e-1,s=(1<<u)-1,c=s>>1,f=23===e?F(2,-24)-F(2,-77):0,l=0,p=t<0||0===t&&1/t<0?1:0;for(t=L(t),t!=t||t===T?(o=t!=t?1:0,r=s):(r=U(z(t)/B),t*(i=F(2,-r))<1&&(r--,i*=2),t+=r+c>=1?f/i:f*F(2,1-c),t*i>=2&&(r++,i/=2),r+c>=s?(o=0,r=s):r+c>=1?(o=(t*i-1)*F(2,e),r+=c):(o=t*F(2,c-1)*F(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<<e|o,u+=e;u>0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*p,a}function o(t,e,n){var r,o=8*n-e-1,i=(1<<o)-1,a=i>>1,u=o-7,s=n-1,c=t[s--],f=127&c;for(c>>=7;u>0;f=256*f+t[s],s--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[s],s--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:c?-T:T;r+=F(2,e),f-=a}return(c?-1:1)*r*F(2,f-e)}function i(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function a(t){return[255&t]}function u(t){return[255&t,t>>8&255]}function s(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function c(t){return r(t,52,8)}function f(t){return r(t,23,4)}function l(t,e,n){P(t[k],e,{get:function(){return this[n]}})}function p(t,e,n,r){var o=+n,i=E(o);if(i+e>t[q])throw R(D);var a=t[$]._b,u=i+t[W],s=a.slice(u,u+e);return r?s:s.reverse()}function d(t,e,n,r,o,i){var a=+n,u=E(a);if(u+e>t[q])throw R(D);for(var s=t[$]._b,c=u+t[W],f=r(+o),l=0;l<e;l++)s[c+l]=f[i?l:e-l-1]}var h=n(\"OzIq\"),v=n(\"bUqO\"),g=n(\"V3l/\"),y=n(\"07k+\"),m=n(\"2p1q\"),b=n(\"A16L\"),_=n(\"zgIt\"),w=n(\"9GpA\"),x=n(\"oeih\"),O=n(\"BbyF\"),E=n(\"8D8H\"),S=n(\"WcO1\").f,P=n(\"lDLk\").f,M=n(\"zCYm\"),A=n(\"yYvK\"),k=\"prototype\",D=\"Wrong index!\",C=h.ArrayBuffer,N=h.DataView,I=h.Math,R=h.RangeError,T=h.Infinity,j=C,L=I.abs,F=I.pow,U=I.floor,z=I.log,B=I.LN2,$=v?\"_b\":\"buffer\",q=v?\"_l\":\"byteLength\",W=v?\"_o\":\"byteOffset\";if(y.ABV){if(!_(function(){C(1)})||!_(function(){new C(-1)})||_(function(){return new C,new C(1.5),new C(NaN),\"ArrayBuffer\"!=C.name})){C=function(t){return w(this,C),new j(E(t))};for(var K,V=C[k]=j[k],G=S(j),X=0;G.length>X;)(K=G[X++])in C||m(C,K,j[K]);g||(V.constructor=C)}var Y=new N(new C(2)),H=N[k].setInt8;Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),!Y.getInt8(0)&&Y.getInt8(1)||b(N[k],{setInt8:function(t,e){H.call(this,t,e<<24>>24)},setUint8:function(t,e){H.call(this,t,e<<24>>24)}},!0)}else C=function(t){w(this,C,\"ArrayBuffer\");var e=E(t);this._b=M.call(new Array(e),0),this[q]=e},N=function(t,e,n){w(this,N,\"DataView\"),w(t,C,\"DataView\");var r=t[q],o=x(e);if(o<0||o>r)throw R(\"Wrong offset!\");if(n=void 0===n?r-o:O(n),o+n>r)throw R(\"Wrong length!\");this[$]=t,this[W]=o,this[q]=n},v&&(l(C,\"byteLength\",\"_l\"),l(N,\"buffer\",\"_b\"),l(N,\"byteLength\",\"_l\"),l(N,\"byteOffset\",\"_o\")),b(N[k],{getInt8:function(t){return p(this,1,t)[0]<<24>>24},getUint8:function(t){return p(this,1,t)[0]},getInt16:function(t){var e=p(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=p(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return i(p(this,4,t,arguments[1]))},getUint32:function(t){return i(p(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return o(p(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return o(p(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){d(this,1,t,a,e)},setUint8:function(t,e){d(this,1,t,a,e)},setInt16:function(t,e){d(this,2,t,u,e,arguments[2])},setUint16:function(t,e){d(this,2,t,u,e,arguments[2])},setInt32:function(t,e){d(this,4,t,s,e,arguments[2])},setUint32:function(t,e){d(this,4,t,s,e,arguments[2])},setFloat32:function(t,e){d(this,4,t,f,e,arguments[2])},setFloat64:function(t,e){d(this,8,t,c,e,arguments[2])}});A(C,\"ArrayBuffer\"),A(N,\"DataView\"),m(N[k],y.VIEW,!0),e.ArrayBuffer=C,e.DataView=N},M6a0:function(t,e){},M8WE:function(t,e,n){e.f=n(\"kkCw\")},MU5D:function(t,e,n){var r=n(\"R9M2\");t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},MfeA:function(t,e,n){n(\"Vg1y\")(\"match\",1,function(t,e,n){return[function(n){\"use strict\";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},Mhyx:function(t,e,n){var r=n(\"/bQp\"),o=n(\"dSzd\")(\"iterator\"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},MjHD:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"x78i\"),i=Math.exp;r(r.S+r.F*n(\"zgIt\")(function(){return-2e-17!=!Math.sinh(-2e-17)}),\"Math\",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},MmMw:function(t,e,n){var r=n(\"EqjI\");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},MsuQ:function(t,e,n){\"use strict\";var r=n(\"Dgii\"),o=n(\"zq/X\");t.exports=n(\"0Rih\")(\"Map\",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,\"Map\"),t);return e&&e.v},set:function(t,e){return r.def(o(this,\"Map\"),0===t?0:t,e)}},r,!0)},MyjO:function(t,e,n){n(\"77Ug\")(\"Uint8\",1,function(t){return function(e,n,r){return t(this,e,n,r)}},!0)},N4KQ:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{log2:function(t){return Math.log(t)/Math.LN2}})},NHaJ:function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=n(\"KOrd\"),a=r.has,u=r.get,s=r.key,c=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?c(t,r,n):void 0};r.exp({getMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:s(arguments[2]))}})},NNrz:function(t,e,n){\"use strict\";var r=n(\"zgIt\");t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},\"NWt+\":function(t,e,n){var r=n(\"+ZMJ\"),o=n(\"msXi\"),i=n(\"Mhyx\"),a=n(\"77Pl\"),u=n(\"QRG4\"),s=n(\"3fs2\"),c={},f={},e=t.exports=function(t,e,n,l,p){var d,h,v,g,y=p?function(){return t}:s(t),m=r(n,l,e?2:1),b=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(i(y)){for(d=u(t.length);d>b;b++)if((g=e?m(a(h=t[b])[0],h[1]):m(t[b]))===c||g===f)return g}else for(v=y.call(t);!(h=v.next()).done;)if((g=o(v,m,h.value,e))===c||g===f)return g};e.BREAK=c,e.RETURN=f},NfZy:function(t,e,n){n(\"77Ug\")(\"Uint32\",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},Nkrw:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(4);r(r.P+r.F*!n(\"NNrz\")([].every,!0),\"Array\",{every:function(t){return o(this,t,arguments[1])}})},No4x:function(t,e,n){var r=n(\"Ds5P\");r(r.P,\"Array\",{fill:n(\"zCYm\")}),n(\"RhFG\")(\"fill\")},NpIQ:function(t,e){e.f={}.propertyIsEnumerable},O4g8:function(t,e){t.exports=!0},ON07:function(t,e,n){var r=n(\"EqjI\"),o=n(\"7KvD\").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},OYls:function(t,e,n){n(\"crlp\")(\"asyncIterator\")},OgTs:function(t,e,n){var r=n(\"OzIq\").parseInt,o=n(\"Ymdd\").trim,i=n(\"Xduv\"),a=/^[-+]?0[xX]/;t.exports=8!==r(i+\"08\")||22!==r(i+\"0x16\")?function(t,e){var n=o(String(t),3);return r(n,e>>>0||(a.test(n)?16:10))}:r},OzIq:function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},PHCx:function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},PHqh:function(t,e,n){var r=n(\"Q6Nf\"),o=n(\"/whu\");t.exports=function(t){return r(o(t))}},PbPd:function(t,e,n){\"use strict\";var r=n(\"UKM+\"),o=n(\"KOrd\"),i=n(\"kkCw\")(\"hasInstance\"),a=Function.prototype;i in a||n(\"lDLk\").f(a,i,{value:function(t){if(\"function\"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},PuTd:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"KOrd\"),i=n(\"DIVP\");r(r.S,\"Reflect\",{getPrototypeOf:function(t){return o(i(t))}})},PzxK:function(t,e,n){var r=n(\"D2L2\"),o=n(\"sB3e\"),i=n(\"ax3d\")(\"IE_PROTO\"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},\"Q/CP\":function(t,e,n){n(\"CEne\")(\"Array\")},Q6Nf:function(t,e,n){var r=n(\"ydD5\");t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},QBuC:function(t,e,n){\"use strict\";var r=n(\"OzIq\"),o=n(\"WBcL\"),i=n(\"ydD5\"),a=n(\"kic5\"),u=n(\"s4j0\"),s=n(\"zgIt\"),c=n(\"WcO1\").f,f=n(\"x9zv\").f,l=n(\"lDLk\").f,p=n(\"Ymdd\").trim,d=r.Number,h=d,v=d.prototype,g=\"Number\"==i(n(\"7ylX\")(v)),y=\"trim\"in String.prototype,m=function(t){var e=u(t,!1);if(\"string\"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,r,o,i=e.charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,s=e.slice(2),c=0,f=s.length;c<f;c++)if((a=s.charCodeAt(c))<48||a>o)return NaN;return parseInt(s,r)}}return+e};if(!d(\" 0o1\")||!d(\"0b1\")||d(\"+0x1\")){d=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof d&&(g?s(function(){v.valueOf.call(n)}):\"Number\"!=i(n))?a(new h(m(e)),n,d):m(e)};for(var b,_=n(\"bUqO\")?c(h):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),w=0;_.length>w;w++)o(h,b=_[w])&&!o(d,b)&&l(d,b,f(h,b));d.prototype=v,v.constructor=d,n(\"R3AP\")(r,\"Number\",d)}},QG7u:function(t,e,n){var r=n(\"vmSO\");t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},QKXm:function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},QRG4:function(t,e,n){var r=n(\"UuGF\"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},QWLi:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"oeih\"),i=n(\"fS0v\"),a=n(\"xAdt\"),u=1..toFixed,s=Math.floor,c=[0,0,0,0,0,0],f=\"Number.toFixed: incorrect invocation!\",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*c[n],c[n]=r%1e7,r=s(r/1e7)},p=function(t){for(var e=6,n=0;--e>=0;)n+=c[e],c[e]=s(n/t),n=n%t*1e7},d=function(){for(var t=6,e=\"\";--t>=0;)if(\"\"!==e||0===t||0!==c[t]){var n=String(c[t]);e=\"\"===e?n:e+a.call(\"0\",7-n.length)+n}return e},h=function(t,e,n){return 0===e?n:e%2==1?h(t,e-1,n*t):h(t*t,e/2,n)},v=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e};r(r.P+r.F*(!!u&&(\"0.000\"!==8e-5.toFixed(3)||\"1\"!==.9.toFixed(0)||\"1.25\"!==1.255.toFixed(2)||\"1000000000000000128\"!==(0xde0b6b3a7640080).toFixed(0))||!n(\"zgIt\")(function(){u.call({})})),\"Number\",{toFixed:function(t){var e,n,r,u,s=i(this,f),c=o(t),g=\"\",y=\"0\";if(c<0||c>20)throw RangeError(f);if(s!=s)return\"NaN\";if(s<=-1e21||s>=1e21)return String(s);if(s<0&&(g=\"-\",s=-s),s>1e-21)if(e=v(s*h(2,69,1))-69,n=e<0?s*h(2,-e,1):s/h(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=c;r>=7;)l(1e7,0),r-=7;for(l(h(10,r,1),0),r=e-1;r>=23;)p(1<<23),r-=23;p(1<<r),l(1,1),p(2),y=d()}else l(0,n),l(1<<-e,0),y=d()+a.call(\"0\",c);return c>0?(u=y.length,y=g+(u<=c?\"0.\"+a.call(\"0\",c-u)+y:y.slice(0,u-c)+\".\"+y.slice(u-c))):y=g+y,y}})},\"QWe/\":function(t,e,n){n(\"crlp\")(\"observable\")},QaEu:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Date\",{now:function(){return(new Date).getTime()}})},QcWB:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"w6Dh\"),i=n(\"SDXa\");r(r.S,\"Promise\",{try:function(t){var e=o.f(this),n=i(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},Qh14:function(t,e,n){var r=n(\"ReGu\"),o=n(\"QKXm\");t.exports=Object.keys||function(t){return r(t,o)}},QzLV:function(t,e,n){var r=n(\"Ds5P\");r(r.S+r.F*!n(\"bUqO\"),\"Object\",{defineProperty:n(\"lDLk\").f})},R1FX:function(t,e){t.exports=function(t){return{aliases:[\"console\"],contains:[{className:\"meta\",begin:\"^\\\\s{0,3}[/\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]\",starts:{end:\"$\",subLanguage:\"bash\"}}]}}},R3AP:function(t,e,n){var r=n(\"OzIq\"),o=n(\"2p1q\"),i=n(\"WBcL\"),a=n(\"ulTY\")(\"src\"),u=Function.toString,s=(\"\"+u).split(\"toString\");n(\"7gX0\").inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var c=\"function\"==typeof n;c&&(i(n,\"name\")||o(n,\"name\",e)),t[e]!==n&&(c&&(i(n,a)||o(n,a,t[e]?\"\"+t[e]:s.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[a]||u.call(this)})},R3KI:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{iaddh:function(t,e,n,r){var o=t>>>0,i=e>>>0,a=n>>>0;return i+(r>>>0)+((o&a|(o|a)&~(o+a>>>0))>>>31)|0}})},R4pa:function(t,e,n){\"use strict\";n(\"y325\")(\"big\",function(t){return function(){return t(this,\"big\",\"\",\"\")}})},R9M2:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},RPLV:function(t,e,n){var r=n(\"7KvD\").document;t.exports=r&&r.documentElement},\"RY/4\":function(t,e,n){var r=n(\"R9M2\"),o=n(\"dSzd\")(\"toStringTag\"),i=\"Arguments\"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=a(e=Object(t),o))?n:i?r(e):\"Object\"==(u=r(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},Racj:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"49qz\")(!1);r(r.P,\"String\",{codePointAt:function(t){return o(this,t)}})},ReGu:function(t,e,n){var r=n(\"WBcL\"),o=n(\"PHqh\"),i=n(\"ot5s\")(!1),a=n(\"mZON\")(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);for(;e.length>s;)r(u,n=e[s++])&&(~i(c,n)||c.push(n));return c}},RhFG:function(t,e,n){var r=n(\"kkCw\")(\"unscopables\"),o=Array.prototype;void 0==o[r]&&n(\"2p1q\")(o,r,{}),t.exports=function(t){o[r][t]=!0}},Rk41:function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+\"\"!=\"Invalid Date\"&&n(\"R3AP\")(r,\"toString\",function(){var t=i.call(this);return t===t?o.call(this):\"Invalid Date\"})},Rrel:function(t,e,n){var r=n(\"TcQ7\"),o=n(\"n0T6\").f,i={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return o(t)}catch(t){return a.slice()}};t.exports.f=function(t){return a&&\"[object Window]\"==i.call(t)?u(t):o(r(t))}},Rw4K:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Reflect\",{ownKeys:n(\"YUr7\")})},Rz2z:function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},\"S+E/\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"OgTs\");r(r.G+r.F*(parseInt!=o),{parseInt:o})},S82l:function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},SDXa:function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},SHe9:function(t,e,n){var r=n(\"wC1N\"),o=n(\"kkCw\")(\"iterator\"),i=n(\"bN1p\");t.exports=n(\"7gX0\").getIteratorMethod=function(t){if(void 0!=t)return t[o]||t[\"@@iterator\"]||i[r(t)]}},SPtU:function(t,e,n){function r(t,e){var n,u,f=arguments.length<3?t:arguments[2];return c(t)===f?t[e]:(n=o.f(t,e))?a(n,\"value\")?n.value:void 0!==n.get?n.get.call(f):void 0:s(u=i(t))?r(u,e,f):void 0}var o=n(\"x9zv\"),i=n(\"KOrd\"),a=n(\"WBcL\"),u=n(\"Ds5P\"),s=n(\"UKM+\"),c=n(\"DIVP\");u(u.S,\"Reflect\",{get:r})},SRCy:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"x78i\"),i=Math.exp;r(r.S,\"Math\",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},\"SU+a\":function(t,e,n){\"use strict\";n(\"y325\")(\"small\",function(t){return function(){return t(this,\"small\",\"\",\"\")}})},Sejc:function(t,e,n){var r,o,i,a=n(\"rFzY\"),u=n(\"PHCx\"),s=n(\"d075\"),c=n(\"jhxf\"),f=n(\"OzIq\"),l=f.process,p=f.setImmediate,d=f.clearImmediate,h=f.MessageChannel,v=f.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u(\"function\"==typeof t?t:Function(t),e)},r(g),g},d=function(t){delete y[t]},\"process\"==n(\"ydD5\")(l)?r=function(t){l.nextTick(a(m,t,1))}:v&&v.now?r=function(t){v.now(a(m,t,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&\"function\"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+\"\",\"*\")},f.addEventListener(\"message\",b,!1)):r=\"onreadystatechange\"in c(\"script\")?function(t){s.appendChild(c(\"script\")).onreadystatechange=function(){s.removeChild(this),m.call(t)}}:function(t){setTimeout(a(m,t,1),0)}),t.exports={set:p,clear:d}},SfB7:function(t,e,n){t.exports=!n(\"+E39\")&&!n(\"S82l\")(function(){return 7!=Object.defineProperty(n(\"ON07\")(\"div\"),\"a\",{get:function(){return 7}}).a})},Stuz:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Number\",{EPSILON:Math.pow(2,-52)})},TFWu:function(t,e,n){n(\"77Ug\")(\"Uint8\",1,function(t){return function(e,n,r){return t(this,e,n,r)}})},THnP:function(t,e,n){n(\"77Ug\")(\"Uint16\",2,function(t){return function(e,n,r){return t(this,e,n,r)}})},TcQ7:function(t,e,n){var r=n(\"MU5D\"),o=n(\"52gC\");t.exports=function(t){return r(o(t))}},\"U+VG\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"ydD5\");r(r.S,\"Error\",{isError:function(t){return\"Error\"===o(t)}})},U5ju:function(t,e,n){n(\"M6a0\"),n(\"zQR9\"),n(\"+tPU\"),n(\"CXw9\"),n(\"EqBC\"),n(\"jKW+\"),t.exports=n(\"FeBl\").Promise},U6qc:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(6),i=\"findIndex\",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,\"Array\",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(\"RhFG\")(i)},UJiG:function(t,e,n){\"use strict\";n(\"y325\")(\"link\",function(t){return function(e){return t(this,\"a\",\"href\",e)}})},\"UKM+\":function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},UbXY:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"Y7Tz\");r(r.P+r.F*(Date.prototype.toISOString!==o),\"Date\",{toISOString:o})},UuGF:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},\"V/H1\":function(t,e,n){\"use strict\";var r=n(\"fJSx\"),o=n(\"zq/X\");n(\"0Rih\")(\"WeakSet\",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,\"WeakSet\"),t,!0)}},r,!1,!0)},V07c:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"+oTD\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function r(t){return t?t.slice(0,(0,o.default)(t)+1).replace(i,\"\"):t}Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n),i=/^\\s+/;e.default=r,t.exports=e.default})},V3HO:function(t,e){t.exports=function(t){return{aliases:[\"md\",\"mkdown\",\"mkd\"],contains:[{className:\"section\",variants:[{begin:\"^#{1,6}\",end:\"$\"},{begin:\"^.+?\\\\n[=-]{2,}$\"}]},{begin:\"<\",end:\">\",subLanguage:\"xml\",relevance:0},{className:\"bullet\",begin:\"^\\\\s*([*+-]|(\\\\d+\\\\.))\\\\s+\"},{className:\"strong\",begin:\"[*_]{2}.+?[*_]{2}\"},{className:\"emphasis\",variants:[{begin:\"\\\\*.+?\\\\*\"},{begin:\"_.+?_\",relevance:0}]},{className:\"quote\",begin:\"^>\\\\s+\",end:\"$\"},{className:\"code\",variants:[{begin:\"^```\\\\w*\\\\s*$\",end:\"^```[ ]*$\"},{begin:\"`.+?`\"},{begin:\"^( {4}|\\\\t)\",end:\"$\",relevance:0}]},{begin:\"^[-\\\\*]{3,}\",end:\"$\"},{begin:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",returnBegin:!0,contains:[{className:\"string\",begin:\"\\\\[\",end:\"\\\\]\",excludeBegin:!0,returnEnd:!0,relevance:0},{className:\"link\",begin:\"\\\\]\\\\(\",end:\"\\\\)\",excludeBegin:!0,excludeEnd:!0},{className:\"symbol\",begin:\"\\\\]\\\\[\",end:\"\\\\]\",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\\[[^\\n]+\\]:/,returnBegin:!0,contains:[{className:\"symbol\",begin:/\\[/,end:/\\]/,excludeBegin:!0,excludeEnd:!0},{className:\"link\",begin:/:\\s*/,end:/$/,excludeBegin:!0}]}]}}},\"V3l/\":function(t,e){t.exports=!1},VTn2:function(t,e,n){var r=n(\"UKM+\"),o=n(\"1aA0\").onFreeze;n(\"3i66\")(\"freeze\",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},\"VU/8\":function(t,e){t.exports=function(t,e,n,r,o){var i,a=t=t||{},u=typeof t.default;\"object\"!==u&&\"function\"!==u||(i=t,a=t.default);var s=\"function\"==typeof a?a.options:a;e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),r&&(s._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},s._ssrRegister=c):n&&(c=n),c){var f=s.functional,l=f?s.render:s.beforeCreate;f?s.render=function(t,e){return c.call(e),l(t,e)}:s.beforeCreate=l?[].concat(l,c):[c]}return{esModule:i,exports:a,options:s}}},VWgF:function(t,e,n){var r=n(\"7gX0\"),o=n(\"OzIq\"),i=o[\"__core-js_shared__\"]||(o[\"__core-js_shared__\"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:r.version,mode:n(\"V3l/\")?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},Vg1y:function(t,e,n){\"use strict\";var r=n(\"2p1q\"),o=n(\"R3AP\"),i=n(\"zgIt\"),a=n(\"/whu\"),u=n(\"kkCw\");t.exports=function(t,e,n){var s=u(t),c=n(a,s,\"\"[t]),f=c[0],l=c[1];i(function(){var e={};return e[s]=function(){return 7},7!=\"\"[t](e)})&&(o(String.prototype,t,f),r(RegExp.prototype,s,2==e?function(t,e){return l.call(t,this,e)}:function(t){return l.call(t,this)}))}},VjuZ:function(t,e,n){n(\"Vg1y\")(\"replace\",2,function(t,e,n){return[function(r,o){\"use strict\";var i=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},\"W/IU\":function(t,e,n){var r=n(\"UKM+\"),o=n(\"1aA0\").onFreeze;n(\"3i66\")(\"seal\",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},W0pi:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},W2nU:function(t,e){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(t){if(f===setTimeout)return setTimeout(t,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(t,0);try{return f(t,0)}catch(e){try{return f.call(null,t,0)}catch(e){return f.call(this,t,0)}}}function i(t){if(l===clearTimeout)return clearTimeout(t);if((l===r||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(t);try{return l(t)}catch(e){try{return l.call(null,t)}catch(e){return l.call(this,t)}}}function a(){v&&d&&(v=!1,d.length?h=d.concat(h):g=-1,h.length&&u())}function u(){if(!v){var t=o(a);v=!0;for(var e=h.length;e;){for(d=h,h=[];++g<e;)d&&d[g].run();g=-1,e=h.length}d=null,v=!1,i(t)}}function s(t,e){this.fun=t,this.array=e}function c(){}var f,l,p=t.exports={};!function(){try{f=\"function\"==typeof setTimeout?setTimeout:n}catch(t){f=n}try{l=\"function\"==typeof clearTimeout?clearTimeout:r}catch(t){l=r}}();var d,h=[],v=!1,g=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new s(t,e)),1!==h.length||v||o(u)},s.prototype.run=function(){this.fun.apply(null,this.array)},p.title=\"browser\",p.browser=!0,p.env={},p.argv=[],p.version=\"\",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error(\"process.binding is not supported\")},p.cwd=function(){return\"/\"},p.chdir=function(t){throw new Error(\"process.chdir is not supported\")},p.umask=function(){return 0}},W4Z6:function(t,e,n){var r=n(\"FryR\"),o=n(\"KOrd\");n(\"3i66\")(\"getPrototypeOf\",function(){return function(t){return o(r(t))}})},WBcL:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},WY8G:function(t,e){t.exports=Math.scale||function(t,e,n,r,o){return 0===arguments.length||t!=t||e!=e||n!=n||r!=r||o!=o?NaN:t===1/0||t===-1/0?t:(t-e)*(o-r)/(n-e)+r}},WcO1:function(t,e,n){var r=n(\"ReGu\"),o=n(\"QKXm\").concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},WgSQ:function(t,e,n){\"use strict\";var r=n(\"RhFG\"),o=n(\"KB1o\"),i=n(\"bN1p\"),a=n(\"PHqh\");t.exports=n(\"uc2A\")(Array,\"Array\",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):\"keys\"==e?o(0,n):\"values\"==e?o(0,t[n]):o(0,[n,t[n]])},\"values\"),i.Arguments=i.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},Wi1D:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"YhKd\"),n(\"8qzu\"),n(\"q9cE\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r,o){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function a(t,e,n){function r(e){var n=m,r=b;return m=b=void 0,E=e,w=t.apply(r,n)}function o(t){return E=t,x=setTimeout(d,e),S?r(t):w}function i(t){var n=t-O,r=t-E,o=e-n;return P?p(o,_-r):o}function a(t){var n=t-O,r=t-E;return void 0===O||n>=e||n<0||P&&r>=_}function d(){var t=(0,s.default)();if(a(t))return h(t);x=setTimeout(d,i(t))}function h(t){return x=void 0,M&&m?r(t):(m=b=void 0,w)}function v(){void 0!==x&&clearTimeout(x),E=0,m=O=b=x=void 0}function g(){return void 0===x?w:h((0,s.default)())}function y(){var t=(0,s.default)(),n=a(t);if(m=arguments,b=this,O=t,n){if(void 0===x)return o(O);if(P)return clearTimeout(x),x=setTimeout(d,e),r(O)}return void 0===x&&(x=setTimeout(d,e)),w}var m,b,_,w,x,O,E=0,S=!1,P=!1,M=!0;if(\"function\"!=typeof t)throw new TypeError(f);return e=(0,c.default)(e)||0,(0,u.default)(n)&&(S=!!n.leading,P=\"maxWait\"in n,_=P?l((0,c.default)(n.maxWait)||0,e):_,M=\"trailing\"in n?!!n.trailing:M),y.cancel=v,y.flush=g,y}Object.defineProperty(e,\"__esModule\",{value:!0});var u=i(n),s=i(r),c=i(o),f=\"Expected a function\",l=Math.max,p=Math.min;e.default=a,t.exports=e.default})},WiIn:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},WlpS:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"pFYg\"),n(\"nSxQ\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var i=o(n),a=o(r),u=\"object\"==(\"undefined\"==typeof self?\"undefined\":(0,i.default)(self))&&self&&self.Object===Object&&self,s=a.default||u||Function(\"return this\")();e.default=s,t.exports=e.default})},WpPb:function(t,e,n){var r=n(\"UKM+\");n(\"3i66\")(\"isFrozen\",function(t){return function(e){return!r(e)||!!t&&t(e)}})},WpTh:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(5),i=!0;\"find\"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,\"Array\",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(\"RhFG\")(\"find\")},Wwne:function(t,e,n){n(\"r2E/\"),t.exports=n(\"7gX0\").RegExp.escape},\"X/Hz\":function(t,e,n){\"use strict\";n(\"y325\")(\"fontsize\",function(t){return function(e){return t(this,\"font\",\"size\",e)}})},X0mE:function(t,e,n){var r,o,i;!function(n,a){o=[t,e],r=a,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e){\"use strict\";function n(t){return o.call(t)}Object.defineProperty(e,\"__esModule\",{value:!0});var r=Object.prototype,o=r.toString;e.default=n,t.exports=e.default})},X6NR:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{clamp:function(t,e,n){return Math.min(n,Math.max(e,t))}})},X7aK:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"DIVP\"),i=function(t){this._t=o(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)};n(\"IRJ3\")(i,\"Object\",function(){var t,e=this,n=e._k;do{if(e._i>=n.length)return{value:void 0,done:!0}}while(!((t=n[e._i++])in e._t));return{value:t,done:!1}}),r(r.S,\"Reflect\",{enumerate:function(t){return new i(t)}})},X8DO:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},XO1R:function(t,e,n){var r=n(\"ydD5\");t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},XSOZ:function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},XXBo:function(t,e,n){var r=n(\"wC1N\"),o=n(\"QG7u\");t.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+\"#toJSON isn't generic\");return o(this)}}},Xc4G:function(t,e,n){var r=n(\"lktj\"),o=n(\"1kS7\"),i=n(\"NpIQ\");t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),s=i.f,c=0;u.length>c;)s.call(t,a=u[c++])&&e.push(a);return e}},Xduv:function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"},XtiL:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Number\",{isInteger:n(\"n982\")})},XvUs:function(t,e,n){var r=n(\"DIVP\");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},Y1N3:function(t,e){e.f=Object.getOwnPropertySymbols},Y1S0:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"BbyF\"),i=n(\"kqpo\"),a=\"\".endsWith;r(r.P+r.F*n(\"1ETD\")(\"endsWith\"),\"String\",{endsWith:function(t){var e=i(this,t,\"endsWith\"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),s=String(t);return a?a.call(e,s,u):e.slice(u-s.length,u)===s}})},Y1aA:function(t,e){e.f={}.propertyIsEnumerable},Y5ex:function(t,e,n){var r=n(\"UKM+\"),o=n(\"1aA0\").onFreeze;n(\"3i66\")(\"preventExtensions\",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},Y7Tz:function(t,e,n){\"use strict\";var r=n(\"zgIt\"),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:\"0\"+t};t.exports=r(function(){return\"0385-07-25T07:06:39.999Z\"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError(\"Invalid time value\");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?\"-\":e>9999?\"+\":\"\";return r+(\"00000\"+Math.abs(e)).slice(r?-6:-4)+\"-\"+a(t.getUTCMonth()+1)+\"-\"+a(t.getUTCDate())+\"T\"+a(t.getUTCHours())+\":\"+a(t.getUTCMinutes())+\":\"+a(t.getUTCSeconds())+\".\"+(n>99?n:\"0\"+a(n))+\"Z\"}:i},YByk:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"pFYg\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function r(t){return null!=t&&\"object\"==(void 0===t?\"undefined\":(0,o.default)(t))}Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r,t.exports=e.default})},YUr7:function(t,e,n){var r=n(\"WcO1\"),o=n(\"Y1N3\"),i=n(\"DIVP\"),a=n(\"OzIq\").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},\"YVn/\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"lKE8\")(!1);r(r.S,\"Object\",{values:function(t){return o(t)}})},Ygg6:function(t,e,n){n(\"iKpr\")(\"Set\")},YhKd:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"pFYg\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n){\"use strict\";function r(t){var e=void 0===t?\"undefined\":(0,o.default)(t);return null!=t&&(\"object\"==e||\"function\"==e)}Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n);e.default=r,t.exports=e.default})},Ymdd:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"/whu\"),i=n(\"zgIt\"),a=n(\"Xduv\"),u=\"[\"+a+\"]\",s=\"​\",c=RegExp(\"^\"+u+u+\"*\"),f=RegExp(u+u+\"*$\"),l=function(t,e,n){var o={},u=i(function(){return!!a[t]()||s[t]()!=s}),c=o[t]=u?e(p):a[t];n&&(o[n]=c),r(r.P+r.F*u,\"String\",o)},p=l.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,\"\")),2&e&&(t=t.replace(f,\"\")),t};t.exports=l},Yobk:function(t,e,n){var r=n(\"77Pl\"),o=n(\"qio6\"),i=n(\"xnc9\"),a=n(\"ax3d\")(\"IE_PROTO\"),u=function(){},s=function(){var t,e=n(\"ON07\")(\"iframe\"),r=i.length;for(e.style.display=\"none\",n(\"RPLV\").appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),s=t.F;r--;)delete s.prototype[i[r]];return s()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=s(),void 0===e?n:o(n,e)}},ZDXm:function(t,e,n){\"use strict\";var r,o=n(\"LhTa\")(0),i=n(\"R3AP\"),a=n(\"1aA0\"),u=n(\"oYd7\"),s=n(\"fJSx\"),c=n(\"UKM+\"),f=n(\"zgIt\"),l=n(\"zq/X\"),p=a.getWeak,d=Object.isExtensible,h=s.ufstore,v={},g=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(t){if(c(t)){var e=p(t);return!0===e?h(l(this,\"WeakMap\")).get(t):e?e[this._i]:void 0}},set:function(t,e){return s.def(l(this,\"WeakMap\"),t,e)}},m=t.exports=n(\"0Rih\")(\"WeakMap\",g,y,s,!0,!0);f(function(){return 7!=(new m).set((Object.freeze||Object)(v),7).get(v)})&&(r=s.getConstructor(g,\"WeakMap\"),u(r.prototype,y),a.NEED=!0,o([\"delete\",\"has\",\"get\",\"set\"],function(t){var e=m.prototype,n=e[t];i(e,t,function(e,o){if(c(e)&&!d(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return\"set\"==t?this:i}return n.call(this,e,o)})}))},ZRJK:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"zgIt\"),i=n(\"fS0v\"),a=1..toPrecision;r(r.P+r.F*(o(function(){return\"1\"!==a.call(1,void 0)})||!o(function(){a.call({})})),\"Number\",{toPrecision:function(t){var e=i(this,\"Number#toPrecision: incorrect invocation!\");return void 0===t?a.call(e):a.call(e,t)}})},ZtwE:function(t,e,n){\"use strict\";var r=n(\"XSOZ\"),o=n(\"UKM+\"),i=n(\"PHCx\"),a=[].slice,u={},s=function(t,e,n){if(!(e in u)){for(var r=[],o=0;o<e;o++)r[o]=\"a[\"+o+\"]\";u[e]=Function(\"F,a\",\"return new F(\"+r.join(\",\")+\")\")}return u[e](t,n)};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),u=function(){var r=n.concat(a.call(arguments));return this instanceof u?s(e,r.length,r):i(e,r,t)};return o(e.prototype)&&(u.prototype=e.prototype),u}},Zzip:function(t,e,n){t.exports={default:n(\"/n6Q\"),__esModule:!0}},aJ2J:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},aM0T:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"g36u\")(),i=n(\"OzIq\").process,a=\"process\"==n(\"ydD5\")(i);r(r.G,{asap:function(t){var e=a&&i.domain;o(e?e.bind(t):t)}})},altv:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"8t38\");r(r.S+r.F*(Number.parseFloat!=o),\"Number\",{parseFloat:o})},arGp:function(t,e,n){var r=n(\"Ds5P\");r(r.P+r.R,\"Set\",{toJSON:n(\"XXBo\")(\"Set\")})},ax3d:function(t,e,n){var r=n(\"e8AB\")(\"keys\"),o=n(\"3Eo+\");t.exports=function(t){return r[t]||(r[t]=o(t))}},\"bG/2\":function(t,e,n){var r=n(\"PHqh\"),o=n(\"WcO1\").f,i={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return o(t)}catch(t){return a.slice()}};t.exports.f=function(t){return a&&\"[object Window]\"==i.call(t)?u(t):o(r(t))}},bN1p:function(t,e){t.exports={}},bRrM:function(t,e,n){\"use strict\";var r=n(\"7KvD\"),o=n(\"FeBl\"),i=n(\"evD5\"),a=n(\"+E39\"),u=n(\"dSzd\")(\"species\");t.exports=function(t){var e=\"function\"==typeof o[t]?o[t]:r[t];a&&e&&!e[u]&&i.f(e,u,{configurable:!0,get:function(){return this}})}},bSML:function(t,e,n){\"use strict\";var r=n(\"lDLk\"),o=n(\"fU25\");t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},bUY0:function(t,e,n){function r(t,e,n){var s,p,d=arguments.length<4?t:arguments[3],h=i.f(f(t),e);if(!h){if(l(p=a(t)))return r(p,e,n,d);h=c(0)}if(u(h,\"value\")){if(!1===h.writable||!l(d))return!1;if(s=i.f(d,e)){if(s.get||s.set||!1===s.writable)return!1;s.value=n,o.f(d,e,s)}else o.f(d,e,c(0,n));return!0}return void 0!==h.set&&(h.set.call(d,n),!0)}var o=n(\"lDLk\"),i=n(\"x9zv\"),a=n(\"KOrd\"),u=n(\"WBcL\"),s=n(\"Ds5P\"),c=n(\"fU25\"),f=n(\"DIVP\"),l=n(\"UKM+\");s(s.S,\"Reflect\",{set:r})},bUqO:function(t,e,n){t.exports=!n(\"zgIt\")(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},beEN:function(t,e,n){\"use strict\";var r=n(\"rFzY\"),o=n(\"Ds5P\"),i=n(\"FryR\"),a=n(\"XvUs\"),u=n(\"9vb1\"),s=n(\"BbyF\"),c=n(\"bSML\"),f=n(\"SHe9\");o(o.S+o.F*!n(\"qkyc\")(function(t){Array.from(t)}),\"Array\",{from:function(t){var e,n,o,l,p=i(t),d=\"function\"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v,y=0,m=f(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),void 0==m||d==Array&&u(m))for(e=s(p.length),n=new d(e);e>y;y++)c(n,y,g?v(p[y],y):p[y]);else for(l=m.call(p),n=new d;!(o=l.next()).done;y++)c(n,y,g?a(l,v,[o.value,y],!0):o.value);return n.length=y,n}})},boo2:function(t,e,n){var r=n(\"UKM+\"),o=n(\"XO1R\"),i=n(\"kkCw\")(\"species\");t.exports=function(t){var e;return o(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},bqOW:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"zo/l\"),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),\"String\",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+\" is not a valid code point\");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join(\"\")}})},crlp:function(t,e,n){var r=n(\"7KvD\"),o=n(\"FeBl\"),i=n(\"O4g8\"),a=n(\"Kh4W\"),u=n(\"evD5\").f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},cwmK:function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},d075:function(t,e,n){var r=n(\"OzIq\").document;t.exports=r&&r.documentElement},dNDb:function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},dSUw:function(t,e,n){\"use strict\";var r=n(\"Dgii\"),o=n(\"zq/X\");t.exports=n(\"0Rih\")(\"Set\",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,\"Set\"),t=0===t?0:t,t)}},r)},dSzd:function(t,e,n){var r=n(\"e8AB\")(\"wks\"),o=n(\"3Eo+\"),i=n(\"7KvD\").Symbol,a=\"function\"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)(\"Symbol.\"+t))}).store=r},dTzs:function(t,e,n){n(\"77Ug\")(\"Float32\",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},dULJ:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"OgTs\");r(r.S+r.F*(Number.parseInt!=o),\"Number\",{parseInt:o})},dY0y:function(t,e,n){var r=n(\"dSzd\")(\"iterator\"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},dich:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"Sejc\");r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},\"dm+7\":function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Reflect\",{has:function(t,e){return e in t}})},dm6P:function(t,e,n){\"use strict\";t.exports=n(\"V3l/\")||!n(\"zgIt\")(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(\"OzIq\")[t]})},dxQb:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FryR\"),i=n(\"XSOZ\"),a=n(\"lDLk\");n(\"bUqO\")&&r(r.P+n(\"dm6P\"),\"Object\",{__defineSetter__:function(t,e){a.f(o(this),t,{set:i(e),enumerable:!0,configurable:!0})}})},e6n0:function(t,e,n){var r=n(\"evD5\").f,o=n(\"D2L2\"),i=n(\"dSzd\")(\"toStringTag\");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},e8AB:function(t,e,n){var r=n(\"FeBl\"),o=n(\"7KvD\"),i=o[\"__core-js_shared__\"]||(o[\"__core-js_shared__\"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:r.version,mode:n(\"O4g8\")?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},eC2H:function(t,e,n){n(\"3i66\")(\"getOwnPropertyNames\",function(){return n(\"bG/2\").f})},eVIH:function(t,e,n){\"use strict\";n(\"y325\")(\"italics\",function(t){return function(){return t(this,\"i\",\"\",\"\")}})},evD5:function(t,e,n){var r=n(\"77Pl\"),o=n(\"SfB7\"),i=n(\"MmMw\"),a=Object.defineProperty;e.f=n(\"+E39\")?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},fJSx:function(t,e,n){\"use strict\";var r=n(\"A16L\"),o=n(\"1aA0\").getWeak,i=n(\"DIVP\"),a=n(\"UKM+\"),u=n(\"9GpA\"),s=n(\"vmSO\"),c=n(\"LhTa\"),f=n(\"WBcL\"),l=n(\"zq/X\"),p=c(5),d=c(6),h=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,e){return p(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var n=y(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=d(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var c=t(function(t,r){u(t,c,e,\"_i\"),t._t=e,t._i=h++,t._l=void 0,void 0!=r&&s(r,n,t[i],t)});return r(c.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(l(this,e)).has(t):n&&f(n,this._i)}}),c},def:function(t,e,n){var r=o(i(e),!0);return!0===r?v(t).set(e,n):r[t._i]=n,t},ufstore:v}},fJUb:function(t,e,n){var r=n(\"77Pl\"),o=n(\"EqjI\"),i=n(\"qARP\");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},fLuG:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"pFYg\"),n(\"wqbf\"),n(\"YByk\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r,o){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function a(t){return\"symbol\"==(void 0===t?\"undefined\":(0,u.default)(t))||(0,c.default)(t)&&(0,s.default)(t)==f}Object.defineProperty(e,\"__esModule\",{value:!0});var u=i(n),s=i(r),c=i(o),f=\"[object Symbol]\";e.default=a,t.exports=e.default})},fOdq:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(2);r(r.P+r.F*!n(\"NNrz\")([].filter,!0),\"Array\",{filter:function(t){return o(this,t,arguments[1])}})},fS0v:function(t,e,n){var r=n(\"ydD5\");t.exports=function(t,e){if(\"number\"!=typeof t&&\"Number\"!=r(t))throw TypeError(e);return+t}},fU25:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},fWfb:function(t,e,n){\"use strict\";var r=n(\"7KvD\"),o=n(\"D2L2\"),i=n(\"+E39\"),a=n(\"kM2E\"),u=n(\"880/\"),s=n(\"06OY\").KEY,c=n(\"S82l\"),f=n(\"e8AB\"),l=n(\"e6n0\"),p=n(\"3Eo+\"),d=n(\"dSzd\"),h=n(\"Kh4W\"),v=n(\"crlp\"),g=n(\"Xc4G\"),y=n(\"7UMu\"),m=n(\"77Pl\"),b=n(\"EqjI\"),_=n(\"TcQ7\"),w=n(\"MmMw\"),x=n(\"X8DO\"),O=n(\"Yobk\"),E=n(\"Rrel\"),S=n(\"LKZe\"),P=n(\"evD5\"),M=n(\"lktj\"),A=S.f,k=P.f,D=E.f,C=r.Symbol,N=r.JSON,I=N&&N.stringify,R=d(\"_hidden\"),T=d(\"toPrimitive\"),j={}.propertyIsEnumerable,L=f(\"symbol-registry\"),F=f(\"symbols\"),U=f(\"op-symbols\"),z=Object.prototype,B=\"function\"==typeof C,$=r.QObject,q=!$||!$.prototype||!$.prototype.findChild,W=i&&c(function(){return 7!=O(k({},\"a\",{get:function(){return k(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=A(z,e);r&&delete z[e],k(t,e,n),r&&t!==z&&k(z,e,r)}:k,K=function(t){var e=F[t]=O(C.prototype);return e._k=t,e},V=B&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},G=function(t,e,n){return t===z&&G(U,e,n),m(t),e=w(e,!0),m(n),o(F,e)?(n.enumerable?(o(t,R)&&t[R][e]&&(t[R][e]=!1),n=O(n,{enumerable:x(0,!1)})):(o(t,R)||k(t,R,x(1,{})),t[R][e]=!0),W(t,e,n)):k(t,e,n)},X=function(t,e){m(t);for(var n,r=g(e=_(e)),o=0,i=r.length;i>o;)G(t,n=r[o++],e[n]);return t},Y=function(t,e){return void 0===e?O(t):X(O(t),e)},H=function(t){var e=j.call(this,t=w(t,!0));return!(this===z&&o(F,t)&&!o(U,t))&&(!(e||!o(this,t)||!o(F,t)||o(this,R)&&this[R][t])||e)},Q=function(t,e){if(t=_(t),e=w(e,!0),t!==z||!o(F,e)||o(U,e)){var n=A(t,e);return!n||!o(F,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},Z=function(t){for(var e,n=D(_(t)),r=[],i=0;n.length>i;)o(F,e=n[i++])||e==R||e==s||r.push(e);return r},J=function(t){for(var e,n=t===z,r=D(n?U:_(t)),i=[],a=0;r.length>a;)!o(F,e=r[a++])||n&&!o(z,e)||i.push(F[e]);return i};B||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===z&&e.call(U,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),W(this,t,x(1,n))};return i&&q&&W(z,t,{configurable:!0,set:e}),K(t)},u(C.prototype,\"toString\",function(){return this._k}),S.f=Q,P.f=G,n(\"n0T6\").f=E.f=Z,n(\"NpIQ\").f=H,n(\"1kS7\").f=J,i&&!n(\"O4g8\")&&u(z,\"propertyIsEnumerable\",H,!0),h.f=function(t){return K(d(t))}),a(a.G+a.W+a.F*!B,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)d(tt[et++]);for(var nt=M(d.store),rt=0;nt.length>rt;)v(nt[rt++]);a(a.S+a.F*!B,\"Symbol\",{for:function(t){return o(L,t+=\"\")?L[t]:L[t]=C(t)},keyFor:function(t){if(!V(t))throw TypeError(t+\" is not a symbol!\");for(var e in L)if(L[e]===t)return e},useSetter:function(){q=!0},useSimple:function(){q=!1}}),a(a.S+a.F*!B,\"Object\",{create:Y,defineProperty:G,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:Z,getOwnPropertySymbols:J}),N&&a(a.S+a.F*(!B||c(function(){var t=C();return\"[null]\"!=I([t])||\"{}\"!=I({a:t})||\"{}\"!=I(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(b(e)||void 0!==t)&&!V(t))return y(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!V(e))return e}),r[1]=e,I.apply(N,r)}}),C.prototype[T]||n(\"hJx8\")(C.prototype,T,C.prototype.valueOf),l(C,\"Symbol\"),l(Math,\"Math\",!0),l(r.JSON,\"JSON\",!0)},fZjL:function(t,e,n){t.exports={default:n(\"jFbC\"),__esModule:!0}},fkB2:function(t,e,n){var r=n(\"UuGF\"),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},fx22:function(t,e,n){for(var r=n(\"WgSQ\"),o=n(\"Qh14\"),i=n(\"R3AP\"),a=n(\"OzIq\"),u=n(\"2p1q\"),s=n(\"bN1p\"),c=n(\"kkCw\"),f=c(\"iterator\"),l=c(\"toStringTag\"),p=s.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;v<h.length;v++){var g,y=h[v],m=d[y],b=a[y],_=b&&b.prototype;if(_&&(_[f]||u(_,f,p),_[l]||u(_,l,y),s[y]=p,m))for(g in r)_[g]||i(_,g,r[g],!0)}},\"g/m8\":function(t,e,n){var r=n(\"cwmK\"),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),s=o(2,-126),c=function(t){return t+1/i-1/i};t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),f=r(t);return o<s?f*c(o/s/a)*s*a:(e=(1+a/i)*o,n=e-(e-o),n>u||n!=n?f*(1/0):f*n)}},g36u:function(t,e,n){var r=n(\"OzIq\"),o=n(\"Sejc\").set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,s=\"process\"==n(\"ydD5\")(a);t.exports=function(){var t,e,n,c=function(){var r,o;for(s&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(c)}}else n=function(){o.call(r,c)};else{var l=!0,p=document.createTextNode(\"\");new i(c).observe(p,{characterData:!0}),n=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},gPva:function(t,e,n){var r=n(\"UKM+\");n(\"3i66\")(\"isExtensible\",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},gYYG:function(t,e,n){\"use strict\";var r=n(\"wC1N\"),o={};o[n(\"kkCw\")(\"toStringTag\")]=\"z\",o+\"\"!=\"[object z]\"&&n(\"R3AP\")(Object.prototype,\"toString\",function(){return\"[object \"+r(this)+\"]\"},!0)},gbyG:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"ot5s\")(!0);r(r.P,\"Array\",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(\"RhFG\")(\"includes\")},gvDt:function(t,e,n){var r=n(\"UKM+\"),o=n(\"DIVP\"),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,r){try{r=n(\"rFzY\")(Function.call,n(\"x9zv\").f(Object.prototype,\"__proto__\").set,2),r(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},h65t:function(t,e,n){var r=n(\"UuGF\"),o=n(\"52gC\");t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),s=r(n),c=u.length;return s<0||s>=c?t?\"\":void 0:(i=u.charCodeAt(s),i<55296||i>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):i:t?u.slice(s,s+2):a-56320+(i-55296<<10)+65536)}}},h7Xi:function(t,e,n){var r=n(\"Ds5P\");r(r.P+r.R,\"Map\",{toJSON:n(\"XXBo\")(\"Map\")})},hJx8:function(t,e,n){var r=n(\"evD5\"),o=n(\"X8DO\");t.exports=n(\"+E39\")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},i039:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{umulh:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r,a=n>>>16,u=r>>>16,s=(a*i>>>0)+(o*i>>>16);return a*u+(s>>>16)+((o*u>>>0)+(65535&s)>>>16)}})},i68Q:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Object\",{create:n(\"7ylX\")})},iKpr:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"XSOZ\"),i=n(\"rFzY\"),a=n(\"vmSO\");t.exports=function(t){r(r.S,t,{from:function(t){var e,n,r,u,s=arguments[1];return o(this),e=void 0!==s,e&&o(s),void 0==t?new this:(n=[],e?(r=0,u=i(s,arguments[2],2),a(t,!1,function(t){n.push(u(t,r++))})):a(t,!1,n.push,n),new this(n))}})}},iM2X:function(t,e,n){\"use strict\";n(\"y325\")(\"bold\",function(t){return function(){return t(this,\"b\",\"\",\"\")}})},iUbK:function(t,e,n){var r=n(\"7KvD\"),o=r.navigator;t.exports=o&&o.userAgent||\"\"},izbv:function(t,e){t.exports=function(t){var e={begin:/[\\w-]+\\(/,returnBegin:!0,contains:[{className:\"built_in\",begin:/[\\w-]+/},{begin:/\\(/,end:/\\)/,contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,t.CSS_NUMBER_MODE]}]},n={className:\"attribute\",begin:/\\S/,end:\":\",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[e,t.CSS_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,t.C_BLOCK_COMMENT_MODE,{className:\"number\",begin:\"#[0-9A-Fa-f]+\"},{className:\"meta\",begin:\"!important\"}]}},r=/@\\-?\\w[\\w]*(\\-\\w+)*/,o={begin:/(?:[A-Z\\_\\.\\-]+|--[a-zA-Z0-9_-]+)\\s*:/,returnBegin:!0,end:\";\",endsWithParent:!0,contains:[n]};return{case_insensitive:!0,illegal:/[=\\/|'\\$]/,contains:[t.C_BLOCK_COMMENT_MODE,{className:\"selector-id\",begin:/#[A-Za-z0-9_-]+/},{className:\"selector-class\",begin:/\\.[A-Za-z0-9_-]+/},{className:\"selector-attr\",begin:/\\[/,end:/\\]/,illegal:\"$\",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},{className:\"selector-pseudo\",begin:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{begin:\"@(page|font-face)\",lexemes:\"@[a-z-]+\",keywords:\"@page @font-face\"},{begin:\"@\",end:\"[{;]\",illegal:/:/,returnBegin:!0,contains:[{className:\"keyword\",begin:r},{begin:/\\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:\"and or not only\",contains:[{begin:/[a-z-]+:/,className:\"attribute\"},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,t.CSS_NUMBER_MODE]}]},{className:\"selector-tag\",begin:\"[a-zA-Z-][a-zA-Z0-9_-]*\",relevance:0},{begin:\"{\",end:\"}\",illegal:/\\S/,contains:[t.C_BLOCK_COMMENT_MODE,o]}]}}},\"j/Lv\":function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"System\",{global:n(\"OzIq\")})},j1ja:function(t,e,n){\"use strict\";(function(t){function e(t,e,n){t[e]||Object[r](t,e,{writable:!0,configurable:!0,value:n})}if(n(\"4M2W\"),n(\"zkX4\"),n(\"Wwne\"),t._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");t._babelPolyfill=!0;var r=\"defineProperty\";e(String.prototype,\"padLeft\",\"\".padStart),e(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(t){[][t]&&e(Array,t,Function.call.bind([][t]))})}).call(e,n(\"DuR2\"))},j42X:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"PHqh\"),i=[].join;r(r.P+r.F*(n(\"Q6Nf\")!=Object||!n(\"NNrz\")(i)),\"Array\",{join:function(t){return i.call(o(this),void 0===t?\",\":t)}})},jB26:function(t,e,n){\"use strict\";var r=n(\"DIVP\"),o=n(\"s4j0\");t.exports=function(t){if(\"string\"!==t&&\"number\"!==t&&\"default\"!==t)throw TypeError(\"Incorrect hint\");return o(r(this),\"number\"!=t)}},jFbC:function(t,e,n){n(\"Cdx3\"),t.exports=n(\"FeBl\").Object.keys},\"jKW+\":function(t,e,n){\"use strict\";var r=n(\"kM2E\"),o=n(\"qARP\"),i=n(\"dNDb\");r(r.S,\"Promise\",{try:function(t){var e=o.f(this),n=i(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},jhxf:function(t,e,n){var r=n(\"UKM+\"),o=n(\"OzIq\").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},jrHM:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Object\",{setPrototypeOf:n(\"gvDt\").set})},kBOG:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"cwmK\");r(r.S,\"Math\",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},kM2E:function(t,e,n){var r=n(\"7KvD\"),o=n(\"FeBl\"),i=n(\"+ZMJ\"),a=n(\"hJx8\"),u=n(\"D2L2\"),s=function(t,e,n){var c,f,l,p=t&s.F,d=t&s.G,h=t&s.S,v=t&s.P,g=t&s.B,y=t&s.W,m=d?o:o[e]||(o[e]={}),b=m.prototype,_=d?r:h?r[e]:(r[e]||{}).prototype;d&&(n=e);for(c in n)(f=!p&&_&&void 0!==_[c])&&u(m,c)||(l=f?_[c]:n[c],m[c]=d&&\"function\"!=typeof _[c]?n[c]:g&&f?i(l,r):y&&_[c]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):v&&\"function\"==typeof l?i(Function.call,l):l,v&&((m.virtual||(m.virtual={}))[c]=l,t&s.R&&b&&!b[c]&&a(b,c,l)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},kic5:function(t,e,n){var r=n(\"UKM+\"),o=n(\"gvDt\").set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&\"function\"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},kkCw:function(t,e,n){var r=n(\"VWgF\")(\"wks\"),o=n(\"ulTY\"),i=n(\"OzIq\").Symbol,a=\"function\"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)(\"Symbol.\"+t))}).store=r},knuC:function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},kqpo:function(t,e,n){var r=n(\"u0PK\"),o=n(\"/whu\");t.exports=function(t,e,n){if(r(e))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(o(t))}},kxFB:function(t,e){t.exports=function(t){return\"string\"!=typeof t?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),/[\"'() \\t\\n]/.test(t)?'\"'+t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\")+'\"':t)}},l7j4:function(t,e){t.exports=function(t){var e={className:\"variable\",begin:\"\\\\$\"+t.IDENT_RE},n={className:\"number\",begin:\"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\"},r=[\"charset\",\"css\",\"debug\",\"extend\",\"font-face\",\"for\",\"import\",\"include\",\"media\",\"mixin\",\"page\",\"warn\",\"while\"],o=[\"after\",\"before\",\"first-letter\",\"first-line\",\"active\",\"first-child\",\"focus\",\"hover\",\"lang\",\"link\",\"visited\"],i=[\"a\",\"abbr\",\"address\",\"article\",\"aside\",\"audio\",\"b\",\"blockquote\",\"body\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"dd\",\"del\",\"details\",\"dfn\",\"div\",\"dl\",\"dt\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"mark\",\"menu\",\"nav\",\"object\",\"ol\",\"p\",\"q\",\"quote\",\"samp\",\"section\",\"span\",\"strong\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"ul\",\"var\",\"video\"],a=[\"align-content\",\"align-items\",\"align-self\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"auto\",\"backface-visibility\",\"background\",\"background-attachment\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"bottom\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"break-after\",\"break-before\",\"break-inside\",\"caption-side\",\"clear\",\"clip\",\"clip-path\",\"color\",\"column-count\",\"column-fill\",\"column-gap\",\"column-rule\",\"column-rule-color\",\"column-rule-style\",\"column-rule-width\",\"column-span\",\"column-width\",\"columns\",\"content\",\"counter-increment\",\"counter-reset\",\"cursor\",\"direction\",\"display\",\"empty-cells\",\"filter\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"float\",\"font\",\"font-family\",\"font-feature-settings\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-variant-ligatures\",\"font-weight\",\"height\",\"hyphens\",\"icon\",\"image-orientation\",\"image-rendering\",\"image-resolution\",\"ime-mode\",\"inherit\",\"initial\",\"justify-content\",\"left\",\"letter-spacing\",\"line-height\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marks\",\"mask\",\"max-height\",\"max-width\",\"min-height\",\"min-width\",\"nav-down\",\"nav-index\",\"nav-left\",\"nav-right\",\"nav-up\",\"none\",\"normal\",\"object-fit\",\"object-position\",\"opacity\",\"order\",\"orphans\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"overflow\",\"overflow-wrap\",\"overflow-x\",\"overflow-y\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"perspective\",\"perspective-origin\",\"pointer-events\",\"position\",\"quotes\",\"resize\",\"right\",\"tab-size\",\"table-layout\",\"text-align\",\"text-align-last\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-style\",\"text-indent\",\"text-overflow\",\"text-rendering\",\"text-shadow\",\"text-transform\",\"text-underline-position\",\"top\",\"transform\",\"transform-origin\",\"transform-style\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"unicode-bidi\",\"vertical-align\",\"visibility\",\"white-space\",\"widows\",\"width\",\"word-break\",\"word-spacing\",\"word-wrap\",\"z-index\"];return{aliases:[\"styl\"],case_insensitive:!1,keywords:\"if else for in\",illegal:\"(\"+[\"\\\\?\",\"(\\\\bReturn\\\\b)\",\"(\\\\bEnd\\\\b)\",\"(\\\\bend\\\\b)\",\"(\\\\bdef\\\\b)\",\";\",\"#\\\\s\",\"\\\\*\\\\s\",\"===\\\\s\",\"\\\\|\",\"%\"].join(\"|\")+\")\",contains:[t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,n,{begin:\"\\\\.[a-zA-Z][a-zA-Z0-9_-]*(?=[\\\\.\\\\s\\\\n\\\\[\\\\:,])\",className:\"selector-class\"},{begin:\"\\\\#[a-zA-Z][a-zA-Z0-9_-]*(?=[\\\\.\\\\s\\\\n\\\\[\\\\:,])\",className:\"selector-id\"},{begin:\"\\\\b(\"+i.join(\"|\")+\")(?=[\\\\.\\\\s\\\\n\\\\[\\\\:,])\",className:\"selector-tag\"},{begin:\"&?:?:\\\\b(\"+o.join(\"|\")+\")(?=[\\\\.\\\\s\\\\n\\\\[\\\\:,])\"},{begin:\"@(\"+r.join(\"|\")+\")\\\\b\"},e,t.CSS_NUMBER_MODE,t.NUMBER_MODE,{className:\"function\",begin:\"^[a-zA-Z][a-zA-Z0-9_-]*\\\\(.*\\\\)\",illegal:\"[\\\\n]\",returnBegin:!0,contains:[{className:\"title\",begin:\"\\\\b[a-zA-Z][a-zA-Z0-9_-]*\"},{className:\"params\",begin:/\\(/,end:/\\)/,contains:[n,e,t.APOS_STRING_MODE,t.CSS_NUMBER_MODE,t.NUMBER_MODE,t.QUOTE_STRING_MODE]}]},{className:\"attribute\",begin:\"\\\\b(\"+a.reverse().join(\"|\")+\")\\\\b\",starts:{end:/;|$/,contains:[n,e,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,t.CSS_NUMBER_MODE,t.NUMBER_MODE,t.C_BLOCK_COMMENT_MODE],illegal:/\\./,relevance:0}}]}}},lDLk:function(t,e,n){var r=n(\"DIVP\"),o=n(\"xZa+\"),i=n(\"s4j0\"),a=Object.defineProperty;e.f=n(\"bUqO\")?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},lKE8:function(t,e,n){var r=n(\"Qh14\"),o=n(\"PHqh\"),i=n(\"Y1aA\").f;t.exports=function(t){return function(e){for(var n,a=o(e),u=r(a),s=u.length,c=0,f=[];s>c;)i.call(a,n=u[c++])&&f.push(t?[n,a[n]]:a[n]);return f}}},lOnJ:function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},lbHh:function(t,e,n){var r,o;!function(i){var a=!1;if(r=i,void 0!==(o=\"function\"==typeof r?r.call(e,n,e,t):r)&&(t.exports=o),a=!0,t.exports=i(),a=!0,!a){var u=window.Cookies,s=window.Cookies=i();s.noConflict=function(){return window.Cookies=u,s}}}(function(){function t(){for(var t=0,e={};t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}function e(n){function r(e,o,i){var a;if(\"undefined\"!=typeof document){if(arguments.length>1){if(i=t({path:\"/\"},r.defaults,i),\"number\"==typeof i.expires){var u=new Date;u.setMilliseconds(u.getMilliseconds()+864e5*i.expires),i.expires=u}i.expires=i.expires?i.expires.toUTCString():\"\";try{a=JSON.stringify(o),/^[\\{\\[]/.test(a)&&(o=a)}catch(t){}o=n.write?n.write(o,e):encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=encodeURIComponent(String(e)),e=e.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),e=e.replace(/[\\(\\)]/g,escape);var s=\"\";for(var c in i)i[c]&&(s+=\"; \"+c,!0!==i[c]&&(s+=\"=\"+i[c]));return document.cookie=e+\"=\"+o+s}e||(a={});for(var f=document.cookie?document.cookie.split(\"; \"):[],l=/(%[0-9A-Z]{2})+/g,p=0;p<f.length;p++){var d=f[p].split(\"=\"),h=d.slice(1).join(\"=\");this.json||'\"'!==h.charAt(0)||(h=h.slice(1,-1));try{var v=d[0].replace(l,decodeURIComponent);if(h=n.read?n.read(h,v):n(h,v)||h.replace(l,decodeURIComponent),this.json)try{h=JSON.parse(h)}catch(t){}if(e===v){a=h;break}e||(a[v]=h)}catch(t){}}return a}}return r.set=r,r.get=function(t){return r.call(r,t)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(e,n){r(e,\"\",t(n,{expires:-1}))},r.withConverter=e,r}return e(function(){})})},lkT3:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FkIZ\");r(r.P+r.F*!n(\"NNrz\")([].reduceRight,!0),\"Array\",{reduceRight:function(t){return o(this,t,arguments.length,arguments[1],!0)}})},lktj:function(t,e,n){var r=n(\"Ibhu\"),o=n(\"xnc9\");t.exports=Object.keys||function(t){return r(t,o)}},lnZN:function(t,e,n){var r=n(\"OzIq\"),o=n(\"kic5\"),i=n(\"lDLk\").f,a=n(\"WcO1\").f,u=n(\"u0PK\"),s=n(\"0pGU\"),c=r.RegExp,f=c,l=c.prototype,p=/a/g,d=/a/g,h=new c(p)!==p;if(n(\"bUqO\")&&(!h||n(\"zgIt\")(function(){return d[n(\"kkCw\")(\"match\")]=!1,c(p)!=p||c(d)==d||\"/a/i\"!=c(p,\"i\")}))){c=function(t,e){var n=this instanceof c,r=u(t),i=void 0===e;return!n&&r&&t.constructor===c&&i?t:o(h?new f(r&&!i?t.source:t,e):f((r=t instanceof c)?t.source:t,r&&i?s.call(t):e),n?this:l,c)};for(var v=a(f),g=0;v.length>g;)!function(t){t in c||i(c,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})}(v[g++]);l.constructor=c,c.prototype=l,n(\"R3AP\")(r,\"RegExp\",c)}n(\"CEne\")(\"RegExp\")},lyhN:function(t,e,n){var r=n(\"Ds5P\"),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),\"Math\",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},m6Yj:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{fround:n(\"g/m8\")})},m8F4:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"2VSL\"),i=n(\"41xE\");r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(i),\"String\",{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},mJx5:function(t,e,n){n(\"Vg1y\")(\"split\",2,function(t,e,r){\"use strict\";var o=n(\"u0PK\"),i=r,a=[].push,u=\"length\";if(\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1)[u]||2!=\"ab\".split(/(?:ab)*/)[u]||4!=\".\".split(/(.?)(.?)/)[u]||\".\".split(/()()/)[u]>1||\"\".split(/.?/)[u]){var s=void 0===/()??/.exec(\"\")[1];r=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!o(t))return i.call(n,t,e);var r,c,f,l,p,d=[],h=(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),v=0,g=void 0===e?4294967295:e>>>0,y=new RegExp(t.source,h+\"g\");for(s||(r=new RegExp(\"^\"+y.source+\"$(?!\\\\s)\",h));(c=y.exec(n))&&!((f=c.index+c[0][u])>v&&(d.push(n.slice(v,c.index)),!s&&c[u]>1&&c[0].replace(r,function(){for(p=1;p<arguments[u]-2;p++)void 0===arguments[p]&&(c[p]=void 0)}),c[u]>1&&c.index<n[u]&&a.apply(d,c.slice(1)),l=c[0][u],v=f,d[u]>=g));)y.lastIndex===c.index&&y.lastIndex++;return v===n[u]?!l&&y.test(\"\")||d.push(\"\"):d.push(n.slice(v)),d[u]>g?d.slice(0,g):d}}else\"0\".split(void 0,0)[u]&&(r=function(t,e){return void 0===t&&0===e?[]:i.call(this,t,e)});return[function(n,o){var i=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},mTp7:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"gvDt\");o&&r(r.S,\"Reflect\",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},mZON:function(t,e,n){var r=n(\"VWgF\")(\"keys\"),o=n(\"ulTY\");t.exports=function(t){return r[t]||(r[t]=o(t))}},mhn7:function(t,e,n){\"use strict\";n(\"Ymdd\")(\"trim\",function(t){return function(){return t(this,3)}})},msXi:function(t,e,n){var r=n(\"77Pl\");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},mypn:function(t,e,n){(function(t,e){!function(t,n){\"use strict\";function r(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var r={callback:t,args:e};return c[s]=r,u(s),s++}function o(t){delete c[t]}function i(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}function a(t){if(f)setTimeout(a,0,t);else{var e=c[t];if(e){f=!0;try{i(e)}finally{o(t),f=!1}}}}if(!t.setImmediate){var u,s=1,c={},f=!1,l=t.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(t);p=p&&p.setTimeout?p:t,\"[object process]\"==={}.toString.call(t.process)?function(){u=function(t){e.nextTick(function(){a(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage(\"\",\"*\"),t.onmessage=n,e}}()?function(){var e=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===t&&\"string\"==typeof n.data&&0===n.data.indexOf(e)&&a(+n.data.slice(e.length))};t.addEventListener?t.addEventListener(\"message\",n,!1):t.attachEvent(\"onmessage\",n),u=function(n){t.postMessage(e+n,\"*\")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){a(t.data)},u=function(e){t.port2.postMessage(e)}}():l&&\"onreadystatechange\"in l.createElement(\"script\")?function(){var t=l.documentElement;u=function(e){var n=l.createElement(\"script\");n.onreadystatechange=function(){a(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():function(){u=function(t){setTimeout(a,0,t)}}(),p.setImmediate=r,p.clearImmediate=o}}(\"undefined\"==typeof self?void 0===t?this:t:self)}).call(e,n(\"DuR2\"),n(\"W2nU\"))},n0T6:function(t,e,n){var r=n(\"Ibhu\"),o=n(\"xnc9\").concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},n12u:function(t,e,n){var r=n(\"Ds5P\");r(r.S+r.F,\"Object\",{assign:n(\"oYd7\")})},n982:function(t,e,n){var r=n(\"UKM+\"),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},nP5o:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"Wi1D\"),n(\"YhKd\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r){\"use strict\";function o(t){return t&&t.__esModule?t:{default:t}}function i(t,e,n){var r=!0,o=!0;if(\"function\"!=typeof t)throw new TypeError(s);return(0,u.default)(n)&&(r=\"leading\"in n?!!n.leading:r,o=\"trailing\"in n?!!n.trailing:o),(0,a.default)(t,e,{leading:r,maxWait:e,trailing:o})}Object.defineProperty(e,\"__esModule\",{value:!0});var a=o(n),u=o(r),s=\"Expected a function\";e.default=i,t.exports=e.default})},nRs1:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Object\",{is:n(\"4IZP\")})},nSxQ:function(t,e,n){(function(r){var o,i,a;!function(r,u){i=[t,e,n(\"pFYg\")],o=u,void 0!==(a=\"function\"==typeof o?o.apply(e,i):o)&&(t.exports=a)}(0,function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(t){return t&&t.__esModule?t:{default:t}}(n),i=\"object\"==(void 0===r?\"undefined\":(0,o.default)(r))&&r&&r.Object===Object&&r;e.default=i,t.exports=e.default})}).call(e,n(\"DuR2\"))},nh2o:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"OzIq\"),i=n(\"7gX0\"),a=n(\"g36u\")(),u=n(\"kkCw\")(\"observable\"),s=n(\"XSOZ\"),c=n(\"DIVP\"),f=n(\"9GpA\"),l=n(\"A16L\"),p=n(\"2p1q\"),d=n(\"vmSO\"),h=d.RETURN,v=function(t){return null==t?void 0:s(t)},g=function(t){var e=t._c;e&&(t._c=void 0,e())},y=function(t){return void 0===t._o},m=function(t){y(t)||(t._o=void 0,g(t))},b=function(t,e){c(t),this._c=void 0,this._o=t,t=new _(this);try{var n=e(t),r=n;null!=n&&(\"function\"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:s(n),this._c=n)}catch(e){return void t.error(e)}y(this)&&g(this)};b.prototype=l({},{unsubscribe:function(){m(this)}});var _=function(t){this._s=t};_.prototype=l({},{next:function(t){var e=this._s;if(!y(e)){var n=e._o;try{var r=v(n.next);if(r)return r.call(n,t)}catch(t){try{m(e)}finally{throw t}}}},error:function(t){var e=this._s;if(y(e))throw t;var n=e._o;e._o=void 0;try{var r=v(n.error);if(!r)throw t;t=r.call(n,t)}catch(t){try{g(e)}finally{throw t}}return g(e),t},complete:function(t){var e=this._s;if(!y(e)){var n=e._o;e._o=void 0;try{var r=v(n.complete);t=r?r.call(n,t):void 0}catch(t){try{g(e)}finally{throw t}}return g(e),t}}});var w=function(t){f(this,w,\"Observable\",\"_f\")._f=s(t)};l(w.prototype,{subscribe:function(t){return new b(t,this._f)},forEach:function(t){var e=this;return new(i.Promise||o.Promise)(function(n,r){s(t);var o=e.subscribe({next:function(e){try{return t(e)}catch(t){r(t),o.unsubscribe()}},error:r,complete:n})})}}),l(w,{from:function(t){var e=\"function\"==typeof this?this:w,n=v(c(t)[u]);if(n){var r=c(n.call(t));return r.constructor===e?r:new e(function(t){return r.subscribe(t)})}return new e(function(e){var n=!1;return a(function(){if(!n){try{if(d(t,!1,function(t){if(e.next(t),n)return h})===h)return}catch(t){if(n)throw t;return void e.error(t)}e.complete()}}),function(){n=!0}})},of:function(){for(var t=0,e=arguments.length,n=new Array(e);t<e;)n[t]=arguments[t++];return new(\"function\"==typeof this?this:w)(function(t){var e=!1;return a(function(){if(!e){for(var r=0;r<n.length;++r)if(t.next(n[r]),e)return;t.complete()}}),function(){e=!0}})}}),p(w.prototype,u,function(){return this}),r(r.G,{Observable:w}),n(\"CEne\")(\"Observable\")},nphH:function(t,e,n){var r=n(\"DIVP\"),o=n(\"UKM+\"),i=n(\"w6Dh\");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},nqOf:function(t,e){t.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return String(e).replace(t,n)}}},oF0V:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"IFpc\"),i=n(\"FryR\"),a=n(\"BbyF\"),u=n(\"XSOZ\"),s=n(\"plSV\");r(r.P,\"Array\",{flatMap:function(t){var e,n,r=i(this);return u(t),e=a(r.length),n=s(r,0),o(n,r,r,e,0,1,t,arguments[1]),n}}),n(\"RhFG\")(\"flatMap\")},oHKp:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"PHqh\"),i=n(\"oeih\"),a=n(\"BbyF\"),u=[].lastIndexOf,s=!!u&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(s||!n(\"NNrz\")(u)),\"Array\",{lastIndexOf:function(t){if(s)return u.apply(this,arguments)||0;var e=o(this),n=a(e.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},oYd7:function(t,e,n){\"use strict\";var r=n(\"Qh14\"),o=n(\"Y1N3\"),i=n(\"Y1aA\"),a=n(\"FryR\"),u=n(\"Q6Nf\"),s=Object.assign;t.exports=!s||n(\"zgIt\")(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=s({},t)[n]||Object.keys(s({},e)).join(\"\")!=r})?function(t,e){for(var n=a(t),s=arguments.length,c=1,f=o.f,l=i.f;s>c;)for(var p,d=u(arguments[c++]),h=f?r(d).concat(f(d)):r(d),v=h.length,g=0;v>g;)l.call(d,p=h[g++])&&(n[p]=d[p]);return n}:s},oYp4:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FryR\"),i=n(\"XSOZ\"),a=n(\"lDLk\");n(\"bUqO\")&&r(r.P+n(\"dm6P\"),\"Object\",{__defineGetter__:function(t,e){a.f(o(this),t,{get:i(e),enumerable:!0,configurable:!0})}})},oeih:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},ot5s:function(t,e,n){var r=n(\"PHqh\"),o=n(\"BbyF\"),i=n(\"zo/l\");t.exports=function(t){return function(e,n,a){var u,s=r(e),c=o(s.length),f=i(a,c);if(t&&n!=n){for(;c>f;)if((u=s[f++])!=u)return!0}else for(;c>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},pFYg:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(\"Zzip\"),i=r(o),a=n(\"5QVw\"),u=r(a),s=\"function\"==typeof u.default&&\"symbol\"==typeof i.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof u.default&&t.constructor===u.default&&t!==u.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof u.default&&\"symbol\"===s(i.default)?function(t){return void 0===t?\"undefined\":s(t)}:function(t){return t&&\"function\"==typeof u.default&&t.constructor===u.default&&t!==u.default.prototype?\"symbol\":void 0===t?\"undefined\":s(t)}},pWGb:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{log1p:n(\"Rz2z\")})},\"pd+2\":function(t,e,n){n(\"bUqO\")&&\"g\"!=/./g.flags&&n(\"lDLk\").f(RegExp.prototype,\"flags\",{configurable:!0,get:n(\"0pGU\")})},plSV:function(t,e,n){var r=n(\"boo2\");t.exports=function(t,e){return new(r(t))(e)}},q9cE:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"V07c\"),n(\"YhKd\"),n(\"fLuG\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r,o){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function a(t){if(\"number\"==typeof t)return t;if((0,c.default)(t))return f;if((0,s.default)(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=(0,s.default)(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=(0,u.default)(t);var n=p.test(t);return n||d.test(t)?h(t.slice(2),n?2:8):l.test(t)?f:+t}Object.defineProperty(e,\"__esModule\",{value:!0});var u=i(n),s=i(r),c=i(o),f=NaN,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,d=/^0o[0-7]+$/i,h=parseInt;e.default=a,t.exports=e.default})},qARP:function(t,e,n){\"use strict\";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=o(e),this.reject=o(n)}var o=n(\"lOnJ\");t.exports.f=function(t){return new r(t)}},\"qZb+\":function(t,e,n){n(\"0j1G\")(\"Set\")},qdHU:function(t,e,n){n(\"iKpr\")(\"WeakSet\")},qio6:function(t,e,n){var r=n(\"evD5\"),o=n(\"77Pl\"),i=n(\"lktj\");t.exports=n(\"+E39\")?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,s=0;u>s;)r.f(t,n=a[s++],e[n]);return t}},qkyc:function(t,e,n){var r=n(\"kkCw\")(\"iterator\"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},qtRy:function(t,e,n){n(\"77Ug\")(\"Int16\",2,function(t){return function(e,n,r){return t(this,e,n,r)}})},qwQ3:function(t,e,n){n(\"Vg1y\")(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},\"r2E/\":function(t,e,n){var r=n(\"Ds5P\"),o=n(\"nqOf\")(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\");r(r.S,\"RegExp\",{escape:function(t){return o(t)}})},rFzY:function(t,e,n){var r=n(\"XSOZ\");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},rjj0:function(t,e,n){function r(t){for(var e=0;e<t.length;e++){var n=t[e],r=f[n.id];if(r){r.refs++;for(var o=0;o<r.parts.length;o++)r.parts[o](n.parts[o]);for(;o<n.parts.length;o++)r.parts.push(i(n.parts[o]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],o=0;o<n.parts.length;o++)a.push(i(n.parts[o]));f[n.id]={id:n.id,refs:1,parts:a}}}}function o(){var t=document.createElement(\"style\");return t.type=\"text/css\",l.appendChild(t),t}function i(t){var e,n,r=document.querySelector(\"style[\"+y+'~=\"'+t.id+'\"]');if(r){if(h)return v;r.parentNode.removeChild(r)}if(m){var i=d++;r=p||(p=o()),e=a.bind(null,r,i,!1),n=a.bind(null,r,i,!0)}else r=o(),e=u.bind(null,r),n=function(){r.parentNode.removeChild(r)};return e(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;e(t=r)}else n()}}function a(t,e,n,r){var o=n?\"\":r.css;if(t.styleSheet)t.styleSheet.cssText=b(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function u(t,e){var n=e.css,r=e.media,o=e.sourceMap;if(r&&t.setAttribute(\"media\",r),g.ssrId&&t.setAttribute(y,e.id),o&&(n+=\"\\n/*# sourceURL=\"+o.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var s=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!s)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var c=n(\"tTVk\"),f={},l=s&&(document.head||document.getElementsByTagName(\"head\")[0]),p=null,d=0,h=!1,v=function(){},g=null,y=\"data-vue-ssr-id\",m=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n,o){h=n,g=o||{};var i=c(t,e);return r(i),function(e){for(var n=[],o=0;o<i.length;o++){var a=i[o],u=f[a.id];u.refs--,n.push(u)}e?(i=c(t,e),r(i)):i=[];for(var o=0;o<n.length;o++){var u=n[o];if(0===u.refs){for(var s=0;s<u.parts.length;s++)u.parts[s]();delete f[u.id]}}}};var b=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join(\"\\n\")}}()},s4j0:function(t,e,n){var r=n(\"UKM+\");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},sB3e:function(t,e,n){var r=n(\"52gC\");t.exports=function(t){return Object(r(t))}},sc7i:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"/whu\"),i=n(\"BbyF\"),a=n(\"u0PK\"),u=n(\"0pGU\"),s=RegExp.prototype,c=function(t,e){this._r=t,this._s=e};n(\"IRJ3\")(c,\"RegExp String\",function(){var t=this._r.exec(this._s);return{value:t,done:null===t}}),r(r.P,\"String\",{matchAll:function(t){if(o(this),!a(t))throw TypeError(t+\" is not a regexp!\");var e=String(this),n=\"flags\"in s?String(t.flags):u.call(t),r=new RegExp(t.source,~n.indexOf(\"g\")?n:\"g\"+n);return r.lastIndex=i(t.lastIndex),new c(r,e)}})},\"smQ+\":function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"2VSL\"),i=n(\"41xE\");r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(i),\"String\",{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},t8x9:function(t,e,n){var r=n(\"77Pl\"),o=n(\"lOnJ\"),i=n(\"dSzd\")(\"species\");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},tJwI:function(t,e,n){var r=n(\"FryR\"),o=n(\"Qh14\");n(\"3i66\")(\"keys\",function(){return function(t){return o(r(t))}})},tTVk:function(t,e){t.exports=function(t,e){for(var n=[],r={},o=0;o<e.length;o++){var i=e[o],a=i[0],u=i[1],s=i[2],c=i[3],f={id:t+\":\"+o,css:u,media:s,sourceMap:c};r[a]?r[a].parts.push(f):n.push(r[a]={id:a,parts:[f]})}return n}},taNN:function(t,e,n){var r=n(\"Ds5P\"),o=180/Math.PI;r(r.S,\"Math\",{degrees:function(t){return t*o}})},tqSY:function(t,e,n){var r=n(\"Ds5P\");r(r.P,\"String\",{repeat:n(\"xAdt\")})},twxM:function(t,e,n){var r=n(\"lDLk\"),o=n(\"DIVP\"),i=n(\"Qh14\");t.exports=n(\"bUqO\")?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,s=0;u>s;)r.f(t,n=a[s++],e[n]);return t}},u0PK:function(t,e,n){var r=n(\"UKM+\"),o=n(\"ydD5\"),i=n(\"kkCw\")(\"match\");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:\"RegExp\"==o(t))}},uDYd:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"XSOZ\"),i=n(\"FryR\"),a=n(\"zgIt\"),u=[].sort,s=[1,2,3];r(r.P+r.F*(a(function(){s.sort(void 0)})||!a(function(){s.sort(null)})||!n(\"NNrz\")(u)),\"Array\",{sort:function(t){return void 0===t?u.call(i(this)):u.call(i(this),o(t))}})},uEEG:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{scale:n(\"WY8G\")})},uc2A:function(t,e,n){\"use strict\";var r=n(\"V3l/\"),o=n(\"Ds5P\"),i=n(\"R3AP\"),a=n(\"2p1q\"),u=n(\"bN1p\"),s=n(\"IRJ3\"),c=n(\"yYvK\"),f=n(\"KOrd\"),l=n(\"kkCw\")(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,h,v,g,y){s(n,e,h);var m,b,_,w=function(t){if(!p&&t in S)return S[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},x=e+\" Iterator\",O=\"values\"==v,E=!1,S=t.prototype,P=S[l]||S[\"@@iterator\"]||v&&S[v],M=P||w(v),A=v?O?w(\"entries\"):M:void 0,k=\"Array\"==e?S.entries||P:P;if(k&&(_=f(k.call(new t)))!==Object.prototype&&_.next&&(c(_,x,!0),r||\"function\"==typeof _[l]||a(_,l,d)),O&&P&&\"values\"!==P.name&&(E=!0,M=function(){return P.call(this)}),r&&!y||!p&&!E&&S[l]||a(S,l,M),u[e]=M,u[x]=d,v)if(m={values:O?M:w(\"values\"),keys:g?M:w(\"keys\"),entries:A},y)for(b in m)b in S||i(S,b,m[b]);else o(o.P+o.F*(p||E),e,m);return m}},ulTY:function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},uqUo:function(t,e,n){var r=n(\"kM2E\"),o=n(\"FeBl\"),i=n(\"S82l\");t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",a)}},v2lb:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"Rz2z\"),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),\"Math\",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},v3hU:function(t,e,n){var r=n(\"dSUw\"),o=n(\"QG7u\"),i=n(\"wCso\"),a=n(\"DIVP\"),u=n(\"KOrd\"),s=i.keys,c=i.key,f=function(t,e){var n=s(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:c(arguments[1]))}})},v8VU:function(t,e,n){var r=n(\"OzIq\"),o=n(\"Ds5P\"),i=n(\"41xE\"),a=[].slice,u=/MSIE .\\./.test(i),s=function(t){return function(e,n){var r=arguments.length>2,o=!!r&&a.call(arguments,2);return t(r?function(){(\"function\"==typeof e?e:Function(e)).apply(this,o)}:e,n)}};o(o.G+o.B+o.F*u,{setTimeout:s(r.setTimeout),setInterval:s(r.setInterval)})},v90c:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"IFpc\"),i=n(\"FryR\"),a=n(\"BbyF\"),u=n(\"oeih\"),s=n(\"plSV\");r(r.P,\"Array\",{flatten:function(){var t=arguments[0],e=i(this),n=a(e.length),r=s(e,0);return o(r,e,e,n,0,void 0===t?1:u(t)),r}}),n(\"RhFG\")(\"flatten\")},\"vFc/\":function(t,e,n){var r=n(\"TcQ7\"),o=n(\"QRG4\"),i=n(\"fkB2\");t.exports=function(t){return function(e,n,a){var u,s=r(e),c=o(s.length),f=i(a,c);if(t&&n!=n){for(;c>f;)if((u=s[f++])!=u)return!0}else for(;c>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},\"vIB/\":function(t,e,n){\"use strict\";var r=n(\"O4g8\"),o=n(\"kM2E\"),i=n(\"880/\"),a=n(\"hJx8\"),u=n(\"/bQp\"),s=n(\"94VQ\"),c=n(\"e6n0\"),f=n(\"PzxK\"),l=n(\"dSzd\")(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,h,v,g,y){s(n,e,h);var m,b,_,w=function(t){if(!p&&t in S)return S[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},x=e+\" Iterator\",O=\"values\"==v,E=!1,S=t.prototype,P=S[l]||S[\"@@iterator\"]||v&&S[v],M=P||w(v),A=v?O?w(\"entries\"):M:void 0,k=\"Array\"==e?S.entries||P:P;if(k&&(_=f(k.call(new t)))!==Object.prototype&&_.next&&(c(_,x,!0),r||\"function\"==typeof _[l]||a(_,l,d)),O&&P&&\"values\"!==P.name&&(E=!0,M=function(){return P.call(this)}),r&&!y||!p&&!E&&S[l]||a(S,l,M),u[e]=M,u[x]=d,v)if(m={values:O?M:w(\"values\"),keys:g?M:w(\"keys\"),entries:A},y)for(b in m)b in S||i(S,b,m[b]);else o(o.P+o.F*(p||E),e,m);return m}},vmSO:function(t,e,n){var r=n(\"rFzY\"),o=n(\"XvUs\"),i=n(\"9vb1\"),a=n(\"DIVP\"),u=n(\"BbyF\"),s=n(\"SHe9\"),c={},f={},e=t.exports=function(t,e,n,l,p){var d,h,v,g,y=p?function(){return t}:s(t),m=r(n,l,e?2:1),b=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(i(y)){for(d=u(t.length);d>b;b++)if((g=e?m(a(h=t[b])[0],h[1]):m(t[b]))===c||g===f)return g}else for(v=y.call(t);!(h=v.next()).done;)if((g=o(v,m,h.value,e))===c||g===f)return g};e.BREAK=c,e.RETURN=f},vmSu:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"7ylX\"),i=n(\"XSOZ\"),a=n(\"DIVP\"),u=n(\"UKM+\"),s=n(\"zgIt\"),c=n(\"ZtwE\"),f=(n(\"OzIq\").Reflect||{}).construct,l=s(function(){function t(){}return!(f(function(){},[],t)instanceof t)}),p=!s(function(){f(function(){})});r(r.S+r.F*(l||p),\"Reflect\",{construct:function(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(p&&!l)return f(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(c.apply(t,r))}var s=n.prototype,d=o(u(s)?s:Object.prototype),h=Function.apply.call(t,d,e);return u(h)?h:d}})},vnWP:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"WY8G\"),i=n(\"g/m8\");r(r.S,\"Math\",{fscale:function(t,e,n,r,a){return i(o(t,e,n,r,a))}})},vsh6:function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},\"vu/c\":function(t,e,n){n(\"3g/S\")(\"observable\")},w6Dh:function(t,e,n){\"use strict\";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=o(e),this.reject=o(n)}var o=n(\"XSOZ\");t.exports.f=function(t){return new r(t)}},w6W7:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(1);r(r.P+r.F*!n(\"NNrz\")([].map,!0),\"Array\",{map:function(t){return o(this,t,arguments[1])}})},wC1N:function(t,e,n){var r=n(\"ydD5\"),o=n(\"kkCw\")(\"toStringTag\"),i=\"Arguments\"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=a(e=Object(t),o))?n:i?r(e):\"Object\"==(u=r(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},wCso:function(t,e,n){var r=n(\"MsuQ\"),o=n(\"Ds5P\"),i=n(\"VWgF\")(\"metadata\"),a=i.store||(i.store=new(n(\"ZDXm\"))),u=function(t,e,n){var o=a.get(t);if(!o){if(!n)return;a.set(t,o=new r)}var i=o.get(e);if(!i){if(!n)return;o.set(e,i=new r)}return i},s=function(t,e,n){var r=u(e,n,!1);return void 0!==r&&r.has(t)},c=function(t,e,n){var r=u(e,n,!1);return void 0===r?void 0:r.get(t)},f=function(t,e,n,r){u(n,r,!0).set(t,e)},l=function(t,e){var n=u(t,e,!1),r=[];return n&&n.forEach(function(t,e){r.push(e)}),r},p=function(t){return void 0===t||\"symbol\"==typeof t?t:String(t)},d=function(t){o(o.S,\"Reflect\",t)};t.exports={store:a,map:u,has:s,get:c,set:f,keys:l,key:p,exp:d}},wVdn:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"LhTa\")(3);r(r.P+r.F*!n(\"NNrz\")([].some,!0),\"Array\",{some:function(t){return o(this,t,arguments[1])}})},wnRD:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FkIZ\");r(r.P+r.F*!n(\"NNrz\")([].reduce,!0),\"Array\",{reduce:function(t){return o(this,t,arguments.length,arguments[1],!1)}})},wqbf:function(t,e,n){var r,o,i;!function(a,u){o=[t,e,n(\"EZG+\"),n(\"LF1K\"),n(\"X0mE\")],r=u,void 0!==(i=\"function\"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r,o){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function a(t){return null==t?void 0===t?l:f:p&&p in Object(t)?(0,s.default)(t):(0,c.default)(t)}Object.defineProperty(e,\"__esModule\",{value:!0});var u=i(n),s=i(r),c=i(o),f=\"[object Null]\",l=\"[object Undefined]\",p=u.default?u.default.toStringTag:void 0;e.default=a,t.exports=e.default})},wrs0:function(t,e,n){var r=n(\"Ds5P\"),o=Math.abs;r(r.S,\"Math\",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,s=0;a<u;)n=o(arguments[a++]),s<n?(r=s/n,i=i*r*r+1,s=n):n>0?(r=n/s,i+=r*r):i+=n;return s===1/0?1/0:s*Math.sqrt(i)}})},x78i:function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},x9zv:function(t,e,n){var r=n(\"Y1aA\"),o=n(\"fU25\"),i=n(\"PHqh\"),a=n(\"s4j0\"),u=n(\"WBcL\"),s=n(\"xZa+\"),c=Object.getOwnPropertyDescriptor;e.f=n(\"bUqO\")?c:function(t,e){if(t=i(t),e=a(e,!0),s)try{return c(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},xAdt:function(t,e,n){\"use strict\";var r=n(\"oeih\"),o=n(\"/whu\");t.exports=function(t){var e=String(o(this)),n=\"\",i=r(t);if(i<0||i==1/0)throw RangeError(\"Count can't be negative\");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},xCpI:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"FryR\"),i=n(\"s4j0\"),a=n(\"KOrd\"),u=n(\"x9zv\").f;n(\"bUqO\")&&r(r.P+n(\"dm6P\"),\"Object\",{__lookupGetter__:function(t){var e,n=o(this),r=i(t,!0);do{if(e=u(n,r))return e.get}while(n=a(n))}})},xGkn:function(t,e,n){\"use strict\";var r=n(\"4mcu\"),o=n(\"EGZi\"),i=n(\"/bQp\"),a=n(\"TcQ7\");t.exports=n(\"vIB/\")(Array,\"Array\",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):\"keys\"==e?o(0,n):\"values\"==e?o(0,t[n]):o(0,[n,t[n]])},\"values\"),i.Arguments=i.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},\"xH/j\":function(t,e,n){var r=n(\"hJx8\");t.exports=function(t,e,n){for(var o in e)n&&t[o]?t[o]=e[o]:r(t,o,e[o]);return t}},xMpm:function(t,e,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"bSML\");r(r.S+r.F*n(\"zgIt\")(function(){function t(){}return!(Array.of.call(t)instanceof t)}),\"Array\",{of:function(){for(var t=0,e=arguments.length,n=new(\"function\"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},xONB:function(t,e,n){var r=n(\"Ds5P\");r(r.S,\"Math\",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},\"xZa+\":function(t,e,n){t.exports=!n(\"bUqO\")&&!n(\"zgIt\")(function(){return 7!=Object.defineProperty(n(\"jhxf\")(\"div\"),\"a\",{get:function(){return 7}}).a})},xn9I:function(t,e,n){\"use strict\";n(\"Ymdd\")(\"trimLeft\",function(t){return function(){return t(this,1)}},\"trimStart\")},xnc9:function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},y325:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"zgIt\"),i=n(\"/whu\"),a=/\"/g,u=function(t,e,n,r){var o=String(i(t)),u=\"<\"+e;return\"\"!==n&&(u+=\" \"+n+'=\"'+String(r).replace(a,\"&quot;\")+'\"'),u+\">\"+o+\"</\"+e+\">\"};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=\"\"[t]('\"');return e!==e.toLowerCase()||e.split('\"').length>3}),\"String\",n)}},y9m4:function(t,e,n){\"use strict\";var r,o,i,a,u=n(\"V3l/\"),s=n(\"OzIq\"),c=n(\"rFzY\"),f=n(\"wC1N\"),l=n(\"Ds5P\"),p=n(\"UKM+\"),d=n(\"XSOZ\"),h=n(\"9GpA\"),v=n(\"vmSO\"),g=n(\"7O1s\"),y=n(\"Sejc\").set,m=n(\"g36u\")(),b=n(\"w6Dh\"),_=n(\"SDXa\"),w=n(\"41xE\"),x=n(\"nphH\"),O=s.TypeError,E=s.process,S=E&&E.versions,P=S&&S.v8||\"\",M=s.Promise,A=\"process\"==f(E),k=function(){},D=o=b.f,C=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[n(\"kkCw\")(\"species\")]=function(t){t(k,k)};return(A||\"function\"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e&&0!==P.indexOf(\"6.6\")&&-1===w.indexOf(\"Chrome/66\")}catch(t){}}(),N=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},I=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var r=t._v,o=1==t._s,i=0;n.length>i;)!function(e){var n,i,a,u=o?e.ok:e.fail,s=e.resolve,c=e.reject,f=e.domain;try{u?(o||(2==t._h&&j(t),t._h=1),!0===u?n=r:(f&&f.enter(),n=u(r),f&&(f.exit(),a=!0)),n===e.promise?c(O(\"Promise-chain cycle\")):(i=N(n))?i.call(n,s,c):s(n)):c(r)}catch(t){f&&!a&&f.exit(),c(t)}}(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){y.call(s,function(){var e,n,r,o=t._v,i=T(t);if(i&&(e=_(function(){A?E.emit(\"unhandledRejection\",o,t):(n=s.onunhandledrejection)?n({promise:t,reason:o}):(r=s.console)&&r.error&&r.error(\"Unhandled promise rejection\",o)}),t._h=A||T(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},T=function(t){return 1!==t._h&&0===(t._a||t._c).length},j=function(t){y.call(s,function(){var e;A?E.emit(\"rejectionHandled\",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},L=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),I(e,!0))},F=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw O(\"Promise can't be resolved itself\");(e=N(t))?m(function(){var r={_w:n,_d:!1};try{e.call(t,c(F,r,1),c(L,r,1))}catch(t){L.call(r,t)}}):(n._v=t,n._s=1,I(n,!1))}catch(t){L.call({_w:n,_d:!1},t)}}};C||(M=function(t){h(this,M,\"Promise\",\"_h\"),d(t),r.call(this);try{t(c(F,this,1),c(L,this,1))}catch(t){L.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(\"A16L\")(M.prototype,{then:function(t,e){var n=D(g(this,M));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=A?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=c(F,t,1),this.reject=c(L,t,1)},b.f=D=function(t){return t===M||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!C,{Promise:M}),n(\"yYvK\")(M,\"Promise\"),n(\"CEne\")(\"Promise\"),a=n(\"7gX0\").Promise,l(l.S+l.F*!C,\"Promise\",{reject:function(t){var e=D(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!C),\"Promise\",{resolve:function(t){return x(u&&this===a?M:this,t)}}),l(l.S+l.F*!(C&&n(\"qkyc\")(function(t){M.all(t).catch(k)})),\"Promise\",{all:function(t){var e=this,n=D(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;v(t,!1,function(t){var u=i++,s=!1;n.push(void 0),a++,e.resolve(t).then(function(t){s||(s=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=D(e),r=n.reject,o=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},yJ2x:function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},yOtE:function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},yYvK:function(t,e,n){var r=n(\"lDLk\").f,o=n(\"WBcL\"),i=n(\"kkCw\")(\"toStringTag\");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},ydD5:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},yuXV:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"OzIq\").isFinite;r(r.S,\"Number\",{isFinite:function(t){return\"number\"==typeof t&&o(t)}})},yx1U:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"x9zv\").f,i=n(\"DIVP\");r(r.S,\"Reflect\",{deleteProperty:function(t,e){var n=o(i(t),e);return!(n&&!n.configurable)&&delete t[e]}})},zCYm:function(t,e,n){\"use strict\";var r=n(\"FryR\"),o=n(\"zo/l\"),i=n(\"BbyF\");t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),s=a>2?arguments[2]:void 0,c=void 0===s?n:o(s,n);c>u;)e[u++]=t;return e}},zQR9:function(t,e,n){\"use strict\";var r=n(\"h65t\")(!0);n(\"vIB/\")(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},zZHq:function(t,e,n){var r=n(\"wCso\"),o=n(\"DIVP\"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},zgIt:function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},zkX4:function(t,e,n){(function(e){!function(e){\"use strict\";function n(t,e,n,r){var i=e&&e.prototype instanceof o?e:o,a=Object.create(i.prototype),u=new d(r||[]);return a._invoke=c(t,n,u),a}function r(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}function o(){}function i(){}function a(){}function u(t){[\"next\",\"throw\",\"return\"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function s(t){function n(e,o,i,a){var u=r(t[e],t,o);if(\"throw\"!==u.type){var s=u.arg,c=s.value;return c&&\"object\"==typeof c&&m.call(c,\"__await\")?Promise.resolve(c.__await).then(function(t){n(\"next\",t,i,a)},function(t){n(\"throw\",t,i,a)}):Promise.resolve(c).then(function(t){s.value=t,i(s)},a)}a(u.arg)}function o(t,e){function r(){return new Promise(function(r,o){n(t,e,r,o)})}return i=i?i.then(r,r):r()}\"object\"==typeof e.process&&e.process.domain&&(n=e.process.domain.bind(n));var i;this._invoke=o}function c(t,e,n){var o=S;return function(i,a){if(o===M)throw new Error(\"Generator is already running\");if(o===A){if(\"throw\"===i)throw a;return v()}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var s=f(u,n);if(s){if(s===k)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(o===S)throw o=A,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);o=M;var c=r(t,e,n);if(\"normal\"===c.type){if(o=n.done?A:P,c.arg===k)continue;return{value:c.arg,done:n.done}}\"throw\"===c.type&&(o=A,n.method=\"throw\",n.arg=c.arg)}}}function f(t,e){var n=t.iterator[e.method];if(n===g){if(e.delegate=null,\"throw\"===e.method){if(t.iterator.return&&(e.method=\"return\",e.arg=g,f(t,e),\"throw\"===e.method))return k;e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return k}var o=r(n,t.iterator,e.arg);if(\"throw\"===o.type)return e.method=\"throw\",e.arg=o.arg,e.delegate=null,k;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=g),e.delegate=null,k):i:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,k)}function l(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function p(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function d(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(l,this),this.reset(!0)}function h(t){if(t){var e=t[_];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(m.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=g,e.done=!0,e};return r.next=r}}return{next:v}}function v(){return{value:g,done:!0}}var g,y=Object.prototype,m=y.hasOwnProperty,b=\"function\"==typeof Symbol?Symbol:{},_=b.iterator||\"@@iterator\",w=b.asyncIterator||\"@@asyncIterator\",x=b.toStringTag||\"@@toStringTag\",O=\"object\"==typeof t,E=e.regeneratorRuntime;if(E)return void(O&&(t.exports=E));E=e.regeneratorRuntime=O?t.exports:{},E.wrap=n;var S=\"suspendedStart\",P=\"suspendedYield\",M=\"executing\",A=\"completed\",k={},D={};D[_]=function(){return this};var C=Object.getPrototypeOf,N=C&&C(C(h([])));N&&N!==y&&m.call(N,_)&&(D=N);var I=a.prototype=o.prototype=Object.create(D);i.prototype=I.constructor=a,a.constructor=i,a[x]=i.displayName=\"GeneratorFunction\",E.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===i||\"GeneratorFunction\"===(e.displayName||e.name))},E.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,a):(t.__proto__=a,x in t||(t[x]=\"GeneratorFunction\")),t.prototype=Object.create(I),t},E.awrap=function(t){return{__await:t}},u(s.prototype),s.prototype[w]=function(){return this},E.AsyncIterator=s,E.async=function(t,e,r,o){var i=new s(n(t,e,r,o));return E.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},u(I),I[x]=\"Generator\",I[_]=function(){return this},I.toString=function(){return\"[object Generator]\"},E.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},E.values=h,d.prototype={constructor:d,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=g,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=g,this.tryEntries.forEach(p),!t)for(var e in this)\"t\"===e.charAt(0)&&m.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=g)},stop:function(){this.done=!0;var t=this.tryEntries[0],e=t.completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(t){function e(e,r){return i.type=\"throw\",i.arg=t,n.next=e,r&&(n.method=\"next\",n.arg=g),!!r}if(this.done)throw t;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if(\"root\"===o.tryLoc)return e(\"end\");if(o.tryLoc<=this.prev){var a=m.call(o,\"catchLoc\"),u=m.call(o,\"finallyLoc\");if(a&&u){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!u)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&m.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,k):this.complete(i)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),k},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),p(n),k}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;p(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:h(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=g),k}}}(\"object\"==typeof e?e:\"object\"==typeof window?window:\"object\"==typeof self?self:this)}).call(e,n(\"DuR2\"))},zmx7:function(t,e,n){var r=n(\"Ds5P\"),o=n(\"YUr7\"),i=n(\"PHqh\"),a=n(\"x9zv\"),u=n(\"bSML\");r(r.S,\"Object\",{getOwnPropertyDescriptors:function(t){for(var e,n,r=i(t),s=a.f,c=o(r),f={},l=0;c.length>l;)void 0!==(n=s(r,e=c[l++]))&&u(f,e,n);return f}})},\"zo/l\":function(t,e,n){var r=n(\"oeih\"),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},\"zq/X\":function(t,e,n){var r=n(\"UKM+\");t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError(\"Incompatible receiver, \"+e+\" required!\");return t}}});"
  },
  {
    "path": "document/App.vue",
    "content": "<template>\n  <div id=\"app\">\n    <router-view></router-view>\n  </div>\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      oldPath: window.location.hash\n    }\n  },\n  mounted () {\n    const docViewEle = document.body\n    docViewEle.addEventListener('click', (e) => {\n      let target = e.target\n      while (target && target.className !== 'anchor') {\n        target = target.parentNode\n      }\n      if (target) {\n        e.preventDefault()\n        this.scrollToHash(target.getAttribute('href'))\n      }\n    })\n  },\n  watch: {\n    $route (to, from) {\n      this.oldPath = `#${to.path}`\n      this.scrollToHash(to.hash)\n    }\n  },\n  methods: {\n    scrollToHash (hash) {\n      const pattern = /#cube-(.*)-anchor/\n      let newUrl = ''\n      let matcher\n      if (!hash) {\n        matcher = window.location.hash.match(pattern)\n        if (matcher) {\n          hash = matcher[0]\n        }\n      }\n      if (hash) {\n        matcher = hash.match(pattern)\n        newUrl = this.oldPath + hash\n        window.location.hash = newUrl\n        setTimeout(() => {\n          const anchor = decodeURIComponent(matcher[1])\n          const el = document.querySelector(`#${anchor}`)\n          el && el.scrollIntoView()\n        })\n      }\n    }\n  }\n}\n</script>\n\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  #app\n    width: 100%\n    height: 100%\n    background-color: white\n  .ov-hidden\n    overflow: hidden\n</style>\n"
  },
  {
    "path": "document/common/config/menu.json",
    "content": "{\n  \"en-US\": {\n    \"overview\": {\n      \"name\": \"Overview\",\n      \"angle\": \"01\",\n      \"subList\": {\n        \"introduction\": \"Introduction\",\n        \"quick-start\": \"QuickStart\",\n        \"post-compile\": \"PostCompile\",\n        \"theme\": \"Theme\",\n        \"singleton\": \"Singleton\",\n        \"internationalization\": \"Internationalization\"\n      }\n    },\n    \"components\": {\n      \"name\": \"Components\",\n      \"angle\": \"02\",\n      \"subList\": {\n        \"basic\": {\n          \"name\": \"Basic\",\n          \"subList\": {\n            \"button\": \"Button\",\n            \"loading\": \"Loading\",\n            \"tip\": \"Tip\",\n            \"toolbar\": \"Toolbar\",\n            \"tab-bar\": \"TabBar\"\n          }\n        },\n        \"form\": {\n          \"name\": \"Form\",\n          \"subList\": {\n            \"checkbox\": \"Checkbox\",\n            \"checkbox-group\": \"CheckboxGroup\",\n            \"radio\": \"Radio\",\n            \"checker\": \"Checker\",\n            \"input\": \"Input\",\n            \"textarea\": \"Textarea\",\n            \"select\": \"Select\",\n            \"switch\": \"Switch\",\n            \"rate\": \"Rate\",\n            \"validator\": \"Validator\",\n            \"upload\": \"Upload\",\n            \"form\": \"Form\"\n          }\n        },\n        \"popup\": {\n          \"name\": \"Popup\",\n          \"subList\": {\n            \"popup\": \"Popup\",\n            \"toast\": \"Toast\",\n            \"picker\": \"Picker\",\n            \"cascade-picker\": \"CascadePicker\",\n            \"date-picker\": \"DatePicker\",\n            \"time-picker\": \"TimePicker\",\n            \"segment-picker\": \"SegmentPicker\",\n            \"dialog\": \"Dialog\",\n            \"action-sheet\": \"ActionSheet\",\n            \"drawer\": \"Drawer\",\n            \"image-preview\": \"ImagePreview\"\n          }\n        },\n        \"scroll\": {\n          \"name\": \"Scroll\",\n          \"subList\": {\n            \"scroll\": \"Scroll\",\n            \"slide\": \"Slide\",\n            \"index-list\": \"IndexList\",\n            \"swipe\": \"Swipe\",\n            \"sticky\": \"Sticky\",\n            \"scroll-nav-bar\": \"ScrollNavBar\",\n            \"scroll-nav\": \"ScrollNav\",\n            \"recycle-list\": \"RecycleList\"\n          }\n        }\n      }\n    },\n    \"modules\": {\n      \"name\": \"Modules\",\n      \"angle\": \"03\",\n      \"subList\": {\n        \"style\": \"style\",\n        \"create-api\": \"create-api\",\n        \"better-scroll\": \"better-scroll\"\n      }\n    }\n  },\n  \"zh-CN\": {\n    \"overview\": {\n      \"name\": \"概览\",\n      \"angle\": \"01\",\n      \"subList\": {\n        \"introduction\": \"介绍\",\n        \"quick-start\": \"快速上手\",\n        \"post-compile\": \"后编译\",\n        \"theme\": \"主题\",\n        \"singleton\": \"单例模式\",\n        \"internationalization\": \"国际化\"\n      }\n    },\n    \"components\": {\n      \"name\": \"组件\",\n      \"angle\": \"02\",\n      \"subList\": {\n        \"basic\": {\n          \"name\": \"基础\",\n          \"subList\": {\n            \"button\": \"Button\",\n            \"loading\": \"Loading\",\n            \"tip\": \"Tip\",\n            \"toolbar\": \"Toolbar\",\n            \"tab-bar\": \"TabBar\"\n          }\n        },\n        \"form\": {\n          \"name\": \"表单\",\n          \"subList\": {\n            \"checkbox\": \"Checkbox\",\n            \"checkbox-group\": \"CheckboxGroup\",\n            \"radio\": \"Radio\",\n            \"checker\": \"Checker\",\n            \"input\": \"Input\",\n            \"textarea\": \"Textarea\",\n            \"select\": \"Select\",\n            \"switch\": \"Switch\",\n            \"rate\": \"Rate\",\n            \"validator\": \"Validator\",\n            \"upload\": \"Upload\",\n            \"form\": \"Form\"\n          }\n        },\n        \"popup\": {\n          \"name\": \"弹出层\",\n          \"subList\": {\n            \"popup\": \"Popup\",\n            \"toast\": \"Toast\",\n            \"picker\": \"Picker\",\n            \"cascade-picker\": \"CascadePicker\",\n            \"date-picker\": \"DatePicker\",\n            \"time-picker\": \"TimePicker\",\n            \"segment-picker\": \"SegmentPicker\",\n            \"dialog\": \"Dialog\",\n            \"action-sheet\": \"ActionSheet\",\n            \"drawer\": \"Drawer\",\n            \"image-preview\": \"ImagePreview\"\n          }\n        },\n        \"scroll\": {\n          \"name\": \"滚动\",\n          \"subList\": {\n            \"scroll\": \"Scroll\",\n            \"slide\": \"Slide\",\n            \"index-list\": \"IndexList\",\n            \"swipe\": \"Swipe\",\n            \"sticky\": \"Sticky\",\n            \"scroll-nav-bar\": \"ScrollNavBar\",\n            \"scroll-nav\": \"ScrollNav\",\n            \"recycle-list\": \"RecycleList\"\n          }\n        }\n      }\n    },\n    \"modules\": {\n      \"name\": \"模块\",\n      \"angle\": \"03\",\n      \"subList\": {\n        \"style\": \"style\",\n        \"create-api\": \"create-api\",\n        \"better-scroll\": \"better-scroll\"\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "document/common/js/ajax.js",
    "content": "export default function ajax (url) {\n  return new Promise(function (resolve, reject) {\n    const xhr = new window.XMLHttpRequest()\n    xhr.open('GET', url, true)\n    xhr.send(null)\n    xhr.onreadystatechange = () => {\n      if (xhr.readyState === 4) {\n        if (xhr.status >= 200 && xhr.status < 300) {\n          resolve(xhr.responseText)\n        } else {\n          reject(xhr)\n        }\n      }\n    }\n  })\n}\n"
  },
  {
    "path": "document/common/js/directive.js",
    "content": "import Vue from 'vue'\nimport hljs from './highlight'\n\nVue.directive('highlight', (el) => {\n  let blocks = el.querySelectorAll('pre code')\n  blocks.forEach(block => {\n    hljs.highlightBlock(block)\n  })\n})\n"
  },
  {
    "path": "document/common/js/highlight.js",
    "content": "import hljs from 'highlight.js/lib/highlight'\n\nimport shell from 'highlight.js/lib/languages/shell'\nimport css from 'highlight.js/lib/languages/css'\nimport markdown from 'highlight.js/lib/languages/markdown'\nimport js from 'highlight.js/lib/languages/javascript'\nimport json from 'highlight.js/lib/languages/json'\nimport stylus from 'highlight.js/lib/languages/stylus'\nimport xml from 'highlight.js/lib/languages/xml'\n\nhljs.registerLanguage('css', css)\nhljs.registerLanguage('markdown', markdown)\nhljs.registerLanguage('javascript', js)\nhljs.registerLanguage('json', json)\nhljs.registerLanguage('shell', shell)\nhljs.registerLanguage('stylus', stylus)\nhljs.registerLanguage('xml', xml)\n\nexport default hljs\n"
  },
  {
    "path": "document/common/js/utils.js",
    "content": "import Vue from 'vue'\nimport cookie from 'js-cookie'\n\nexport function setItem(k, v) {\n  try {\n    window.localStorage.setItem(k, v)\n  } catch (e) {\n    cookie.set(k, v, {\n      expires: 365\n    })\n  }\n}\n\nexport function getItem(k) {\n  let v = window.localStorage.getItem(k)\n  if (!v) {\n    v = cookie.get(k)\n  }\n  return v || ''\n}\n\nexport function getCurrentLang() {\n  const itemKey = 'CUBE_LANGUAGE'\n  const hash = window.location.hash\n  const hashZhLang = hash.indexOf('/zh-') >= 0 ? 'zh-CN' : hash.indexOf('/en-') >= 0 ? 'en-US' : ''\n  const lang = hashZhLang || getItem(itemKey) || window.navigator.language || 'en-US'\n  let defaultLang = 'en-US'\n  if (lang.indexOf('zh-') >= 0) {\n    defaultLang = 'zh-CN'\n  }\n  setItem(itemKey, defaultLang)\n  return defaultLang\n}\n\nconst baseUrl = process.env.NODE_ENV === 'production' ? `${window.location.href.replace(/#.*$/, '')}example/#/` : `http://${window.location.hostname}:8081/#/`\n\nconst eventHub = new Vue()\n\nexport { baseUrl, eventHub }\n"
  },
  {
    "path": "document/common/stylus/base.styl",
    "content": "@require \"~@/common/stylus/variable.styl\"\n\nhtml, body\n  width: 100%\n  height: 100%\n  color: $color-dark-grey\n  background: white\n  font-family -apple-system,\"Helvetica Neue\",Helvetica,Arial,\"PingFang SC\",\"Hiragino Sans GB\",\"WenQuanYi Micro Hei\",\"Microsoft Yahei\",sans-serif\n  -webkit-font-smoothing antialiased\ninput\n  outline: 0\n"
  },
  {
    "path": "document/common/stylus/index.styl",
    "content": "@require '~@/common/stylus/reset.styl'\n@require \"./base.styl\"\n@require \"./md.styl\"\n"
  },
  {
    "path": "document/common/stylus/md.styl",
    "content": "@require \"~@/common/stylus/variable.styl\"\n\n.md-body\n  font-size: $fontsize-medium\n  line-height: 1.6\n  color: $color-grey\n  p\n    margin: 1.2em 0\n    .anchor\n      display: inline-block\n  h2\n    margin-top: 1.2em\n    margin-bottom: .8em\n    font-size: 2em\n    font-weight: 600\n    color: $color-dark-grey\n  h3\n    margin: 1em 0 1em\n    font-size: 1.4em\n    font-weight: 600\n  h4\n    margin: 0.8em 0 0.8em\n    font-size: 1.1em\n    font-weight: 600\n  blockquote\n    padding: 0 1em\n    color: $color-grey\n    border-left: .25em solid $color-light-grey-s\n  table\n    // margin 0.8em 1em 0.8em 1em\n    width: 100%\n    box-sizing: border-box\n    table-layout: fixed\n    border-collapse: separate\n    border: 1px solid #E7E7E7\n    border-width: 1px 0 0 1px\n    border-radius: 4px\n    th, td\n      padding: 6px 13px\n      border: 1px solid #E7E7E7\n      border-width: 0 1px 1px 0\n      vertical-align: middle\n      text-align: left\n      word-wrap: break-word\n      word-break: break-word\n    tr\n      th\n        font-weight: 600\n        background-color: #F9F8F8\n        &:first-child\n          border-top-left-radius: 4px\n        &:last-child\n          border-top-right-radius: 4px\n    tr\n      &:last-child\n        td\n          &:first-child\n            border-bottom-left-radius: 4px\n          &:last-child\n            border-bottom-right-radius: 4px\n  ul, ol, li\n    line-height: 20px\n  li\n    list-style: inherit\n    margin: 1em 0\n  ul\n    padding-left: 20px\n  h1, h2, h3, h4\n    .anchor\n      display: none\n  h1:hover, h2:hover, h3:hover, h4:hover\n    .anchor\n      display: inline-block\n      float: left\n      margin-left: -20px\n      position relative\n      top: 6px\n      padding-right: 4px\n      line-height: 1\n  img\n    max-width: 100%\n  .hljs\n    border: 1px solid #E7E7E7\n    color: #666\n    background-color: #F9F8F8\n    border-radius: 4px\n  .hljs-variable,\n  .hljs-template-variable,\n  .hljs-attribute,\n  .hljs-tag,\n  .hljs-name,\n  .hljs-regexp,\n  .hljs-link,\n  .hljs-name,\n  .hljs-selector-id,\n  .hljs-selector-class\n    color: #3CA0E6\n  .hljs-string,\n  .hljs-symbol,\n  .hljs-bullet\n    color: #3FB374\n  .hljs-tag\n    color: #666\n  .hljs-attr\n    .hljs-tag\n      color: #fc9153\n      .hljs-attr\n        color: #fc9153\npre\n  margin: 1em 0\n  font-size: 12px\ncode\n  font-family: monaco\n  line-height: 1.4\n  color: rgb(199, 37, 78)\n  background: rgb(249, 242, 244)\n  padding: 2px 4px\n  box-sizing: border-box\n  font-size: 0.93em\nstrong\n  margin: 1em 0 1em\n  font-weight: bold\na\n  text-decoration: none\n  color:#3CA0E6\n  &:hover\n    color: #137DC6\nsup\n  position: absolute\n  margin: -10px 0 0 -4px\n  padding: 2px\n  transform: scale(0.6) translateZ(0)\n  border: 1px solid #ccc\n  border-radius: 4px\ntable\n  i[class^=\"cubeic-\"]\n    &::before\n      font-size: 20px\n    &::after\n      content: attr(class)\n      display: block\n      margin: -6px 0 8px 0\n"
  },
  {
    "path": "document/components/back/back.vue",
    "content": "<template>\n  <img class=\"to-home\" @click=\"toHome\" src=\"./back.svg\">\n</template>\n<script>\n  export default{\n    methods: {\n      toHome() {\n        this.$router.push('/')\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\">\n  .to-home\n    display: none\n  @media screen and (max-width: 960px)\n    .to-home\n      display: block\n      z-index: 5\n      position: fixed\n      right: auto\n      top: 4px\n      left: 3px\n      width: 20px\n      height: 20px\n      padding: 10px\n</style>\n"
  },
  {
    "path": "document/components/badge/badge.vue",
    "content": "<template>\n  <a class=\"badge\" href=\"https://github.com/didi/cube-ui\" target=\"_blank\">\n    <span class=\"badge-left\">{{badgeName||type}}</span>\n    <span class=\"badge-right\">{{badgeValue || '...'}}</span>\n  </a>\n</template>\n<script>\n  import ajax from '../../common/js/ajax.js'\n  const urlMap = {\n    star: 'https://img.shields.io/github/stars/didi/cube-ui.json',\n    fork: 'https://img.shields.io/github/forks/didi/cube-ui.json',\n    watch: 'https://img.shields.io/github/watchers/didi/cube-ui.json'\n  }\n  export default{\n    data() {\n      return {\n        badgeName: '',\n        badgeValue: ''\n      }\n    },\n    props: {\n      type: {\n        type: String,\n        default () {\n          return ''\n        }\n      }\n    },\n    mounted() {\n      let badge = this.type\n      this.getData(badge)\n    },\n    methods: {\n      getData (badge) {\n        let url = urlMap[badge]\n        ajax(url).then((response) => {\n          let result = JSON.parse(response)\n          this.badgeName = result.name\n          this.badgeValue = result.value\n        })\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\">\n  .badge\n    display: inline-block\n    text-align: center\n    border: 1px #4AA8FF solid\n    border-radius: 3px\n    color: #545454\n    margin: 5px\n    overflow: hidden\n    &:hover\n      color: #545454\n    span\n      display: inline-block\n      font-size: 12px\n    .badge-left\n      padding: 4px 10px\n      color: #fff\n      background-color: #89C6FF\n    .badge-right\n      padding: 4px 10px\n      border-left: 1px #4AA8FF solid\n      background-color: white\n</style>\n"
  },
  {
    "path": "document/components/display/display.vue",
    "content": "<template>\n  <div class=\"page-display\">\n    <div class=\"display-wrapper\">\n      <section class=\"mofang-demo\">\n        <iframe :src=\"ifrSrc\" frameborder=\"0\" width=\"100%\" height=\"100%\" scrolling=\"no\"></iframe>\n      </section>\n    </div>\n  </div>\n</template>\n\n<script>\n  import { baseUrl } from '../../common/js/utils'\n  export default {\n    data () {\n      return {\n        hash: '/'\n      }\n    },\n    computed: {\n      ifrSrc () {\n        return `${baseUrl}${this.hash}`\n      }\n    },\n    watch: {\n      '$route': {\n        handler (to, from) {\n          const index = to.path.indexOf('/docs/')\n          this.hash = to.path.substr(index + 6)\n        },\n        immediate: true\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n\n  .page-display\n    position: relative\n    .display-wrapper\n      position: relative\n      width: 330px\n      height: 645px\n      top: 50%\n      transform: translate(0, -50%)\n      margin: 0 56px 0 26px\n      background: url(\"./iphoneX.png\") no-repeat center 0\n      background-size: 100%\n      .mofang-demo\n        position: absolute\n        top: 64px\n        left: 21px\n        right: 23px\n        bottom: 22px\n        overflow: hidden\n        border-radius: 0 0 35px 35px\n        border: 1px solid #edf0f4\n        border-top: none\n        background-color: #edf0f4\n        iframe\n          // safari shit\n          width: 0\n          max-width: 100%\n          min-width: 100%\n</style>\n"
  },
  {
    "path": "document/components/docs/en-US/action-sheet.md",
    "content": "## ActionSheet\n\n`ActionSheet` provides two common styles and it is flexible.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-button @click=\"showDefault\">action sheet</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showDefault() {\n        this.$createActionSheet({\n          title: '我是标题~~~',\n          data: [\n            {\n              content: '<em>align - center</em>',\n              class: 'cube-foo'\n            },\n            {\n              content: 'align - left',\n              align: 'left'\n            },\n            {\n              content: 'align - right',\n              align: 'right'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  You can create a basic actionsheet by setting `title` and `data` option. Pay attention that `content` in `data` can be a HTML string. Also, setting the custom class by `class` and setting the align of the item's content by `align`.\n\n- Highlight item\n\n  ```html\n  <cube-button @click=\"showActive\">ActionSheet - active</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showActive() {\n        this.$createActionSheet({\n          title: '我是标题~~~',\n          active: 0,\n          data: [\n            {\n              content: '舒适型'\n            },\n            {\n              content: '七座商务'\n            },\n            {\n              content: '豪华型'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              txt: `Clicked canceled`,\n              type: 'warn',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  You can control the highlighted item by setting the `active` option.\n\n- Picker style setting\n\n  ```html\n  <cube-button @click=\"showPickerStyle\">ActionSheet - picker style</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showPickerStyle() {\n        this.$createActionSheet({\n          title: '我是标题~~~',\n          pickerStyle: true,\n          data: [\n            {\n              content: '舒适型'\n            },\n            {\n              content: '七座商务'\n            },\n            {\n              content: '豪华型'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              txt: `Clicked canceled`,\n              type: 'warn',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  You can use Picker style by setting `pickerStyle` to be true.\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| title | actionsheet's title | String | - | '' |\n| cancelTxt<sup>1.9.9</sup> | the text of the cancel button | String | - | '取消' |\n| data | the data list to display | Array | - | [] |\n| active | the highlighted item's index | Number | - | -1 |\n| pickerStyle | Picker style | Boolean | true/false | false |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | - | 100 |\n\n* `data` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| content | the content to display in the actionsheet's item | String | any text, include HTML | '' |\n| align | align the content | String | left/right | '' |\n| class | custom class | String | - | '' |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 |\n| - | - | - | - |\n| cancel | triggers when clicking the cancel button | - | - |\n| select | triggers when clicking some item | the clicked item - data[index] | the index of the clicked item |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| show | show |\n| hide | hide |\n"
  },
  {
    "path": "document/components/docs/en-US/better-scroll.md",
    "content": "## better-scroll module\n\nThis module exports a default function called `BetterScroll`,  for more information about better-scroll, please refer to [better-scroll lib](https://github.com/ustbhuangyi/better-scroll).\n\n### Links\n\nAbout better-scroll:\n\n- [Home](https://better-scroll.github.io/docs-v1/#/)\n\n- [Example](https://better-scroll.github.io/docs-v1/#/examples/en)\n"
  },
  {
    "path": "document/components/docs/en-US/button.md",
    "content": "## Button\n\n`Button` provides various types, styles, states and icons.\n\n### Example\n\n- Button type\n\n  The default type is `button`, and you can set that to `submit` in form.\n\n  ```html\n  <cube-button>Button</cube-button>\n  <cube-button type=\"submit\">Submit Button</cube-button>\n  ```\n\n- Button state\n\n  Default is normal, can be set to active or disabled state.\n\n  ```html\n  <cube-button :active=\"true\">Active Button</cube-button>\n  <cube-button :disabled=\"true\">Disabled Button</cube-button>\n  ```\n\n- Icon\n\n  You can set the class of `icon`.\n\n  ```html\n  <cube-button icon=\"cubeic-right\">Button With Icon</cube-button>\n  ```\n\n- Style\n\n  You can set attributes like `light`, `inline`, `outline`, and `primary` to change the button's style.\n\n  ```html\n  <cube-button :light=\"true\">Light Button</cube-button>\n  <cube-button :inline=\"true\">Inline Button</cube-button>\n  <cube-button :outline=\"true\">Outline Button</cube-button>\n  <cube-button :primary=\"true\">Primary Button</cube-button>\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| type | Button type | String | button/submit | button |\n| active | active state | Boolean | true/false | false |\n| disabled | disabled state | Boolean | true/false | false |\n| icon | Icon | String | the class of icon | - |\n| light | light style | Boolean | true/false | false |\n| inline | whether inline | Boolean | true/false | false |\n| outline | outline style | Boolean | true/false | false |\n| primary | primary style | Boolean | true/false | false |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| click | triggers when the button is clicked. If in disabled state, then it won't trigger | e - event target |\n"
  },
  {
    "path": "document/components/docs/en-US/cascade-picker.md",
    "content": "## CascadePicker\n\n> New in 1.2.0+\n\n`CascadePicker` component is used to implement the cascading change between picker columns. What is the effect of cascade? Considering the usage of province-city-area picker, when the province is changed, you may want the city column to display the exact cities of current province, so does the area column. And the `CascadePicker` is here to help you handle this.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  Comparing to `Picker`, the required structure of props data is different for `CascadePicker`. The data structure of `Picker` is a two-dimensional array, and each column corresponds to an array. As in `CascadePicker`, we need a tree structure, that each item of first column has a `children` property which contains the corresponding data of following columns. Here is an example.\n\n  ```html\n  <cube-button @click=\"showCascadePicker\">Cascade Picker</cube-button>\n  ```\n  ```js\n  const cascadeData = [\n    {\n      value: 'Fruit',\n      text: 'Fruit',\n      children: [\n        {\n          value: 'Apple',\n          text: 'Apple',\n          children: [{ value: 1, text: 'One' }, { value: 2, text: 'Two' }]\n        },\n        {\n          value: 'Orange',\n          text: 'Orange',\n          children: [{ value: 3, text: 'Three'}, { value: 4, text: 'Four' }]\n        }\n      ]\n    },\n    {\n      value: 'Drink',\n      text: 'Drink',\n      children: [\n        {\n          value: 'Coffee',\n          text: 'Coffee',\n          children: [{ value: 1, text: 'One' }, { value: 2, text: 'Two' }]\n        },\n        {\n          value: 'Tea',\n          text: 'Tea',\n          children: [{ value: 1, text: 'One' }, { value: 3, text: 'Three'}]\n        }\n      ]\n    }\n  ]\n  export default {\n    mounted () {\n      this.cascadePicker = this.$createCascadePicker({\n        title: 'Cascade Picker',\n        data: cascadeData,\n        selectedIndex: [0, 1, 0],\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n    },\n    methods: {\n      showCascadePicker() {\n        this.cascadePicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n  When the first column goes to `Fruit`, the data of second column are `Apple` and `Orange`. And so on, when the second column goes to on `Orange`, the data of third column are `Three` and `Four`.\n\n- Address Picker\n\n  For address picker, the only thing you need to do is constructing the cascading data.\n\n  ```html\n  <cube-button @click=\"showAddressPicker\">Address Picker</cube-button>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const addressData = provinceList\n  addressData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n\n  export default {\n    mounted () {\n      this.addressPicker = this.$createCascadePicker({\n        title: 'City Picker',\n        data: addressData,\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n    },\n    methods: {\n      showAddressPicker() {\n        this.addressPicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Instance method `setData`\n\n  You could use `setData` to reset the cascading data and selected index of `CascadePicker` instance no matter whether the picker is visible.\n\n  ```html\n  <cube-button @click=\"showSetDataPicker\">SetData Picker</cube-button>\n  ```\n  ```js\n  export default {\n    mounted () {\n      this.setDataPicker = this.$createCascadePicker({\n        title: 'Set Data',\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n    },\n    methods: {\n      showSetDataPicker() {\n        // setData when the picker is invisible.\n        this.setDataPicker.setData(cascadeData)\n\n        this.setDataPicker.show()\n        setTimeout(() => {\n          // setData when the picker is visible.\n          this.setDataPicker.setData(addressData, [1, 1, 0])\n        }, 1000)\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Async load data\n\n  When the data is too large, it will be really hard to construct the whole cascade data tree at beginning. For this case, you could use the property `async` to enable async load data and update the data at the event `change`. Before the data is updated, we will block the confirm handler temporarily.\n\n  ```html\n  <cube-button @click=\"showAsyncPicker\">Async Load Data</cube-button>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const asyncData = provinceList\n  const asyncSelectedIndex = [0, 0, 0]\n  asyncData[0].children = cityList[asyncData[0].value]\n  asyncData[0].children[0].children = areaList[asyncData[0].children[0].value]\n\n  export default {\n    mounted () {\n      this.asyncPicker = this.$createCascadePicker({\n        title: 'Async Load Data',\n        async: true,\n        data: asyncData,\n        selectedIndex: asyncSelectedIndex.slice(),\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle,\n        onChange: this.asyncChangeHandle\n      })\n    },\n    methods: {\n      showAsyncPicker() {\n        this.asyncPicker.show()\n      },\n      asyncChangeHandle(i, newIndex) {\n        if (newIndex !== asyncSelectedIndex[i]) {\n          asyncSelectedIndex[i] = newIndex\n          // If the first two column is changed, request the data for rest columns.\n          if (i < 2) {\n            // Mock async load.\n            setTimeout(() => {\n              if (i === 0) {\n                const current = asyncData[newIndex]\n                current.children = current.children || cityList[current.value]\n                current.children[0].children = current.children[0].children || areaList[current.children[0].value]\n                asyncSelectedIndex[1] = 0\n                asyncSelectedIndex[2] = 0\n              }\n\n              if (i === 1) {\n                const current = asyncData[asyncSelectedIndex[0]].children[newIndex]\n                current.children = current.children || areaList[current.value]\n                asyncSelectedIndex[2] = 0\n              }\n              this.asyncPicker.setData(asyncData, asyncSelectedIndex)\n            }, 500)\n          }\n        }\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Default | Accepted Values |\n| - | - | - | - | - |\n| data | the cascading data used to init option items | Array | [] | - |\n| selectedIndex | the index of the selected item, corresponding content will be displayed when picker shows | Array | [] | [1] |\n| async<sup>1.8.1</sup> | async load data | Boolean | false | - |\n| title | title | String | '' | - |\n| subtitle<sup>1.8.1</sup> | subtitle | String | '' | - |\n| cancelTxt | the text of the cancel button | String | '取消' | - |\n| confirmTxt | the text of the confirm button | String | '确定' | - |\n| swipeTime | the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms | Number | 2500 | - |\n| alias | configure the alias of `value` and `text`, used as same as the alias of `Picker` component | Object | {} | { value: 'id', text: 'name'} |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | 100 | - |\n\n* `data` sub configuration\n\n| Attribute | Description | Type  | Default | Example |\n| - | - | - | - | - |\n| text | the displayed text of each item | String/Number | - | - |\n| value | the value of each item | String/Number/Boolean | - | - |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| select | triggers when clicking the confirm button | selectedVal: Array, values of each columns in current selected item | selectedIndex: Array, indexes of each columns in current selected item | selectedText: Array, texts of each columns in current selected item |\n| change | triggers when the roller scrolls | index: Number, index of current scrolling roller | selectedIndex: Number, index of selected item in current column |\n| cancel | triggers when clicking the cancel button | - | - |\n\n### Instance methods\n\n| Method name | Description | Parameters 1 | Parameters 2 |\n| - | - | - | - |\n| show | show | - | - |\n| hide | hide | - | - |\n| setData | reset the cascading data and selected index | Array, the cascading data | Array, the indexes of selected item in each column |\n"
  },
  {
    "path": "document/components/docs/en-US/checkbox-group.md",
    "content": "## CheckboxGroup\n\n`CheckboxGroup` is a group of checkboxs, which is used to select a group of options. It has vertical and horizontal styles.\n\n### Example\n\n- Vertical order\n\n  Default is vertical order style.\n\n  ```html\n  <cube-checkbox-group v-model=\"checkList\" :options=\"options\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkList: ['1', '4'],\n        options: [\n          '1',\n          '2',\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          },\n          {\n            label: '4',\n            value: '4',\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n  The value of `checkList` is an array, which represents the set of the values of `value` in selected checkboxs.\n\n- Horizontal order and icon shape\n\n  You can set `horizontal` to change the style to horizontal order. Besides, you could use `shape` to configure the shape of icon and set `hollow-style=true` to use hollow-out style.\n\n  ```html\n  <cube-checkbox-group v-model=\"checkList\" :options=\"options\" :horizontal=\"true\" shape=\"square\" :hollow-style=\"true\" />\n  ```\n\n- Use slot\n\n  ```html\n  <cube-checkbox-group v-model=\"checkList\">\n    <cube-checkbox option=\"1\"><i>Checkbox 1</i></cube-checkbox>\n    <cube-checkbox option=\"2\"><i>Checkbox 2</i></cube-checkbox>\n    <cube-checkbox :option=\"{value: '3', disabled: true}\"><i>Disabled Checkbox</i></cube-checkbox>\n    <cube-checkbox :option=\"{value: '4', disabled: true}\"><i>Disabled & Checked Checkbox</i></cube-checkbox>\n  </cube-checkbox-group>\n  ```\n\n  Use `cube-checkbox`, [cube-checkbox doc](#/en-US/docs/checkbox).\n\n- Set column number<sup>1.12.28</sup>\n\n  You can use `colNum` to control the display columns\n  ```html\n    <cube-checkbox-group v-model=\"colCheckList\" :options=\"colOptions\" :col-num=\"3\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        colCheckList: [],\n        colOptions: ['1', '2', '3', '4', '5', '6', '7', '8']\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| options | array of checkbox options | Array | - | - |\n| horizontal | whether in horizontal order | Boolean | true/false | false |\n| colNum<sup>1.12.28</sup> | column number | Number | - | 1 |\n| shape | icon shape | String | circle/square | circle |\n| hollowStyle | whether is hollow-out style | Boolean | true/false | false |\n| min<sup>1.11.0</sup> | min selected items count | Number | - | 0 |\n| max<sup>1.11.0</sup> | max selected items count | Number | - | Infinite |\n\n* `options` sub configuration\n\n| Attribute | Description | Type  |\n| - | - | - |\n| label | label content | String |\n| value | checkbox item value | String/Number |\n| disabled | whether disabled | Boolean |\n\nNote: each `options` item can be an string value, now both the`label` and `value` values are the string value.\n\n### Events\n\n| Event Name | Description | Parameter |\n| - | - | - |\n| checked | triggers when an checkbox in the checkboxGroup is checked | the currently checked checkbox value |\n| cancel-checked | triggers when an checkbox in the checkboxGroup is unchecked | the currently unchecked checkbox value |\n| input | triggers when the binding value changes | a set of the values of selected checkboxs |\n"
  },
  {
    "path": "document/components/docs/en-US/checkbox.md",
    "content": "## Checkbox\n\n`Checkbox` component. You can set the state, pass on special class and set the position of the checkbox's icon.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-checkbox v-model=\"checked\">\n    Checkbox\n  </cube-checkbox>\n  ```\n\n  If selected, the value of `checked` is `true`.\n\n- Styled checkbox\n\n  ```html\n  <cube-checkbox v-model=\"checked\" position=\"right\" shape=\"square\" :hollow-style=\"true\">\n    Styled Checkbox\n  </cube-checkbox>\n  ```\n\n  If setting `position` to `'right'`, the position of the checkbox's icon is on the right. And you could use `shape` to configure the shape of icon,  set `hollow-style=true` to use hollow-out style.\n\n- Change the value of model\n\n  ```html\n  <cube-checkbox v-model=\"checked\" :option=\"option\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checked: false,\n        option: {\n          label: 'Option Checkbox',\n          value: 'optionValue',\n          disabled: false\n        }\n      }\n    }\n  }\n  ```\n\n  If `option` is setted, and when the checkbox is selected, the value of `checked` is `'optionValue'`. When not selected, the value is `false`; Therefore, in circumstances of single checkbox, better not set `option`.\n\n- Disabled state\n\n  ```html\n  <cube-checkbox v-model=\"checked\" :option=\"{disabled: true}\">\n    Disabled Checkbox\n  </cube-checkbox>\n  ```\n\n- With click\n\n  If you want to handle click event, you need to handle the style:\n\n  ```html\n  <cube-checkbox class=\"with-click\" v-model=\"checked\">\n    Agree <a href=\"javascript:;\" @click.stop>《xxx》</a>\n  </cube-checkbox>\n  ```\n  ```styl\n  .with-click\n    .cube-checkbox-label\n      a\n        position: relative\n        z-index: 1\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| option | option value（if the value of option is a string type, the label and value will be this string you just set for option.） | Boolean/String/Object | - | - |\n| position | icon position | String | left/right | left |\n| shape | icon shape | String | circle/square | circle |\n| hollowStyle | whether is hollow-out style | Boolean | true/false | false |\n\n* `option` sub configuration\n\n| Attribute | Description | Type  |\n| - | - | - |\n| label | the text of label | String |\n| value | the value of checkbox item | String/Number |\n| disabled | whether the checkbox item is disabled | Boolean |\n\n### Events\n\n| Event Name | Description | Parameter |\n| - | - | - |\n| input | triggers when the binding value changes | the updated value（ if you set value in the option and the checkbox is checked, the value is option.value; otherwise, the value is the v-model value of checkbox ）|\n"
  },
  {
    "path": "document/components/docs/en-US/checker.md",
    "content": "## Checker\n\nChecker is more flexible selection component, you can alse customize the layout.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-checker\n    v-model=\"checkerValue\"\n    :options=\"options\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerValue: [],\n        options: [\n          {\n            value: 1,\n            text: 'red'\n          },\n          {\n            value: 2,\n            text: 'yellow'\n          },\n          {\n            value: 3,\n            text: 'blue'\n          },\n          {\n            value: 4,\n            text: 'green'\n          }\n        ]\n      }\n    }\n  }\n  ```\n  The value of `options` is an array. The default `checkerValue` value is  `''`,\n  If you clicked one option, the `checkerValue` will be set as the value of this option.\n\n- radio\n\n  ```html\n  <cube-checker\n    v-model=\"checkerValue\"\n    :options=\"options\"\n    type=\"radio\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerValue: '',\n        options: [\n          {\n            value: 0,\n            text: 'AAAAA'\n          },\n          {\n            value: 1,\n            text: 'BBBBB'\n          }\n        ]\n      }\n    }\n  }\n  ```\n  If the `type` is set to `'radio'`, the checker will be a radio type.\n  The default type is a `'checkbox'`.\n\n- Use slot\n\n  You can use slot to implement custom layout.\n\n  ```html\n  <cube-checker\n    v-model=\"checkerList\"\n    :options=\"options\"\n    type=\"radio\">\n    <cube-checker-item\n      v-for=\"item in options\"\n      :key=\"item.value\"\n      :option=\"item\">\n      <span class=\"orange\"><i class=\"cubeic-alert\"></i>{{item.text}}</span>\n    </cube-checker-item>\n  </cube-checker>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerList: [],\n        options: [\n          {\n            value: 0,\n            text: 'AAAAA'\n          },\n          {\n            value: 1,\n            text: 'BBBBB'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n\n- Use min & max prop\n\n  You can use `min` and `max` prop but the `type` must set to `'checkbox'`.\n\n  `max` set the max number of checked items, `min` set the min number of checked items.\n\n\n  ```html\n  <cube-checker\n    v-model=\"checkerList\"\n    :options=\"options\"\n    :min=\"1\"\n    :max=\"2\"/>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerList: [3],\n        options: [\n          {\n            value: 1,\n            text: 'red'\n          },\n          {\n            value: 2,\n            text: 'yellow'\n          },\n          {\n            value: 3,\n            text: 'blue'\n          },\n          {\n            value: 4,\n            text: 'green'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n\n- disabled state <sup>1.12.19</sup>\n\n  use `disabled`  to set disabled state\n\n\n  ```html\n  <cube-checker\n    v-model=\"checkerList\"\n    :options=\"options\"/>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerList: [2],\n        options: [\n          {\n            value: 1,\n            text: 'first',\n            disabled: true\n          },\n          {\n            value: 2,\n            text: 'second',\n            disabled: true\n          },\n          {\n            value: 3,\n            text: 'third'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| options | a collection of configuration items | Array | - | - |\n| type | the type of checker | String | checkbox/radio | checkbox |\n| min | the min number | Number | - | 0 |\n| max | the max number | Number | - | options length |\n\n* options sub configuration\n\n| Attribute | Description | Type  |\n| - | - | - |\n| value | the value of checker item | String/Number |\n| text | the text of checker item | String |\n| disabled<sup>1.12.19</sup> | disabled state of checker item | Boolean |\n\n### CubeCheckerItem Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| option | item configuration object | Object | - | - |\n\n* option sub configuration\n\n| Attribute | Description | Type  |\n| - | - | - |\n| value | the value of checker item | String/Number |\n| text | the text of checker item | String |\n| disabled<sup>1.12.19</sup> | disabled state of checker item | Boolean |\n"
  },
  {
    "path": "document/components/docs/en-US/create-api.md",
    "content": "## create-api module\n\nThis module exports a function called `createAPI` with which you can invoke the custom component which has been instantiated in api form. And It could be called both in Vue instance context and [general js file](https://didi.github.io/cube-ui/#/en-US/docs/create-api#cube-HowtouseingeneralJSfilesoruseitinglobal-anchor).\n\n\n__Notice:__ All cube-ui componnets which used `createAPI` must be registered by `Vue.use`.\n\n### createAPI(Vue, Component, [events, single])\n\n- Parameters:\n\n  - `{Function} Vue` Vue function\n  - `{Function | Object} Component` Vue component which must contains `name`\n  - `{Array} [events]` the collection of the instantiated Vue Component's event name\n  - `{Boolean} [single]` whether singleton\n\n- Usage:\n\n  - This method will add a method which is named `$create{camelize(Component.name)}` to Vue's prototype, so you can instantiate the Vue component by `const instance = this.$createAaBb(config, [renderFn, single])` in other components. The instantiated component's template content will be attached to `body` element.\n\n  - `const instance = this.$createAaBb(config, renderFn, single)`\n\n    **Parameters：**\n\n    | Attribute | Description | Type | Accepted Values | Default |\n    | - | - | - | - | - |\n    | config | Config options | Object | {} | - |\n    | renderFn | Optional, used to generate the VNode child node in the slot scene in general | Function | - | function (createElement) {...} |\n    | single | Optional, whether the instantiated component is a singleton or not. If two parameters are provided and the `renderFn`'s type is not function, then the `single` value is the sencond parameter's value. | Boolean | single in createAPI() | - |\n\n    **Config options `config`:**\n\n    It will be passed to the component as its props except the events in `events`(It will transform by default, eg: If `events` has value `['click']`, then the prop `onClick` will be treated as component's event and not component's props).\n\n    After 1.8.0+, you can set `$props` and `$events` in `config`, `$props` supported reactive properties, these props will be watched.\n\n    | Attribute | Description | Type | Accepted Values | Default |\n    | - | - | - | - | - |\n    | $props | Component props | Object | - | {<br> title: 'title',<br> content: 'my content',<br> open: false<br>} |\n    | $events | Component event handlers | Object | - | {<br> click: 'clickHandler',<br> select: this.selectHandler<br>} |\n\n    `$props` example, `{ [key]: [propKey] }`:\n\n    ```js\n    {\n      title: 'title',\n      content: 'my content',\n      open: false\n    }\n    ```\n\n    `title`, `content` and `open` are keys of the component prop, and the prop' value will be taken by the following steps:\n\n    1. If `propKey` is not a string value, then use `propKey` as the prop value.\n    1. If `propKey` is a string value and the caller instance dont have the `propKey` property, then use `propKey` as the prop value.\n    1. If `propKey` is a string value and the caller instance have the `propKey` property, then use the caller's `propKey` property value as the prop value. And the prop value will be reactively.\n\n    `$events` example, `{ [eventName]: [eventValue] }`:\n\n    ```js\n    {\n      click: 'clickHandler',\n      select: this.selectHandler\n    }\n    ```\n\n    `click` and `select` are event names, and the event handlers will be taken by the following steps:\n\n    1. If `eventValue` is not a string value, then use `eventValue` as the event handler.\n    1. If `eventValue` is a string value, then use the caller's `eventValue` property value as the event handler.\n\n    After 1.10.0+, you can set [all avaliable properties in Vue](https://vuejs.org/v2/guide/render-function.html#The-Data-Object-In-Depth), but you need to add prefix `$`, eg:\n\n    ```js\n    this.$createAaBb({\n      $attrs: {\n        id: 'id'\n      },\n      $class: {\n        'my-class': true\n      }\n    })\n    ```\n\n    **The Returned value `instance`:**\n\n    `instance` is a instantiated Vue component.\n    > And the `remove` method will be **attached** to this instance.\n\n    You can invoke the `remove` method to destroy the component and detach the component's content from `body` element.\n\n    If the caller is destroyed and the `instance` will be destroyed too.\n\n- Example:\n\n  First we create Hello.vue component：\n\n  ```html\n  <template>\n    <div @click=\"clickHandler\">\n      {{content}}\n      <slot name=\"other\"></slot>\n    </div>\n  </template>\n\n  <script type=\"text/ecmascript-6\">\n    export default {\n      name: 'hello',\n      props: {\n        content: {\n          type: String,\n          default: 'Hello'\n        }\n      },\n      methods: {\n        clickHandler(e) {\n          this.$emit('click', e)\n        }\n      }\n    }\n  </script>\n  ```\n\n  Then we make Hello.vue to an API style component by calling the `createAPI` method.\n\n  ```js\n    import Vue from 'vue'\n    import Hello from './Hello.vue'\n\n    // import Style to load the base style\n    import {\n      /* eslint-disable no-unused-vars */\n      Style,\n      Dialog,\n      createAPI\n    } from 'cube-ui'\n\n    Vue.use(Dialog)\n\n    // create this.$createHello API\n    createAPI(Vue, Hello, ['click'], true)\n\n    // init Vue\n    new Vue({\n      el: '#app',\n      render: function (h) {\n        return h('button', {\n          on: {\n            click: this.showHello\n          }\n        }, ['Show Hello'])\n      },\n      methods: {\n        showHello() {\n          /* The first parameter of `$createHello` will be passed to the component as its props except the events in `events`(It will transform by default, eg: If `events` has value `['click']`, then the prop `onClick` will be treated as component's event and not component's props) */\n          const instance = this.$createHello({\n            content: 'My Hello Content',\n            onClick(e) {\n              console.log('Hello component clicked.')\n            }\n          }, /* renderFn */ (createElement) => {\n            return [\n              createElement('p', {\n                slot: 'other'\n              }, 'other content')\n            ]\n          })\n          // Also, the event hanlder can be registered by instance's `$on` method\n          instance.$on('click', (e) => {\n            const $dialog = this.$createDialog({\n              type: 'confirm',\n              content: 'click confirm to remove current instance',\n              icon: 'cubeic-alert'\n            })\n            $dialog.show()\n\n            $dialog.$on('confirm', () => {\n              // remove instance\n              instance.remove()\n            }).$on('cancel', () => {\n              console.log('cancel')\n            })\n          })\n        }\n      }\n    })\n  ```\n  In this example, we create a component `Hello` which needs to be invoked in api form and we invoke it in another component.The focus is what `showHello()` does: invoking method `this.$createHello(config, renderFn)` to instantiate `Hello`.\n\n### How to use in general JS files or use it in global\n\nIn vue component, you could call by `this.$createHello(config, renderFn)` because the `this` is just a Vue instance. But in general JS files, you need to use `Hello.$create`. As shown below:\n\n```js\nimport Vue from 'vue'\nimport Hello from './Hello.vue'\n\nimport {\n  createAPI\n} from 'cube-ui'\n\n// 创建 this.$createHello and $Hello.create API\ncreateAPI(Vue, Hello, ['click'], true)\n\nHello.$create(config, renderFn)\n```\n\nOr components in cube-ui, like Dialog:\n\n```js\nimport Vue from 'vue'\nimport { Dialog } from 'cube-ui'\n\nVue.use(Dialog)\n\nDialog.$create({\n  ...\n})\n```\n\nThere is another idea which used the mode of data-driven. For example, in vuex, you could use a global state to label whether to call the component, and watch this state in App.vue to handle this component.\n"
  },
  {
    "path": "document/components/docs/en-US/date-picker.md",
    "content": "## DatePicker\n\n> New in 1.7.0+\n\nDatePicker can be used to choose date, which has flexible configuration for time granularity, such as year - month - date, hour - minute - second, year - month - date - hour - minute - second, year - month, etc.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  You can create a component instance by `$createDatePicker`, and configure `min`, `max` to set the selected date range. the `value` could use to set the current selected date.\n\n  ```html\n  <cube-button @click=\"showDatePicker\">Date Picker</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showDatePicker() {\n        if (!this.datePicker) {\n          this.datePicker = this.$createDatePicker({\n            title: 'Date Picker',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.datePicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Column configuration\n\n  Though column configuration, `DatePicker` get the power of flexible time granularity. There are six columns in total: year, month, date, hour, minute and second. You can configure the starting column and the count of columns by `startColumn` and `columnCount`, such as the default \"year - month - date\" picker is \"three column\" starting from \"year\", and \"hour - minute - second\" picker is the \"three column\" starting from \"time\".\n\n  ```html\n  <cube-button @click=\"showTimePicker\">Time Picker</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showTimePicker() {\n        if (!this.timePicker) {\n          this.timePicker = this.$createDatePicker({\n            title: 'Time Picker',\n            min: [8, 0, 0],\n            max: [20, 59, 59],\n            value: new Date(),\n            startColumn: 'hour',\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.timePicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- year-month-date-hour-minute-second\n\n  Similarly, if you want year-month-date-hour-minute-second picker, just \"six columns\" starting from \"year\"\n\n  ```html\n  <cube-button @click=\"showDateTimePicker\">Date Time Picker</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showDateTimePicker() {\n        if (!this.dateTimePicker) {\n          this.dateTimePicker = this.$createDatePicker({\n            title: 'Date Time Picker',\n            min: new Date(2008, 7, 8, 8, 0, 0),\n            max: new Date(2020, 9, 20, 20, 59, 59),\n            value: new Date(),\n            columnCount: 6,\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.dateTimePicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Format\n\n  You can also configure the date format by the property `format`.\n\n  ```html\n  <cube-button @click=\"showFormatPicker\">Use format</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showFormatPicker() {\n        if (!this.formatPicker) {\n          this.formatPicker = this.$createDatePicker({\n            title: 'Use format',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            format: {\n              year: 'YY年',\n              month: 'MM月',\n              date: '第 D 日'\n            },\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.formatPicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- `columnOrder` <sup>1.12.14</sup>\n\n  `columnOrder` can be used to change the display order in case where the order is not 'Year-Month-Date Hour-Minute-Second'. For example, we can set the `columnOrder` to `['month', 'date', 'year']` for the display order of 'Month-Date-Year'.\n\n  ```html\n  <cube-button @click=\"showChangeOrderPicker\">Date Picker(Change order)</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showChangeOrderPicker() {\n         if (!this.changeOrderPicker) {\n           this.changeOrderPicker = this.$createDatePicker({\n             title: 'Date Picker',\n             min: new Date(2008, 7, 8),\n             max: new Date(2020, 9, 20),\n             value: new Date(),\n             columnOrder: ['month', 'date', 'year'],\n             onSelect: this.selectHandle,\n             onCancel: this.cancelHandle\n           })\n         }\n         this.changeOrderPicker.show()\n       }\n    }\n  }\n  ```\n\n- `$updateProps`\n\n  With the `$updateProps` method, you can modify the properties of component instances created by createAPI. For example, in `DatePicker`, we can modify the value of `value` attribute to change the date currently selected.\n\n  ```html\n  <cube-button @click=\"showUpdatePropsPicker\">Use $updateProps</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showUpdatePropsPicker() {\n        if (!this.updatePropsPicker) {\n          this.updatePropsPicker = this.$createDatePicker({\n            title: 'Use $updateProps',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.updatePropsPicker.show()\n        setTimeout(() => {\n          this.updatePropsPicker.$updateProps({\n            title: 'updated',\n            value: new Date(2010, 9, 1)\n          })\n        }, 1000)\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default | Example |\n| - | - | - | - | - | - |\n| min | the minimum value of optional range | Date, Array | - | new Date(2010, 0, 1) | new Date(2008, 7, 8) |\n| max | the maximum value of optional range | Date, Array | - | December 31 of next year based on current time [new Date().getFullYear() + 1, 12, 31, 23, 59, 59] | new Date(2020, 9, 20) |\n| value | current selected Date | Date, Array | - | the minimum value of optional range | new Date() |\n| startColumn | the start column | String | year/month/date/hour/minute/second| year | hour |\n| columnCount | the count of column | Number | - | 3 | 6 |\n| format<sup>1.8.0+</sup> | date format | Object | - | { year: 'YYYY', month: 'M', date: 'D', hour: 'hh', minute: 'mm', second: 'ss' } | { year: 'YY年', month: 'MM月', date: '第 D 日' } |\n| title | title | String | - | '' | - |\n| subtitle<sup>1.8.1</sup> | subtitle | String | - | '' | - |\n| cancelTxt | the text of the cancel button | String | - | '取消' | - |\n| confirmTxt | the text of the confirm button | String | - | '确定' | - |\n| swipeTime | the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms | Number | - | 2500 | - |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false | - |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | true | - |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | - | 100 | - |\n| columnOrder<sup>1.12.14</sup> | display order | Array | - | ['year', 'month', 'date', 'hour', 'minute', 'second'] | - |\n\n* `format` sub configuration\n\n| Attribute | Description | Type  | Default | Example |\n| - | - | - | - | - |\n| year | the format of year, `YYYY` represent full year，`YY` only last two digit of year | String | `YYYY` | `YY年` |\n| month | the format of month, `M` don't pad 0，`MM` pad 0 | String | `M` | `MM月` |\n| date | the format of date, `D` don't pad 0，`DD` pad 0 | String | `D` | `第 D 日` |\n| hour | the format of hour, `h` don't pad 0，`hh` pad 0 | String | `hh` | `h点` |\n| minute | the format of minute, `m` don't pad 0，`mm` pad 0 | String | `mm` | `mm分` |\n| second | the format of second, `s` don't pad 0，`ss` pad 0 | String | `ss` | `ss秒` |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| select | triggers when clicking the confirm button | date: Date, the selected date | selectedVal: Array, the selected value | selectedText: Array, the selected text |\n| cancel | triggers when clicking the cancel button | - | - |\n| change | triggers when the roller scrolls | index: Number, index of current scrolling roller | selectedIndex: Number, index of selected item in current column |\n\n### Methods\n\n| Method name | Description |\n| - | - |\n| show | show |\n| hide | hide |\n"
  },
  {
    "path": "document/components/docs/en-US/dialog.md",
    "content": "## Dialog\n\n`Dialog` modal component，provides various styles and interactions.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Alert type\n\n  ```html\n  <cube-button @click=\"showAlert\">Dialog - alert</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showAlert() {\n        this.$createDialog({\n          type: 'alert',\n          title: 'i am title',\n          content: 'i am content',\n          icon: 'cubeic-alert'\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `type` will be one of the following: `alert`, `confirm`, `prompt` <sup>1.11.0</sup>.\n\n- Prompt type\n\n  ```html\n  <cube-button @click=\"showPrompt\">Dialog - prompt</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showAlert() {\n        this.dialog = this.$createDialog({\n          type: 'prompt',\n          title: '我是标题',\n          prompt: {\n            value: '',\n            placeholder: '请输入'\n          },\n          onConfirm: (e, promptValue) => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: `Prompt value: ${promptValue || ''}`\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  You can get prompt input value in confirm event handler. And `prompt` value will be passed to [Input component](#/en-US/docs/input) as props.\n\n- Button configuration\n\n  ```html\n  <cube-button @click=\"showBtn\">Dialog - btn</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showBtn() {\n        this.$createDialog({\n          type: 'confirm',\n          icon: 'cubeic-alert',\n          title: 'i am title',\n          content: 'i am content',\n          confirmBtn: {\n            text: 'confirm',\n            active: true,\n            disabled: false,\n            href: 'javascript:;'\n          },\n          cancelBtn: {\n            text: 'cancel',\n            active: false,\n            disabled: false,\n            href: 'javascript:;'\n          },\n          onConfirm: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击确认按钮'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击取消按钮'\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  Button configuration(`confirmBtn`, `cancelBtn`) can be `String` or `Object` type. When given an Object, `text` can be used to set button content，`active` is used to set button highlight state，`disabled` is used to set button disabled state，`href` is used to set the link that will be jumped to when the button is clicked.\n\n- Show close button\n\n  ```html\n  <cube-button @click=\"showClose\">Dialog - show close</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showClose() {\n        this.$createDialog({\n          type: 'alert',\n          icon: 'cubeic-alert',\n          showClose: true,\n          title: 'title',\n          onClose: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: 'the close button has been clicked'\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  You can change `showClose` to decide whether to show the close button. The `close` event will be dispatched when the close button is clicked and the `onClose` callback will be invoked if it is configured.\n\n- Slot\n\n  ```html\n  <cube-button @click=\"showSlot\">Dialog - slot</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showSlot() {\n        this.$createDialog({\n          type: 'alert',\n          confirmBtn: {\n            text: 'got it',\n            active: true\n          }\n        }, (createElement) => {\n          return [\n            createElement('div', {\n              'class': {\n                'my-title': true\n              },\n              slot: 'title'\n            }, [\n              createElement('div', {\n                'class': {\n                  'my-title-img': true\n                }\n              }),\n              createElement('p', 'custom title')\n            ]),\n            createElement('p', {\n              'class': {\n                'my-content': true\n              },\n              slot: 'content'\n            }, 'custom content')\n          ]\n        }).show()\n      }\n    }\n  }\n  ```\n\n  The second parameter of `$createDialog` is [render function](https://vuejs.org/v2/guide/render-function.html), generally it is used to handle slots. Dialog component provides 2 named slots `title` and `content` which are used to distribute title and content.\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| type | dialog type | String | alert / confirm / prompt<sup>1.11.0</sup> | alert |\n| icon | icon class name | String | [refer to built-in icons in style module](#/en-US/docs/style) | '' |\n| title | title | String | - | '' |\n| content | content | String | - | '' |\n| showClose | whether to show close button | Boolean | true/false | false |\n| confirmBtn | confirm button configuration | Object/String | - | { text: '确定', active: true, href: 'javascript:;' } |\n| cancelBtn | cancel button configuration | Object/String | - | { text: '取消', active: false, href: 'javascript:;' } |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | false |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | - | 100 |\n| prompt<sup>1.11.0</sup> | prompt config, all [Input component's](#/en-US/docs/input)props | Object | - | {} |\n\n* `confirmBtn` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| text | button text | String | - | '确认' |\n| active | whether to highlight | Boolean | true/false | true |\n| disabled | whether to disabled button | Boolean | true/false | false |\n| href | the link that will be jumped to when the button is clicked | String | - | 'javascript:;' |\n\n* `cancelBtn` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| text | button text | String | - | '取消' |\n| active | whether highlight | Boolean | true/false | false |\n| disabled | whether to disabled button | Boolean | true/false | false |\n| href | the link that will be jumped to when the button is clicked | String | - | 'javascript:;' |\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| title | title | - |\n| content | content | - |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 |\n| - | - | - | - |\n| confirm | triggers when the confirm button is clicked | e - event target | the prompt input value when `type` is `'prompt'`<sup>1.11.0</sup> |\n| cancel | triggers when the cancel button is clicked | e - event target | - |\n| close | triggers when the close button is clicked | e - event target | - |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| show | show |\n| hide | hide |\n"
  },
  {
    "path": "document/components/docs/en-US/drawer.md",
    "content": "## Drawer\n\n> New in 1.7.0+\n\nDrawer, this component is used to select item in many items, it used full-page panels to interaction normally.\n\n__Notice:__ Drawer component's container element should be be a relative or absolute position element.\n\n### Demo\n\n- Default usage\n\n  ```html\n  <cube-button @click=\"showDrawer\">Show Drawer</cube-button>\n  <cube-drawer\n    ref=\"drawer\"\n    title=\"请选择\"\n    :data=\"data\"\n    :selected-index=\"selectedIndex\"\n    @change=\"changeHandler\"\n    @select=\"selectHandler\"\n    @cancel=\"cancelHandler\"></cube-drawer>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from '../../data/area'\n  export default {\n    data() {\n      return {\n        selectedIndex: [],\n        data: [\n          provinceList,\n          [],\n          []\n        ]\n      }\n    },\n    methods: {\n      showDrawer() {\n        this.$refs.drawer.show()\n      },\n      changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\n        // fake request\n        setTimeout(() => {\n          let data\n          if (index === 0) {\n            // procince change, get city data\n            data = cityList[item.value]\n          } else {\n            // city change, get area data\n            data = areaList[item.value]\n          }\n          // refill panel(index + 1) data\n          this.$refs.drawer.refill(index + 1, data)\n        }, 200)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        console.log('cancel')\n      }\n    }\n  }\n  ```\n\n  `title` is the drawer's title, optional; `data` source, an array with array items; `selected-index` is the initial index of the selected value; `change`、`select`、`cancel` are events: when selected item changed (the selected item is not in the last Panel)、when selected one item (the item is in the last Panel)、cancel (when clicked the left empty area).\n\n  You can use Drawer's `fill` method to update next Panel's data.\n\n- Custom usage\n\n  You can use slots to define your own HTML structure.\n\n  ```html\n  <cube-drawer\n    ref=\"drawer\"\n    :data=\"data\"\n    :selected-index=\"selectedIndex\"\n    @change=\"changeHandler\"\n    @select=\"selectHandler\"\n    @cancel=\"cancelHandler\">\n    <span slot=\"title\">{{province.text}}</span>\n    <cube-drawer-panel\n      v-for=\"(panel, index) in data\"\n      :key=\"index\"\n      :index=\"index\"\n      :data=\"panel\"\n    >\n      <cube-drawer-item v-for=\"(item, i) in panel\" :item=\"item\" :key=\"i\" :index=\"i\">\n        <i class=\"cubeic-round-border\"></i>\n        <span>{{item.text}}</span>\n      </cube-drawer-item>\n    </cube-drawer-panel>\n  </cube-drawer>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from '../../data/area'\n  export default {\n    data() {\n      return {\n        province: {},\n        selectedIndex: [],\n        data: [\n          [],\n          []\n        ]\n      }\n    },\n    methods: {\n      showDrawer() {\n        // get radom province\n        const randomIndex = Math.round(Math.random() * provinceList.length)\n        const randomProvince = provinceList[randomIndex]\n        this.province = randomProvince\n        this.$refs.drawer.refill(0, cityList[randomProvince.value])\n        this.$refs.drawer.show()\n      },\n      changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\n        setTimeout(() => {\n          // city change, get area data\n          const data = areaList[item.value]\n          this.$refs.drawer.refill(index + 1, data)\n        }, 200)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        console.log('cancel')\n      }\n    }\n  }\n  ```\n\n  You can use `cube-drawer-panel` and `cube-drawer-item` in `cube-drawer`.\n\n### Props\n\n#### CubeDrawer\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| title | title | String | - | '' |\n| data | data source | Array | - | [] |\n| selectedIndex | initial selected index | Array | - | [] |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n\n- `data` sub configuration\n\n  It is an array and it's items is Array too, eg:\n\n  ```js\n  [\n    [\n      {\n        text: 'text',\n        value: 'value'\n      },\n      ...\n    ],\n    [\n      'text',\n      'text2',\n      ...\n    ]\n  ]\n  ```\n\n#### CubeDrawerPanel\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| data | data source | Array | - | [] |\n| index | the data source index in CubeDrawer's data | Number | - | -1 |\n\n#### CubeDrawerItem\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| data | item data | String/Object | - | '' |\n| index | the item index in CubeDrawerPanel's data | Number | - | -1 |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 | Parameters 4 | Parameters 5 |\n| - | - | - | - | - | - | - |\n| change | when selected item changed (the selected item is not in the last Panel) | current Panel index | changed item | selectedVal: Array, selected item values of each panels | selectedIndex: Array, selected indexes of each panels | selectedText: Array, texts of each columns in current selected item |\n| select | when selected one item (the item is in the last Panel) | selectedVal: Array, selected item values of each panels | selectedIndex: Array, selected indexes of each panels |  selectedText: Array, texts of each columns in current selected item | - | - |\n| cancel | when clicked the left empty area | - | - | - | - | - |\n\n### Instance methods\n\n| Method name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| refill | refill data, change one Panel's data source | the Panel index | the data source | default selected index (Optional, recommended do not specify a value) |\n| show | show | - | - | - |\n| hide | hide | - | - | - |\n"
  },
  {
    "path": "document/components/docs/en-US/form.md",
    "content": "## Form\n\n> New in 1.7.0+\n>\n> 1.8.0+ supported trigger validating when blur and debounce. Supported async validate too because of Validator supported it.\n\nCubeForm is a schema-based form generator component.\n\n### Example\n\n- default usage\n\n  This demo includes all cube-ui form fields.\n\n  ```html\n  <cube-form\n    :model=\"model\"\n    :schema=\"schema\"\n    :immediate-validate=\"false\"\n    :options=\"options\"\n    @validate=\"validateHandler\"\n    @submit=\"submitHandler\"\n    @reset=\"resetHandler\"></cube-form>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          checkboxValue: false,\n          checkboxGroupValue: [],\n          inputValue: '',\n          radioValue: '',\n          rateValue: 0,\n          selectValue: 2018,\n          switchValue: true,\n          textareaValue: '',\n          uploadValue: []\n        },\n        schema: {\n          groups: [\n            {\n              legend: '基础',\n              fields: [\n                {\n                  type: 'checkbox',\n                  modelKey: 'checkboxValue',\n                  props: {\n                    option: {\n                      label: 'Checkbox',\n                      value: true\n                    }\n                  },\n                  rules: {\n                    required: true\n                  },\n                  messages: {\n                    required: 'Please check this field'\n                  }\n                },\n                {\n                  type: 'checkbox-group',\n                  modelKey: 'checkboxGroupValue',\n                  label: 'CheckboxGroup',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'input',\n                  modelKey: 'inputValue',\n                  label: 'Input',\n                  props: {\n                    placeholder: '请输入'\n                  },\n                  rules: {\n                    required: true\n                  },\n                  // validating when blur\n                  trigger: 'blur'\n                },\n                {\n                  type: 'radio-group',\n                  modelKey: 'radioValue',\n                  label: 'Radio',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'select',\n                  modelKey: 'selectValue',\n                  label: 'Select',\n                  props: {\n                    options: [2015, 2016, 2017, 2018, 2019, 2020]\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'switch',\n                  modelKey: 'switchValue',\n                  label: 'Switch',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'textarea',\n                  modelKey: 'textareaValue',\n                  label: 'Textarea',\n                  rules: {\n                    required: true\n                  },\n                  // debounce validate\n                  // if set to true, the default debounce time will be 200(ms)\n                  debounce: 100\n                }\n              ]\n            },\n            {\n              legend: '高级',\n              fields: [\n                {\n                  type: 'rate',\n                  modelKey: 'rateValue',\n                  label: 'Rate',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'upload',\n                  modelKey: 'uploadValue',\n                  label: 'Upload',\n                  events: {\n                    'file-removed': (...args) => {\n                      console.log('file removed', args)\n                    }\n                  },\n                  rules: {\n                    required: true,\n                    uploaded: (val, config) => {\n                      return Promise.all(val.map((file, i) => {\n                        return new Promise((resolve, reject) => {\n                          if (file.uploadedUrl) {\n                            return resolve()\n                          }\n                          // fake request\n                          setTimeout(() => {\n                            if (i % 2) {\n                              reject(new Error())\n                            } else {\n                              file.uploadedUrl = 'uploaded/url'\n                              resolve()\n                            }\n                          }, 1000)\n                        })\n                      })).then(() => {\n                        return true\n                      })\n                    }\n                  },\n                  messages: {\n                    uploaded: '上传失败'\n                  }\n                }\n              ]\n            },\n            {\n              fields: [\n                {\n                  type: 'submit',\n                  label: 'Submit'\n                },\n                {\n                  type: 'reset',\n                  label: 'Reset'\n                }\n              ]\n            }\n          ]\n        },\n        options: {\n          scrollToInvalidField: true,\n          layout: 'standard' // classic fresh\n        }\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        e.preventDefault()\n        console.log('submit', e)\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      resetHandler(e) {\n        console.log('reset', e)\n      }\n    }\n  }\n  ```\n\n  `model` is the model/target JSON object, `schema` is the schema object with fields, if `immediate-validate` is true, we will run validation after load.\n\n  `submit` is the submited event, the `validate` is the form validate event and the `reset` is the form reset event.\n\n- Custom usage\n\n  You can choose to use your own custom components, or use slots to custom your logic.\n\n  ```html\n  <cube-form :model=\"model\" @validate=\"validateHandler\" @submit=\"submitHandler\">\n    <cube-form-group>\n      <cube-form-item :field=\"fields[0]\"></cube-form-item>\n      <cube-form-item :field=\"fields[1]\"></cube-form-item>\n      <cube-form-item :field=\"fields[2]\">\n        <cube-button @click=\"showDatePicker\">{{model.dateValue || 'Please select date'}}</cube-button>\n        <date-picker ref=\"datePicker\" :min=\"[2008, 8, 8]\" :max=\"[2020, 10, 20]\" @select=\"dateSelectHandler\"></date-picker>\n      </cube-form-item>\n    </cube-form-group>\n    <cube-form-group>\n      <cube-button type=\"submit\">Submit</cube-button>\n    </cube-form-group>\n  </cube-form>\n  ```\n  ```js\n  // province, city, area\n  // select component\n  const PCA = {\n    props: {\n      value: {\n        type: Array,\n        default() {\n          return []\n        }\n      }\n    },\n    data() {\n      return {\n        selected: []\n      }\n    },\n    render(createElement) {\n      return createElement('cube-button', {\n        on: {\n          click: this.showPicker\n        }\n      }, this.selected.length ? this.selected.join(' ') : 'placeholder')\n    },\n    mounted() {\n      this.picker = this.$createCascadePicker({\n        title: 'PCA Select',\n        data: cityData,\n        selectedIndex: this.value,\n        onSelect: this.selectHandler\n      })\n    },\n    methods: {\n      showPicker() {\n        this.picker.show()\n      },\n      selectHandler(selectedVal, selectedIndex, selectedTxt) {\n        this.selected = selectedTxt\n        this.$emit('input', selectedVal)\n      }\n    }\n  }\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          inputValue: '',\n          pcaValue: [],\n          dateValue: ''\n        },\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: '请输入'\n            },\n            rules: {\n              required: true\n            }\n          },\n          {\n            component: PCA,\n            modelKey: 'pcaValue',\n            label: 'PCASelect',\n            rules: {\n              required: true\n            },\n            messages: {\n              required: '请选择'\n            }\n          },\n          {\n            modelKey: 'dateValue',\n            label: 'Date',\n            rules: {\n              required: true\n            }\n          }\n        ]\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        console.log('submit')\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      showDatePicker() {\n        this.$refs.datePicker.show()\n      },\n      dateSelectHandler(selectedVal) {\n        this.model.dateValue = new Date(selectedVal[0], selectedVal[1] - 1, selectedVal[2]).toDateString()\n      }\n    },\n    components: {\n      DatePicker\n    }\n  }\n  ```\n\n  Like the `PCA` component, you can use `component` to define your custom component. Or use slots, like use DatePicker component.\n\n- Questionnaire\n\n  You can use form features to build your own app, like questionnaire. Code source: https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire\n\n  ```html\n  <demo-questionnaire\n    :tip=\"tip\"\n    :questions=\"questions\"\n    :submit=\"submit\"\n    @submit=\"submitHandler\"\n  />\n  ```\n  ```js\n  // source\n  // https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire/questionnaire.vue\n  import DemoQuestionnaire from 'example/components/questionnaire/questionnaire.vue'\n  export default {\n    data() {\n      return {\n        tip: '请配合如实填写问卷，确保xxxx相关文案',\n        questions: [\n          {\n            type: 'switch',\n            model: 'switch',\n            title: '询问是否？'\n            // required: true\n          },\n          {\n            type: 'input',\n            model: 'input',\n            title: '输入',\n            options: {\n              placeholder: '请输入'\n            },\n            on: 'switch',\n            required: true\n          },\n          {\n            type: 'date',\n            model: 'date',\n            title: '日期',\n            options: {\n              // min: '2020-01-01',\n              // max: '2020-02-18'\n            },\n            required: true\n          },\n          {\n            type: 'time',\n            model: 'time',\n            title: '时间',\n            options: {\n              min: '01:00',\n              max: '23:59'\n            },\n            required: true\n          },\n          {\n            type: 'select',\n            model: 'select',\n            title: '选择',\n            options: [\n              'option1',\n              'option2',\n              'option3'\n            ],\n            required: true\n          },\n          {\n            type: 'radio',\n            model: 'radio',\n            title: '单选',\n            options: [\n              '单选1',\n              '单选2',\n              '单选3'\n            ],\n            required: true\n          },\n          {\n            type: 'checkbox',\n            model: 'checkbox',\n            title: '多选',\n            options: [\n              '多选1',\n              '多选2',\n              '多选3'\n            ],\n            required: true\n          },\n          {\n            type: 'textarea',\n            model: 'textarea',\n            title: '多行文本',\n            on: {\n              model: 'checkbox',\n              options: ['多选1', '多选3']\n            },\n            required: true\n          },\n          {\n            type: 'checkbox',\n            row: true,\n            model: 'checkbox2',\n            title: '多选-横',\n            options: [\n              '多选-横1',\n              '多选-横2',\n              '多选-横3'\n            ],\n            required: true\n          },\n          {\n            type: 'tel',\n            model: 'tel',\n            title: '手机号',\n            options: {\n              placeholder: '请输入手机号'\n            },\n            required: true\n          },\n          {\n            type: 'rate',\n            model: 'rate',\n            title: '级别',\n            options: {\n              max: 10\n            },\n            required: true\n          },\n          {\n            type: 'city',\n            model: 'city',\n            title: '城市',\n            required: true\n          },\n          {\n            type: 'upload',\n            model: 'upload',\n            title: '上传',\n            options: {\n              action: '//jsonplaceholder.typicode.com/photos/',\n              max: 2\n            },\n            required: true\n          },\n          {\n            type: 'agreement',\n            model: 'agreement',\n            options: {\n              text: '请同意',\n              link: {\n                text: '《xx协议》',\n                href: 'https://github.com/didi/cube-ui'\n              },\n              desc: '说明：本人承诺xx xxxxx xxx xx。'\n            },\n            required: true,\n            errMsg: '请同意协议'\n          }\n        ],\n        submit: {\n          text: 'Submit'\n        }\n      }\n    },\n    components: {\n      DemoQuestionnaire\n    },\n    methods: {\n      submitHandler(model) {\n        console.log('submit', model)\n      }\n    }\n  }\n  ```\n\n### Props\n\n#### Form\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| model | The model/target JSON object | Object | - | {} |\n| schema | the schema object with fields | Object | - | {} |\n| immediateValidate | If true, we will run validation after load | Boolean | true/false | false |\n| action | Form action value | String | - | undefined |\n| options | Options for CubeForm | Object | - | {<br>scrollToInvalidField: false,<br> layout: 'standard' // or: classic|fresh <br>} |\n| submitAlwaysValidate<sup>1.12.36+</sup> | If true, we will always validate all fields when submit | Boolean | true/false | false |\n\n- `schema` sub configuration\n\n  The schema contains the fields of the form, optionally in groups.\n\n  - Without groups\n\n    Use `fields`:\n\n    ```js\n    {\n      fields: [\n        {\n          type: 'input',\n          modelKey: 'inputValue',\n          label: 'Input'\n        },\n        // ...\n      ]\n    }\n    ```\n\n  - With groups\n\n    Use `groups`：\n\n    ```js\n    {\n      groups: [\n        {\n          legend: 'Group 1'\n          fields: [\n            {\n              type: 'input',\n              modelKey: 'inputValue',\n              label: 'Input'\n            },\n            // ...\n          ]\n        },\n        {\n          legend: 'Group 2'\n          fields: [\n            {\n              type: 'input',\n              modelKey: 'inputValue',\n              label: 'Input'\n            },\n            // ...\n          ]\n        }\n      ]\n    }\n    ```\n\n  A field in the schema defines an input element to a value of model. The common properties of field:\n\n  | Attribute | Description | Type | Accepted Values | Default |\n  | - | - | - | - | - |\n  | type | Type of field | String | Default fields: `button`, `checkbox`, `checkbox-group`, `input`, `radio`, `radio-group`, `rate`, `select`, `switch`, `textarea`, `upload`. There are two special types: `submit` and `reset`, they will be transformed to the corresponding type of `button`. | - |\n  | component | Custom filed component to replace `type`, the component should to work with `v-model` | Object/String | - | - |\n  | modelKey | Name of property in the `form` model | String | - | - |\n  | label | Label of field | String | - | - |\n  | props | This value will be the `type` or `component` props | Object | - | - |\n  | events<sup>1.8.0+</sup> | This value will be the `type` or `component` custom events | Object | - | - |\n  | rules | Validator rules, see <a href=\"#/en-US/docs/validator#cube-Props-anchor\">Validator</a> | Object | - | - |\n  | trigger<sup>1.8.0+</sup> | If set to 'blur' then will be validate this filed when blur | String | blur/change | - |\n  | debounce<sup>1.8.0+</sup> | Debounce validating time(ms). If `trigger` is 'blur' then the debounce will be ignored | Number/Boolean | >= 0, if set to true the time will be 200(ms) | - |\n  | messages | Validator messages, see <a href=\"#/en-US/docs/validator#cube-Props-anchor\">Validator</a> | String | - | - |\n  | key<sup>1.12.36+</sup> | field union key | String | - | - |\n\n- `options` sub configuration\n\n  | Attribute | Description | Type | Accepted Values | Default |\n  | - | - | - | - | - |\n  | scrollToInvalidField | Whether to scroll to the first invalid fileld by default | Boolean | true/false | false |\n  | layout | Form layout style | String | standard/classic/fresh | standard |\n\n#### FormGroup\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| legend | Group legend | String | - | '' |\n| fields | Group fields | Array | - | [] |\n\n#### FormItem\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| field | Field value | Object | - | - |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| submit | Form submit, only trigged when the form's validation is ok. If only have sync validators, this event will not be prevented by default. If have async validators, this event will be prevented by default. | e - event | form model value | form model value with only fields `modelKey`<sup>1.12.30+</sup> |\n| reset | Form reset | e - event | - | - |\n| validate | Form validated | Properties: <br>{<br>validity,<br> valid,<br> invalid,<br> dirty,<br> firstInvalidFieldIndex<br>} | - | - |\n| valid | Form valid | Validity result | - | - |\n| invalid | Form invalid | Validity result | - | - |\n\n- `validate` event parameters\n\n  | Attribute | Description | Type |\n  | - | - | - |\n  | validity | Validity result | Object |\n  | valid | Validity check, if not verified this value will be undefined, once checked this value will be true or false | Boolean/Undefined |\n  | invalid | Validity check, if not verified this value will be undefined, once checked this value will be true or false | Boolean |\n  | dirty | When the form model changed then the form's dirty is true | Boolean |\n  | firstInvalidFieldIndex | First invalid field index | Number |\n\n  - Validity result `validity`\n\n    | Attribute | Description | Type |\n    | - | - | - |\n    | valid | Is valid or not | Boolean/Undefined |\n    | result | Result, eg: <br>{<br>&nbsp;required: {<br>&nbsp;&nbsp;valid: false,<br>&nbsp;&nbsp;invalid: true,<br>&nbsp;&nbsp;message: 'Required.'<br>&nbsp;}<br>} | Object |\n    | dirty | The form model is changed or not | Boolean |\n\n### Instance methods\n\n| Method name | Description | Parameters | Returned value |\n| - | - | - | - |\n| submit | submit form | skipValidate: default `false`, if skipValidate is `true` then will be trigged submit event without validating<sup>1.12.2+</sup> | - |\n| reset | reset form | - | - |\n| validate(cb) | validate form | cb: validated callback function, used to async validating cases normally. The arguments is the `valid` value | If supported Promise then the returned value will be Promise instance(Only have resolved state, the resolved value is `valid`), otherwise the returned value is `undefined` |\n"
  },
  {
    "path": "document/components/docs/en-US/image-preview.md",
    "content": "## ImagePreview\n\n> New in 1.10.0+\n\nImage preview. Support swipe, zoomin zoomout.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\nThe following demo code is [here](https://github.com/didi/cube-ui/tree/master/example/pages/image-preview).\n\n- Default usage\n\n  ```html\n  <cube-button @click=\"showImagePreview\">Show ImagePreview</cube-button>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        imgs: [\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\n        ]\n      }\n    },\n    methods: {\n      showImagePreview() {\n        if (!this.imagePreview) {\n          this.imagePreview = this.$createImagePreview({\n            imgs: this.imgs\n          })\n        }\n        this.imagePreview.show()\n      }\n    }\n  }\n  ```\n\n  You can create a basic ImagePreview by setting `imgs` prop.\n\n- Custom usage\n\n  ```html\n  <cube-button @click=\"showCustomImagePreview\">Show Custom ImagePreview</cube-button>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        customIndex: 1,\n        imgs: [\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\n        ]\n      }\n    },\n    methods: {\n      showCustomImagePreview() {\n        if (!this.customImagePreview) {\n          this.customImagePreview = this.$createImagePreview({\n            imgs: this.imgs,\n            initialIndex: this.customIndex,\n            loop: false,\n            speed: 500,\n            onChange: (i) => {\n              this.customIndex = i\n            },\n            onHide: () => {\n              console.log('hide')\n            }\n          }, (h) => {\n            return h('div', {\n              class: {\n                'image-preview-custom-header': true\n              },\n              slot: 'header'\n            }, this.customIndex + 1)\n          })\n        }\n        this.customImagePreview.show()\n      }\n    }\n  }\n  ```\n\n  You can set other props to config ImagePreview. And you can use render function to define slots content.\n\n- Multi images\n\n  ```html\n  <div class=\"imgs-container\">\n    <img\n      :src=\"img\"\n      v-for=\"(img, index) in imgs\"\n      :key=\"img\"\n      @click=\"handleImgsClick(index)\">\n  </div>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        initialIndex: 0,\n        imgs: [\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\n        ]\n      }\n    },\n    methods: {\n      handleImgsClick(index) {\n        this.initialIndex = index\n        const params = {\n          $props: {\n            imgs: this.imgs,\n            initialIndex: 'initialIndex', // name of reactive key in data\n            loop: false\n          },\n          $events: {\n            change: (i) => {\n              // You must update initialIndex\n              this.initialIndex = i\n            }\n          }\n        }\n        this.$createImagePreview({ ...params }).show()\n      }\n    }\n  }\n  ```\n\n  The image-preview component is instantiated in multi-images scenarios, and the displayed image is the image that is clicked each time.\n\n### Props\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| imgs | image urls | Array | - | [] |\n| initial-index | initial index | Number | - | 0 |\n| loop | whether to loop swipe | Boolean | true/false | true |\n| speed | speed of switching pages, ms | Number | - | 400 |\n| zIndex<sup>1.10.11</sup> | the value of the style z-index | Number | - | 100 |\n| preventDefault<sup>1.10.16</sup> | BetterScroll `preventDefault` option | Boolean | true/false | true |\n\n### Slots\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| header | header content | current: active index |\n| footer | footer content | current: active index |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| change | triggers when current index changes | current active index |\n| hide | triggers when hide | - |\n"
  },
  {
    "path": "document/components/docs/en-US/index-list.md",
    "content": "## IndexList\n\n`IndexList` component, , which is also encapsulated based on `better-scroll`,  provides functions of index lists.\n\n### Example\n\n- Basic usage\n\n  Construct data like `cityData` in the example below and pass it into `data` in `cube-index-list` component.\n\n  ```html\n  <cube-index-list\n    :data=\"cityData\"\n    :title=\"title\"\n    @select=\"selectItem\"\n    @title-click=\"clickTitle\"></cube-index-list>\n  ```\n  ```javascript\n  const cityData = [\n    {\n      \"name\": \"★Hot City\",\n      \"items\": [\n        {\n          \"name\": \"BEIJING\",\n          \"value\": 1\n        },\n        {\n          \"name\": \"SHANGHAI\",\n          \"value\": 2\n        }\n      ]\n    },\n    {\n      \"name\": \"A\",\n      \"items\": [\n        {\n          \"name\": \"ANSHAN\",\n          \"value\": 3\n        },\n        {\n          \"name\": \"ANQING\",\n          \"value\": 4\n        }\n      ]\n    }\n  ]\n\n  export default {\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        cityData: cityData\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      }\n    }\n  }\n  ```\n\n- Custom item content\n\n  Beside default usage, you could customise the content of each item as required by inserting your custom DOM into the slot of `cube-index-list-item` as shown below. And please don't modify the usage of `cube-index-list-group` and `cube-index-list-item` unless you really know what you are doing.\n\n  ```html\n  <cube-index-list :data=\"cityData\">\n    <cube-index-list-group\n      v-for=\"(group, index) in cityData\"\n      :key=\"index\"\n      :group=\"group\">\n      <cube-index-list-item\n        v-for=\"(item, index) in group.items\"\n        :key=\"index\"\n        :item=\"item\"\n        @select=\"selectItem\">\n        <div class=\"custom-item\">I am the custom {{item.name}}</div>\n      </cube-index-list-item>\n    </cube-index-list-group>\n  </cube-index-list>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        cityData: cityData\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      }\n    }\n  }\n  ```\n  ```stylus\n  // Style of the custom item.\n  .custom-item\n    position: relative\n    height: 70px\n    line-height: 70px\n    padding: 0 16px\n    font-size: $fontsize-medium\n\n  // Use custom style to cover default style.\n  .cube-index-list-content\n    background-color: #222\n    color: #909090\n  .cube-index-list-anchor\n    background-color: #333\n    height: 30px\n    line-height: 30px\n    padding: 0 0 0 20px\n  .cube-index-list-nav\n    padding: 20px 0\n    border-radius: 10px\n    background: rgba(0,0,0,.3)\n    >ul\n      >li\n        padding: 3px\n        font-size: 12px\n        color: #909090\n        &.active\n          color: #ffcd32\n  ```\n\n- Pull Up Load\n\n  Beside, you could use `pullUpLoad` to enable pull-up-load, the detail config is same as the `options.pullUpLoad` of Scroll.\n\n  ```html\n  <cube-index-list\n    ref=\"indexList\"\n    :data=\"data\"\n    :title=\"title\"\n    :pullUpLoad=\"true\"\n    @select=\"selectItem\"\n    @title-click=\"clickTitle\"\n    @pulling-up=\"onPullingUp\">\n  </cube-index-list>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        data: cityData.slice(0, 4)\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      },\n      onPullingUp() {\n        // Mock async load.\n        setTimeout(() => {\n          const length = this.data.length\n          if (length < cityData.length) {\n            // Update data.\n            this.data.push(cityData[length])\n          }\n          // Call forceUpdate after finishing data load.\n          this.$refs.indexList.forceUpdate()\n        }, 1000)\n      }\n    }\n  }\n  ```\n\n  - Pull Down Refresh\n\n  Beside, you could use `pullDownRefresh` to enable pull-down-refresh, the detail config is same as the `options.pullDownRefresh` of Scroll.\n\n  ```html\n  <cube-index-list\n    ref=\"indexList\"\n    :data=\"data\"\n    :title=\"title\"\n    :pullDownRefresh=\"pullDownRefresh\"\n    @select=\"selectItem\"\n    @title-click=\"clickTitle\"\n    @pulling-down=\"onPullingDown\">\n  </cube-index-list>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        data: cityData,\n        pullDownRefresh: {\n          stop: 55\n        }\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      },\n      onPullingDown() {\n        // Mock async load.\n        setTimeout(() => {\n          // Update data.\n          this.data[1].items.push(...cityData[1].items)\n          // Call forceUpdate after finishing data load.\n          this.$refs.indexList.forceUpdate(true)\n        }, 1000)\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Default |\n| - | - | - | - |\n| title | title | String | - |\n| data | data to be displayed | Array | [] |\n| navbar | whether need navbar | Boolean | true |\n| speed | when click the navigator, the transition time of scrolling to the specific anchor (unit: ms). | number | 0 |\n| options<sup>1.9.8+</sup> | the options of better-scroll, you could find details at [BS Document](https://better-scroll.github.io/docs-v1/doc/en/options.html) | Object | {<br>  observeDOM: true,<br>  click: true,<br>  probeType: 1,<br>  scrollbar: false,<br>  pullDownRefresh: false,<br>  pullUpLoad: false<br>}<br>`Notice`: After `1.12.38`, as [BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) `iOS13.4` issue [#978](https://github.com/ustbhuangyi/better-scroll/issues/978), we set `useTransition` to `fasle` by default |\n| pullUpLoad<sup>1.8.0+</sup> | pull-up-load, the detail config is same as the `options.pullUpLoad` of Scroll. `Deprecated`, please use the property `options` instead. | Boolean/Object | false |\n| pullDownRefresh<sup>1.8.0+</sup> | pull-down-refresh, the detail config is same as the `options.pullDownRefresh` of Scroll. `Deprecated`, please use the property `options` instead. | Boolean/Object | false |\n\n- `data` sub configuration\n\n`data` is an array, which represents multiple groups of data and each of them can be configured：\n\n| Attribute | Description | Type |\n| - | - | - |\n| name | the name of the group | String |\n| items | data of current group | Array |\n\nEach item of `items` array must be an object that must contains the `name` attribute which is used for displaying the content; For example:  `items`: `[{name: 'xx', ...}, ...]`\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| title<sup>1.12.25+</sup> | title slot | - |\n| pulldown<sup>1.9.4+</sup> | located above the list and shown when pulling down refreshing | the detail is the same as Scroll component's pulldown slot scope parameters |\n| pullup<sup>1.9.4+</sup> | located below the list and shown when pulling up loading | the detail is the same as Scroll component's pullup slot scope parameters |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| select | triggers when clicking one of the items in IndexList | data of the item |\n| title-click | triggers when clicking title(valid only if title has been configured) | the value of title |\n| pulling-up<sup>1.8.0+</sup> | triggers when the distance of pulling up exceeds the threshold, if pullUpLoad is true | - |\n| pulling-down<sup>1.8.0+</sup> | triggers when the distance of pulling down exceeds the threshold, if pullDownRefresh is true | - |\n"
  },
  {
    "path": "document/components/docs/en-US/input.md",
    "content": "## Input\n\n> New in 1.5.0+\n\nInput component. You can use the `v-model` directive to create two-way data bindings and use a clear button to clear the content.\n\n### Example\n\n- Basic usage\n\n  You can use the `v-model` directive to create two-way data bindings\n\n  ```html\n  <cube-input v-model=\"value\" ></cube-input>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: ''\n      }\n    }\n  }\n  ```\n\n- Control max length\n\n  You can control the value's max length like this:\n\n  ```html\n  <cube-input v-model=\"value\"></cube-input>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: ''\n      }\n    },\n    watch: {\n      value(newV) {\n        if (newV.length > 10) {\n          newV = newV.slice(0, 10)\n          this.$nextTick(() => {\n            this.value = newV\n          })\n        }\n      }\n    }\n  }\n  ```\n\n- Clearable config\n\n  You can use the `clearable` attribute to toggle the clear button.\n\n  Before 1.11.0, the `clearable` value only can be a Boolean value.\n\n  After 1.11.0 the `clearable` value can be a Boolean or an Object value.\n\n  ```html\n  <cube-input\n    v-model=\"value\"\n    :clearable=\"clearable\"\n  ></cube-input>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: '',\n        clearable: {\n          visible: true,\n          blurHidden: true\n        }\n      }\n    }\n  }\n  ```\n\n- Eye config\n\n  You can use `pwdEye` to toggle password eye button and password filed's visibility.\n\n  ```html\n  <cube-input\n    v-model=\"value\"\n    :placeholder=\"placeholder\"\n    :type=\"type\"\n    :maxlength=\"maxlength\"\n    :readonly=\"readonly\"\n    :disabled=\"disabled\"\n    :autofocus=\"autofocus\"\n    :autocomplete=\"autocomplete\"\n    :eye=\"eye\"\n  ></cube-input>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: '',\n        placeholder: '请输入内容',\n        type: 'password',\n        readonly: true,\n        maxlength: 100,\n        disabled: true,\n        autofocus: true,\n        autocomplete: true,\n        eye: {\n          open: true,\n          reverse: false\n        }\n      }\n    }\n  }\n  ```\n\n  As you can see, this component also support the native attributes of the Input element.\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| type | type of input | String | text/number/password/date | text |\n| v-model | bound value | String | - | empty |\n| disabled | disabled status | Boolean | true/false | false |\n| readonly | readonly status | Boolean | true/false | false |\n| maxlength | maxlength of input | Number | - | 60 |\n| placeholder | placeholder of input | String | - | empty |\n| autofocus | autofocus status | Boolean | true/false | false |\n| autocomplete | autocomplete status | Boolean | true/false | false |\n| clearable | whether to show clear button, after 1.11.0 you can alse use object config like `{visible: true, blurHidden: true}`, the `visible` is used to control the visibility and the `blurHidden` is used to control whether hidden after blur.  | Boolean/Object<sup>1.11.0+</sup> | true/false | false |\n| eye | If set to false then the password eye is invisible, if true, equal to `{open: true, reverse: false}`, Object form mean using the password eye. The `open` control the password eye open or close, `reverse` control whether the password content visibility is reverse with the password eye open or not. | Boolean/Object | true/false/{open: `true/false`} | false |\n\n### Slot\n\n| Slot Name | Description |\n| - | - |\n| prepend | prepend content |\n| append | append content |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| focus | This event is triggered after the input box is focused. If input is disabled, it will not be triggered | e - event |\n| blur | This event is triggered after the input box blur | e - event |\n| change | The event is triggered after the binding value is changed and the input box is blur | e - event |\n| input | The event is triggered when the binding value is changed | The updated value |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| focus<sup>1.12.10+</sup> | Focus element |\n| blur<sup>1.12.10+</sup> | Blur element |\n"
  },
  {
    "path": "document/components/docs/en-US/internationalization.md",
    "content": "## Internationalization\n\n> New in 1.11.0+\n\nAll non-configurable copy files inside `cube-ui` are in Chinese, so if your application needs to do the corresponding international translation, then `1.11.0` is available for cube-ui provide ability to translate a component's copywriting, even this ability can be extended to your application.\n\n## Internationalization within components\n\nCube-ui is the Chinese language pack used by default and is already registered. The corresponding English language pack is also built into the cube-ui, but you need the following logic to register the language pack and switch to the corresponding language.\n\n```js\n  import Vue from 'vue'\n  import { Locale } from 'cube-ui'\n  import enUSMessages from 'cube-ui/src/locale/lang/en-US'\n\n  Vue.use(Locale)\n  // Switch to English and cache the current language pack\n  Locale.use('en-US', enUSMessages)\n```\n\nCube-ui will listen to the current language type, so it automatically renders the corresponding copy of the component, and caches the loaded copy. When the component language is switched, if the language pack is already installed, cube-ui directly takes the cached copy. Similar pseudo code is as follows:\n\n```js\n  import Vue from 'vue'\n  import { Locale } from 'cube-ui'\n  import enUSMessages from 'cube-ui/src/locale/lang/en-US'\n\n  // Load Chinese language pack by default\n  Vue.use(Locale)\n\n  // Switch to English and need to import the English language pack\n  one.click(() =>{\n    Locale.use('en-US', enUSMessages)\n  })\n\n  another.click(() => {\n    // load Chinese from cache\n    Locale.use('zh-CN')\n  })\n```\n\nBut maybe you have translation needs in other countries, such as Japanese and Korean, then you need to provide the language pack yourself and switch to the corresponding language. code show as below:\n\n```js\n  import Vue from 'vue'\n  import { Locale } from 'cube-ui'\n  import jPMessages from '/somewhere/ja-JP.js' // Your own language\n\n  Vue.use(Locale)\n\n  // Switch to Japanese and need to import Japanese language packs\n  Locale.use('ja-JP', jPMessages)\n```\n\nThe configuration item format of the language pack you import should be similar to the following. The default Chinese language pack is as follows:\n\n```js\n  export default {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  }\n```\n\n## Internationalization of applications<sup>1.12.23+</sup>\n\nAs mentioned above, cube-ui provides international capabilities for its own components, but this capability can be extended to your application in two steps:\n\n1. Import language packs\n\n  you must import the language pack, which should be the full set containing the `cube-ui` default language pack. For example, your language pack configuration might look like this:\n\n  ```js\n    // default.js\n    export default {\n      \"application_key\": \"this is application text\",\n      \"country\": {\n        \"province\": \"Beijing\"\n      }\n\n      /* defaults of cube-ui*/\n      \"cancel\": \"Cancel\",\n      // ...ignore\n      \"validator\": {/* */}\n    }\n  ```\n\n  Then import the language pack in your app's entry file.\n\n  ```js\n    import Vue from 'vue'\n    import { Locale } from 'cube-ui'\n    import defaultMessages from 'default.js' // your own language\n\n    Vue.use(Locale)\n    Locale.use('zh-CN', defaultMessages)\n  ```\n\n2. Ability to inject translations through mixins inside components\n\n  Then use the `mixin` capability provided by `Vue`. cube-ui provides the conversion function `$t` for the language package `key=>value`. You only need to inject it into the component's `mixins` property, and then you can use it in the template. An example is as follows:\n\n  ```js\n  // dialog.vue\n\n  import { Locale } from 'cube-ui'\n  <script>\n    export default {\n      //...\n      mixins: [Locale.localeMixin] // Inject mixin, have the ability to $t. After v1.12.23\n    }\n  </script>\n  ```\n\n  Then you can reference the `$t()` method in the template.\n\n  ```html\n    <template>\n      <div>{{$t('application_key')}}</div>\n    </template>\n  ```\n\n  Finally, `{{$t('application_key')}}` is rendered as `\"this is application text\"`. Considering that your language pack may be multi-level nested, `$t` also accepts a string with a separator of `\".\"` to get deep-level properties, such as:\n\n  ```js\n  // your language packs structure\n  export default {\n    a: {\n      b: {\n        c: \"nested c\"\n      }\n    }\n  }\n  ```\n\n  It is easy to use it in `template`。\n\n  ```html\n  <template>\n    <div>\n      {{$t('a.b.c')}}\n    </div>\n  </template>\n  ```\n"
  },
  {
    "path": "document/components/docs/en-US/introduction.md",
    "content": "## Introduction\n\ncube-ui is an elegant mobile component library based on Vue.js.\n\n### Features\n\n- **Quality**\n\n  Extracted from DiDi interior component library and has been put to business test for more than one year. Every component has full unit tests to provide assurance for continuous integration.\n\n- **Experience**\n\n  Make quick response, fluent animation and close to native components as the goal, and pursue the perfection of the interactive experience.\n\n- **Standard**\n\n  Follow a uniform design interaction standard and highly restore the design; Standardize the interface and unify the way of use, making development more simple and efficient.\n\n- **Scalability**\n\n  Lightweight and flexible: support [post-compile](#/en-US/docs/post-compile) and importing on demand; High scalability: it is easy to implement secondary development based on existing components.\n\n### Components\n\n#### Basic\n\n- [Button](#/en-US/docs/button)\n- [Loading](#/en-US/docs/loading)\n- [Tip](#/en-US/docs/tip)\n- [Toolbar](#/en-US/docs/toolbar)\n- [TabBar](#/en-US/docs/tab-bar)\n\n#### Form\n\n- [Checkbox](#/en-US/docs/checkbox)\n- [CheckboxGroup](#/en-US/docs/checkbox-group)\n- [Radio](#/en-US/docs/radio)\n- [Input](#/en-US/docs/input)\n- [Textarea](#/en-US/docs/textarea)\n- [Select](#/en-US/docs/select)\n- [Switch](#/en-US/docs/switch)\n- [Rate](#/en-US/docs/rate)\n- [Validator](#/en-US/docs/validator)\n- [Upload](#/en-US/docs/upload)\n- [Form](#/en-US/docs/form)\n\n#### Layer\n\n- [Popup](#/en-US/docs/popup)\n- [Toast](#/en-US/docs/toast)\n- [Picker](#/en-US/docs/picker)\n- [CascadePicker](#/en-US/docs/cascade-picker)\n- [DatePicker](#/en-US/docs/date-picker)\n- [TimePicker](#/en-US/docs/time-picker)\n- [SegmentPicker](#/en-US/docs/segment-picker)\n- [Dialog](#/en-US/docs/dialog)\n- [ActionSheet](#/en-US/docs/action-sheet)\n- [Drawer](#/en-US/docs/drawer)\n- [ImagePreview](#/en-US/docs/image-preview)\n\nMost of the layer components can be invoked by components and API, let's take `Toast` as an example:\n\nComponent invoking:\n\n```html\n<template>\n  <cube-button @click=\"showToast\">show toast</cube-button>\n  <cube-toast ref=\"toast\" :txt=\"toastTxt\"></cube-toast>\n</template>\n<script>\n  export default {\n    data() {\n      return {\n        toastTxt: 'toast content'\n      }\n    },\n    methods: {\n      showToast() {\n        this.$refs.toast.show()\n      }\n    }\n  }\n</script>\n```\n\nAPI invoking：\n\n```html\n<template>\n  <cube-button @click=\"showToast\">show toast</cube-button>\n</template>\n<script>\n  export default {\n    data() {\n      return {\n        toastTxt: 'toast content'\n      }\n    },\n    methods: {\n      showToast() {\n        this.$createToast({\n          txt: this.toastTxt\n        }).show()\n      }\n    }\n  }\n</script>\n```\nBoth are pretty good but we recommend the latter, namely using `$createXxYy` API to invoke; By API invoking, the popup layer is attached to `body` element whose advantage is that it wouldn't be affected by outer styles. If using component invoking, it's fairly easy to be affected by outer styles like `transform`, `overflow`, etc.\n\nPay attention that the name of the API is `$create` + `${component name}`. For example, the API of `ActionSheet` component is `$createActionSheet`.\n\n#### Scroll\n\n- [Scroll](#/en-US/docs/scroll)\n- [Slide](#/en-US/docs/slide)\n- [IndexList](#/en-US/docs/index-list)\n- [Swipe](#/en-US/docs/swipe)\n- [Sticky](#/en-US/docs/sticky)\n- [ScrollNavBar](#/en-US/docs/scroll-nav-bar)\n- [ScrollNav](#/en-US/docs/scroll-nav)\n\nMost of the scroll components are all implemented based on [better-scroll](https://github.com/ustbhuangyi/better-scroll) and `Scroll` Component is the encapsulation of better-scroll.\n\n### Modules\n\ncube-ui has some special modules besides components.\n\n#### style\nThe style module.\nIf you are under the circumstance of importing components on demand, then it is recommended to import this module in entry file because it contains basic reset, basic common styles and built-in icons.\n\nFor details, see [style module](#/en-US/docs/style).\n\n#### create-api\n\nSometimes, developers may need to let their own encapsulated components support API invoking as well. At this time they can import create-api module or use the global interface `Cube.createAPI` to achieve the purpose.\n\n\nFor details, see [create-api module](#/en-US/docs/create-api)。\n\n#### better-scroll\n\n[better-scroll](https://github.com/ustbhuangyi/better-scroll) is a library in `cube-ui`'s dependencies. To avoid duplicately importing, we expose the module.\n\nFor more detailed use, please refer to [official documentation](https://better-scroll.github.io/docs-v1/)。\n"
  },
  {
    "path": "document/components/docs/en-US/loading.md",
    "content": "## Loading\n\n`Loading` provides loading animation which can has custom size.\n\n### Example\n\n- The size of icon\n\n  Default is `24px` and can be configured by setting `size`.\n\n  ```html\n  <cube-loading></cube-loading>\n  <cube-loading :size=\"28\"></cube-loading>\n  <cube-loading :size=\"40\"></cube-loading>\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Default |\n| - | - | - | - |\n| size | the size of loading icon, unit px | Number | 24 |\n"
  },
  {
    "path": "document/components/docs/en-US/picker.md",
    "content": "## Picker\n\n`Picker` could use to implementing single or multi-column picker.\n\n__Notice:__ Cause this component used create-api, so you should have basically knowledge of [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n  As for Picker, the most important thing is how to define the options. The property `data` is used to define options. It's a two-dimensional array, the first dimensional means which columns the picker has, while the second dimensional represent the options of each column.\n\n#### 1\\) Single-column Picker\n\n  firstly, there is an example of Single-column Picker:\n\n  ```html\n  <cube-button @click=\"showPicker\">Picker</cube-button>\n  ```\n  ```js\n  const column1 = [{ text: '剧毒', value: '剧毒'}, { text: '蚂蚁', value: '蚂蚁' },\n    { text: '幽鬼', value: '幽鬼' }]\n\n  export default {\n    methods: {\n      showPicker() {\n        if (!this.picker) {\n          this.picker = this.$createPicker({\n            title: 'Picker',\n            data: [column1],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.picker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n#### 2\\) Multi-column Picker\n\n  You can genarate Multi-column Picker by input the data of several columns. For example, here is a three-colunms picker:\n\n  ```html\n  <cube-button @click=\"showMutiPicker\">Multi-column Picker</cube-button>\n  ```\n  ```js\n  const column1 = [{ text: '剧毒', value: '剧毒'}, { text: '蚂蚁', value: '蚂蚁' },\n    { text: '幽鬼', value: '幽鬼' }]\n  const column2 = [{ text: '输出', value: '输出' }, { text: '控制', value: '控制' },\n    { text: '核心', value: '核心'}, { text: '爆发', value: '爆发' }]\n  const column3 =  [{ text: '梅肯', value: '梅肯'}, { text: '秘法鞋', value: '秘法鞋' },\n    { text: '假腿', value: '假腿' }, { text: '飞鞋', value: '飞鞋' }]\n\n  export default {\n    methods: {\n      showMutiPicker() {\n        if (!this.mutiPicker) {\n          this.mutiPicker = this.$createPicker({\n            title: 'Multi-column Picker',\n            data: [column1, column2, column3],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.mutiPicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n#### 3\\) Alias for the sub properties of option\n\n  Sometimes, you may want to use alias to config the value and text of options, instead of `value` and `text`. Think about this, when the name origin data is `id` and `name`, you could use `id` 和 `name` to define value and text directly by using property `alias` to config the alias of `value` as `id`, `text` as `name`.\n\n  ```html\n  <cube-button @click=\"showAliasPicker\">Use Alias</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showAliasPicker() {\n        if (!this.aliasPicker) {\n          this.aliasPicker = this.$createPicker({\n            title: 'Use Alias',\n            data: [[{ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }]],\n            alias: {\n              value: 'id',\n              text: 'name'\n            },\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.aliasPicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n#### 4\\) Method `$updateProps`\n\n  When you need to change some properties of Picker, you could use the method `$updateProps` to input the new properties.\n\n  ```html\n  <cube-button @click=\"showUpdatePropsPicker\">Use $updateProps</cube-button>\n  ```\n  ```js\n  const column1 = [{ text: '剧毒', value: '剧毒'}, { text: '蚂蚁', value: '蚂蚁' },\n    { text: '幽鬼', value: '幽鬼' }]\n  const column2 = [{ text: '输出', value: '输出' }, { text: '控制', value: '控制' },\n    { text: '核心', value: '核心'}, { text: '爆发', value: '爆发' }]\n  const column3 =  [{ text: '梅肯', value: '梅肯'}, { text: '秘法鞋', value: '秘法鞋' },\n    { text: '假腿', value: '假腿' }, { text: '飞鞋', value: '飞鞋' }]\n\n  export default {\n    methods: {\n      showUpdatePropsPicker() {\n        if (!this.updatePropsPicker) {\n          this.updatePropsPicker = this.$createPicker({\n            title: 'Use $updateProps',\n            data: [column1],\n            selectedIndex: [0],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.updatePropsPicker.show()\n        setTimeout(() => {\n          this.updatePropsPicker.$updateProps({\n            title: 'Updated',\n            data: [column1, column2, column3],\n            selectedIndex: [1, 2, 3]\n          })\n        }, 1000)\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Default | Accepted Values |\n| - | - | - | - | - |\n| data | data that passed into picker, whose length determines the columns of picker | Array | [] | - |\n| selectedIndex | the index of the selected value, corresponding content will be displayed when picker shows | Array | [] | [1] |\n| title | title | String | '' | - |\n| subtitle<sup>1.8.1</sup> | subtitle | String | '' | - |\n| cancelTxt | the text of the cancel button | String | '取消' | - |\n| confirmTxt | the text of the confirm button | String | '确定' | - |\n| swipeTime | the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms | Number | 2500 | - |\n| alias | configure the alias of `value` and `text` | Object | {} | { value: 'id', text: 'name'} |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | 100 | - |\n\n* `data` sub configuration\n\n| Attribute | Description | Type  | Default | Example |\n| - | - | - | - | - |\n| text | the text displayed in each column of picker | String/Number | - | - |\n| value | corresponding value of the text displayed in each column of picker | String/Number/Boolean | - | - |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| select | triggers when clicking the confirm button | selectedVal: Array, values of each columns in current selected item | selectedIndex: Array, indexes of each columns in current selected item | selectedText: Array, texts of each columns in current selected item |\n| change | triggers when the roller scrolls | index: Number, index of current scrolling roller | selectedIndex: Number, index of selected item in current column |\n| value-change | triggers when confirmed value changes| selectedVal: Array, values of each columns in current confirmed item | selectedIndex: Array, indexes of each columns in current confirmed item |\n| cancel | triggers when clicking the cancel button | - | - |\n\n### Instance methods\n\n| Method name | Description | Parameters 1 | Parameters 2 |\n| - | - | - | - |\n| setData | set options in picker| Array, texts and values of options of each columns of picker | Array, indexes of selected item in each column of picker |\n| show | show | - | - |\n| hide | hide | - | - |\n"
  },
  {
    "path": "document/components/docs/en-US/popup.md",
    "content": "## Popup\n\nThe underlying popup component, mainly used to implement upper component encapsulation based on itself. It only provides basic functions: specifying the type, whether there's a background layer, showing content (HTML) and whether the component is in center position.\n\nMost of the built-in popup type components are implemented based on this component, including [Toast](#/en-US/docs/toast)、[Picker](#/en-US/docs/picker)、[CascadePicker](#/en-US/docs/cascade-picker)、[DatePicker](#/en-US/docs/date-picker)、[TimePicker](#/en-US/docs/time-picker)、[SegmentPicker](#/en-US/docs/segment-picker)、[Dialog](#/en-US/docs/dialog)、[ActionSheet](#/en-US/docs/action-sheet).\n\n__Notice:__ All the components above used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-popup type=\"my-popup\" ref=\"myPopup\">\n    My Popup Content 1\n  </cube-popup>\n  <cube-button @click=\"showPopup('myPopup')\">\n    Show Popup\n  </cube-button>\n  ```\n\n  Specifying `type` will help control class according to the type. In the example above, `cube-my-popup` will be added to the classList of the root element.\n\n  ```js\n  export default {\n    methods: {\n      showPopup(refId) {\n        const component = this.$refs[refId]\n        component.show()\n        setTimeout(() => {\n          component.hide()\n        }, 1000)\n      }\n    }\n  }\n  ```\n\n  The component is hidden by default and won't show up unless invoking the `show()` method of the instance of the component. And of course, invoking the `hide()` method of the instance of the component will hide itself. That's what `showPopup()` does in the example above (first show and hide in one second).\n\n- Without background layer\n\n  ```html\n  <cube-popup type=\"my-popup\" :mask=\"false\" ref=\"myPopup2\">\n    My Popup Content 2\n  </cube-popup>\n  <cube-button @click=\"showPopup('myPopup2')\">\n    Show Popup - no mask\n  </cube-button>\n  ```\n\n  Setting `mask` to `false` and the background layer is hidden.\n\n- Show the HTML content\n\n  ```html\n  <cube-popup\n    type=\"my-popup\"\n    :mask=\"false\"\n    content=\"<i>My Popup Content 3</i>\"\n    ref=\"myPopup3\" />\n  <cube-button @click=\"showPopup('myPopup3')\">\n    Show Popup - with content\n  </cube-button>\n  ```\n\n  You only need to pass the HTML fragment on to `content`.\n\n- Control the content position & mask closable<sup>1.9.6</sup>\n  ```html\n  <cube-popup type=\"my-popup\" :position=\"position\" :mask-closable=\"true\" ref=\"myPopup4\">My Popup Content 4</cube-popup>\n  <cube-button @click=\"showPopup\">top/right/bottom/left/center</cube-button>\n  ```\n  ```js\n  const positions = ['top', 'right', 'bottom', 'left', 'center']\n  let cur = 0\n  export default {\n    data() {\n      return {\n        position: ''\n      }\n    },\n    methods: {\n      showPopup() {\n        this.position = positions[cur++]\n        if (cur === positions.length) {\n          cur = 0\n        }\n        const component = this.$refs.myPopup4\n        component.show()\n        setTimeout(() => {\n          component.hide()\n        }, 2000)\n      }\n    }\n  }\n  ```\n  You can use `position` to control the content's position and use `mask-closable` to control mask closable.\n\n- Setting to bottom\n\n  ```html\n  <cube-popup type=\"my-popup\" :center=\"false\" ref=\"myPopup4\">My Popup Content 4</cube-popup>\n  <cube-button @click=\"showPopup('myPopup4')\">\n    Show Popup - bottom\n  </cube-button>\n  ```\n\n  Considering that in mobile secnes, popup is in center or bottom most of the time (covered in horizontal direction when setted to bottom). So if setting `center` to `false`, you'll set the component to bottom.\n\n- Upper layer encapsulation\n\n  ```html\n  <template>\n    <cube-popup type=\"extend-popup\" ref=\"popup\">\n      <div class=\"cube-extend-popup-content\" @click=\"hide\">\n        <slot>{{content}}</slot>\n      </div>\n    </cube-popup>\n  </template>\n  <script type=\"text/ecmascript-6\">\n    const COMPONENT_NAME = 'cube-extend-popup'\n    export default {\n      name: COMPONENT_NAME,\n      props: {\n        content: {\n          type: String\n        }\n      },\n      methods: {\n        show() {\n          this.$refs.popup.show()\n        },\n        hide() {\n          this.$refs.popup.hide()\n          this.$emit('hide')\n        }\n      }\n    }\n  </script>\n  <style lang=\"stylus\" rel=\"stylesheet/stylus\">\n    .cube-extend-popup\n      .cube-extend-popup-content\n        padding: 20px\n        color: #fff\n        background-color: rgba(0, 0, 0, .8)\n  </style>\n  ```\n\n  An upper layer encapsulated CubeExtendPopup component with some styles is implemented. It supports passing the content on, has default slot and can be hidden if clicking the content. You can use it in this way (need to be registers globally or partially):\n\n  ```html\n  <cube-extend-popup content=\"click here hide\" ref=\"extendPopup\"></cube-extend-popup>\n  <cube-button @click=\"$refs.extendPopup.show()\">\n    Show Extend Popup\n  </cube-button>\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| type | the type of popup | String | - | '' |\n| mask | whether to show background layer | Boolean | true/false | true |\n| content | content, HTML string, valid when there's no slot | String | - | '' |\n| center | whether to be in center in horizontal and vertical direction | Boolean | true/false | true |\n| position<sup>1.9.6</sup> | content position, if set position then `center` will be ignored | String | top/right/bottom/left/center | '' |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | false |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | - | 100 |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| mask-click | triggers when the background layer is clicked | click event target |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| show | show |\n| hide | hide |\n"
  },
  {
    "path": "document/components/docs/en-US/post-compile.md",
    "content": "## Post-compile\n\nPost-compile means the NPM packages don't need to be compiled before published, and they will be compiled along with the application's compiling.\n\n> Notes: For more detailed content about post-compile, see [webpack 应用编译优化之路](https://github.com/DDFE/DDFE-blog/issues/23).\n\n### Background\n\nMore and more applications are developed with webpack + babel, and commonly use NPM to manage packages. With the growing of the number of package dependencies which are also developed with ES2015+ and need to be compiled before published, the final compiled code usually contains a lot of compiling code. Therefore, to eliminate the redundancy, we recommend post-compile.\n\n### Pros and cons\n\nPros:\n\n- Common dependencies can be shared and only need to be compiled once.\n- Only one copy of babel-plugin-transform-runtime or babel-polyfill code.\n- The NPM packages don't need to be compiled before published.\n\nCons:\n\n- The application's babel configuration needs to be compatible with  the NPM packages' babel configuration.\n- The NPM packages can't use alias and DefinePlugin (you can use them and compiled before published but don't need to use babel).\n- The application's compiling time will be longer.\n\n### Rules\n\nConsidering some applications can not use post-compile, cube-ui used the rule:\n\n> The main field in package.json is the compiled entry point and the module field is the source entry point.\n\n_About [pkg.module](https://github.com/rollup/rollup/wiki/pkg.module)_\n\nPost-compile is used by default if you use webpack 2+. Of course, you can use the webpack alias configuration to change the default behavior.\n\n### webpack demo\n\nThe [webpack-post-compile-plugin](https://www.npmjs.com/package/webpack-post-compile-plugin) is used to resolve the nested post-compile NPM packages.\n\nAn example of your application webpack configuration:\n\n```js\n// webpack.config.js\nvar PostCompilePlugin = require('webpack-post-compile-plugin')\n\nmodule.exports = {\n  // ...\n  module: {\n    rules: [\n      // ...\n      {\n        test: /\\.js$/,\n        loader: 'babel-loader',\n        include: [\n          resolve('src')\n        ]\n      },\n      // ...\n    ]\n  },\n  // ...\n  plugins: [\n    new PostCompilePlugin()\n  ]\n}\n```\n\nAnd if you can control all the packages which you want to post compile, you can just add postCompile: true to the packages package.json:\n\n```js\n{\n  \"name\": \"your-one-pkg\",\n  // ...\n  \"postCompile\": true\n  // ...\n}\n```\n\nOr you can add compileDependencies to your application package.json:\n\n```js\n// package.json\n{\n  // ...\n  \"compileDependencies\": [\"A\", \"B\"]\n  // ...\n}\n```\n\nIf `A` package have a dependency on `C` which is needed to be post compiled, just add `compileDependencies` to `A`'s  package.json:\n\n```json\n// A package.json\n{\n  // ...\n  \"compileDependencies\": [\"C\"]\n  // ...\n}\n```\n"
  },
  {
    "path": "document/components/docs/en-US/quick-start.md",
    "content": "## Quick start\n\n- [Application Guide](https://github.com/cube-ui/cube-application-guide)\n- Have problems? See [QA](https://github.com/cube-ui/question-answer/issues)\n- In nuxt application, see [demo repo](https://github.com/cube-ui/cube-nuxt-demo)\n\n### CLI\n\n\n#### vue-cli >= 3\n\nIf you are using vue-cli@3, you can use [vue-cli-plugin-cube-ui](https://github.com/cube-ui/vue-cli-plugin-cube-ui) plugin. After you inited your project, just run `vue add cube-ui`. About options, see [cube-template WIKI](https://github.com/cube-ui/cube-template/wiki).\n\nThen you can see the <a href=\"#cube-Usage-anchor\" class=\"anchor\">Usage</a> part directly.\n\n#### vue-cli < 3\n\nIf you are going to create a new project with cube-ui, use the [cli tools](https://github.com/cube-ui/cube-template) base on [vue-cli](https://github.com/vuejs/vue-cli) to init the config and base code, then you can ignore the <a href=\"#cube-Install-anchor\" class=\"anchor\">Install</a> steps and see the <a href=\"#cube-Usage-anchor\" class=\"anchor\">Usage</a> part directly.\n\n```shell\n$ vue init cube-ui/cube-template projectname\n```\n\nAbout cube-template special options: [cube-template WIKI](https://github.com/cube-ui/cube-template/wiki).\n\nIf you are going to use cube-ui in an existing project, see the <a href=\"#cube-Install-anchor\" class=\"anchor\">Install</a> part first.\n\n### Install\n\n> This section only used in the case of vue-cli < 3\n\n#### NPM\n\n```shell\n$ npm install cube-ui --save\n```\n\nSince cube-ui support two compile ways such as [post-compile] (#/en-US/docs/post-compile) and normal compile with webpack 2+(by default using post-compile), you need to modify your application's dependencies and configuration before using it.\n\n- post-compile\n\n  1. Modify package.json and install the dependencies\n\n    ```json\n    {\n      // webpack-transform-modules-plugin depends on transformModules\n      \"transformModules\": {\n        \"cube-ui\": {\n          \"transform\": \"cube-ui/src/modules/${member}\",\n          \"kebabCase\": true\n        }\n      },\n      \"devDependencies\": {\n        // add stylus dependencies\n        \"stylus\": \"^0.54.5\",\n        \"stylus-loader\": \"^2.1.1\",\n        \"webpack-post-compile-plugin\": \"^1.0.0\",\n        \"webpack-transform-modules-plugin\": \"^0.4.3\"\n      }\n    }\n    ```\n\n  2. Modify webpack.base.conf.js\n\n    ```js\n    var PostCompilePlugin = require('webpack-post-compile-plugin')\n    var TransformModulesPlugin = require('webpack-transform-modules-plugin')\n    module.exports = {\n      // ...\n      plugins: [\n        // ...\n        new PostCompilePlugin(),\n        new TransformModulesPlugin()\n      ]\n      // ...\n    }\n    ```\n\n  3. Modify `exports.cssLoaders` function in build/utils.js\n\n    ```js\n    exports.cssLoaders = function (options) {\n      // ...\n      const stylusOptions = {\n        'resolve url': true\n      }\n      // https://vue-loader.vuejs.org/en/configurations/extract-css.html\n      return {\n        css: generateLoaders(),\n        postcss: generateLoaders(),\n        less: generateLoaders('less'),\n        sass: generateLoaders('sass', { indentedSyntax: true }),\n        scss: generateLoaders('sass'),\n        stylus: generateLoaders('stylus', stylusOptions),\n        styl: generateLoaders('stylus', stylusOptions)\n      }\n    }\n    ```\n  4. Modify vue-loader.conf.js\n\n    ```javascript\n    module.exports = {\n      loaders: utils.cssLoaders({\n        sourceMap: sourceMapEnabled,\n        extract: false\n      }),\n      // ...\n    }\n\n    ```\n\n    See [https://github.com/vuejs-templates/webpack/pull/970/files](https://github.com/vuejs-templates/webpack/pull/970/files)\n\n- Normal compile\n\n  1. Modify package.json and install the dependencies\n\n    ```json\n    {\n      // webpack-transform-modules-plugin depends on transformModules\n      \"transformModules\": {\n        \"cube-ui\": {\n          \"transform\": \"cube-ui/lib/${member}\",\n          \"kebabCase\": true,\n          \"style\": {\n            \"ignore\": [\"create-api\", \"better-scroll\", \"locale\"]\n          }\n        }\n      },\n      \"devDependencies\": {\n        \"webpack-transform-modules-plugin\": \"^0.4.3\"\n      }\n    }\n    ```\n\n  2. Modify webpack config\n\n    ```js\n    // webpack.config.js\n    var TransformModulesPlugin = require('webpack-transform-modules-plugin')\n    module.exports = {\n      // ...\n      resolve: {\n        // ...\n        alias: {\n          // ...\n          'cube-ui': 'cube-ui/lib'\n          // ...\n        }\n        // ...\n      }\n      // ...\n      plugins: [\n        // ...\n        new TransformModulesPlugin()\n      ]\n      // ...\n    }\n    ```\n\n#### CDN\n\n```html\n<script src=\"https://unpkg.com/cube-ui/lib/cube.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/cube-ui/lib/cube.min.css\">\n```\n\n### Usage\n\n#### Fully import\n\nCommonly in the entry file:\n\n```javascript\nimport Vue from 'vue'\nimport Cube from 'cube-ui'\n\nVue.use(Cube)\n```\n\n#### Import on demand\n\n```javascript\nimport {\n  /* eslint-disable no-unused-vars */\n  Style,\n  Button\n} from 'cube-ui'\n```\n\n**Notice:** In this case, you also need to import [style module](#/en-US/docs/style).\n\nThen register globally:\n\n```js\n// register globally\nVue.use(Button)\n// ...\n```\nAll the components and modules that can be imported on demand are listed below:\n\n```js\nimport {\n  // basic style\n  Style,\n  // basic\n  Button,\n  Loading,\n  Tip,\n  Toolbar,\n  // form\n  Checkbox,\n  CheckboxGroup,\n  Radio,\n  Checker,\n  Input,\n  Textarea,\n  Select,\n  Switch,\n  Rate,\n  Validator,\n  Upload,\n  Form,\n  // popup\n  Popup,\n  Toast,\n  Picker,\n  CascadePicker,\n  DatePicker,\n  TimePicker,\n  SegmentPicker,\n  Dialog,\n  ActionSheet,\n  Drawer,\n  // scroll\n  Scroll,\n  Slide,\n  IndexList,\n  Swipe\n} from 'cube-ui'\n```\n\nYou can also import [create-api](#/en-US/docs/create-api) and [better-scroll](#/en-US/docs/better-scroll) module:\n\n```js\nimport { createAPI, BetterScroll, Locale } from 'cube-ui'\n```\n\n#### Examples\n\n```html\n<template>\n  <cube-button @click=\"showDialog\">show dialog</cube-button>\n</template>\n\n<script>\n  export default {\n    methods: {\n      showDialog() {\n        this.$createDialog({\n          type: 'alert',\n          title: 'Alert',\n          content: 'dialog content'\n        }).show()\n      }\n    }\n  }\n</script>\n```\n### TypeScript Development Tooling\n\nWe will start to provide better support for TypeScript in v1.12.39.\n\n> If you use [Visual Studio Code](https://code.visualstudio.com/) + [Vetur](https://github.com/vuejs/vetur) for development\n\n#### TypeScript\n  TypeScript version >= [4.1](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html)\n#### Visual Studio Code\n\n  Visual Studio Code version >= [1.52.0](https://github.com/vuejs/vetur/releases/tag/v0.30.3)\n\n#### Vetur\n  Vetur version >= [0.30.3](https://github.com/microsoft/vscode/releases/tag/1.52.0)"
  },
  {
    "path": "document/components/docs/en-US/radio.md",
    "content": "## Radio\n\n> New in 1.4.0+\n\nRadio component. You could set the options and the position of the radio's icon.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-radio-group v-model=\"selected\" :options=\"options\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        selected: '',\n        options: ['Option1', 'Option2']\n      }\n    }\n  }\n  ```\n\n  The value of `options` is an array. The default `selected` value is  `''`, which means no option will be selected by defaut. If you clicked one radio option, the `selected` will be set as the value of this option.\n\n- Configure the label, value, disabled state of options and icon style.\n\n  ```html\n  <cube-radio-group v-model=\"selected2\" :options=\"options2\" position=\"right\" :hollow-style=\"true\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        selected2: 3,\n        options2: [\n          {\n            label: 'Option1',\n            value: 1\n          },\n          {\n            label: 'Option2',\n            value: 2\n          },\n          {\n            label: 'Option3',\n            value: 3,\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n  The `options` value can be an array which has some object items. You can set `label` and `value` in each item, and use `disabled` to configure whether the radio item's state is disabled.\n\n  If the `position` is set as `'right'`, the radio's icon will be posited at the right of the label. Set `hollow-style=true` to use hollow-out style.\n\n- Horizontal order\n\n  ```html\n  <cube-radio-group v-model=\"selected3\" :options=\"options3\" :horizontal=\"true\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        selected3: '3',\n        options3: [\n          {\n            label: '1',\n            value: '1'\n          },\n          {\n            label: '2',\n            value: '2'\n          },\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n  You can use `horizontal` to configure the style to horizontal layout.\n\n- Use slot\n\n  ```html\n  <cube-radio-group>\n    <cube-radio\n      v-for=\"(option, index) in options4\"\n      :key=\"index\"\n      :option=\"option\"\n      v-model=\"selected4\">\n      <img :src=\"option.src\" />\n    </cube-radio>\n  </cube-radio-group>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        selected4: '1',\n        options4: [\n          {\n            label: '1',\n            value: '1',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\n          },\n          {\n            label: '2',\n            value: '2',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\n          },\n          {\n            label: '3',\n            value: '3',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg',\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n\n- Set column number<sup>1.12.28</sup>\n\n  You can use `colNum` to control the display columns\n  ```html\n  <cube-radio-group v-model=\"selected5\" :options=\"options5\" :col-num=\"colNum\" />\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        selected5: '2',\n        options5: [\n          {\n            label: '1',\n            value: '1'\n          },\n          {\n            label: '2',\n            value: '2'\n          },\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          },\n          {\n            label: '4',\n            value: '4'\n          },\n          {\n            label: '5',\n            value: '5'\n          },\n          {\n            label: '6',\n            value: '6',\n            disabled: true\n          },\n          {\n            label: '7',\n            value: '7'\n          },\n          {\n            label: '8',\n            value: '8'\n          }\n        ],\n        colNum: 3\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| options | the array of radio options | Array | - | - |\n| position | icon position | String | left/right | left |\n| colNum<sup>1.12.28</sup> | column number | Number | - | 1 |\n| horizontal | whether use horizontal layout | Boolean | true/false | false |\n| hollowStyle | whether is hollow-out style | Boolean | true/false | false |\n\n* `options` sub configuration\n\n| Attribute | Description | Type  |\n| - | - | - |\n| label | the text of label | String |\n| value | the value of radio item | String/Number |\n| disabled | whether the radio item is disabled | Boolean |\n\nNote: Each item of `options` can be an string, Which means both the `label` and `value` will be set as this string.\n\n### cube-radio Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| option | option value | Object/String | - | - |\n| position | icon position | String | left/right | left |\n| hollow-style | whether is hollow-out style | Boolean | true/false | false |\n\n* `option` sub configuration\n\n| Attribute | Description | Type  |\n| - | - | - |\n| label | the text of label | String |\n| value | the value of radio item | String/Number |\n| disabled | whether the radio item is disabled | Boolean |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| input | triggers when the binding value changes | the value of the chosen radio |\n"
  },
  {
    "path": "document/components/docs/en-US/rate.md",
    "content": "## Rate\n\n> New in 1.5.0+\n\nRate component. You can customize the rating star numbers, and disable the interaction, you can also customize the style of star through the slot.\n\n### Example\n\n- Basic usage\n\n  You can use the v-model directive to create two-way data bindings.\n\n  ```html\n  <cube-rate v-model=\"value\"></cube-rate>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: 3\n      }\n    }\n  }\n  ```\n\n- Multiple configurations\n\n  For example, you can use `disabled` to make the rating component read-only, use` max` to customize the number of stars and use `justify` to justify container's width.\n\n  ```html\n  <cube-rate v-model=\"value\" :disabled=\"disabled\" :max=\"max\" :justify=\"justify\"></cube-rate>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        disabled: false,\n        max: 5,\n        value: 3,\n        justify: false\n      }\n    }\n  }\n  ```\n\n- Custom star style\n\n  You need to use the `cube-rate-item` component, and define two different styles for custom stars, normal and active (under the` .cube-rate-item.active` class).\n\n  ```html\n  <cube-rate v-model=\"value\">\n    <cube-rate-item v-for=\"n in max\" :key=\"n\" :value=\"value\" :index=\"n\">\n      <!-- 定制星星示例 -->\n      <div class=\"rate-item\"></div>\n    </cube-rate-item>\n  </cube-rate>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: 3\n      }\n    }\n  }\n  ```\n\n  ```css\n  .rate-item\n    width: 100%\n    height: 100%\n    background-size: 100%\n    background-color: grey\n  .cube-rate-item.active\n    .rate-item\n      background-color: orange\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| v-model | bound rate value | Number | - | 0 |\n| max | max star number | Number | - | 5 |\n| disabled | disabled status | Boolean | true/false | false |\n| justify | auto justify container's width | Boolean | true/false | false |\n| allowHalf<sup>1.12.52</sup> | whether to allow half star | Boolean | true/false | false |\n\n### slot\n\n| Name | Description | Scope parameters |\n| - | - | - |\n| default | a cube-rate-item component | - |\n\n### slot in cube-rate-item\n\n| Name | Description | Scope parameters |\n| - | - | - |\n| default | custom star element | - |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| input | The event triggers when the finger is removed from the rate item (this event will be not triggered when the disabled attribute is set) | The value of the rate item that is currently removed from |\n"
  },
  {
    "path": "document/components/docs/en-US/recycle-list.md",
    "content": "## RecycleList\n\n> New in 1.12.0+\n\nA recyclable scrolling list that always keeps the number of DOMs at a very low range. Excellent performance in the rendering list of massive data.\n\n### Precautions\n\n  - To achieve infinite scrolling, you must ensure that you have a fixed-height parent container element to wrapper component. For details, please refer to the example.\n\n  - If there is an image with a fixed width and height in the list content, due to the mechanism of image loading, when DOM of each item is rendered, the image may not be loaded, resulting in incorrect calculation of the position of each item, so the caller need use CSS to specify image to avoid height calculation errors.\n\n  - The internal implementation relies on Promise, so you need a polyfill for compatibility.\n\n### Example\n\n- **1. Basic usage**\n\n  ```html\n  <div class=\"view-wrapper\">\n    <cube-recycle-list class=\"list\" :size=\"size\" :on-fetch=\"onFetch\" :offset=\"offset\">\n      <template slot=\"item\" slot-scope=\"{ data }\">\n        <div :id=\"data.id\" class=\"item\" @click=\"handleClick(data)\">\n          <div class=\"avatar\" :style=\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\"></div>\n          <div class=\"bubble\">\n            <p>{{ data.msg }}</p>\n            <div class=\"meta\">\n              <time class=\"posted-date\">{{ data.time }}</time>\n            </div>\n          </div>\n        </div>\n      </template>\n    </cube-recycle-list>\n  </div>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        size: 50,\n        offset: 100\n      }\n    },\n    methods: {\n      onFetch() {\n        let items = []\n        return new Promise((resolve) => {\n          // Simulation request for 50 items, because size is set to 50\n          setTimeout(() => {\n            for (let i = 0; i < 50; i++) {\n              items.push({\n                id: i,\n                avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg',\n                msg: '123',\n                time: 'Thu Oct 25 2018 15:02:12 GMT+0800 (中国标准时间)'\n              })\n            }\n            resolve(items)\n          }, 1000)\n        })\n      },\n      handleClick(data) {\n        console.log('Item:' + data)\n      }\n    }\n  }\n  ```\n\n  ```stylus\n  /* Limit viewport to wrap component*/\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n  ```\n\n    The vast majority of list interactions are when the user scrolls to the bottom and requests the next page of data. The default implementation of the component is based on this interaction.\n\n    The component accepts `size` as props and controls how many counts of data are rendered at a time. `offset` is the distance to configure the bottom pull data, `onFetch` is a function, which is mandatory, and the return value of the function must be a Promise, and the `items` ( **Array** ) must be the first parameter when calling `resolve` function, so the component can get `items`. Of course, if you want to stop scrolling, pass `false` or an array whose length is smaller than `size` props.\n\n    The component supports the scope slot. You can use the destructuring assignment of the above example to get the `data` (each data item of item) that the component passes to the caller.\n\n    The samples demo [Here](https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-default.vue).\n\n- **2. Infinite**\n\n  However, the component also supports the second mode - infinite. With `tombstone` as a placeholder, which gives the user a perceptible page element, and makes the interaction more friendly and user-friendly.\n  The samples demo [Here](https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-tombstone.vue).\n\n  ```html\n  <div class=\"view-wrapper\">\n    <cube-recycle-list class=\"list\" :infinite=\"infinite\" :size=\"size\" :on-fetch=\"onFetch\">\n      <!-- tombstone slot-scope is mandatory -->\n      <template slot=\"tombstone\" slot-scope=\"props\">\n        <div class=\"item tombstone\">\n          <div class=\"avatar\"></div>\n          <div class=\"bubble\">\n            <p></p>\n            <p></p>\n            <p></p>\n            <div class=\"meta\">\n              <time class=\"posted-date\"></time>\n            </div>\n          </div>\n        </div>\n      </template>\n      <template slot=\"item\" slot-scope=\"{ data }\">\n        <div :id=\"data.id\" class=\"item\" @click=\"handleClick(data)\">\n          <div class=\"avatar\" :style=\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\"></div>\n          <div class=\"bubble\">\n            <p>{{ data.msg }}</p>\n            <div class=\"meta\">\n              <time class=\"posted-date\">{{ data.time }}</time>\n            </div>\n          </div>\n        </div>\n      </template>\n      <!-- <div slot=\"spinner\">Loading Data</div> -->\n      <!-- <div slot=\"noMore\">No more data</div> -->\n    </cube-recycle-list>\n  </div>\n  ```\n\n  `infinite` is used to enable infinite scroll mode. When you enable this configuration, you must implement a personalized style through the `tombstone` scope slot. The `spinner` and `noMore` slots are supported to customize the display of views that load more and no more data. `spinner` slot is built-in in component.\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| infinite | Enable infinite scroll mode | Boolean | - | false |\n| size | Amount of data loaded at one time | Number | - | 20 |\n| offset | The distance to fetch more data at the bottom | Number | - | 200 |\n| onFetch | Fetch data | Function | - | - |\n\nThe `onFetch` function must return a Promise, and the first argument to Promise's resolve function must be an array or `false`, so that the component can internally get the corresponding data to decide whether to load more or stop scrolling.\n\n### Slot\n\n| Name | Description | Scope parameters |\n| - | - | - |\n| tombstone | Implement a customized `tombstone` view scope slot | - |\n| item | Scope slot for each data item | data: An item in items |\n| spinner | Named slot for loading more | - |\n| noMore | Named slot for no more data | - |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| reset | To clean up all the contents |\n"
  },
  {
    "path": "document/components/docs/en-US/scroll-nav-bar.md",
    "content": "## ScrollNavBar\n\n> New in 1.10.0+\n\nScroll navigation bar component, like DiDi business navigation.\n\n### Example\n\n- Default horizontal\n\n  ```html\n  <cube-scroll-nav-bar :current=\"current\" :labels=\"labels\" @change=\"changeHandler\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        current: '快车',\n        labels: [\n          '快车',\n          '小巴',\n          '专车',\n          '顺风车',\n          '代驾',\n          '公交',\n          '自驾租车',\n          '豪华车',\n          '二手车',\n          '出租车'\n        ]\n      }\n    },\n    methods: {\n      changeHandler(cur) {\n        this.current = cur\n      }\n    }\n  }\n  ```\n\n  You can set the active item by `current` Prop. `labels` is the collection if all the item's keys. The `change` events will be triggered when active item changed.\n\n- Vertical\n\n  ```html\n  <div class=\"side-container\">\n    <cube-scroll-nav-bar\n      direction=\"vertical\"\n      :current=\"current\"\n      :labels=\"labels\"\n      :txts=\"txts\"\n      @change=\"changeHandler\">\n      <i slot-scope=\"props\">{{props.txt}}</i>\n    </cube-scroll-nav-bar>\n  </div>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        current: '快车',\n        labels: [\n          '快车',\n          '小巴',\n          '专车',\n          '顺风车',\n          '代驾',\n          '公交',\n          '自驾租车',\n          '豪华车',\n          '二手车',\n          '出租车'\n        ],\n        txts: [\n          '1快车',\n          '2小巴',\n          '3专车',\n          '4顺风车',\n          '5代驾',\n          '6公交',\n          '7自驾租车',\n          '8豪华车',\n          '9二手车',\n          '10出租车'\n        ]\n      }\n    },\n    methods: {\n      changeHandler(cur) {\n        this.current = cur\n      }\n    }\n  }\n  ```\n  ```stylus\n  .side-container\n    height: 300px\n    margin-top: 20px\n  ```\n\n  If the `direction` Prop is `vertical` then the ScrollNavBar will be vertical style.\n\n  You can use `txts` Prop to defined the text of showcases, it's order is correspondence with `labels` Prop. The default `txts` value is `labels`.\n\n  You can also use default scoped slot to defined your own item content.\n\n### Props\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| direction | direction, default horizontal | String | horizontal/vertical | horizontal |\n| labels | the collection if all the item's keys | Array | - | [] |\n| txts | the text of showcases, it's order is correspondence with `labels`, the item can be a HTML string value | Array | - | default equals to `labels` Prop |\n| current | the key of the active item | String/Number | - | '' |\n| options | the options of better-scroll, you could find details at [BS Document](https://better-scroll.github.io/docs-v1/doc/en/options.html) | Object | - | {}<br>`Notice`: After `1.12.38`, as [BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) `iOS13.4` issue [#978](https://github.com/ustbhuangyi/better-scroll/issues/978), we set `useTransition` to `fasle` by default |\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| default | default content | txt: item's text<br>index: item's index<br>active: the key of active item<br>label: item's label |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| change | triggers when active item changed | active - the key of active item |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| refresh | You can call this method when content updated |\n"
  },
  {
    "path": "document/components/docs/en-US/scroll-nav.md",
    "content": "## ScrollNav\n\n> New in 1.10.0+\n\nScrollNav component. You can use it to sticky your navigation bar and content.\n\n### Example\n\n- Basic usage - Default\n\n  ```html\n  <cube-scroll-nav @change=\"changeHandler\">\n    <cube-scroll-nav-panel\n      v-for=\"item in data\"\n      :key=\"item.name\"\n      :label=\"item.name\">\n      <ul>\n        <li v-for=\"food in item.foods\">\n          <div>\n            <img :src=\"food.icon\">\n            <p>{{food.name}}</p>\n          </div>\n        </li>\n      </ul>\n    </cube-scroll-nav-panel>\n  </cube-scroll-nav>\n  ```\n  ```js\n  import goodsData from 'example/data/goods-list.json'\n\n  const goods = goodsData.goods\n\n  export default {\n    data() {\n      return {\n        data: goods\n      }\n    },\n    methods: {\n      changeHandler(label) {\n        console.log('changed to:', label)\n      }\n    }\n  }\n  ```\n\n  `goods`:\n  ```js\n  \"goods\": [\n    {\n      \"name\": \"热销榜\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"皮蛋瘦肉粥\",\n          // ...\n          \"icon\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        // ...\n      ]\n    },\n    // ...\n  ]\n  ```\n\n  `cube-scroll-nav` should contains `cube-scroll-nav-panel` which is the navigation target panel content.\n\n  `cube-scroll-nav-panel` required Prop: `label`(the key of panel).\n\n  The `change` event will be triggered when navigation active item changed.\n\n- Side Style\n\n  ```html\n  <cube-scroll-nav\n    :side=\"true\"\n    :data=\"data\"\n    :current=\"current\"\n    @change=\"changeHandler\"\n    @sticky-change=\"stickyChangeHandler\">\n    <ul class=\"prepend-header\" slot=\"prepend\">\n      <li>11</li>\n      <li>22</li>\n      <li>333</li>\n    </ul>\n    <cube-scroll-nav-panel\n      v-for=\"item in data\"\n      :key=\"item.name\"\n      :label=\"item.name\"\n      :title=\"item.name\">\n      <ul>\n        <li v-for=\"food in item.foods\">\n          <div>\n            <img :src=\"food.icon\">\n            <p>{{food.name}}</p>\n          </div>\n        </li>\n      </ul>\n    </cube-scroll-nav-panel>\n  </cube-scroll-nav>\n  ```\n  ```js\n  import goodsData from 'example/data/goods-list.json'\n\n  const goods = goodsData.goods\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        data: goods,\n        current: goods[3].name\n      }\n    },\n    methods: {\n      changeHandler(label) {\n        console.log('changed to:', label)\n      },\n      stickyChangeHandler(current) {\n        console.log('sticky-change', current)\n      }\n    }\n  }\n  ```\n\n  If set `side` to `true` then the navigation bar will be at the side position.\n\n  `data` is the data source, it will be passed to `cube-scroll` component, if the `data` updated then `cube-scroll` will be auto refreshed.\n\n  `current` is the default navigation value(label of panel), if set this value then the target panel will be auto scrolled to the top of container.\n\n  The `sticky-change` event will be triggered when the navigation bar's sticky state changed. The parameter is one of `''`, `'cube-scroll-nav-bar'`.\n\n  You can use `prepend` slot to insert your own content before the main content.\n\n### Props\n\n#### CubeScrollNav\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| data | optional, data source | Array | - | - |\n| side | If set to `true` then the navigation bar will be at the side position | Boolean | true/false | false |\n| current | the default navigation value(label of panel) | String/Number | - | '' |\n| speed | speed of navigating to target panel | Number | - | 300 |\n| options | the options of better-scroll, you could find details at [BS Document](https://better-scroll.github.io/docs-v1/doc/en/options.html) | Object | - | {}<br>`Notice`: After `1.12.38`, as [BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) `iOS13.4` issue [#978](https://github.com/ustbhuangyi/better-scroll/issues/978), we set `useTransition` to `fasle` by default |\n\n#### CubeScrollNavPanel\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| label | required, the key of panel | String/Number | - | - |\n| title | the title of panel, can be a HTML string value | String/Number | - | default equal to `label` Prop |\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| default | default panel content | - |\n| prepend | prepend content | - |\n| bar | navigation bar content, you should use `cube-scroll-nav-bar` component to define your own navigation bar content | labels: the collection of all panel labels<br>txts: the collection of all panel titles<br>current: current active navigation value(label of panel) |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| change | triggers when navigation active item changed | active - active navigation value(label of panel) |\n| sticky-change | triggers when the navigation bar's sticky state changed | current - if navigation bar is fixed then this value will be 'cube-scroll-nav-bar', otherwise this value will be '' |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| refresh | You can call this method when content updated |\n"
  },
  {
    "path": "document/components/docs/en-US/scroll.md",
    "content": "## Scroll\n\n`Scroll` component, which is encapsulated based on `better-scroll`, provides high-quality native scrolling experience and has convenient configuration along with events.\n\n### Scrolling principle\nThe better-scroll's scrolling principle is, the length of the first child element exceeds the length of the container in the scroll direction.\n\nSo for the Scroll component, The length of `.cube-scroll-content`, the scroll-content, must be larger than `.cube-scroll-wrapper`, the container element. Depending on the direction of scrolling, there are two situations:\n\n1）Scrolling vertically: **The height of the content element must be greater than the container element.** Since the height of the container element will be stretched by the height of the child element by default, in order to satisfy our scrolling premise, you need to give the Scroll component's `.cube-scroll-wrapper` element an fixed height.\n\n2）Scrolling horizontally: **The width of the content element must be greater than the container element.** Since the child element's width does not exceed the container element by default, the Scroll component's `.cube-scroll-content` element needs to be set to a width greater than the `.cube-scroll-wrapper`.\n\n> Note: If there is any situation where scrolling is not possible, you should first check if the height/width of the content element `.cube-scroll-content` is greater than the height/width of the container element `.cube-scroll-wrapper`. This is a prerequisite for content to scroll. **If there is  images in the content, the scrolling should be not normal. The reason is images may not be downloaded when the DOM element is rendered, so the height of the content element is less than expected. At this point you should manually call the Scroll component's `refresh()` method after the image has been loaded, such as calling in the onload event callback, which will recalculate the scroll distance.** Scroll related FAQs can seek [Cube-UI/Question-Answer].\n\n\n### Example\n\nSeven sample code to quickly understand how to use the Scroll component.\n\n- **1. Basic usage - Default**\n\n  By setting the data property to an array, you can generate an elegantly scrolling list. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/default.vue).\n\n  ```html\n  <div class=\"scroll-list-wrap\">\n    <cube-scroll\n      ref=\"scroll\"\n      :data=\"items\"\n      :options=\"options\">\n    </cube-scroll>\n  </div>\n  ```\n\n  ```stylus\n  .scroll-list-wrap\n    height: 350px\n  ```\n\n  > **Note**: As the scrolling principle above, it is necessary to provide a fixed height to the scroll container, and scroll only when the height of the scroll content is greater than the height of the container.\n\n  In the prop `options`, you are able to control the scrollbar seen or not via `scrollbar`, and configure the initial position by `startX/startY`.\n\n  Scroll component provides a `scrollTo()` method that allows you to manually control the list scroll position.\n\n  ```javascript\n  scrollTo() {\n    this.$refs.scroll.scrollTo(\n      0,\n      this.scrollToY,\n      this.scrollToTime,\n      ease[this.scrollToEasing]\n    )\n  },\n  ```\n\n  In fact, this is a very useful method, such as when we want to achieve \"click different anchor, list scroll to the corresponding position to show different content\", you can use the `scrollTo ()` method.\n\n- **2. Scrolling horizontally - Horizontal**\n\n  Scroll component supports horizontal scrolling. All you need to do is specifying `direction = 'horizontal'` and giving some styles. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal.vue)\n\n  ```html\n  <cube-scroll\n    ref=\"scroll\"\n    :data=\"items\"\n    direction=\"horizontal\"\n    class=\"horizontal-scroll-list-wrap\">\n    <ul class=\"list-wrapper\">\n      <li v-for=\"item in items\" class=\"list-item\">{{ item }}</li>\n    </ul>\n  </cube-scroll>\n  ```\n\n  ```stylus\n  .horizontal-scroll-list-wrap\n    border: 1px solid rgba(0, 0, 0, 0.1)\n    border-radius: 5px\n    .cube-scroll-content\n      display: inline-block\n    .list-wrapper\n      padding: 0 10px\n      line-height: 60px\n      white-space: nowrap\n    .list-item\n      display: inline-block\n  ```\n\n  > **Note**：1. As the scrolling principle above, the CSS style setting here is required, and scrolling is possible only when the scrolling content is wider than the container width. 2. Sometimes we want to use the `Scroll` component to simulate the horizontal scroll, vertically retaining the browser's native scrolling, or vice versa. At this point you need to pass the better-scroll configuration item [eventPassthrough](https://better-scroll.github.io/docs-v1/doc/en/options.html#eventpassthrough)\n\n  Here giving a brief explanation of the style settings. `list-item` items with `display: inline-block` lead to all `list-item` elements showing on one line. `list-wrapper` adds `white-space: nowrap` hope `list-item` also showing on one line when reaching the outer element boundary. And the most important is setting `cube-scroll-content` with `display: inline-block`， which make the width of `cube-scroll-content` bigger enough so that `cube-scroll-content` can wrap descendants elements. Styles with the same properties are floating elements and absolutely positioned elements. When no specific width is set, the width is the minimum width of the wrapped descendant element.\n\n- **3. Custom content - Customized**\n\n  The Scroll component supports the customization of list content through default slot. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/config.vue).\n\n  ```html\n  <div class=\"scroll-list-wrap\">\n    <cube-scroll\n      ref=\"scroll\"\n      :data=\"items\"\n      :options=\"options\"\n      @pulling-down=\"onPullingDown\"\n      @pulling-up=\"onPullingUp\">\n      ... // custom content\n    </cube-scroll>\n  </div>\n  ```\n\n  Scroll components also support **pull-down refresh** and **pull-up load** capabilities. By default, there is no pulldown refresh/pull-up load. You can enable corresponding functions by `pullDownRefresh` and `pullUpLoad`. After opening, when pulling down, the Scroll component will show the default pulldown animation and dispatch pulldown events. You can monitor the `pull-down` event to update the data. Similarly, after the pull-up load is enabled, the data can be updated by the `pull-up` event.\n\n  `pullDownRefresh`'s related configurations include: drop threshold (threshold), rebound position (stop), update successful copy (txt) and copy display time (stopTime). See the [Props configuration](#/en-US/docs/scroll#cube-Propsconfiguration-anchor) for all the configuration items and meanings of the `pullDownRefresh` and `pullUpLoad` objects.\n\n  ```javascript\n  ... // ignore\n  computed: {\n    options() {\n      return {\n        pullDownRefresh: this.pullDownRefreshObj,\n        pullUpLoad: this.pullUpLoadObj,\n        scrollbar: true\n      }\n    },\n    ...\n  },\n  methods: {\n    onPullingDown() {\n      // simulate asynchronous request data\n      setTimeout(() => {\n        if (Math.random() > 0.5) {\n          // if data update\n          this.items.unshift(_foods[1])\n        } else {\n          // if no data update\n          this.$refs.scroll.forceUpdate()\n        }\n      }, 1000)\n    },\n    onPullingUp() {\n      // simulate asynchronous request data\n      setTimeout(() => {\n        if (Math.random() > 0.5) {\n          // if data update\n          let newPage = _foods.slice(0, 5)\n          this.items = this.items.concat(newPage)\n        } else {\n          // if no data update\n          this.$refs.scroll.forceUpdate()\n        }\n      }, 1000)\n    },\n    ...\n  }\n  ```\n\n  > **Note**: If a pulldown-refresh/pullup-loading has no data update, you must manually call the Scroll component's `forceUpdate()` method to end the pulldown-refresh/pullup-loading so that Scroll will restart listening for the next pulldown-refresh/pullup-loading operation. In the above example, when the data is updated, we did not invoke the `forceUpdate()` method. The reason is: ** If you pass the `data` attribute to the `Scroll` component, then when the `Scroll` component listens to the `data` update, the `forceUpate(true)` method will be called automatically. ** so it is recommended to pass the `data` attribute.\n\n- **4. Custom pull-down refresh animation - Fake JD App**\n\n  If you don't like the built-in pull-down refresh and pull-up loading animations, you can also use the scope slots for custom animations. The variables exposed by [the scoped slots](https://vuejs.org/v2/guide/components-slots.html#Scoped-Slots) of the Scroll component are perfect to meet the needs of custom pull-down/pull-up animations in most scenarios. The following example imitates the pull-down refresh animation of Jingdong App's homepage. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/jd.vue).\n\n  ```html\n  <cube-scroll\n    ref=\"scroll\"\n    :scroll-events=\"['scroll']\"\n    :options=\"scrollOptions\"\n    @scroll=\"onScrollHandle\"\n    @pulling-down=\"onPullingDown\">\n    <img src=\"http://om0jxp12h.bkt.clouddn.com/jd_content.JPG\">\n    <template slot=\"pulldown\" slot-scope=\"props\">\n      <div v-if=\"props.pullDownRefresh\"\n        class=\"cube-pulldown-wrapper\"\n        :style=\"pullDownStyle\">\n        <div class=\"pulldown-content\">\n          <img src=\"http://om0jxp12h.bkt.clouddn.com/pulldow-img.jpg\">\n          <span v-if=\"props.beforePullDown\">{{ pullDownTip }}</span>\n          <template v-else>\n            <span v-if=\"props.isPullingDown\">正在更新...</span>\n            <span v-else>更新成功</span>\n          </template>\n        </div>\n      </div>\n    </template>\n  </cube-scroll>\n  ```\n  ```javascript\n  data() {\n    return {\n      options: {\n        pullDownRefresh: {\n          threshold: 60,\n          stop: 40,\n          txt: '更新成功'\n        }\n      },\n      ...\n    }\n  },\n  computed: {\n    pullDownTip() {\n      if (this.pullDownY <= 60) {\n        return '下拉刷新...'\n      } else if (this.pullDownY <= 90) {\n        return '继续下拉有惊喜...'\n      } else {\n        return '松手得惊喜！'\n      }\n    },\n    headerStyle() {\n      return Math.min(1, Math.max(0, 1 - this.pullDownY / 40))\n    }\n  },\n  methods: {\n    onScrollHandle(pos) {\n      this.pullDownY = pos.y\n      if (pos.y > 0) {\n        this.pullDownStyle = `top:${pos.y}px`\n        this.triggerSurpriseFlag = false\n        if (this.pullDownY > 90) {\n          this.triggerSurpriseFlag = true\n        }\n      }\n      this.$refs.topHeader.style.opacity = this.headerStyle\n    },\n    onPullingDown() {\n      if (this.triggerSurpriseFlag) {\n        this.triggerSurprise = true\n        this.$refs.scroll.forceUpdate()\n        return\n      }\n      setTimeout(() => {\n        this.$refs.scroll.forceUpdate()\n      }, 1000)\n    },\n    ...\n  }\n  ```\n  Through the scope parameters provided by the scoped slots, such as: `beforePulldown` and `isPullingDown`, allows you control the animation process. Tht other scope parameters, see [slots](#/en-US/docs/scroll#cube-Slot-anchor). In a complete pulldown refresh, the status of `beforePullDown` and `isPullingDown` changes as follows:\n\n  | step | beforePulldown | isPullingDown | note\n  | - | - | - | - |\n  | 1. Untrigger pull-down refresh | true | - | Show pattern guide user continues to  pull down |\n  | 2. Trigger pull-down refresh | false | true | Asynchronous request data，show loading |\n  | 3. Request data success | false | false | invoke `forceUpdate(true)`, show success copy. And delay 'stopTime' into step 4 |\n  | 4. A pull-down refresh complete | true | - | - |\n\n- **5. Advanced usage - Fake TouTiao App**\n\nScroll components can meet the scrolling needs of most mobile applications. In this example, using two Scroll components, one vertical and one horizontal, to imitates the Toutiao App's home page. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/toutiao.vue).\n\n```html\n  <div class=\"nav-scroll-list-wrap\">\n    <cube-scroll ref=\"navScroll\" direction=\"horizontal\">\n      <ul class=\"nav-wrapper\">\n        <li v-for=\"(item, index) in navTxts\" :key=\"index\" class=\"nav-item\">{{ item }}</li>\n      </ul>\n    </cube-scroll>\n    <div class=\"more-wrapper\">\n      <span class=\"more\"></span>\n    </div>\n  </div>\n  <div class=\"content-scroll-wrapper\">\n    <div class=\"content-scroll-list-wrap\" ref=\"scrollWrapper\">\n      <cube-scroll\n        ref=\"contentScroll\"\n        :data=\"content\"\n        :options=\"options\"\n        @pulling-down=\"onPullingDown\"\n        @pulling-up=\"onPullingUp\">\n        <ul class=\"imgs-wrapper\">\n          <li v-for=\"(item, index) in content\" :key=\"index\" class=\"imgs-item\">\n            <img :src=\"item.url\">\n          </li>\n        </ul>\n        <template slot=\"pulldown\" slot-scope=\"props\">\n          <div v-if=\"props.pullDownRefresh\"\n            class=\"cube-pulldown-wrapper\"\n            :style=\"props.pullDownStyle\">\n            <div v-if=\"props.beforePullDown\"\n              class=\"before-trigger\"\n              :style=\"{paddingTop: props.bubbleY + 'px'}\">\n              <span :class=\"{rotate: props.bubbleY > options.pullDownRefresh.threshold - 60}\">↓</span>\n            </div>\n            <div class=\"after-trigger\" v-else>\n              <div v-show=\"props.isPullingDown\" class=\"loading\">\n                <cube-loading></cube-loading>\n              </div>\n              <transition name=\"success\">\n                <div v-show=\"!props.isPullingDown\" class=\"text-wrapper\"><span class=\"refresh-text\">今日头条推荐引擎有x条更新</span></div>\n              </transition>\n            </div>\n          </div>\n        </template>\n      </cube-scroll>\n    </div>\n  </div>\n  ```\n\n  In contrast to faking JD App example, pulldown refreshing custom animations use `pullDownStyle` and `bubbleY` in pulldown scope slots to facilitate pulldown animations.\n\n  The `pullDownStyle` is used to control the position of the pull-down content. The value is the string `top: n px` (n represents a number). The Scroll component controls the position of the pull-down content via the absolutely positioned `top` value. The initial state has a negative `top` value, and the value is just the height of the pull-down content, so the drop-down content is hidden above the scroll area. When the pull-down process is started, the Scroll component will gradually increase the `top` value and update the pull-down content position in real time. The maximum value of `top` is 0, that is, the `top` value no longer increases when the pull-down content is completely displayed. So, `pullY - height <= top <= 0`. (pullY is the drop-down distance, height is the drop-down content height)\n\n  `bubbleY` is used to help implement custom animations. In the default animation, `bubbleY` is used to control the length of the bubble tail; in the Toutiao example, is used to control the padding-top value of the arrow, to indirectly control the arrow position. The minimum value of `bubbleY` is 0. In the pull-down process, when the pull-down distance is greater than the height of the pull-down content, `bubbleY` starts to increase. That is, `0 <= bubbleY <= pullY - height`.\n\n  > **Note:** In this example, the `pullDownRefresh` configuration item does not have a `stop` value, but it is still able to bounce back to the correct location after the pulldown. The reason is that when the Scroll component is initialized, the pulldown height will be used as the `stop` default value when `beforePullDown === false && isPullingDown === true`.\n\n  **6. Vertical nested scrolls - Vertical Scrolls**<sup>1.12.0</sup>\n\n  The `Scroll` component also supports nested scenes (currently only supports two levels of nesting). when there is scroll nest, you need to config the inner `scroll` component's `nestMode` prop，the options can be 'native' or 'free'. when set to 'native', nested `Scroll` has the same scrolling behavior as the browser's native nested scene. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/vertical-scrolls.vue).\n\n  ```html\n  <cube-scroll\n    ref=\"scroll1\"\n    class=\"scroll-list-outer-wrap\">\n    ...\n    <cube-scroll\n      ref=\"scroll2\"\n      class=\"scroll-list-outer-wrap\"\n      nest-mode=\"native\">\n      <ul class=\"cube-scroll-list\">\n        <li class=\"cube-scroll-item border-bottom-1px\"\n          v-for=\"(item, index) in items2\"\n          :key=\"index\">{{item}}</li>\n      </ul>\n    </cube-scroll>\n    ...\n  </cube-scroll>\n  ```\n\n  **7. Horizontal nested scrolls - Horizontal Scrolls**<sup>1.12.0</sup>\n\n  You can also implement horizontal nested scrolling. In this example, we also set `nestMode` to `free`. Different from `native` mode, in `free` mode, as long as the boundary is triggered during the inner scrolling process, the outer scroll will be started. In the `native` mode, it is only when the scrolling starts to determine whether it reaches the boundary, which is consistent with the browser's native nested scrolling. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal-scrolls.vue).\n\n  ```html\n  <cube-scroll\n    ref=\"scroll\"\n    :data=\"items1\"\n    direction=\"horizontal\"\n    class=\"outer-horizontal-scroll\">\n    <ul class=\"list-wrapper\">\n      <li v-for=\"item in items1\" class=\"list-item\">{{ item }}</li>\n      <li class=\"list-item inner-horizontal-scroll\">\n        <cube-scroll\n          ref=\"scroll\"\n          :data=\"items2\"\n          direction=\"horizontal\"\n          nest-mode=\"free\">\n          <ul class=\"list-wrapper\">\n            <li v-for=\"item in items2\" class=\"list-item\">{{ item }}</li>\n          </ul>\n        </cube-scroll>\n      </li>\n      <li v-for=\"item in items1\" class=\"list-item\">{{ item }}</li>\n    </ul>\n  </cube-scroll>\n  ```\n\n  <!-- **8. Textarea within scroll - Textarea**\n\n    Sometimes we need to include the teatarea input box in the `Scroll` component. However, since we disabled the default behavior of the browser 'touch' event when using `Scroll`, we were unable to use the browser's native scrolling in the textarea input box.\n\n    Now through this example, we hope to introduce two ways to solve this problem. The core is to take advantage of `Scroll` to support nesting. We wrap the internal input box with `Scroll` and simulate the scrolling behavior with `Scroll`. But there is a requirement that the input box content area must be highly adaptive, ie the height increases or decreases with the content.\n\n    1）using div to simulate textarea to achieve content area's height adaptation.\n\n    2）using js and textarea to achieve content area's height adaptation.\n\n    Finally, we need some extra work to ensure that the cursor is always in line of sight and consistent with the behavior of the native input box during the input process. The complete sample code is [here](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/textarea.vue)\n\n    ```html\n    <cube-scroll\n      ref=\"scrollOuter\"\n      :options=\"optionsOuter\"\n      class=\"scroll-outer\">\n      ...\n      <div class=\"editable-div-wrapper\" :class=\"{'editable-div_active': isFocusDiv}\">\n        <cube-scroll\n          ref=\"divWrapScroll\"\n          :options=\"options\">\n          <div ref=\"editablediv\" contenteditable=\"true\" class=\"editable-div\"\n            @focus=\"onFocusDiv\"\n            @blur=\"onBlurDiv\"\n            @input=\"onInputDiv\">\n          </div>\n        </cube-scroll>\n        <span class=\"editable-div-indicator\">{{divValueCount}}</span>\n      </div>\n      <div class=\"cube-textarea-wrapper\" :class=\"{'cube-textarea_active': isFocusNative}\">\n        <cube-scroll\n          ref=\"nativeWrapScroll\"\n          :options=\"options\">\n          <textarea\n            ref=\"textarea\"\n            v-model=\"textareaValue\"\n            @input=\"onInputNative\"\n            @focus=\"onFocusNative\"\n            @blur=\"onBlurNative\"\n            :placeholder=\"placeholder\"\n            class=\"cube-textarea\">\n          </textarea>\n        </cube-scroll>\n        <span class=\"cube-textarea-indicator\">{{textareaValueCount}}</span>\n      </div>\n      ...\n    </cube-scroll>\n    ``` -->\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| data | data used for list rendering | Array | - | [] |\n| direction | scrolling direction | String | 'vertical', 'horizontal' | 'vertical' |\n| options | the options of better-scroll, you could find details at [BS Document](https://better-scroll.github.io/docs-v1/doc/en/options.html) | Object | - | {<br>  observeDOM: true,<br>  click: true,<br>  probeType: 1,<br>  scrollbar: false,<br>  pullDownRefresh: false,<br>  pullUpLoad: false<br>}<br>`Notice`: After `1.12.38`, as [BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) `iOS13.4` issue [#978](https://github.com/ustbhuangyi/better-scroll/issues/978), we set `useTransition` to `fasle` by default |\n| scrollEvents<sup>1.9.0</sup> | configure which scroll events need be triggered | Array | could include: 'scroll', 'before-scroll-start', 'scroll-end' | [] |\n| listenScroll | whether to dispatch scroll event. `Deprecated`, please use the property `scroll-events` instead. | Boolean | true/false | false |\n| listenBeforeScroll | whether to dispatch  before-scroll-start event. `Deprecated`, please use the property `scroll-events` instead. | Boolean | true/false | false |\n| refreshDelay | the delay of scroll refresh after `data` updating | Number | - | 20 |\n| nestMode<sup>1.12.0</sup> | Nested scroll mode, the default is `none` mode that do no thing when there is scroll nest. In `native` mode, only to determine whether to reach the boundary and start the outer scroll when starting scrolling, consistent with the browser's native nested scrolling. In the `free` mode, as long as the boundary is triggered during the inner scrolling process, the outer scrolling is turned on. In extreme cases, you can specify the `none` mode for the inner Scroll to disable nested processing logic.  | String | 'none', 'native', 'free' | 'none' |\n\nIn `options`, there are three frequently-used options, `scrollbar`、`pullDownRefresh`、`pullUpLoad`, which could set as `Boolean`(`false` to disable the feature, `true` to enable the feature and use default sub configuration), or `Object` to enable the feature and customize the sub configuration.\n\n- `scrollbar` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| fade | whether to have fade-in-fade-out style | Boolean | true/false | false |\n\n- `pullDownRefresh` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| threshold | the threshold of distance that pulling down for refreshing | Number | - | 90 |\n| stop | the position where rebounding stays | Number | - | Scroll component will calculate the height of pulldown element as default `stop` value |\n| stopTime | the time that keeps showing the text of refreshing success | Number | - | 600 |\n| txt | the text is shown when refreshing successfully | String | - | 'Refresh success' |\n\n- `pullUpLoad` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| threshold | the threshold of  distance that pulling up for  loading | Number | - | 0 |\n| txt | the text shown when pulling up loading | Object | - | { more: '', noMore: '' } |\n| visible<sup>1.12.21</sup> | txt visible or not when content is not more enough | Boolean | true/false | false |\n\n> When pullUpLoad is enabled and the content height is smaller than the container, by default, the copy `pullUpLoad.txt` needs to be pulled up to be seen. If you want to see the prompt copy without pulling up, you can set `pullUpLoad.visible` to `true`。\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| default | the list, rendering based on the value of property `data` | - |\n| pulldown | located above the list and shown when pulling down refreshing | pullDownRefresh: whether to turn on pulling-down-refreshing function<br>pullDownStyle: the style of showing and fading<br>beforePullDown: whether in pulling down operation<br>isPullingDown: whether in the process of pulling in data<br>bubbleY: the distance of pulling down currently - 50 |\n| pullup | located below the list and shown when pulling up loading | pullUpLoad: whether to turn on pulling-up-loading function<br>isPullUpLoad: whether the data is being loaded |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| click | triggers when clicking the list item | item - the data of the list item |\n| scroll | if `scroll-events` includes `scroll`, it will be triggered according to the value of probeType, if listenScroll is true | Object {x, y} - real-time scrolling coordinates |\n| before-scroll-start | if `scroll-events` includes `before-scroll-start`, it will be triggered before scrolling start | - |\n| scroll-end<sup>1.9.0</sup> | if `scroll-events` includes `scroll-end`, it will be triggered when scroll end. | Object {x, y} - real-time scrolling coordinates |\n| pulling-down | triggers when the distance of pulling down exceeds the threshold, if pullDownRefresh is true | - |\n| pulling-up | triggers when the distance of pulling up exceeds the threshold, if pullUpLoad is true | - |\n\n\n### methods\n\n| Method Name | Description | Parameters |\n| - | - | - |\n| scrollTo(x, y, time, ease) | Scroll to specific position. | x: number, horizontal position<br> y: number, vertical position<br> time: number, transition time(ms)<br> ease: easingFn, easing function |\n| forceUpdate(dirty, nomore<sup>1.12.21</sup>) | Mark pull-up or pull-down end, force recalculation of scrollable distance | dirty: boolean, default to false, if true express has data update。<br>nomore<sup>1.12.21</sup>: boolean, default to false, if true represent has no more data. When params nomore is true, when pullup shows the value of `pullUpLoad.txt.nomore`, but when dirty is false, nomore is invalid.|\n| disable() | Disable scroll. | - |\n| enable() | Enable scroll. It's enabled by default | - |\n| resetPullUpTxt() | Reset pull up txt when pull up state changed from no data to data updated | - |\n| refresh() | Refresh, computed height and called BetterScroll instance's refresh | - |\n"
  },
  {
    "path": "document/components/docs/en-US/segment-picker.md",
    "content": "## SegmentPicker\n\n> New in 1.7.0+\n\nSegmentPicker is used to achieve multi segment choose, for example, the choose of time period: September 1, 2010 - 2014 June 30th.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  Using the `data` attribute to define the component name and properties of each node picker, `is` represents which Picker component is used, either a Picker component of a Cube UI, or a Picker component defined by yourself. For example, we use two DatePicker components to make time period choose.\n\n  ```html\n  <cube-button @click=\"showDateSegmentPicker\">StartDate - EndDate</cube-button>\n  ```\n  ```js\n  const dateSegmentData = [\n    {\n      is: 'cube-date-picker',\n      title: '入学时间',\n      min: new Date(2000, 0, 1),\n      max: new Date(2030, 11, 31)\n    },\n    {\n      is: 'cube-date-picker',\n      title: '毕业时间',\n      min: new Date(2000, 0, 1),\n      max: new Date(2030, 11, 31)\n    }\n  ]\n\n  export default {\n    mounted () {\n      this.dateSegmentPicker = this.$createSegmentPicker({\n        data: dateSegmentData,\n        onSelect: (selectedDates, selectedVals, selectedTexts) => {\n          this.$createDialog({\n            type: 'warn',\n            content: `Selected Items: <br/> - 入学时间: ${selectedTexts[0].join('')} <br/> - 毕业时间: ${selectedTexts[1].join('')}`,\n            icon: 'cubeic-alert'\n          }).show()\n        },\n        onNext: (i, selectedDate, selectedValue, selectedText) => {\n          dateSegmentData[1].min = selectedDate\n          if (i === 0) {\n            this.dateSegmentPicker.$updateProps({\n              data: dateSegmentData\n            })\n          }\n        }\n      })\n    },\n    methods: {\n      showDateSegmentPicker() {\n        this.dateSegmentPicker.show()\n      }\n    }\n  }\n  ```\n\n  In order to implement the Cascade between the two pickers, we can update the second picker in the handle function of the `next` event, according to the first choice. As in here, the minimum value of the end time = the selected start time.\n\n- Express - From - To\n\n  ```html\n  <cube-button @click=\"showCitySegmentPicker\">Express - From - To</cube-button>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const cityData = provinceList\n  cityData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n\n  export default {\n    mounted () {\n      this.citySegmentPicker = this.$createSegmentPicker({\n        data: [{\n          title: '选择快递',\n          data: [expressData],\n          selectedIndex: [1]\n        }, {\n          is: 'cube-cascade-picker',\n          title: '寄件地址',\n          data: cityData,\n          selectedIndex: [0, 0, 0],\n          cancelTxt: '返回'\n        }, {\n          is: 'cube-cascade-picker',\n          title: '收件地址',\n          data: cityData,\n          selectedIndex: [0, 0, 0]\n        }],\n        cancelTxt: 'Cancel',\n        confirmTxt: 'Confirm',\n        nextTxt: 'Next',\n        prevTxt: 'Prev',\n        onSelect: (selectedVals, selectedIndexs, selectedTexts) => {\n          this.$createDialog({\n            type: 'warn',\n            content: `Selected Items: <br/> - 所选快递:  ${selectedTexts[0].join('')} <br/> - 寄件地址: ${selectedTexts[1].join('')} <br/> - 收件地址: ${selectedTexts[2].join('')}`,\n            icon: 'cubeic-alert'\n          }).show()\n        }\n      })\n    },\n    methods: {\n      showCitySegmentPicker() {\n        this.citySegmentPicker.show()\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Default | Accepted Values |\n| - | - | - | - | - |\n| data | define the component name and properties of each node picker | Array | [] | - |\n| title | title | String | '' | - |\n| subtitle<sup>1.8.1</sup> | subtitle | String | '' | - |\n| cancelTxt | the text of the cancel button | String | '取消' | - |\n| confirmTxt | the text of the confirm button | String | '确定' | - |\n| nextTxt | the text of the next button | String | '下一步' | - |\n| prevTxt | the text of the prev button | String | '下一步' | - |\n| swipeTime<sup>1.8.1</sup> | the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms | Number | 2500 | - |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | 100 | - |\n\n* `data` sub configuration\n\n| Attribute | Description | Type  | Default | Example |\n| - | - | - | - | - |\n| is | the component name of each node picker | String | cube-picker | cube-date-picker |\n| ...rest | the properties of each node picker | - | - | - |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| select | triggers when clicking the confirm button | the parameter 1 of each picker's select event, Array | the parameter 2 of each picker's select event, Array | the parameter 3 of each picker's select event, Array |\n| cancel | triggers when clicking the cancel button | - | - | - |\n| next | triggers when clicking the next button | the index of current picker, Number | ...rest, is the parameters of current picker's select event | ··· | ··· |\n| prev | triggers when clicking the prev button | the index of current picker, Number | - | - | - |\n| change | triggers when the roller scrolls | pickerIndex: Number, the index of current picker | index: Number, index of current scrolling roller | selectedIndex: Number, index of selected item in current column |\n\n### Methods\n\n| Method name | Description |\n| - | - |\n| show | show |\n| hide | hide |\n"
  },
  {
    "path": "document/components/docs/en-US/select.md",
    "content": "## Select\n\n> New in 1.5.0+\n\nSelect component.\n\n__Notice:__ Cause this component depend on Picker component, and Picker used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  Basically, you need to use `options` to define each option and the selected value will bind on `v-model`.\n\n  ```html\n  <cube-select\n    v-model=\"value\"\n    :options=\"options\">\n  </cube-select>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        options: [2013, 2014, 2015, 2016, 2017, 2018],\n        value: 2016\n      }\n    }\n  }\n  ```\n\n- Configs and Events\n\n  Select supports the configs of picker title, placeholder, whether auto pop, disabled. And if the selected value is changed when selected, it will emit the event `change`.\n\n  ```html\n  <cube-select\n    v-model=\"value\"\n    :title=\"title\"\n    :options=\"options\"\n    :placeholder=\"placeholder\"\n    :auto-pop=\"autoPop\"\n    :disabled=\"disabled\"\n    cancelTxt=\"Cancel\"\n    confirmTxt=\"Confirm\"\n    @change=\"change\">\n  </cube-select>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        options: [2013, 2014, 2015, 2016, 2017, 2018],\n        value: 2016,\n        title: 'Entry time',\n        placeholder: 'Please choose entry time',\n        autoPop: false,\n        disabled: false\n      }\n    },\n    methods: {\n      change(value, index, text) {\n        console.log('change', value, index, text)\n      }\n    }\n  }\n  ```\n\n  There is one thing you may need notice. the `change` event won't change when you directly set the value of `v-model`, it only emit when the change is caused by select. If you want to listen the change of `v-model`, just watch it.\n\n### Props\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| options | options | Array | - | [] |\n| v-model | the selected value | Any | - | - |\n| placeholder | placeholder | String | - | '请选择' |\n| autoPop | whether auto pop picker | Boolean | true/false | false |\n| disabled | whether disabled | Boolean | true/false | false |\n| title | the title of picker | String | - | '请选择' |\n| cancelTxt | the cancel text of picker | String | - | '取消' |\n| confirmTxt | the confirm text of picker | String | - | '确认' |\n\n- `options ` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Example |\n| - | - | - | - | - |\n| value | value of the option | Any | - | - |\n| text | text of the option | String | - | - |\n\nIf an option is not an object, such as 2014，we will transform it to { value: 2014, text: 2014 }.\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| input | when the selected value changed by select | the selected value | - | - |\n| change | when the selected value changed by select | the selected value | the selected index | the selected text |\n| picker-show | when Picker show | - | - | - |\n| picker-hide | when Picker hide | - | - | - |"
  },
  {
    "path": "document/components/docs/en-US/singleton.md",
    "content": "## Singleton Pattern\n\nYou need to take the singleton and multiton pattern of components into account when invoking the component by API.\n\n- After 1.11\n\n  If the component is singleton, then there will be only one instance when instantiating it multiple times **in same component**, and there is only one corresponding view layer; If the component is multiton, then a new instance will be created each time you instantiate it, and there are multiple corresponding view layers which don't affect each other.\n\n- Below 1.11\n\n  If the component is singleton, then there will be only one instance when instantiating it multiple times, and there is only one corresponding view layer; If the component is multiton, then a new instance will be created each time you instantiate it, and there are multiple corresponding view layers which don't affect each other.\n\nThe components that are involved with api-invoking in cube-ui are all popups. Frequently used ones among them are listed below:\n\n- [Toast](#/en-US/docs/toast)\n- [Picker](#/en-US/docs/picker)\n- [TimePicker](#/en-US/docs/time-picker)\n- [Dialog](#/en-US/docs/dialog)\n- [ActionSheet](#/en-US/docs/action-sheet)\n\nAll the api-invokings are implemented with the `createAPI` function exported by the [create-api](#/en-US/docs/create-api) module. It is decided whether the component is singleton in definition. See details in [create-api](#/en-US/docs/create-api).\n\nBy default, Toast, Dialog and ActionSheet is singleton, while Picker and TimePicker is multiton because their scenes tend to be more complex with a lot of extra data processing. If you want to change the default behavior at the time of instantiation,you can modify the parameter of `$createX`. For example, we change the Dialog into multiton:\n\n```js\nconst dialog = this.$createDialog({\n  type: 'confirm',\n  title: 'title',\n  content: 'content'\n}, false)\ndialog.show()\n```\n\nIn general cases, default behavior can meet the demand, except you have special need.\n\n**Note:** Considering the scenes of Picker and TimePicker, neither of them support singleton pattern.\n"
  },
  {
    "path": "document/components/docs/en-US/slide.md",
    "content": "## Slide\n\n`Slide` component, which is also encapsulated based on `better-scroll`,  provides common functions like `slider`  and `swipe`.\n\n### Example\n\n- Basic usage\n\n  Considering of the usual scenes of `cube-slide`, each carousel page is a link, so the easiest way to use it is to pass an Array which consists of image and link by the `data` props. We will render it as a carousel of a set of hyperlinked images by default.\n\n  ```html\n  <cube-slide :data=\"items\"/>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        items: [\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\n          }, {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\n          }, {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\n          }\n        ]\n      }\n    }\n  }\n  ```\n- Custom Content\n\n  Of course, we also support custom content, using the default slot and `cube-slide-item` component to customize the structure of each carousel page. Among them, the `cube-slide` element is the entire carousel component, and the `cube-slide-item` element is the page of each carousel, whose slot is the content of the page.\n\n  ```html\n  <cube-slide ref=\"slide\" :data=\"items\" @change=\"changePage\">\n    <cube-slide-item v-for=\"(item, index) in items\" :key=\"index\" @click.native=\"clickHandler(item, index)\">\n      <a :href=\"item.url\">\n        <img :src=\"item.image\">\n      </a>\n    </cube-slide-item>\n  </cube-slide>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        items: [\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\n          }\n        ]\n      }\n    },\n    methods: {\n      changePage(current) {\n        console.log('当前轮播图序号为:' + current)\n      },\n      clickHandler(item, index) {\n        console.log(item, index)\n      }\n    }\n  }\n  ```\n\n  Although you will use the `data` to generate the default content after using the custom content, it is still recommended that you pass the data by the `data` props, so our component can automatically perform data monitoring and re-rendering inside. Otherwise, you may need to call the `refresh` method to re-render by yourself, such as `this.$refs.slide.refresh()`.\n\n- Initial Index\n\n  Initial Index value, default 0.\n\n  ```html\n  <cube-slide :initial-index=\"1\"></cube-slide>\n  ```\n\n- Loop play\n\n  Loop play is turned on by default. You can configure that with `loop` attribute.\n\n  ```html\n  <cube-slide :loop=\"false\"></cube-slide>\n  ```\n\n- Automatic play\n\n  Automatic play is turned on by default. You can configure that with `auto-play` attribute.\n\n  ```html\n  <cube-slide :auto-play=\"false\"></cube-slide>\n  ```\n\n- Interval of automatic play\n\n  When automatic play is turned on, you can configure the interval with `interval` attribute.\n\n  ```html\n  <cube-slide :interval=\"4000\"></cube-slide>\n  ```\n\n- Sliding threshold of switching pages\n\n  You can configure the sliding threshold of switching pages with `threshold` attribute. It means that when the sliding distance exceeds the page's width * `threshold`, the page is switched. Default is 0.3.\n\n  ```html\n  <cube-slide :threshold=\"0.4\"></cube-slide>\n  ```\n\n- Speed of switching pages\n\n  Animation of switching costs 400 ms by default. You can cnfigure that with `speed` attribute.\n\n  ```html\n  <cube-slide :speed=\"200\"></cube-slide>\n  ```\n\n- Allow vertical scroll behavior\n\n  It can not be scrolling in the vertical direction by default. You can configure that with `allow-vertical` attribute.\n\n  ```html\n  <cube-slide :allow-vertical=\"true\"></cube-slide>\n  ```\n\n- Modify dots style\n\n  Default dot, you can change it by using dots slot.\n\n  ```html\n  <cube-slide>\n    <template slot=\"dots\" slot-scope=\"props\">\n      <span\n        class=\"my-dot\"\n        :class=\"{active: props.current === index}\"\n        v-for=\"(item, index) in props.dots\">\n        {{index + 1}}\n      </span>\n    </template>\n  </cube-slide>\n  ```\n\n  The scoped slots provide two parameters: current active index `current` and slide items length `dots`.\n\n- Dispatch scroll position in real time<sup>1.10.0</sup>\n\n  ```html\n  <cube-slide :options=\"options\" @scroll=\"scroll\"></cube-slide>\n  ```\n\n  ```javascript\n    export default {\n      data() {\n        return {\n          options: {\n            listenScroll: true,\n            probeType: 3\n          }\n        }\n      },\n      methods: {\n        scroll ({x, y}) {\n          console.log(x, y)\n        }\n      }\n    }\n    ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| initialIndex | initial index | Number | - | 0 |\n| loop | whether to loop play | Boolean | true/false | true |\n| showDots | whether to show the indicator dots | Boolean | true/false | true |\n| autoPlay | whether to play  automatically | Boolean | true/false | true |\n| interval | interval of play | Number | - | 4000 |\n| direction | slide direction | String | horizontal/vertical | horizontal |\n| options<sup>1.9.0</sup> | the options of better-scroll, you could find details at [BS Document](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) | Object | - | {<br>  momentum: false,<br>  click: true,<br>  observeDOM: false<br>} |\n| threshold | sliding threshold of switching pages | Number | (0, 1) | 0.3 |\n| speed | speed of switching pages | Number | - | 400 |\n| allowVertical | whether to allow vertical scrolling. `Deprecated`, please use the property `options` instead. | Boolean | true/false | false |\n| stopPropagation | whether to stop propagation, which could use to solve the problem of event propagation when nest same direction slide. `Deprecated`, please use the property `options` instead. | Boolean | true/false | false |\n| refreshResetCurrent<sup>1.10.10</sup> | whether to reset index when refresh | Boolean | true/false | true |\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| default | Default content contains cube-slide-item components | - |\n| dots | Dots content | dots: Slide items length <br> current: current active index |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| change | triggered when current slide changes | index of current slide |\n| scroll<sup>1.10.0</sup> | triggered when slide is scrolling | Object {x, y} - scroll position |\n| scroll-end<sup>1.9.0</sup> | triggered when scroll end. | index of current slide |\n\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| refresh | You can call this method when slide items added or removed |\n| play<sup>1.12.56</sup> | You can call this method to start auto play after pausing. **Note: It will only work when `autoPlay` is `true`.** |\n| pause<sup>1.12.56</sup> | You can call this method to pause slide automatically. **Note: It will only work when `autoPlay` is `true`.** |\n"
  },
  {
    "path": "document/components/docs/en-US/sticky.md",
    "content": "## Sticky\n\n> New in 1.10.0+\n\nSticky component, the element will be sticky when the scroll position matched the target elements position.\n\n### Example\n\n- Default usage - Scroll\n\n  ```html\n  <cube-sticky :pos=\"scrollY\">\n    <cube-scroll\n      :scroll-events=\"scrollEvents\"\n      @scroll=\"scrollHandler\">\n      <ul>\n        <li>title</li>\n      </ul>\n      <cube-sticky-ele ele-key=\"11\">\n        <ul class=\"sticky-header\">\n          <li>111</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele ele-key=\"22\">\n        <ul class=\"sticky-header\">\n          <li>222</li>\n          <li>222</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items2\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele ele-key=\"33\">\n        <ul class=\"sticky-header\">\n          <li>333</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items3\">{{item}}</li>\n      </ul>\n    </cube-scroll>\n    <template slot=\"fixed\" slot-scope=\"props\">\n      <ul class=\"sticky-header\">\n        <li>{{props.current}}</li>\n      </ul>\n    </template>\n  </cube-sticky>\n  ```\n  ```js\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n  export default {\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        scrollY: 0,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler({ y }) {\n        this.scrollY = -y\n      }\n    }\n  }\n  ```\n\n  `cube-sticky` need to use with `cube-sticky-ele` component.\n\n  The `pos` Prop of `cube-sticky` component is the scroll runtime position value.\n\n  The `ele-key` Prop of `cube-sticky-ele` component is optional, it is used to define the key value of sticky ele. The default  `ele-key` value is the current sticky ele's index value.\n\n  You can alse use `cube-sticky`'s `fixed` slot to define your own sticky HTML. If you do not use `fixed` slot then the default sticky content will be the active `cube-sticky-ele`'s content.\n\n- Default usage - Native Scroll\n\n  ```html\n  <cube-sticky :pos=\"scrollY\" :check-top=\"checkTop\">\n    <div class=\"scroll-ele\" @scroll=\"scrollHandler\">\n      <ul>\n        <li>title</li>\n      </ul>\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>111</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>222</li>\n          <li>222</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items2\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>333</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items3\">{{item}}</li>\n      </ul>\n    </div>\n  </cube-sticky>\n  ```\n  ```js\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollY: 0,\n        checkTop: false,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler(e) {\n        this.scrollY = e.currentTarget.scrollTop\n      }\n    }\n  }\n  ```\n  ```stylus\n  .scroll-ele\n    height: 100%\n    overflow: auto\n    -webkit-overflow-scrolling: touch\n    background-color: #fff\n  ```\n\n  `check-top` Prop is used to control the checking of boundary conditions, it's default value is `true`, this means `cube-sticky-ele` element will be sticky when the top of the `cube-sticky-ele` reaches the top of `cube-sticky`. This case the `check-top` is `false` which means `cube-sticky-ele` element will be sticky when the bottom of the `cube-sticky-ele` reaches the top of `cube-sticky`.\n\n- Like WeChat\n\n  ```html\n  <cube-sticky\n    :pos=\"scrollY\"\n    :check-top=\"checkTop\"\n    fixed-show-ani=\"sticky-fixed-show\"\n    @diff-change=\"diffChange\">\n    <cube-scroll\n      :scroll-events=\"scrollEvents\"\n      @scroll=\"scrollHandler\">\n      <img src=\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/6.jpg\">\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>111</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items\" class=\"border-top-1px\">{{item}}</li>\n      </ul>\n      <ul>\n        <li v-for=\"item in items2\" class=\"border-top-1px\">{{item}}</li>\n      </ul>\n      <ul>\n        <li v-for=\"item in items3\" class=\"border-top-1px\">{{item}}</li>\n      </ul>\n    </cube-scroll>\n    <ul class=\"sticky-header\" slot=\"fixed\" ref=\"stickyHeader\">\n      <li>header</li>\n    </ul>\n  </cube-sticky>\n  ```\n  ```js\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        scrollY: 0,\n        checkTop: true,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler({ y }) {\n        this.scrollY = -y\n      },\n      diffChange() {\n        let opacity = 0\n        if (height) {\n          opacity = diff / height\n        }\n        this.$refs.stickyHeader.style.opacity = opacity\n      }\n    }\n  }\n  ```\n  ```stylus\n  .sticky-fixed-show-enter, .sticky-fixed-show-leave-active\n    transform: translate(0, -100%)\n  .sticky-fixed-show-enter-active, .sticky-fixed-show-leave-active\n    transition: all .5s ease-in-out\n  ```\n\n  `fixed-show-ani` is used to set the `transition` name of the sticky element when it's fixed.\n\n  You can get current sticky ele's fixed diff value on `diff-change` event.\n\n### Props\n\n#### CubeSticky\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| pos | required, scroll position | Number | - | - |\n| checkTop | whether to treat the top of sticky element as boundary, if this value is false means `cube-sticky-ele` will be sticky when the bottom of the `cube-sticky-ele` reaches the top of `cube-sticky` | Boolean | true/false | true |\n| fixedShowAni | the `transition` name of the sticky element | String | - | if checkTop is true this value will be '', otherwise this value will be 'cube-sticky-fixed-fade' |\n| offset | offset value, `pos+offset` will be the real pos value | Number | - | 0 |\n\n#### CubeStickyEle\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| eleKey | the key of sticky element | Number/String | - | - |\n\nIf `eleKey` is undefined, CubeSticky will get the index of CubeStickyEle as the element's key.\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| default | default content | - |\n| fixed | custom sticky content when the sticky element is fixed | current: key of the fixed sticky element<br>index: index of the sticky element(index is not reactive) |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 |\n| - | - | - | - |\n| change | triggers when fixed sticky element changed | current - key of the fixed sticky element, if there is no fixed sticky element this value will be '' | index - index of sticky element, if there is no fixed sticky element this value will be -1 (index is not reactive) |\n| diff-change | triggers when sticky element scrolling diff value changed | diff - diff value | height: height of current sticky element |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| refresh | You can call this method when content updated |\n"
  },
  {
    "path": "document/components/docs/en-US/style.md",
    "content": "## style module\n\nThis module contains the common css: built-in icons, reset and base.\n\n### Icon\n\nIf you want to use them, just add the `cubeic-${name}` class: `<i class=\"cubeic-alert\"></i>`.\n\nThere are 65 icons:\n\n| - | - | - | - |\n| :-: | :-: | :-: | :-: |\n| <i class=\"cubeic-eye-invisible\"></i> | <i class=\"cubeic-eye-visible\"></i> | <i class=\"cubeic-person\"></i> | <i class=\"cubeic-select\"></i> |\n| <i class=\"cubeic-pulldown\"></i> | <i class=\"cubeic-pullup\"></i> | <i class=\"cubeic-back\"></i> | <i class=\"cubeic-arrow\"></i> |\n| <i class=\"cubeic-more\"></i> | <i class=\"cubeic-close\"></i> | <i class=\"cubeic-warn\"></i> | <i class=\"cubeic-question\"></i> |\n| <i class=\"cubeic-right\"></i> | <i class=\"cubeic-wrong\"></i> | <i class=\"cubeic-add\"></i> | <i class=\"cubeic-remove\"></i> |\n| <i class=\"cubeic-info\"></i> | <i class=\"cubeic-share\"></i> | <i class=\"cubeic-no-wifi\"></i> | <i class=\"cubeic-wifi\"></i> |\n| <i class=\"cubeic-sad\"></i> | <i class=\"cubeic-smile\"></i> | <i class=\"cubeic-game\"></i> | <i class=\"cubeic-email\"></i> |\n| <i class=\"cubeic-hot\"></i> | <i class=\"cubeic-notification\"></i> | <i class=\"cubeic-delete\"></i> | <i class=\"cubeic-vip\"></i> |\n| <i class=\"cubeic-mute\"></i> | <i class=\"cubeic-volume\"></i> | <i class=\"cubeic-good\"></i> | <i class=\"cubeic-bad\"></i> |\n| <i class=\"cubeic-mobile-phone\"></i> | <i class=\"cubeic-aim\"></i> | <i class=\"cubeic-navigation\"></i> | <i class=\"cubeic-safe-pay\"></i> |\n| <i class=\"cubeic-tag\"></i> | <i class=\"cubeic-lock\"></i> | <i class=\"cubeic-unlock\"></i> | <i class=\"cubeic-edit\"></i> |\n| <i class=\"cubeic-scan\"></i> | <i class=\"cubeic-qr-code\"></i> | <i class=\"cubeic-calendar\"></i> | <i class=\"cubeic-time\"></i> |\n| <i class=\"cubeic-red-packet\"></i> | <i class=\"cubeic-star\"></i> | <i class=\"cubeic-setting\"></i> | <i class=\"cubeic-home\"></i> |\n| <i class=\"cubeic-credit-card\"></i> | <i class=\"cubeic-mall\"></i> | <i class=\"cubeic-microphone\"></i> | <i class=\"cubeic-search\"></i> |\n| <i class=\"cubeic-danger\"></i> | <i class=\"cubeic-alert\"></i> | <i class=\"cubeic-picture\"></i> | <i class=\"cubeic-message\"></i> |\n| <i class=\"cubeic-phone\"></i> | <i class=\"cubeic-location\"></i> | <i class=\"cubeic-like\"></i> | <i class=\"cubeic-camera\"></i> |\n| <i class=\"cubeic-square-right\"></i> | <i class=\"cubeic-square-border\"></i> | <i class=\"cubeic-round-border\"></i> | <i class=\"cubeic-ok\"></i> ||\n| <i class=\"cubeic-important\"></i> |  |  |  |\n\n### reset.css\n\nBased on [Eric Meyer's Reset CSS](http://meyerweb.com/eric/tools/css/reset/) and [modified](https://github.com/didi/cube-ui/blob/master/src/common/stylus/reset.styl).\n\n```stylus\n/**\n * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)\n * http://cssreset.com\n */\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video, input\n  margin: 0\n  padding: 0\n  border: 0\n  font-size: 100%\n  font-weight: normal\n  vertical-align: baseline\n\n/* HTML5 display-role reset for older browsers */\narticle, aside, details, figcaption, figure,\nfooter, header, menu, nav, section\n  display: block\n\nbody\n  line-height: 1\n\nblockquote, q\n  quotes: none\n\nblockquote:before, blockquote:after,\nq:before, q:after\n  content: none\n\ntable\n  border-collapse: collapse\n  border-spacing: 0\n\n/* custom */\n\na\n  color: #7e8c8d\n  -webkit-backface-visibility: hidden\n  text-decoration: none\n\nli\n  list-style: none\n\nbody\n  -webkit-text-size-adjust: none\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)\n```\n\n### base.css\n\nThe [base css](https://github.com/didi/cube-ui/blob/master/src/common/stylus/base.styl) contains the following styles:\n\n```stylus\n@require \"./variable.styl\"\n\nbody, html\n  line-height: 1\n  font-family: 'PingFang SC', 'STHeitiSC-Light', 'Helvetica-Light', arial, sans-serif, 'Droid Sans Fallback'\n  user-select: none\n  -webkit-tap-highlight-color: transparent\n\n.clear-fix\n  &::after\n    content: \"\"\n    display: table\n    clear: both\n\n.border-top-1px, .border-right-1px, .border-bottom-1px, .border-left-1px\n  position: relative\n  &::before, &::after\n    content: \"\"\n    display: block\n    position: absolute\n    transform-origin: 0 0\n\n.border-top-1px\n  &::before\n    border-top: 1px solid $color-row-line\n    left: 0\n    top: 0\n    width: 100%\n    transform-origin: 0 top\n\n.border-right-1px\n  &::after\n    border-right: 1px solid $color-col-line\n    top: 0\n    right: 0\n    height: 100%\n    transform-origin: right 0\n\n.border-bottom-1px\n  &::after\n    border-bottom: 1px solid $color-row-line\n    left: 0\n    bottom: 0\n    width: 100%\n    transform-origin: 0 bottom\n\n.border-left-1px\n  &::before\n    border-left: 1px solid $color-col-line\n    top: 0\n    left: 0\n    height: 100%\n    transform-origin: left 0\n\n@media (min-resolution: 2dppx)\n  .border-top-1px\n    &::before\n      width: 200%\n      transform: scale(.5) translateZ(0)\n  .border-right-1px\n    &::after\n      height: 200%\n      transform: scale(.5) translateZ(0)\n  .border-bottom-1px\n    &::after\n      width: 200%\n      transform: scale(.5) translateZ(0)\n  .border-left-1px\n    &::before\n      height: 200%\n      transform: scale(.5) translateZ(0)\n\n@media (min-resolution: 3dppx)\n  .border-top-1px\n    &::before\n      width: 300%\n      transform: scale(.333) translateZ(0)\n  .border-right-1px\n    &::after\n      height: 300%\n      transform: scale(.333) translateZ(0)\n  .border-bottom-1px\n    &::after\n      width: 300%\n      transform: scale(.333) translateZ(0)\n  .border-left-1px\n    &::before\n      height: 300%\n      transform: scale(.333) translateZ(0)\n```\n"
  },
  {
    "path": "document/components/docs/en-US/swipe.md",
    "content": "## Swipe\n\n> New in 1.5.0+\n\nThe Swipe component, which provides a WeChat list left slip function, makes it easy to do some functional operations on the list items.\n\n### Example\n\n`Swipe` demo code is [here](https://github.com/didi/cube-ui/tree/master/example/pages/swipe)\n\n- Basic Usage\n\n  The common scenario of `Swipe` component is to match `Scroll` components. It can not only scroll vertically, but also slide out some buttons to do list items. Of course, `Swipe` components can also be used separately.\n\n  ```html\n  <template>\n   <div class=\"swipe-wrapper\">\n      <cube-scroll>\n        <cube-swipe\n            @item-click=\"onItemClick\"\n            @btn-click=\"onBtnClick\"\n            :data=\"swipeData\">\n        </cube-swipe>\n      </cube-scroll>\n    </div>\n  </template>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        swipeData: [{\n          item: {\n            text: '测试1',\n            value: 1\n          },\n          btns: [\n            {\n              action: 'clear',\n              text: '不再关注',\n              color: '#c8c7cd'\n            },\n            {\n              action: 'delete',\n              text: '删除',\n              color: '#ff3a32'\n            }\n          ]\n        }, {\n          item: {\n            text: '测试2',\n            value: 2\n          },\n          btns: [\n            {\n              action: 'clear',\n              text: '不再关注',\n              color: '#c8c7cd'\n            },\n            {\n              action: 'delete',\n              text: '删除',\n              color: '#ff3a32'\n            }\n          ]\n        }, {\n          item: {\n            text: '测试3',\n            value: 3\n          },\n          btns: [\n            {\n              action: 'clear',\n              text: '不再关注',\n              color: '#c8c7cd'\n            },\n            {\n              action: 'delete',\n              text: '删除',\n              color: '#ff3a32'\n            }\n          ]\n        }]\n      }\n    },\n    methods: {\n      onItemClick(item) {\n        console.log('click item:', item)\n      },\n      onBtnClick(btn, index) {\n        if (btn.action === 'delete') {\n          this.$createActionSheet({\n            title: '确认要删除吗',\n            active: 0,\n            data: [\n              {content: '删除'}\n            ],\n            onSelect: () => {\n              this.swipeData.splice(index, 1)\n            }\n          }).show()\n        }\n      }\n    }\n  }\n  ```\n  If the `Swipe` component uses a default slot, you need to pass the data structure shown in the example.\n\n- Custom slots\n\n  In fact, our more common requirement is the need for a display of the content of a custom list, so the `Swipe` component also supports the use of slots.\n\n  The default slot can be used with the `cube-swipe-item` component to realize the loop of the list. A custom slot is very flexible, but it also need to manually write some logic, for example if you want to customize the list when deleted animation, need to use `transition-group` to manage each need to manually activate the `swipe-item` contraction, as shown in the example code.\n\n  - 1.11+\n\n    ```html\n    <template>\n      <div class=\"swipe-wrapper\">\n        <cube-scroll>\n          <cube-swipe>\n            <transition-group name=\"swipe\" tag=\"ul\">\n              <li class=\"swipe-item-wrapper\" v-for=\"(data,index) in swipeData\" :key=\"data.item.id\">\n                <cube-swipe-item\n                    ref=\"swipeItem\"\n                    :btns=\"data.btns\"\n                    :index=\"index\"\n                    @btn-click=\"onBtnClick\">\n                  <div @click=\"onItemClick(data.item, index)\" class=\"item-inner\">\n                    <div class=\"icon\">\n                      <img width=\"60\" height=\"60\" :src=\"data.item.imgurl\">\n                    </div>\n                    <div class=\"text\">\n                      <h2 class=\"item-name\" v-html=\"data.item.name\"></h2>\n                      <p class=\"item-desc\" v-html=\"data.item.desc\"></p>\n                    </div>\n                  </div>\n                </cube-swipe-item>\n              </li>\n            </transition-group>\n          </cube-swipe>\n        </cube-scroll>\n      </div>\n    </template>\n    ```\n\n    ```js\n    export default {\n      data() {\n        return {\n          swipeData: [\n            {\n              item: {\n                id: '3646653877',\n                name: '还不是因为你长得不好看',\n                desc: '伤感：歌词再狠，也抵不过现实伤人',\n                imgurl: 'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '1789676645',\n                name: '秋水浮萍任飘渺',\n                desc: '『武侠配乐』快意恩仇江湖情',\n                imgurl: 'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '3649034125',\n                name: '念葳蕊',\n                desc: '江海迦：热恋后哼一首歌为自己悲悯的歌',\n                imgurl: 'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n          ]\n        }\n      },\n      methods: {\n        onItemClick(item) {\n          console.log('click item:', item)\n        },\n        onBtnClick(btn, index) {\n          if (btn.action === 'delete') {\n            this.$createActionSheet({\n              title: '确认要删除吗',\n              active: 0,\n              data: [\n                {content: '删除'}\n              ],\n              onSelect: () => {\n                this.swipeData.splice(index, 1)\n              }\n            }).show()\n          } else {\n            this.$refs.swipeItem[index].shrink()\n          }\n        }\n      }\n    }\n    ```\n\n  - Before 1.11\n\n    You need to handle CubeSwipeItem `active` event `onItemActive`:\n\n    ```html\n    <template>\n      <div class=\"swipe-wrapper\">\n        <cube-scroll>\n          <cube-swipe>\n            <transition-group name=\"swipe\" tag=\"ul\">\n              <li class=\"swipe-item-wrapper\" v-for=\"(data,index) in swipeData\" :key=\"data.item.id\">\n                <cube-swipe-item\n                    ref=\"swipeItem\"\n                    :btns=\"data.btns\"\n                    :index=\"index\"\n                    @btn-click=\"onBtnClick\"\n                    @active=\"onItemActive\">\n                  <div @click=\"onItemClick(data.item, index)\" class=\"item-inner\">\n                    <div class=\"icon\">\n                      <img width=\"60\" height=\"60\" :src=\"data.item.imgurl\">\n                    </div>\n                    <div class=\"text\">\n                      <h2 class=\"item-name\" v-html=\"data.item.name\"></h2>\n                      <p class=\"item-desc\" v-html=\"data.item.desc\"></p>\n                    </div>\n                  </div>\n                </cube-swipe-item>\n              </li>\n            </transition-group>\n          </cube-swipe>\n        </cube-scroll>\n      </div>\n    </template>\n    ```\n\n    ```js\n    export default {\n      data() {\n        return {\n          swipeData: [\n            {\n              item: {\n                id: '3646653877',\n                name: '还不是因为你长得不好看',\n                desc: '伤感：歌词再狠，也抵不过现实伤人',\n                imgurl: 'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '1789676645',\n                name: '秋水浮萍任飘渺',\n                desc: '『武侠配乐』快意恩仇江湖情',\n                imgurl: 'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '3649034125',\n                name: '念葳蕊',\n                desc: '江海迦：热恋后哼一首歌为自己悲悯的歌',\n                imgurl: 'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n          ]\n        }\n      },\n      created() {\n        this.activeIndex = -1\n      },\n      methods: {\n        onItemClick(item) {\n          console.log('click item:', item)\n        },\n        onBtnClick(btn, index) {\n          if (btn.action === 'delete') {\n            this.$createActionSheet({\n              title: '确认要删除吗',\n              active: 0,\n              data: [\n                {content: '删除'}\n              ],\n              onSelect: () => {\n                this.swipeData.splice(index, 1)\n              }\n            }).show()\n          } else {\n            this.$refs.swipeItem[index].shrink()\n          }\n        },\n        onItemActive(index) {\n          if (index === this.activeIndex) {\n            return\n          }\n          if (this.activeIndex !== -1) {\n            const activeItem = this.$refs.swipeItem[this.activeIndex]\n            activeItem.shrink()\n          }\n          this.activeIndex = index\n        }\n      }\n    }\n    ```\n\n### Props configuration\n\n- `cube-swipe` configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| data | For `swipe` list rendered data, when you need to use the built-in default slot, this parameter will be passed. Every item in the array is an Object type, including `item` and `btns`. These two parameters are described in `cube-swipe-item`. If a custom slot is used, this value may not be passed.  | Array | - | [] |\n| autoShrink | Decide whether to automatically shrink the slider when the button is clicked, If you use a custom slot, you can pass this value directly to the `cube-swipe-item`. | Boolean | - | false |\n\n- `cube-swipe-item` 配置\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| item | Data for `swipe-item` list item rendering, when you need to use the built-in default slot, this parameter must be transmitted, and there are 2 fields, `value` and `text`, representing the value of the data item and the displayed copy respectively, but if you use custom slot, you can not pass this value. | Object | - | {} |\n| btns | For `swipe-item` list item rendering button array, each item of the array is a Object type. It contains at least 2 fields, `text` and `color`, which represent the copy and color of the button respectively. | Array | - | [] |\n| index | The index value of the current `swpie-item` in the entire list, must be passed. | Number | - | -1\n| autoShrink | Decide whether to automatically shrink the slider when the button is clicked. | Boolean | - | false\n\n### Events\n\n- `cube-swipe` event\n\nWhen you use a custom slot, you can listen directly to the events on the `cube-swipe-item`.\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| item-click | Triggered when the list item is clicked | Clicked list item | The Index of the clicked list item in the list | - |\n| btn-click | Triggered when the button is clicked | Clicked button | The index of the clicked button in the list | the list item<sup>1.9.7</sup> |\n\n- `cube-swipe-item` event\n\n| Event Name | Description | Parameters 1 | Parameters 2 |\n| - | - | - | - |\n| item-click | Triggered when the list item is clicked | Clicked list item | The Index of the clicked list item |\n| btn-click | Triggered when the button is clicked | Clicked button | The index of the clicked button in the list |\n| active | Triggered when you start sliding one of the list item | The index of the activation item in the list | - |\n\n### Instance methods\n\n- `cube-swipe-item` instance methods\n\n| Method name | Description |\n| - | - |\n| shrink | Shrink the swipe item |\n\n"
  },
  {
    "path": "document/components/docs/en-US/switch.md",
    "content": "## Switch\n\n> New in 1.4.0+\n\nSwitch usually used to switch the state of on/off.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-switch v-model=\"value\">\n    Switch\n  </cube-switch>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        value: true\n      }\n    }\n  }\n  ```\n\n  `value: true` correspond to the state of on， `value: false` correspond to the state of off.\n\n- Disabled state\n\n  ```html\n  <cube-switch v-model=\"value\" :disabled=\"true\">\n    Disbled Switch\n  </cube-switch>\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| v-model | the state of on/off, two-way data binding | Boolean | true/false | false |\n| disabled | whether disabled | Boolean | true/false | false |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| input | triggers when the binding value changes | the updated value |\n"
  },
  {
    "path": "document/components/docs/en-US/tab-bar.md",
    "content": "## TabBar\n\n> New in 1.10.0+\n\nImplementing the function of tab switching.\n\n### Example\n\nThe following demo code is [here](https://github.com/didi/cube-ui/tree/master/example/pages/tab-bar).\n\n### CubeTabBar\n\n`cube-tab-bar` supports click highlighting, underscore follow-up effects, and custom slots for icon-label-like app-navigation styles.\n\n- Basic usage\n\n  You can initialize `cube-tab-bar` by passing in the data structure of `tabs` as follows. You must use the `v-model` directive to select the corresponding tab. The value of the v-model argument must correspond to the `label`(after 1.12.5, use `value`) attribute of a tab in `cube-tab-bar`. The icon attribute is used as a class selector, which is generally used with icon-font class. It will dispatch `click` and `change` event at the proper time. The parameter is the `label`(after 1.12.5, is `value`) value corresponding to each selected tab.\n\n  ```html\n  <template>\n    <cube-tab-bar\n      v-model=\"selectedLabelDefault\"\n      :data=\"tabs\"\n      @click=\"clickHandler\"\n      @change=\"changeHandler\">\n    </cube-tab-bar>\n  </template>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        selectedLabelDefault: 'Vip',\n        tabs: [{\n          label: 'Home'\n        }, {\n          label: 'Like'\n        }, {\n          label: 'Vip'\n        }, {\n          label: 'Me'\n        }]\n      }\n    },\n    methods: {\n      clickHandler (label) {\n        // if you clicked home tab, then print 'Home'\n        console.log(label)\n      },\n      changeHandler (label) {\n        // if you clicked different tab, this methods can be emitted\n      }\n    }\n  }\n  ```\n\n- Custom slot\n\n  In fact, we always want to display icons and text effects which looks like app navigation styles, so the `cube-tab-bar` component also supports the use of slot. Note that you must use the `cube-tab` component as a sub-component of the first level to wrap your custom slot.\n\n  ```html\n  <template>\n    <cube-tab-bar\n      v-model=\"selectedLabelSlots\"\n      show-slider\n      inline\n      @click=\"clickHandler\">\n      <cube-tab v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n        <!-- icon slot -->\n        <i slot=\"icon\" :class=\"item.icon\"></i>\n        <!-- default slot -->\n        {{item.label}}\n      </cube-tab>\n    </cube-tab-bar>\n  </template>\n  ```\n\n  ```js\n  export default {\n    data () {\n      return {\n        selectedLabelSlots: 'Like',\n        tabs: [{\n          label: 'Home',\n          icon: 'cubeic-home'\n        }, {\n          label: 'Like',\n          icon: 'cubeic-like'\n        }, {\n          label: 'Vip',\n          icon: 'cubeic-vip'\n        }, {\n          label: 'Me',\n          icon: 'cubeic-person'\n        }]\n      }\n    },\n    methods: {\n      clickHandler (label) {\n        // if you clicked home tab, then print 'Home'\n        console.log(label)\n      }\n    }\n  }\n  ```\n  At the same time, `cube-tab-bar` also supports other configurations, `showSlider` controls whether to turn on the effect of underscore, `inline` to determine whether the icon and label are in a line, `useTransition` controls whether the underscore use transition, as shown in the sample code.\n\n### CubeTabBar & CubeTabPanels\n\nUsually, our requirement is to display different panel as tabs are switched, so we need to use the `cube-tab-panels` component. `cube-tab-panels` must be nested with `cube-tab-panel`. The `label`(after 1.12.5, use `value`) values passed to `cube-tab` and `cube-tab-panel` must be the same, because it is necessary to create the relationship between tab with panel. They are linked by the same `v-model`.To see the effect, click on the `tab-basic` demo on the right.\n\n```html\n<template>\n  <cube-tab-bar v-model=\"selectedLabel\" show-slider>\n    <cube-tab v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n      <i slot=\"icon\" :icon=\"item.icon\"></i>\n      {{item.label}}\n    </cube-tab>\n  </cube-tab-bar>\n  <cube-tab-panels v-model=\"selectedLabel\">\n    <cube-tab-panel v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n      <ul>\n        <li class=\"tab-panel-li\" v-for=\"(hero, index) in item.heroes\" :key=\"index\">\n          {{hero}}\n        </li>\n      </ul>\n    </cube-tab-panel>\n  </cube-tab-panels>\n</template>\n```\n\n```js\nexport default {\n  data() {\n    return {\n      selectedLabel: '天辉',\n      tabs: [{\n        label: '天辉',\n        icon: 'cubeic-like',\n        heroes: ['敌法师', '卓尔游侠', '主宰', '米拉娜', '变体精灵', '幻影长矛手', '复仇之魂', '力丸', '矮人狙击手', '圣堂刺客', '露娜', '赏金猎人', '熊战士']\n      }, {\n        label: '夜魇',\n        icon: 'cubeic-star',\n        heroes: ['血魔', '影魔', '剃刀', '剧毒术士', '虚空假面', '幻影刺客', '冥界亚龙', '克林克兹', '育母蜘蛛', '编织者', '幽鬼', '司夜刺客', '米波']\n      }]\n    }\n  }\n}\n```\n\nIn fact, `cube-tab-bar` can be combined with many other cube-ui's components (such as: `cube-scroll`, `cube-slide`) to make a similar effect to the layout of native apps. Click on the `ScrollTab Demo` and `tab-composite` example on the right to see the effect.\n\n### Props\n\n- CubeTabBar\n\n  | Attribute | Description | Type | Demo | Default |\n  | - | - | - | - | - |\n  | value | Use v-model to select the corresponding tab when initializing. | String/Number | - | - |\n  | data | For data rendered with `cube-tab-bar`, when using the built-in default slot, this parameter must be passed. Each item of the array is an Object type, including `label`, `icon` and `value`<sup>1.12.5+</sup>.  If a custom slot is used, this value may not be passed | Array | [{label: 1, value: 1, icon: 'cubeic-like'}, {label: 2, value: 2, icon: 'cubeic-like'}] | [] |\n  | showSlider | Whether to turn on the underscore follow effect | Boolean | true/false | false |\n  | inline | Whether text and icons are displayed on one line | Boolean | true/false | false |\n  | useTransition | Whether to use transition | Boolean | true/false | true |\n\n- CubeTab\n\n  | Attribute | Description | Type | Needed | Default |\n  | - | - | - | - | - |\n  | label | Use it to determine which tab is clicked before 1.12.5, after 1.12.5 just use to display text by default | String/Number | yes | - |\n  | value | Use it to determine which tab is clicked<sup>1.12.5+</sup> | String/Number | no | `label` value |\n\n- CubeTabPanels\n\n  | Attribute | Description | Type | Demo | Default |\n  | - | - | - | - | - |\n  | value | Use v-model to display the corresponding panels at initialization | String/Number | - | - |\n  | data | For data rendered with `cube-tab-panels`, when using the built-in default slot, this parameter must be passed. Each item of the array is an Object type, including `label` and `value`<sup>1.12.5+</sup>.  If a custom slot is used, this value may not be passed | Array | [{label: 1, value: 1}, {label: 2, value: 2}] | [] |\n\n- CubeTabPanel\n\n  | Attribute | Description | Type | Needed | Default |\n  | - | - | - | - | - |\n  | label | determine that the panels is displayed | String/Number | yes | - |\n  | value | the key of panel, use it to determined selected value<sup>1.12.5+</sup> | String/Number | no | `label` value |\n\n### Slot\n\n- CubeTab\n\n  | Attribute | Description |\n  | - | - |\n  | default | `cube-tab`'s text |\n  | icon | Generally used to display icon |\n\n### Events\n\n- CubeTabBar\n\n  | Event Name | Description | parameter |\n  | - | - | - | - |\n  | click | Dispatched when the tab is clicked | The `label`/`value`<sup>1.12.5+</sup> value of the tab which is selected |\n  | change | Dispatched when tab changed | The `label`/`value`<sup>1.12.5+</sup> value of the tab which is selected |\n\n### Instance methods\n\n- CubeTabBar\n\n  This method works when the instance's `showSlider` property is set to true.\n\n  | Method name | Description | Parameter Type |\n  | - | - | - |\n  | setSliderTransform | Change the underscore's transformX of the `cube-tab-bar` component. If you pass Number, it will be converted into a pixel, or you can pass a String with units | Number/String |\n\n"
  },
  {
    "path": "document/components/docs/en-US/textarea.md",
    "content": "## Textarea\n\n> New in 1.5.0+\n\nMulti-line input box components. You can use the `v-model` directive to create two-way data bindings. The component expands or fold according to whether there is content, whether it is focused.\n\n### Example\n\n- Basic usage\n\n  You can use the `v-model` directive to create two-way data bindings.\n\n  ```html\n  <cube-textarea v-model=\"value\" ></cube-textarea>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: ''\n      }\n    }\n  }\n  ```\n\n\n- Config indicator\n\n  ```html\n  <cube-textarea v-model=\"value\" indicator=\"indicator\"></cube-textarea>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        indicator: {\n          negative: true,\n          remain: true\n        }\n      }\n    }\n  }\n  ```\n\n  If `indicator` is `false` then the indicator element will not be visible.\n\n  If `indicator` is `true`, the config equals `{remain: true, negative: true}`.\n\n  If `indicator` is an object, you can use `remain` and `negative` to control whether show the remaining count(if `remain` is `false` means show the textarea value length) and whether allow remaining number is negative.\n  \n  Starting from version 1.12.53, named scoped slot `indicator` is supported for custom count indicators. It provides the remaining characters `remain` and the current input count `count`:\n\n  ```html\n  <cube-textarea\n    v-model=\"text\"\n    placeholder=\"请您至少输入8个字（必填）\"\n    :maxlength=\"300\"\n    :auto-expand=\"true\"\n  >\n    <span slot=\"indicator\" slot-scope=\"{ remain }\" class=\"cube-textarea-indicator\">{{remain}}/300</span>\n    <!-- 或者 vue2.6以上 -->\n    <!-- <template #indicator=\"childValue\">\n      <span class=\"cube-textarea-indicator\">{{childValue.remain}}/300</span>\n    </template> -->\n  </cube-textarea>\n  ```\n\n- Multiple configurations\n\n  Support the native attributes of the textarea element.\n\n  ```html\n  <cube-textarea\n    v-model=\"value\"\n    :placeholder=\"placeholder\"\n    :maxlength=\"maxlength\"\n    :readonly=\"readonly\"\n    :disabled=\"disabled\"\n    :autofocus=\"autofocus\"\n  ></cube-textarea>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: '',\n        placeholder: 'please type here',\n        readonly: true,\n        maxlength: 100,\n        disabled: true,\n        autofocus: true\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| v-model | bound value | String | - | empty |\n| disabled | disabled status | Boolean | true/false | false |\n| readonly | readonly status | Boolean | true/false | false |\n| maxlength | maxlength of input | Number | - | 60 |\n| placeholder | placeholder of input | String | - | empty |\n| autofocus | autofocus status | Boolean | true/false | false |\n| indicator<sup>1.10.0</sup> | indicator config | Boolean/Object | true/false/{} | true |\n| autoExpand<sup>1.12.0</sup> | If `autoExpand` is true and have initial value, the textarea will be auto expanded | Boolean | true/false | false |\n| forceExpand<sup>1.12.53</sup> | If `forceExpand` is true, the textarea will remain expanded at all times. | Boolean | true/false | false |\n\n- indicator sub configuration\n\n  If `indicator` is `false` then the indicator element will not be visible.\n\n  If `indicator` is `true`, the config equals `{remain: true, negative: true}`.\n\n  If `indicator` is an object:\n\n  | Attribute | Description | Type | Accepted Values | Default |\n  | - | - | - | - | - |\n  | remain | whether show the remaining count, if this value is `false` means show the textarea value length | Boolean | true/false | true |\n  | negative | avaliable when `remain` is true, this value control whether allow remaining number is negative | Boolean | true/false | true |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| focus | This event is triggered after the textarea box is focused. If Textarea is disabled, it will not be triggered | e - event |\n| blur | This event is triggered after the textarea box blur | e - event |\n| input | The event is triggered when the binding value changes | The updated value |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| focus<sup>1.12.10+</sup> | Focus element |\n| blur<sup>1.12.10+</sup> | Blur element |\n\n"
  },
  {
    "path": "document/components/docs/en-US/theme.md",
    "content": "## Theme\n\nYou can choose to modify all or only some of the theme variables from `cube-ui^1.0.2`(also need webpack).\n\n**Notice:** Customizing theme depend on [post-compile](#/en-US/docs/post-compile).\n\n### Theme file\n\nYou can create a `theme.styl` file in your application's `src/` directory. The theme file's content that looks like this (these variables are cube-ui's default value):\n\n```styl\n// you want to use cube-ui variables, just require it\n@require \"~cube-ui/src/common/stylus/var/color.styl\"\n\n// action-sheet\n$action-sheet-color := $color-grey\n$action-sheet-active-color := $color-orange\n$action-sheet-bgc := $color-white\n$action-sheet-active-bgc := $color-light-grey-opacity\n$action-sheet-title-color := $color-dark-grey\n$action-sheet-space-bgc := $color-mask-bg\n/// picker style\n$action-sheet-picker-cancel-color := $color-light-grey\n$action-sheet-picker-cancel-active-color := $color-light-grey-s\n\n// bubble\n\n// button\n$btn-color := $color-white\n$btn-bgc := $color-regular-blue\n$btn-active-bgc := $color-blue\n/// primary\n$btn-primary-color := $color-white\n$btn-primary-bgc := $color-orange\n$btn-primary-active-bgc := $color-dark-orange\n/// light\n$btn-light-color := $color-grey\n$btn-light-bgc := $color-light-grey-sss\n$btn-light-active-bgc := $color-active-grey\n/// outline\n$btn-outline-color := $color-grey\n$btn-outline-bgc := transparent\n$btn-outline-bdc := $color-grey\n$btn-outline-active-bgc := $color-grey-opacity\n$btn-outline-active-bdc := $color-grey\n/// outline-primary\n$btn-outline-primary-color := $color-orange\n$btn-outline-primary-bgc := transparent\n$btn-outline-primary-bdc := $color-orange\n$btn-outline-primary-active-bgc := $color-orange-opacity\n$btn-outline-primary-active-bdc := $color-dark-orange\n/// disabled\n$btn-disabled-color := $color-white\n$btn-disabled-bgc := $color-light-grey-s\n$btn-disabled-bdc := $color-light-grey-s\n\n// toolbar\n$toolbar-bgc := $color-light-grey-sss\n$toolbar-active-bgc := $color-active-grey\n\n// checkbox\n$checkbox-color := $color-grey\n$checkbox-icon-color := $color-light-grey-s\n/// checked\n$checkbox-checked-icon-color := $color-orange\n$checkbox-checked-icon-bgc := $color-white\n/// disabled\n$checkbox-disabled-icon-color := $color-light-grey-ss\n$checkbox-disabled-icon-bgc := $color-light-grey-ss\n// checkbox hollow\n$checkbox-hollow-checked-icon-color := $color-orange\n$checkbox-hollow-disabled-icon-color := $color-light-grey-ss\n// checkbox-group\n$checkbox-group-bgc := $color-white\n$checkbox-group-horizontal-bdc := $color-light-grey-s\n\n// radio\n$radio-group-bgc := $color-white\n$radio-group-horizontal-bdc := $color-light-grey-s\n$radio-color := $color-grey\n$radio-icon-color := $color-light-grey-s\n/// selected\n$radio-selected-icon-color := $color-white\n$radio-selected-icon-bgc := $color-orange\n/// disabled\n$radio-disabled-icon-bgc := $color-light-grey-ss\n// radio hollow\n$radio-hollow-selected-icon-color := $color-orange\n$radio-hollow-disabled-icon-color := $color-light-grey-ss\n\n//checker\n$checker-item-color := $color-grey\n$checker-item-bdc := $color-light-grey-sss\n$checker-item-bgc := $color-white\n$checker-item-active-color := $color-orange\n$checker-item-active-bdc := $color-orange\n$checker-item-active-bgc := $color-light-orange-opacity\n$checker-item-disabled-color := $color-light-grey-s\n$checker-item-disabled-bdc := $color-light-grey-s\n$checker-item-disabled-bgc := $color-light-grey-ss\n\n// dialog\n$dialog-color := $color-grey\n$dialog-bgc := $color-white\n$dialog-icon-color := $color-regular-blue\n$dialog-icon-bgc := $color-background\n$dialog-title-color := $color-dark-grey\n$dialog-close-color := $color-light-grey\n$dialog-btn-color := $color-light-grey\n$dialog-btn-bgc := $color-white\n$dialog-btn-active-bgc := $color-light-grey-opacity\n$dialog-btn-highlight-color := $color-orange\n$dialog-btn-highlight-active-bgc := $color-light-orange-opacity\n$dialog-btn-disabled-color := $color-light-grey\n$dialog-btn-disabled-active-bgc := transparent\n$dialog-btns-split-color := $color-row-line\n\n// index-list\n$index-list-bgc := $color-white\n$index-list-title-color := $color-dark-grey\n$index-list-anchor-color := $color-light-grey\n$index-list-anchor-bgc := #f7f7f7\n$index-list-item-color := $color-dark-grey\n$index-list-item-active-bgc := $color-light-grey-opacity\n$index-list-nav-color := $color-grey\n$index-list-nav-active-color := $color-orange\n\n// loading\n\n// picker\n$picker-bgc := $color-white\n$picker-title-color := $color-dark-grey\n$picker-subtitle-color := $color-light-grey\n$picker-confirm-btn-color := $color-orange\n$picker-confirm-btn-active-color := $color-light-orange\n$picker-cancel-btn-color := $color-light-grey\n$picker-cancel-btn-active-color := $color-light-grey-s\n$picker-item-color := $color-dark-grey\n\n// popup\n$popup-mask-bgc := rgb(37, 38, 45)\n$popup-mask-opacity := .4\n\n//scroll\n\n// slide\n$slide-dot-bgc := $color-light-grey-s\n$slide-dot-active-bgc := $color-orange\n\n// time-picker\n\n// tip\n$tip-color := $color-white\n$tip-bgc := $color-dark-grey-opacity\n\n// toast\n$toast-color := $color-light-grey-s\n$toast-bgc := rgba(37, 38, 45, 0.9)\n\n// upload\n$upload-btn-color := $color-grey\n$upload-btn-bgc := $color-white\n$upload-btn-active-bgc := $color-light-grey-opacity\n$upload-btn-box-shadow := 0 0 6px 2px $color-grey-opacity\n$upload-btn-border-color := #e5e5e5\n$upload-file-bgc := $color-white\n$upload-file-remove-color := rgba(0, 0, 0, .8)\n$upload-file-remove-bgc := $color-white\n$upload-file-state-bgc := $color-mask-bg\n$upload-file-success-color := $color-orange\n$upload-file-error-color := #f43530\n$upload-file-status-bgc := $color-white\n$upload-file-progress-color := $color-white\n\n// switch\n$switch-on-bgc := $color-orange\n$switch-off-bgc := $color-white\n$switch-off-border-color := #e4e4e4\n\n// input\n$input-color := $color-grey\n$input-bgc := $color-white\n$input-border-color := $color-row-line\n$input-focus-border-color := $color-orange\n$input-placeholder-color := $color-light-grey-s\n$input-clear-icon-color := $color-light-grey\n\n//textarea\n$textarea-color := $color-grey\n$textarea-bgc := $color-white\n$textarea-border-color := $color-row-line\n$textarea-focus-border-color := $color-orange\n$textarea-outline-color := $color-orange\n$textarea-placeholder-color := $color-light-grey-s\n$textarea-indicator-color := $color-light-grey-s\n\n// validator\n$validator-msg-def-color := #e64340\n\n// select\n$select-color := $color-grey\n$select-bgc := $color-white\n$select-disabled-color := #b8b8b8\n$select-disabled-bgc := $color-light-grey-opacity\n$select-border-color := $color-light-grey-s\n$select-border-active-color := $color-orange\n$select-icon-color := $color-light-grey\n$select-placeholder-color := $color-light-grey-s\n\n// swipe\n$swipe-btn-color := $color-white\n\n// form\n$form-color := $color-grey\n$form-bgc := $color-white\n$form-invalid-color := #e64340\n$form-group-legend-color := $color-light-grey\n$form-group-legend-bgc := $color-background\n$form-label-required-color := #e64340\n\n// drawer\n$drawer-color := $color-dark-grey\n$drawer-title-bdc := $color-light-grey-ss\n$drawer-title-bgc := $color-white\n$drawer-panel-bgc := $color-white\n$drawer-item-active-bgc := $color-light-grey-opacity\n\n// scroll-nav\n$scroll-nav-bgc := $color-white\n$scroll-nav-color := $color-grey\n$scroll-nav-active-color := $color-orange\n\n// image-preview\n$image-preview-counter-color := $color-white\n\n// tab-bar & tab-panel\n$tab-color := $color-grey\n$tab-active-color := $color-dark-orange\n$tab-slider-bgc := $color-dark-orange\n```\n\n### webpack config\n\nIf your project is created by vue-cli, then you can modify the `exports.cssLoaders` function in `build/utils.js` to this:\n\n```js\nexports.cssLoaders = function (options) {\n  options = options || {}\n\n  const cssLoader = {\n    loader: 'css-loader',\n    options: {\n      minimize: process.env.NODE_ENV === 'production',\n      sourceMap: options.sourceMap\n    }\n  }\n\n  var postcssLoader = {\n    loader: 'postcss-loader',\n    options: {\n      sourceMap: options.sourceMap\n    }\n  }\n\n  // generate loader string to be used with extract text plugin\n  function generateLoaders (loader, loaderOptions) {\n    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]\n    if (loader) {\n      loaders.push({\n        loader: loader + '-loader',\n        options: Object.assign({}, loaderOptions, {\n          sourceMap: options.sourceMap\n        })\n      })\n    }\n\n    // Extract CSS when that option is specified\n    // (which is the case during production build)\n    if (options.extract) {\n      return ExtractTextPlugin.extract({\n        use: loaders,\n        fallback: 'vue-style-loader'\n      })\n    } else {\n      return ['vue-style-loader'].concat(loaders)\n    }\n  }\n\n  const stylusOptions = {\n    'resolve url': true,\n    // !! add import option, include the theme file\n    import: [path.resolve(__dirname, '../src/theme')]\n  }\n\n  // https://vue-loader.vuejs.org/en/configurations/extract-css.html\n  return {\n    css: generateLoaders(),\n    postcss: generateLoaders(),\n    less: generateLoaders('less'),\n    sass: generateLoaders('sass', { indentedSyntax: true }),\n    scss: generateLoaders('sass'),\n    stylus: generateLoaders('stylus',stylusOptions),\n    styl: generateLoaders('stylus',stylusOptions)\n  }\n}\n```\n\n### Result\n\nIn this way you can use cube-ui with your own theme. You do not need to override the cube-ui style because you can just override the theme variables.\n"
  },
  {
    "path": "document/components/docs/en-US/time-picker.md",
    "content": "## TimePicker\n\n`TimePicker` component provides commonly used functions of date selection.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-button @click=\"showTimePicker\">TimePicker</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showTimePicker () {\n        this.$createTimePicker({\n          showNow: true,\n          minuteStep: 5,\n          delay: 15,\n          onSelect: (selectedTime, selectedText, formatedTime) => {\n            this.$createDialog({\n              type: 'warn',\n              title: `selected time: ${selectedTime}`,\n              content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n              icon: 'cubeic-alert'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Clicked cancel button',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `showNow` is uesed to control whether the time \"now\" is displayed. `minuteStep` is used to control the step of the minute. `delay` represents the time that postponed backwards from now, which determines the minimal optional time.\n\n- Configuration of date options\n\n  ```html\n  <cube-button @click=\"showTimePicker\">TimePicker - day options</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showTimePicker () {\n        this.$createTimePicker({\n          showNow: true,\n          minuteStep: 10,\n          delay: 10,\n          day: {\n            len: 5,\n            filter: ['Today', 'Tomorrow'],\n            format: 'M year d day'\n          },\n          onSelect: (selectedTime, selectedText, formatedTime) => {\n            this.$createDialog({\n              type: 'warn',\n              title: `selected time: ${selectedTime}`,\n              content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n              icon: 'cubeic-alert'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Clicked cancel button',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `len` attribute in `day` can set the length of date displayed in the first column.\n\n  `filter` attribute can set the text of the date displayed in the first column.\n\n  `format` attribute can set the text in `M year d day` format when the `len` is greater than the length of `filter` array.\n\n- Format<sup>1.10.0+</sup>\n\n  You can use property `format` to configure the format of `formatedTime`, an argument of event `select`.\n\n  ```html\n  <cube-button @click=\"showFormatPicker\">Config format</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showFormatPicker() {\n        if (!this.formatPicker) {\n          this.formatPicker = this.$createTimePicker({\n            format: 'hh:mm',\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.formatPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Min <sup>1.12.6</sup>\n\n  You could use the property `min` to set the min optional time. It could accept a date (Date type) or a timestamp (Number type).\n\n  ```html\n  <cube-button @click=\"showMinPicker\">Config min</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showMinPicker() {\n        if (!this.minPicker) {\n          this.minPicker = this.$createTimePicker({\n            min: +new Date() - (2 * 60 + 20) * 60 * 1000,\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.minPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Max <sup>1.12.6</sup>\n\n  You could use the property `max` to set the max optional time. It could accept a date (Date type) or a timestamp (Number type).\n\n  ```html\n  <cube-button @click=\"showMaxPicker\">Config max</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showMaxPicker() {\n        if (!this.maxPicker) {\n          this.maxPicker = this.$createTimePicker({\n            delay: 0,\n            max: +new Date() + ((2 * 24 + 2) * 60 + 20) * 60 * 1000,\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.maxPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- Set time manually\n\n  ```html\n  <cube-button @click=\"showTimePicker\">TimePicker - setTime(next hour)</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      const time = new Date().valueOf() + 1 * 60 * 60 * 1000\n      showTimePicker () {\n        const timePicker = this.$createTimePicker({\n          showNow: true,\n          minuteStep: 10,\n          delay: 15,\n          day: {\n            len: 5,\n            filter: ['Today', 'Tomorrow', 'The day after tomorrow'],\n            format: 'M year D day'\n          },\n          onSelect: (selectedTime, selectedText, formatedTime) => {\n            this.$createDialog({\n              type: 'warn',\n              title: `selected time: ${selectedTime}`,\n              content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n              icon: 'cubeic-alert'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Clicked cancel button',\n              time: 1000\n            }).show()\n          }\n        })\n\n        timePicker.setTime(time)\n        timePicker.show()\n      }\n    }\n  }\n  ```\n\n  `timePicker` instance exports `setTime` methos to set time manually with the time stamp as time format. When the time stamp is lower than current time stamp, `timePicker` displays current time by default.\n\n\n### Props configuration\n\n| Attribute | Description | Type | Default |\n| - | - | - | - |\n| day | date configuration | Object | { len: 3, filter: ['今日'], format: 'M月D日' } |\n| showNow | whether to display now; configure the text of option now<sup>1.9.0</sup> | Boolean, Object<sup>1.9.0</sup> | true |\n| minuteStep | step of the minute | Number | 10 |\n| delay | minutes that postponed backwards from now, which determines the minimal optional time (only effect without setting `min`)| Number | 15 |\n| min<sup>1.12.6</sup> | the min optional time | Date, Number | null |\n| max<sup>1.12.6</sup> | the max optional time | Date, Number | null |\n| title | title | String | '选择时间' |\n| subtitle<sup>1.8.1</sup> | subtitle | String | '' |\n| cancelTxt<sup>1.8.1</sup> | the text of the cancel button | String | '取消' |\n| confirmTxt<sup>1.8.1</sup> | the text of the confirm button | String | '确定' |\n| swipeTime | the duration of the momentum animation when user flicks the wheel of the picker, Unit: ms | Number | 2500 |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true |\n| format<sup>1.10.0</sup> | the format of formatedTime the third argument of select event | String | 'YYYY/M/D hh:mm' |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | 100 |\n\n* `day` sub configuration\n\n| Attribute | Description | Type | Default |\n| - | - | - | - |\n| len | date column, postpone `len` days backwards from now (only effect without setting `max`) | Number | 3 |\n| filter | date column, map time to the text in filter | Array | ['今日'] |\n| format | format time | String | 'M月D日' |\n\n* `showNow` sub configuration\n\n| Attribute | Description | Type | Default |\n| - | - | - | - |\n| text<sup>1.9.0</sup> | the text of option now | String | '现在' |\n\n### Events\n\n| Event Name | Description | Parameters 1 | Parameters 2 | Parameters 3 |\n| - | - | - | - | - |\n| select | triggers when clicking the confirm button | selectedTime: currently selected timestamp | selectText: text of currently selected time | formatedTime<sup>1.10.0</sup> |\n| change | triggers when the roller scrolls | index: Number, index of current scrolling roller | selectedIndex: Number, index of selected item in current column | - |\n| cancel | triggers when clicking the cancel button | - | - | - |\n\n### Instance methods\n\n| Method name | Description | Parameters |\n| - | - | - |\n| setTime | manually set time displayed in time-picker with with the time stamp as time format | time stamp |\n| show | show | - |\n| hide | hide | - |\n"
  },
  {
    "path": "document/components/docs/en-US/tip.md",
    "content": "## Tip\n\n`Tip`, used to popup tip bubble box.\n\n### Example\n\n- Basic usage\n\n  By adding `ref` to `Tip`, you can get the reference to the component and invoke `show` or `hide` methods which are exposed by `Tip` to control the show or hide state of the component.\n\n  ```html\n  <div class=\"tip\" @click=\"showTip\">\n    <cube-tip ref=\"tip\"></cube-tip>\n  </div>\n  ```\n  ```javascript\n  export default {\n    methods: {\n      showTip () {\n        this.$refs.tip.show()\n      }\n    }\n  }\n  ```\n\n- The position of the small triangle and the bubble box\n\n  You can configure the direction of the small triangle by `direction` and configure the position of the bubble box by `style`. Normally, the direction of the small triangle is opposite to the position of the bubble box.\n\n  ```html\n  <p class=\"tip-eg\">\n    <span>CubeUI</span>\n    <cube-tip\n        ref=\"tip\"\n        :direction=\"direction\"\n        :style=\"tipStyle\"\n        @close=\"close\"\n        @click=\"clickHandler\">\n      <div>Awesome!</div>\n    </cube-tip>\n    </p>\n  </div>\n  <cube-button @click=\"showTip('bottom')\">top</cube-button>\n  <cube-button @click=\"showTip('top')\">bottom</cube-button>\n  <cube-button @click=\"showTip('right')\">left</cube-button>\n  <cube-button @click=\"showTip('left')\">right</cube-button>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        direction: '',\n        tipStyle: ''\n      }\n    },\n    methods: {\n      showTip(direction) {\n        this.direction = direction\n        this.$refs.tip.show()\n\n        switch (direction) {\n          case 'top':\n            this.tipStyle = 'left: 100px; top: 100px;'\n            break\n          case 'bottom':\n            this.tipStyle = 'left: 100px; top: 20px;'\n            break\n          case 'left':\n            this.tipStyle = 'left: 200px; top: 60px;'\n            break\n          case 'right':\n            this.tipStyle = 'left: 5px; top: 60px;'\n            break\n        }\n      },\n      close() {\n        console.log('click close button')\n      },\n      clickHandler() {\n        console.log('click tip area')\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| direction | the direction of the small triangle | String | top/bottom/left/right | left |\n| offsetLeft | the distance between the small triangle and the left part of x axis | Number | - | 0 |\n| offsetTop | the distance between the small triangle and the origin of y axis | Number | - | 0 |\n| offsetRight | the distance between the small triangle and the right part of x axis | Number | - | 0 |\n| offsetBottom | the distance between the small triangle and the bottom part of y axis | Number | - | 0 |\n\n### Slot\n\n| name | description |\n| - | - |\n| - | the content shown inside the tip component |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| close | the event that exposed when clicking the close button of tips, which will hide at the same time | None |\n| clicked | the event that exposed when clicking the content of tips, which will hide at the same time | None |\n"
  },
  {
    "path": "document/components/docs/en-US/toast.md",
    "content": "## Toast\n\n`Toast` component.You can use it to show non-modal tip message without user interaction.\n\n__Notice:__ Cause this component used create-api, so you should read [create-api](#/en-US/docs/create-api) first.\n\n### Example\n\n- Duration of display\n\n  ```html\n  <cube-button @click=\"showToastTime\">Toast - time 1s</cube-button>\n  <cube-button @click=\"showToastTime0\">Toast - time 0</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastTime() {\n        const toast = this.$createToast({\n          time: 1000,\n          txt: 'Toast time 1s'\n        })\n        toast.show()\n      },\n      showToastTime0() {\n        const toast = this.$createToast({\n          time: 0,\n          txt: 'Toast time 0'\n        })\n        toast.show()\n        setTimeout(() => {\n          toast.hide()\n        }, 2000)\n      }\n    }\n  }\n  ```\n\n  Set `time` to change the duration of display.If set to 0, the toast will not hide automatically and you must invoke the component's `hide` method manually to hide it.\n\n- Show mask layer\n\n  ```html\n  <cube-button @click=\"showToastMask\">Toast- with mask</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastMask () {\n        const toast = this.$createToast({\n          txt: 'Loading...',\n          mask: true\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n  Set `mask` to `true` to display mask.\n\n- Tip type\n\n  ```html\n  <cube-button @click=\"showToastType\">Toast - type</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastType() {\n        const toast = this.$createToast({\n          txt: 'Correct',\n          type: 'correct'\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n  Set `type` to change the tip icon.You can see accepted types in the following `Props configuration`.\n\n- Show txt only<sup>1.11.0</sup>\n\n  ```html\n  <cube-button @click=\"showToastTxtOnly\">Toast - txt only</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastTxtOnly() {\n        this.toast = this.$createToast({\n          txt: 'Plain txt',\n          type: 'txt'\n        })\n        this.toast.show()\n      }\n    }\n  }\n  ```\n\n- Callback\n\n  ```html\n  <cube-button @click=\"showToastCallback\">Toast - callback</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showToastCallbak() {\n        const toast = this.$createToast({\n          txt: 'Timeout',\n          time: 1000,\n          onTimeout: () => {\n            console.log('Timeout')\n          }\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n  Besides set `onTimeout`.You can pass the callback through `$events` too.\n\n  ```js\n  export default {\n    methods: {\n      showToastCallbak() {\n        const toast = this.$createToast({\n          txt: 'Timeout',\n          time: 1000,\n          $events: {\n            timeout: () => {\n              console.log('Timeout')\n            }\n          }\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| type | toast type(different types of icons) | String | loading/correct/error/warn/txt<sup>1.11.0</sup> | loading |\n| mask | whether to show mask layer | Boolean | true/false | false |\n| txt | tip text | String  | - | '' |\n| time | display duration, millisecond | Number | - | 3000 |\n| visible<sup>1.8.1</sup> | whether visible. Bind to `v-model` | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | whether hide the component when clicked the mask layer | Boolean | true/false | false |\n| zIndex<sup>1.9.6</sup> | the value of the style z-index | Number | - | 900 |\n\n### Events\n\n| Event Name | Description |\n| - | - |\n| timeout | triggers when the display time is out |\n\n### Instance methods\n\n| Method name | Description |\n| - | - |\n| show | show |\n| hide | hide |\n"
  },
  {
    "path": "document/components/docs/en-US/toolbar.md",
    "content": "## Toolbar\n\n> New in 1.9.0+\n\nToolbar, with actions & more-actions.\n\n### Example\n\n- Basic\n\n  You can use `actions` to define the toolbar actions.\n\n  ```html\n  <cube-toolbar :actions=\"actions\" @click=\"clickHandler\"></cube-toolbar>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        money: 10,\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          },\n          {\n            text: '一口价<span class=\"orange\">10元</span>',\n            action: 'moreMoney'\n          }\n        ]\n      }\n    },\n    methods: {\n      showText(item) {\n        this.$createToast({\n          type: 'correct',\n          txt: 'clicked ' + item.text,\n          time: 1000\n        }).show()\n      },\n      moreMoney(item) {\n        this.money += 10\n        item.text = '一口价<span class=\"orange\">' + this.money + '元</span>'\n      },\n      clickHandler(item) {\n        if (item.action) {\n          this[item.action](item)\n        }\n      }\n    }\n  }\n  ```\n  ```stylus\n  .orange\n    color: #fc9153\n  ```\n\n  You can use handle the action in `click` event handler.\n\n- More actions\n\n  You can use `moreActions` to define more actions.\n\n  ```html\n  <cube-toolbar\n    :actions=\"actions\"\n    :more-actions=\"moreActions\"\n    @click=\"clickHandler\"></cube-toolbar>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        money: 10,\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          },\n          {\n            text: '一口价<span class=\"orange\">10元</span>',\n            action: 'moreMoney'\n          }\n        ],\n        moreActions: [\n          {\n            text: '操作a',\n            action: 'showText'\n          },\n          {\n            text: '操作b',\n            action: 'showText'\n          },\n          {\n            text: '操作c',\n            icon: 'cubeic-right',\n            action: 'showText'\n          }\n        ]\n      }\n    },\n    methods: {\n      showText(item) {\n        this.$createToast({\n          type: 'correct',\n          txt: 'clicked ' + item.text,\n          time: 1000\n        }).show()\n      },\n      moreMoney(item) {\n        this.money += 10\n        item.text = '一口价<span class=\"orange\">' + this.money + '元</span>'\n      },\n      clickHandler(item) {\n        if (item.action) {\n          this[item.action](item)\n        }\n      }\n    }\n  }\n  ```\n  ```stylus\n  .orange\n    color: #fc9153\n  ```\n\n### Props\n\n| Attribute | Description | Type | Accepted Values | Demo |\n| - | - | - | - | - |\n| actions | actions description | Array | [] | [ {text: '完成订单' } ] |\n| moreActions | more actions | Array | [] | [ {text: '完成订单' } ] |\n\n* `actions` sub configuration\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| type | type, button or checkbox | String | button/checkbox | button |\n| text | text, support html string | String | - | '' |\n| checked | if type is checkbox, then this value will be the Checkbox's model alue | Boolean | true/false | false |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| click | clicked one item | item value |\n| more-click | clicked more item | whether more actions is visible |\n"
  },
  {
    "path": "document/components/docs/en-US/upload.md",
    "content": "## Upload\n\n> New in 1.3.0+\n\n`Upload` component.\n\n**Notice:** In this document, all the original File will be called **original file**, since the wrapped file object will be called **file object**. The structure of **file object** show as following:\n\n| Attribute | Description | Type |\n| - | - | - |\n| v-model | file list | Array | [] | [{ name, size, url, status: 'success', progress: 1 }] |\n| name | file name | String |\n| size | file size | Number |\n| url | file url, created by URL.createObjectURL, for preview | String |\n| base64 | file base64 value, the value is equaled to the original file's base64 value. It is `''` by default, but you can have some plugins to added this `base64` value, like the compress plugin below | String |\n| status | file status, one of: ready, uploading, success, error | String |\n| progress | file progress, number 0~1 | Number |\n| file | the original file | File |\n| response | response data(try to parse to JSON）| Object/Array/String |\n| responseHeaders | all response headers | String |\n\n### Example\n\n- Basic usage\n\n  ```html\n  <cube-upload\n    action=\"//jsonplaceholder.typicode.com/photos/\"\n    :simultaneous-uploads=\"1\"\n    @files-added=\"filesAdded\" />\n  ```\n  ```js\n  export default {\n    methods: {\n      filesAdded(files) {\n        const maxSize = 1 * 1024 * 1024 // 1M\n        for (let k in files) {\n          const file = files[k]\n          if (file.size > maxSize) {\n            file.ignore = true\n          }\n        }\n      }\n    }\n  }\n  ```\n\n  Set `action` to configure the upload target URL for the multipart POST request.\n\n  Set `simultaneous-uploads` to configure the max number of files uploading simultaneously .\n\n  The `files-added` event is used for file validation, and you can filter file by setting `file.ignore = true`.\n\n- Compress and uploaded through Base64\n\n  ```html\n  <cube-upload\n    ref=\"upload\"\n    :action=\"action\"\n    :simultaneous-uploads=\"1\"\n    :process-file=\"processFile\"\n    @file-submitted=\"fileSubmitted\"></cube-upload>\n  ```\n  ```js\n  import compress from '../../modules/image'\n  export default {\n    data() {\n      return {\n        action2: {\n          target: '//jsonplaceholder.typicode.com/photos/',\n          prop: 'base64Value'\n        }\n      }\n    },\n    methods: {\n      processFile(file, next) {\n        compress(file, {\n          compress: {\n            width: 1600,\n            height: 1600,\n            quality: 0.5\n          }\n        }, next)\n      },\n      fileSubmitted(file) {\n        file.base64Value = file.file.base64\n      }\n    }\n  }\n  ```\n\n  The `action` is an object which contains `target` and `prop`. the `prop` could configure which property  in file object will be uploaded).\n\n  The `process-file` is a function which is used to process the original file, like compress, `next` must be called with the processed file.\n\n  The `file-submitted` event will be trigged after the file is processed and added to the `upload.files` with a parameter -- the file object.\n\n- Use slots\n\n  You can use slots to define your custom HTML structure.\n\n  ```html\n  <cube-upload\n    ref=\"upload\"\n    v-model=\"files\"\n    :action=\"action\"\n    @files-added=\"addedHandler\"\n    @file-error=\"errHandler\">\n    <div class=\"clear-fix\">\n      <cube-upload-file v-for=\"(file, i) in files\" :file=\"file\" :key=\"i\"></cube-upload-file>\n      <cube-upload-btn :multiple=\"false\">\n        <div>\n          <i>＋</i>\n          <p>Please click to upload ID card</p>\n        </div>\n      </cube-upload-btn>\n    </div>\n  </cube-upload>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        action: '//jsonplaceholder.typicode.com/photos/',\n        files: []\n      }\n    },\n    methods: {\n      addedHandler() {\n        const file = this.files[0]\n        file && this.$refs.upload.removeFile(file)\n      },\n      errHandler(file) {\n        // const msg = file.response.message\n        this.$createToast({\n          type: 'warn',\n          txt: 'Upload fail',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n  Custom Style:\n  ```stylus\n  .cube-upload\n    .cube-upload-file, .cube-upload-btn\n      margin: 0\n      height: 200px\n    .cube-upload-file\n      margin: 0\n      + .cube-upload-btn\n        margin-top: -200px\n        opacity: 0\n    .cube-upload-file-def\n      width: 100%\n      height: 100%\n      .cubeic-wrong\n        display: none\n    .cube-upload-btn\n      display: flex\n      align-items: center\n      justify-content: center\n      > div\n        text-align: center\n      i\n        display: inline-flex\n        align-items: center\n        justify-content: center\n        width: 50px\n        height: 50px\n        margin-bottom: 20px\n        font-size: 32px\n        line-height: 1\n        font-style: normal\n        color: #fff\n        background-color: #333\n        border-radius: 50%\n  ```\n\n### Props configuration\n\n| Attribute | Description | Type | Accepted Values | Demo |\n| - | - | - | - | - |\n| v-model | file list | Array | [] | [{ name, size, url, status: 'success', progress: 1 }] |\n| action | upload action config | String/Object | '' | { target: '/upload' } |\n| max | max upload files number | Number | 10 | - |\n| auto | whether auto start upload | Boolean | true | - |\n| simultaneousUploads | the number of simultaneous uploads | Number | 1 | - |\n| multiple | multiple select | Boolean | true | - |\n| accept | input accept | String | image/* | - |\n| processFile | process the original file | Function | function (file, next) { next(file) } | - |\n\n* `action` sub configuration\n\nIf `action` is a string, it will be transformed into `{ target: action }`.\n\n| Attribute | Description | Type | Default |\n| - | - | - | - |\n| target | the upload target URL for the multipart POST request, if this value is a function, then it will be called with the file object as parameter and the returned value as the URL | String/Function<sup>1.11.0+</sup> | - |\n| fileName | the name of the multipart POST parameter | String | 'file' |\n| prop | which property in file object will be uploaded | String | 'file' |\n| headers | extra headers to include in the multipart POST, if this value is a function, then it will be called with the file object as parameter and the returned value as headers | Object/Function<sup>1.11.0+</sup> | {} |\n| data | extra data to include in the multipart POST, if this value is a function, then it will be called with the file object as parameter and the returned value as data | Object/Function<sup>1.11.0+</sup> | {} |\n| withCredentials | Standard CORS requests would not send or set any cookies by default. In order to include cookies as part of the request, you need to set the withCredentials property to true | Boolean | false |\n| timeout | upload request timeout value | Number | 0 |\n| progressInterval | The time interval between progress reports (Unit: ms) | Number | 100 |\n| checkSuccess | Check the response should be successful, the parameters is `(response, file[, cb])` object. The `file` and optional `cb` parameters are avaliable after 1.11.0. If there are no `cb` then get this function as result `isSuccess`, otherwise the `cb(isSuccess)` parameter `isSuccess` as the result. If the result `isSuccess` is `true` then it will be treated as successful | Function | function (res) { return true } |\n\n* `processFile` sub configuration\n\nA function with two parameters: `(file, next)`, the `file` is the original file and the `next` callback must be called with the processed file.\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| files-added | triggers when files are added, usually used for file validation | original files |\n| file-submitted | triggers when a file is added to the `upload.files` | the file object |\n| file-removed | triggers when a file is removed | the file object |\n| file-success | triggers when a file is uploaded successfully | the file object |\n| file-error | triggers when a file is failed to upload | the file object |\n| file-click | triggers when a file is clicked | the file object. After 1.12.39, added file `index` param |\n| input | triggers when the binding value(file list) changes | the updated value(file list) |\n\n### Instance methods\n\n| Method name | Description | Parameter |\n| - | - | - |\n| start | start uploading | - |\n| pause | pause uploading | - |\n| retry | retry uploading | - |\n| removeFile | remove file | the file object |\n"
  },
  {
    "path": "document/components/docs/en-US/validator.md",
    "content": "## Validator\n\n> New in 1.5.0+\n\nValidator is used to validate form data and corresponding warning message.\n\n### Example\n\n- Basic usage\n\n  Validator is called as a independent component, which means it has to bind with the form data need validate through the property `model`. Then use the property `rules` to define the validating rule, such as type, required, pattern(used to define a validating RegExp), custom(used to define a validating function), you can find the details of rules below. And although we have default message (include English and Chinese) for each build-in rule, you could customize messages by the property `messages`.\n\n  ```html\n  <cube-input v-model=\"text1\" placeholder=\"E-mail\"></cube-input>\n  <cube-validator v-model=\"valid\" :model=\"text\" :rules=\"rules\" :messages=\"messages\"></cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        text: '',\n        valid: undefined,\n        rules: {\n          required: true,\n          type: 'email',\n          pattern: /didi.com$/,\n          custom: (val) => {\n            return val.length >= 12\n          }\n        },\n        messages: {\n          pattern: 'The E-mail suffix need to be didi.com.',\n          custom: 'The E-mail need contain at least 12 characters.'\n        },\n      }\n    }\n  }\n  ```\n\n- Add warning style to form component\n\n  If you want to add warning style to form component, you could put the form component into the Validator component. Because when the validation failed, the Validator component will get a CSS class `cube-validator_warn` so that you could select the descendant form element of class `cube-validator_warn` ro add warning style.\n\n  ```html\n  <cube-validator :model=\"text\" :rules=\"rules\" v-model=\"valid\">\n    <cube-input v-model=\"text\"></cube-input>\n  </cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        text: '',\n        valid: undefined,\n        rules: {\n          required: true,\n          type: 'email',\n          min: 6\n        }\n      }\n    }\n  }\n  ```\n  ```css\n  // add warning style to input\n  .cube-validator_warn\n    input\n      border: solid 1px yellow\n  ```\n\n- Customize message slot\n\n  Beside default message, you could customize the warning template to contain icons and images by `message` slot. This is a sloped slot which could meet almost all the demands. It contains `dirty` (whether the form data has ever changed), `validated` (whether the validator has ever validated), `message` (message of first failed rule), `result` ( an Object, which contains validating result and message of each rule, such as `{ required: { valid: false, invalid: true, message: 'required' } }`).\n\n  ```html\n  <cube-validator v-model=\"valid\" :model=\"text\" :rules=\"rules\" :messages=\"messages\">\n    <cube-input v-model=\"text\" placeholder=\"component name\"></cube-input>\n    <div slot=\"message\" class=\"custom-msg\" slot-scope=\"props\">\n      <div v-if=\"(props.dirty || props.validated) && !valid\">\n        <i class=\"dd-cubeic-important\"></i> {{ props.message }}\n        <div>\n          <span v-for=\"(item, index) in Object.values(props.result)\"\n            :key=\"index\" v-if=\"item.inValid\">\n            {{ item.message + ' ' }}\n          </span>\n        </div>\n      </div>\n    </div>\n  </cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        valid: undefined,\n        text: '',\n        rules: {\n          type: 'string',\n          pattern: /^cube-/,\n          min: 8,\n          max: 10\n        },\n        messages: {\n          pattern: 'The component name need start with \"cube-\"'\n        },\n      }\n    }\n  }\n  ```\n  ```css\n  .custom-msg\n    color: orange\n  ```\n\n- Async validate <sup>1.8.0+</sup>\n\n  If the rule function returned a function(**this function receives a `resolve` callback, if this function called with `true` then it will be treated as success, otherwise it will be treated as failure**) or a `Promise` object(**if `resolve` value is `true` then it will be treated as success, otherwise it will be treated as failure**), then it will be validate asynchronously. And when validating the `validating` event will be emited.\n\n  ```html\n  <div class=\"validator-item\">\n    <p>Async validate: </p>\n    <cube-validator\n      v-model=\"valid\"\n      :model=\"captcha\"\n      :rules=\"rules\"\n      :messages=\"messages\"\n      :immediate=\"immediate\"\n      @validating=\"validatingHandler\"\n      @validated=\"validatedHandler\">\n      <cube-input v-model=\"captcha\" placeholder=\"Please input captcha\"></cube-input>\n    </cube-validator>\n  </div>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        valid: undefined,\n        captcha: '',\n        rules: {\n          type: 'number',\n          required: true,\n          len: 6,\n          captchaCheck: (val) => {\n            return (resolve) => {\n              setTimeout(() => {\n                resolve(val === '123456')\n              }, 1000)\n            }\n            /** or return promise:\n            return new Promise((resolve) => {\n              setTimeout(() => {\n                resolve(val === '123456')\n              }, 1000)\n            })\n            **/\n          }\n        },\n        messages: {\n          captchaCheck: 'Please input \"123456\"'\n        }\n      }\n    },\n    methods: {\n      validatingHandler() {\n        console.log('validating')\n      },\n      validatedHandler() {\n        console.log('validated')\n      }\n    }\n  }\n  ```\n\n  The `captchaCheck` is an async rule.\n\n- Submit\n\n  Although submit is not inside of Validator, it usually be relative with Validator. Therefore, we want to introduce our best practice about submit here. It focus on the handles of multi-validator and warn message no matter whether the form data has ever changed.\n\n  ```html\n  <cube-input v-model=\"text0\" placeholder=\"Required\"/>\n  <cube-validator ref=\"validator0\" v-model=\"result[0]\" :model=\"text0\" :rules=\"rules0\"/>\n  <cube-input v-model=\"text1\" placeholder=\"E-mail\"/>\n  <cube-validator ref=\"validator1\" v-model=\"result[1]\" :model=\"text1\" :rules=\"rules1\"/>\n  <cube-input v-model=\"text2\" placeholder=\"TEL\"/>\n  <cube-validator ref=\"validator2\" v-model=\"result[2]\" :model=\"text2\" :rules=\"rules2\"/>\n  <cube-button @click=\"submit\">Submit</cube-button>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        result: [true, true, true],\n        text0: '',\n        rules0: {\n          required: true,\n        },\n        text1: '',\n        rules1: {\n          type: 'email',\n        },\n        text2: '',\n        rules2: {\n          type: 'tel',\n        },\n        trigger: false\n      }\n    },\n    methods: {\n      submit() {\n        this.$refs.validator0.validate()\n        this.$refs.validator1.validate()\n        this.$refs.validator2.validate()\n        if (this.result.every(item => item)) {\n          this.$createToast({\n            type: 'correct',\n            txt: 'Submited',\n            time: 1000\n          }).show()\n        }\n      }\n    }\n  }\n  ```\n\n### Props\n\n| Attribute | Description | Type | Accepted Values | Default |\n| - | - | - | - | - |\n| model | Required, figure the data need to validate | Any | - | - |\n| v-model | the validation result，whether the data is valid | Boolean | true/false | true |\n| rules | the rules for validation, you can find the details of rules below | Object | - | {} |\n| messages | custom messages for the corresponding rule | Object | - | {} |\n| immediate | Immediate validate after loaded | Boolean | true/false | false |\n| disabled<sup>1.7.0+</sup> | disabled validate or not | Boolean | true/false | false |\n\n### Slot\n\n| Name | Description | Scope Parameters |\n| - | - | - |\n| default | the relative form component or element | - |\n| message | warning message | dirty: if the data have ever changed <br> validating: whether is validating <br> validated: if the validator have ever validated <br> message: the message of the first failed rule <br> result: an object, which contains the resule and message of each rule, such as, { required: { valid: false, invalid: true, message: '必填' } } |\n\n### Events\n\n| Event Name | Description | Parameters |\n| - | - | - |\n| validating | validating (only triggered when async validateing) | - |\n| validated | validated (only triggered when async validateing) | valid: 校验是否成功 |\n| msg-click | click error message ele | - |\n| input | triggers when the binding value changes | the updated value |\n\n### Instance methods\n\n| Method name | Description | Parameters | Returned value |\n| - | - | - | - |\n| validate(cb) | Validate | cb: validated callback function, used to async validating cases normally. The arguments is the `valid` value | If supported Promise then the returned value will be Promise instance(Only have resolved state, the resolved value is `valid`), otherwise the returned value is `undefined` |\n\n### Rule\n\n- Build-in rules\n\n  There are some build-in rules here, include required、type、min、max、len、notWhitespace、pattern、custom.\n\n  | Attribute | Description | Type | Accepted Values | Demo |\n  | - | - | - | - | - |\n  | required | required | Boolean | true/false | true |\n  | type | type | String | 'string', 'number', 'array', 'date', 'email', 'tel', 'url' | 'tel' |\n  | min | when the type is number or date, it means the data need not smaller than min. Otherwise, it means the length of the data need not smaller than min | Number | - | 6 |\n  | max | when the type is number or date, it means the data need not bigger than max. Otherwise, it means the length of the data need not bigger than max | Number | - | 8 |\n  | len | when the type is number or date, it means the data need equal to min. Otherwise, it means the length of the data need equal to len | Number | - | 7 |\n  | notWhitespace | don't allowed to be whitespace | Boolean | true/false | true |\n  | pattern | RegExp match | RegExp | - | /1$/ |\n  | custom | Costomized validation function. Only valid when the `return` is strict equaled to `true` | Function | - | val => val.length === 7 |\n\n- Add rule\n\n  Beside the build-in rules, you could use the method `addRule` of Validator to add customized common rule, and `addMessage` method to add corresponding default warning message.\n\n  ```js\n  import Vue from 'vue'\n  import { Validator } from 'cube-ui'\n\n  // need use Validator\n  Vue.use(Validator)\n\n  Validator.addRule('odd', (val, config, type) => !config || Number(val) % 2 === 1)\n  Validator.addMessage('odd', 'Please input odd.')\n  ```\n  ```html\n  <cube-validator v-model=\"valid\" :model=\"text\" :rules=\"rule\">\n    <cube-input v-model=\"text3\" placeholder=\"odd\"></cube-input>\n  </cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        text: '100',\n        valid: undefined,\n        rules: {\n          type: 'number',\n          odd: true\n        }\n      }\n    }\n  }\n  ```\n\n### Add default message\n\nAt first, let's see the build-in default messages. You can use `addMessage` to modify the special sub-message.\n\n  - Build-in default messages\n\n  ```js\n  const messages = {\n    required: 'Required.',\n    type: {\n      string: 'Please input characters.',\n      number: 'Please input numbers.',\n      array: 'The data type should be array.',\n      date: 'Please select a valid date.',\n      email: 'Please input a valid E-mail.',\n      tel: 'Please input a valid telphone number.',\n      url: 'Please input a valid web site.'\n    },\n    min: {\n      string: 'Please input at least {{config}} characters.',\n      number: 'The number could not smaller than {{config}}.',\n      array: 'Please select at least {{config}} items.',\n      date: 'Please select a date after {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',\n      email: 'Please input at least {{config}} characters.',\n      tel: 'Please input at least {{config}} characters.',\n      url: 'Please input at least {{config}} characters.'\n    },\n    max: {\n      string: 'Please input no more than {{config}} characters.',\n      number: 'The number could not bigger than {{config}}',\n      array: 'Please select no more than  {{config}} items',\n      date: 'Please select a date before {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',\n      email: 'Please input no more than {{config}} characters.',\n      tel: 'Please input no more than {{config}} characters.',\n      url: 'Please input no more than {{config}} characters.'\n    },\n    len: {\n      string: 'Please input {{config}} characters.',\n      number: 'The length should equal {{config}}',\n      array: 'Please select {{config}} items',\n      date: 'Please select {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',\n      email: 'Please input {{config}} characters.',\n      tel: 'Please input {{config}} characters.',\n      url: 'Please input {{config}} characters.'\n    },\n    pattern: 'The input don\"t match pattern.',\n    custom: 'Invalid.',\n    notWhitespace: 'Whitespace is invalid.'\n  }\n  ```\n  - Modify the build-in message\n\n  ```js\n  import Vue from 'vue'\n  import { Validator } from 'cube-ui'\n\n  // need use Validator\n  Vue.use(Validator)\n\n  Validator.addMessage('required', 'Please input this.')\n\n  // Override the message for min.date\n  Validator.addMessage('min', {\n    date: 'Please select a date after {{config | toLocaleDateString(\"yyyy-MM-dd\") | tips(\"Please re-enter\")}}.'\n  })\n  ```\n\n  As above, the default message parsed inside the component is similar to the Vue filter mechanism.\n\n  - config\n\n  For example, the rule you configured is: {type: 'date', min: '2018-10-10'}, then the value of the `config` field in above message template is '2018-10-10', because the checksum is a `date` type, the value of `min` can be a `timestamp` or a date-like string `yyyy-MM-dd mm:ss ` or `yyyy/MM/dd mm:ss`.\n\n  - toLocaleDateString\n\n  The built-in helper function, the first parameter is the config value you configured, the second parameter is the date format you want to initialize, as above is `'yyyy year MM month dd day'`, accepting something like `yyyy-MM-dd mm:ss` format, you can also register your own helper function as follows.\n\n  ```js\n  Validator.addHelper('fnName', (result, arg1) => {\n    // result -> The value returned by the previous helper function or the config value, as in the above example is '2018-10-10'\n    // arg1 -> The string you passed in the message template, as in the above example, 'Please re-enter'\n    let ret\n\n    // do your own job\n    ret = result + arg1\n\n    // you must return the processed message\n    return ret\n  })\n  ```\n\n  The tool functions registered through `Validator.addHelper` are actually mounted under the `Locale.helpers` namespace. You can also import the `Locale` module and register your own tool functions with `Locale.addHelper`, which point to the same address.\n\n### addType\n\n  - Add new type\n\n  ```js\n  import { Validator } from 'cube-ui'\n\n  Validator.addType('yourType', (val) => {\n    return typeof val === 'string' && /^[a-z0-9_-]+/i.test(val)\n  })\n  ```\n\n  - Modify the build-in type\n\n  ```js\n  import { Validator } from 'cube-ui'\n\n  Validator.addType('email', (val) => {\n    return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)$/i.test(val)\n  })\n  ```\n\n"
  },
  {
    "path": "document/components/docs/en-US.vue",
    "content": "<template>\n  <viewport lang=\"en-US\"></viewport>\n</template>\n\n<script>\n  import Viewport from '../viewport/viewport.vue'\n\n  export default {\n    components: {\n      Viewport\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "document/components/docs/zh-CN/action-sheet.md",
    "content": "## ActionSheet\n\n`ActionSheet`操作列表提供了两种常见的样式，灵活可控内容。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 基本用法\n\n  ```html\n  <cube-button @click=\"showDefault\">操作列表</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showDefault() {\n        this.$createActionSheet({\n          title: '我是标题~~~',\n          data: [\n            {\n              content: '<em>align - center</em>',\n              class: 'cube-foo'\n            },\n            {\n              content: 'align - left',\n              align: 'left'\n            },\n            {\n              content: 'align - right',\n              align: 'right'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  配置标题 `title` 和 `data` 数据项，注意 `data` 中内容是 `content`，一段 HTML 字符串，额外还可以配置自定义 class：`class` 和方向：`align`（值可以是 `left`、`right`）。\n\n- 高亮设置\n\n  ```html\n  <cube-button @click=\"showActive\">ActionSheet - active</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showActive() {\n        this.$createActionSheet({\n          title: '我是标题~~~',\n          active: 0,\n          data: [\n            {\n              content: '舒适型'\n            },\n            {\n              content: '七座商务'\n            },\n            {\n              content: '豪华型'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              txt: `Clicked canceled`,\n              type: 'warn',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  通过设置 `active` 属性来控制高亮的是第几个。\n\n- Picker 样式设定\n  ```html\n  <cube-button @click=\"showPickerStyle\">ActionSheet - picker style</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showPickerStyle() {\n        this.$createActionSheet({\n          title: '我是标题~~~',\n          pickerStyle: true,\n          data: [\n            {\n              content: '舒适型'\n            },\n            {\n              content: '七座商务'\n            },\n            {\n              content: '豪华型'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              txt: `Clicked canceled`,\n              type: 'warn',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `pickerStyle` 属性决定是否使用 Picker 样式。\n\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| title | 组件的标题 | String | - | '' |\n| cancelTxt<sup>1.9.9</sup> | 取消文案 | String | - | '取消' |\n| data | 需要展示的数据列表 | Array | - | [] |\n| active | 高亮第几个选项 | Number | - | -1 |\n| pickerStyle | Picker 样式 | Boolean | true/false | false |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | - | 100 |\n\n* `data` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| content | 展示的内容 | String | 任意 HTML 字符串 | '' |\n| align | 内容对齐方向 | String | left/right | '' |\n| class | 自定义 class | String | - | '' |\n\n### 事件\n\n| 参数 | 说明 | 参数1 | 参数2 |\n| - | - | - | - |\n| cancel | 点击取消 | - | - |\n| select | 点击某项 | 点击项 item，即 data[index] | 点击项的索引值 index |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| show | 显示 |\n| hide | 隐藏 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/better-scroll.md",
    "content": "## better-scroll 模块\n\n该模块默认暴露出一个 `BetterScroll` 函数对象，这个对象直接从依赖库 [better-scroll](https://github.com/ustbhuangyi/better-scroll) 获得。\n\n### 链接\n\n关于 better-scroll 详细的文档以及示例，请参考：\n\n- [官方文档](https://better-scroll.github.io/docs-v1/)\n\n- [官方示例](https://better-scroll.github.io/docs-v1/#/examples/zh)\n"
  },
  {
    "path": "document/components/docs/zh-CN/button.md",
    "content": "## Button\n\n按钮，提供了各种类型、样子、状态以及图标。\n\n### 示例\n\n- 按钮类型\n\n  默认类型为 `button`，还可设置为 `submit` 用于表单中\n  ```html\n  <cube-button>Button</cube-button>\n  <cube-button type=\"submit\">Submit Button</cube-button>\n  ```\n\n- 按钮状态\n\n  默认正常，可设置激活、禁用状态\n  ```html\n  <cube-button :active=\"true\">Active Button</cube-button>\n  <cube-button :disabled=\"true\">Disabled Button</cube-button>\n  ```\n- 图标\n\n  可设置 icon 的 class\n  ```html\n  <cube-button icon=\"cubeic-right\">Button With Icon</cube-button>\n  ```\n\n- 样子\n\n  可以通过设置 `light`、`inline`、`outline`、`primary` 属性来改变按钮样子\n  ```html\n  <cube-button :light=\"true\">Light Button</cube-button>\n  <cube-button :inline=\"true\">Inline Button</cube-button>\n  <cube-button :outline=\"true\">Outline Button</cube-button>\n  <cube-button :primary=\"true\">Primary Button</cube-button>\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| type | 按钮类型 | String | button/submit | button |\n| active | 激活状态 | Boolean | true/false | false |\n| disabled | 禁用状态 | Boolean | true/false | false |\n| icon | 图表 Icon | String | icon 的 class 值 | - |\n| light | 亮色 | Boolean | true/false | false |\n| inline | 是否内联 | Boolean | true/false | false |\n| outline | 外边框 | Boolean | true/false | false |\n| primary | 主要的 | Boolean | true/false | false |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| click | 点击按钮后触发此事件，如果禁用状态，则不触发 | e - 事件对象 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/cascade-picker.md",
    "content": "## CascadePicker组件\n\n> 1.2.0 新增\n\n`CascadePicker`组件是级联选择器，用于实现多列选择之间的级联变化。比如，在选择省市区时，当省切换到了江苏省，城市列应该变成江苏省的各个城市，同理，如果城市切换到苏州市，区列的选项也应变成苏州市的各个区，这就级联的意义。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 基本用法\n\n  相比普通选择器，级联选择器需要传入的数据结构是不一样的。普通选择器的数据结构是一个二维数组，每一列对应一个固定的数组，而级联选择器，则需要传入的是一个树形结构，第一列数组的每个选项的children属性，对应着切换到该选项时后续列的数据，从而实现对后续列的改变。如下所示：\n\n  ```html\n  <cube-button @click=\"showCascadePicker\">Cascade Picker</cube-button>\n  ```\n  ```js\n  const cascadeData = [\n    {\n      value: 'Fruit',\n      text: 'Fruit',\n      children: [\n        {\n          value: 'Apple',\n          text: 'Apple',\n          children: [{ value: 1, text: 'One' }, { value: 2, text: 'Two' }]\n        },\n        {\n          value: 'Orange',\n          text: 'Orange',\n          children: [{ value: 3, text: 'Three'}, { value: 4, text: 'Four' }]\n        }\n      ]\n    },\n    {\n      value: 'Drink',\n      text: 'Drink',\n      children: [\n        {\n          value: 'Coffee',\n          text: 'Coffee',\n          children: [{ value: 1, text: 'One' }, { value: 2, text: 'Two' }]\n        },\n        {\n          value: 'Tea',\n          text: 'Tea',\n          children: [{ value: 1, text: 'One' }, { value: 3, text: 'Three'}]\n        }\n      ]\n    }\n  ]\n  export default {\n    mounted () {\n      this.cascadePicker = this.$createCascadePicker({\n        title: 'Cascade Picker',\n        data: cascadeData,\n        selectedIndex: [0, 1, 0],\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n    },\n    methods: {\n      showCascadePicker() {\n        this.cascadePicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n  当第一列选中`Fruit`时，第二列的选项是`Apple`、`Orange`。以此类推，当第二列选中`Orange`时，第三列的选项是`Three`、`Four`。\n\n- 地址选择器\n\n  对于地址选择器，只需要构造出级联选择器的数据结构传入就可以了。\n\n  ```html\n  <cube-button @click=\"showAddressPicker\">Address Picker</cube-button>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const addressData = provinceList\n  addressData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n\n  export default {\n    mounted () {\n      this.addressPicker = this.$createCascadePicker({\n        title: 'City Picker',\n        data: addressData,\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n    },\n    methods: {\n      showAddressPicker() {\n        this.addressPicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 实例方法 `setData`\n\n  `setData`方法，用于重置`CascadePicker`实例的数据和选中的索引。\n\n  ```html\n  <cube-button @click=\"showSetDataPicker\">SetData Picker</cube-button>\n  ```\n  ```js\n  export default {\n    mounted () {\n      this.setDataPicker = this.$createCascadePicker({\n        title: 'Set Data',\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n    },\n    methods: {\n      showSetDataPicker() {\n        // setData when the picker is invisible.\n        this.setDataPicker.setData(cascadeData)\n\n        this.setDataPicker.show()\n        setTimeout(() => {\n          // setData when the picker is visible.\n          this.setDataPicker.setData(addressData, [1, 1, 0])\n        }, 1000)\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 异步加载数据\n\n  当数据量太大时，可能难以在最开始就生成完整的级联数据树。这时，你可以配置 `async` 属性开启异步加载级联数据，在 `change` 事件时，去更新数据，并且在你更新完数据之前，用户点击确认会是无效的。\n\n  ```html\n  <cube-button @click=\"showAsyncPicker\">Async Load Data</cube-button>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const asyncData = provinceList\n  const asyncSelectedIndex = [0, 0, 0]\n  asyncData[0].children = cityList[asyncData[0].value]\n  asyncData[0].children[0].children = areaList[asyncData[0].children[0].value]\n\n  export default {\n    mounted () {\n      this.asyncPicker = this.$createCascadePicker({\n        title: 'Async Load Data',\n        async: true,\n        data: asyncData,\n        selectedIndex: asyncSelectedIndex.slice(),\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle,\n        onChange: this.asyncChangeHandle\n      })\n    },\n    methods: {\n      showAsyncPicker() {\n        this.asyncPicker.show()\n      },\n      asyncChangeHandle(i, newIndex) {\n        if (newIndex !== asyncSelectedIndex[i]) {\n          asyncSelectedIndex[i] = newIndex\n          // If the first two column is changed, request the data for rest columns.\n          if (i < 2) {\n            // Mock async load.\n            setTimeout(() => {\n              if (i === 0) {\n                const current = asyncData[newIndex]\n                current.children = current.children || cityList[current.value]\n                current.children[0].children = current.children[0].children || areaList[current.children[0].value]\n                asyncSelectedIndex[1] = 0\n                asyncSelectedIndex[2] = 0\n              }\n\n              if (i === 1) {\n                const current = asyncData[asyncSelectedIndex[0]].children[newIndex]\n                current.children = current.children || areaList[current.value]\n                asyncSelectedIndex[2] = 0\n              }\n              this.asyncPicker.setData(asyncData, asyncSelectedIndex)\n            }, 500)\n          }\n        }\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| data | 级联选择器的树形数据，用于初始化选项 | Array | [] | - |\n| selectedIndex | 被选中的索引值，拉起选择器后显示这个索引值对应的内容 | Array | [] | [1] |\n| async<sup>1.8.1</sup> | 异步加载数据 | Boolean | false | - |\n| title | 标题 | String | '' | - |\n| subtitle<sup>1.8.1</sup> | 副标题 | String | '' | - |\n| cancelTxt | 取消按钮文案 | String | '取消' | - |\n| confirmTxt | 确定按钮文案 | String | '确定' | - |\n| swipeTime | 快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms | Number | 2500 | - |\n| alias | 配置`value`和`text`的别名，用法同`Picker`组件 | Object | {} | { value: 'id', text: 'name'} |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | false | false |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | 100 | - |\n\n* `data`子配置项\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| text | 每个选项展示的文案 | String/Number | - | - |\n| value | 每个选项的值 | String/Number/Boolean | - | - |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| select | 点击确认按钮触发此事件 | selectedVal: 当前选中项每一列的值，Array类型 | selectedIndex: 当前选中项每一列的索引，Array类型 | selectedText: 当前选中项每一列的文案，Array类型 |\n| change | 滚轴滚动后触发此事件 | index: 当前滚动列次序，Number类型 | selectedIndex: 当前列选中项的索引，Number类型 |\n| cancel | 点击取消按钮触发此事件 | - | - |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数1 | 参数2 |\n| - | - | - | - |\n| setData | 重置数据和选中的索引 | 级联树形数据结构，Array类型 | 每列选中的索引，Array类型 |\n| show | 显示 | - | - |\n| hide | 隐藏 | - | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/checkbox-group.md",
    "content": "## CheckboxGroup 复选框组\n\n复选框组就是一组复选框，主要用来选择一组可选项；有垂直和水平两种样式。\n\n### 示例\n\n- 垂直排列\n\n  默认就是垂直排列样式\n  ```html\n  <cube-checkbox-group v-model=\"checkList\" :options=\"options\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkList: ['1', '4'],\n        options: [\n          '1',\n          '2',\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          },\n          {\n            label: '4',\n            value: '4',\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n  `checkList` 的值是一个数组，代表的是选中的复选框 `value` 的值的集合。\n\n- 水平排列、图标形状、镂空样式\n\n  可通过设置 `horizontal` 改变样式为水平排列，另外，还可以通过 `shape` 配置图标形状以及通过设置 `hollow-style` 为 `true` 改变为镂空样式。\n\n  ```html\n  <cube-checkbox-group v-model=\"checkList\" :options=\"options\" :horizontal=\"true\" shape=\"square\" :hollow-style=\"true\" />\n  ```\n\n- 自定义 label\n\n  ```html\n  <cube-checkbox-group v-model=\"checkList\">\n    <cube-checkbox option=\"1\"><i>Checkbox 1</i></cube-checkbox>\n    <cube-checkbox option=\"2\"><i>Checkbox 2</i></cube-checkbox>\n    <cube-checkbox :option=\"{value: '3', disabled: true}\"><i>Disabled Checkbox</i></cube-checkbox>\n    <cube-checkbox :option=\"{value: '4', disabled: true}\"><i>Disabled & Checked Checkbox</i></cube-checkbox>\n  </cube-checkbox-group>\n  ```\n\n  可通过默认插槽插入 `cube-checkbox` 实现自定义每项的结构样子，关于 `cube-checkbox`，请参考其[文档](#/zh-CN/docs/checkbox)。\n\n- 自定义列数<sup>1.12.28</sup>\n\n  可通过设计 `colNum` 控制一行中有几列，colNum 小于1时，按1处理\n  ```html\n    <cube-checkbox-group v-model=\"colCheckList\" :options=\"colOptions\" :col-num=\"3\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        colCheckList: [],\n        colOptions: ['1', '2', '3', '4', '5', '6', '7', '8']\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| options | 选项数组 | Array | - | - |\n| horizontal | 是否水平排列 | Boolean | true/false | false |\n| colNum<sup>1.12.28</sup> | 一行有几列 | Number | - | 1 |\n| shape | 图标形状 | String | circle/square | circle |\n| hollowStyle | 是否是镂空样式的 | Boolean | true/false | false |\n| min<sup>1.11.0</sup> | 最小选择个数 | Number | - | 0 |\n| max<sup>1.11.0</sup> | 最大选择个数 | Number | - | Infinite |\n\n* `options` 子配置项\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| label | 复选框显示文字 | String |\n| value | 复选框的值 | String/Number |\n| disabled | 复选框是否被禁用 | Boolean |\n\n注：如果 `options` 中的项为字符串也是可以的，此时默认 `label` 和 `value` 的值都为该字符串的值。\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| checked | 勾选复选框组中的某一项时触发 | 当前勾选的复选框值 |\n| cancel-checked | 取消勾选复选框组中的某一项时触发 | 当前取消勾选的复选框值 |\n| input | 当绑定值变化时触发 | 当前选中的复选框值的集合 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/checkbox.md",
    "content": "## Checkbox 复选框\n\n复选框，可设置其状态、传入特殊 class 以及复选框图标位置。\n\n### 示例\n\n- 基本用法\n\n  ```html\n  <cube-checkbox v-model=\"checked\">\n    Checkbox\n  </cube-checkbox>\n  ```\n  如果选中了，则 `checked` 的值就为 `true`。\n\n- 复选框图标样式\n\n  ```html\n  <cube-checkbox v-model=\"checked\" position=\"right\" shape=\"square\" :hollow-style=\"true\">\n    Styled Checkbox\n  </cube-checkbox>\n  ```\n  设置 `position` 为 `'right'` 则复选框图标位置在右边，且可以通过 `shape` 配置图标形状以及设置 `hollow-style` 为 `true` 代表显示的是镂空样式的（即使 `shape` 不是 `square` 表现的也是方形的）。\n\n- 改变 model 的值\n\n  ```html\n  <cube-checkbox v-model=\"checked\" :option=\"option\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checked: false,\n        option: {\n          label: 'Option Checkbox',\n          value: 'optionValue',\n          disabled: false\n        }\n      }\n    }\n  }\n  ```\n\n  设置 `option`，当复选框选中的时候，`checked` 的值就是 `'optionValue'`，当未选中的时候，`checked` 的值就是 `false`；所以其实在单个复选框的场景下，最好不要设置 `option`。\n\n- 禁用状态\n\n  ```html\n  <cube-checkbox v-model=\"checked\" :option=\"{disabled: true}\">\n    Disabled Checkbox\n  </cube-checkbox>\n  ```\n\n- 处理点击事件\n\n  如果你需要处理点击事件，你需要修改下样式：\n\n  ```html\n  <cube-checkbox class=\"with-click\" v-model=\"checked\">\n    Agree <a href=\"javascript:;\" @click.stop>《xxx》</a>\n  </cube-checkbox>\n  ```\n  ```styl\n  .with-click\n    .cube-checkbox-label\n      a\n        position: relative\n        z-index: 1\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| option | 配置项（如果 options 中的项为字符串，此时默认 label 和 value 的值都为该字符串的值） | Boolean/String/Object | - | - |\n| position | 位置 | String | left/right | left |\n| shape | 图标形状 | String | circle/square | circle |\n| hollowStyle | 是否是镂空样式的 | Boolean | true/false | false |\n\n* `option` 子配置项\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| label | 复选框显示文字 | String |\n| value | 复选框的值 | String/Number |\n| disabled | 复选框是否被禁用 | Boolean |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| input | 当绑定值变化时触发 | 更新后的复选框的值（若option中设置了value，且勾选复选框时，该值为option.value；否则，该值为复选框的v-model值）|\n"
  },
  {
    "path": "document/components/docs/zh-CN/checker.md",
    "content": "## Checker\n\nChecker 是更加灵活的选择组件，可以自定义需要的布局样式。\n\n### 示例\n\n- 默认\n\n  ```html\n  <cube-checker\n    v-model=\"checkerValue\"\n    :options=\"options\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerValue: [],\n        options: [\n          {\n            value: 1,\n            text: 'red'\n          },\n          {\n            value: 2,\n            text: 'yellow'\n          },\n          {\n            value: 3,\n            text: 'blue'\n          },\n          {\n            value: 4,\n            text: 'green'\n          }\n        ]\n      }\n    }\n  }\n  ```\n  如果选中了，则 `checkerValue` 的值就为 `value`。\n\n  设置 `option`，当选中某一项的时候，`checkerValue` 的值就是 `'optionValue'`，当未选中的时候，`checkerValue` 的值就是 `''`。\n\n- 单选\n\n  ```html\n  <cube-checker\n    v-model=\"checkerValue\"\n    :options=\"options\"\n    type=\"radio\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerValue: '',\n        options: [\n          {\n            value: 0,\n            text: 'AAAAA'\n          },\n          {\n            value: 1,\n            text: 'BBBBB'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n  可通过设置 `type` ，若为 `'radio'` 则是单选，若为 `'checkbox'` 则是多选。\n\n- 自定义结构\n\n  可通过默认插槽插入 CubeCheckerItem 实现自定义每项的结构。\n\n  ```html\n  <cube-checker\n    v-model=\"checkerList\"\n    :options=\"options\"\n    type=\"radio\">\n    <cube-checker-item\n      v-for=\"item in options\"\n      :key=\"item.value\"\n      :option=\"item\">\n      <span class=\"orange\"><i class=\"cubeic-alert\"></i>{{item.text}}</span>\n    </cube-checker-item>\n  </cube-checker>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerList: [],\n        options: [\n          {\n            value: 0,\n            text: 'AAAAA'\n          },\n          {\n            value: 1,\n            text: 'BBBBB'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n\n- 个数限制\n\n  `max` 设置最多可选个数，多选时可用。\n\n  `min` 设置最少可选个数，多选时可用。\n\n\n  ```html\n  <cube-checker\n    v-model=\"checkerList\"\n    :options=\"options\"\n    :min=\"1\"\n    :max=\"2\"/>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerList: [3],\n        options: [\n          {\n            value: 1,\n            text: 'red'\n          },\n          {\n            value: 2,\n            text: 'yellow'\n          },\n          {\n            value: 3,\n            text: 'blue'\n          },\n          {\n            value: 4,\n            text: 'green'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n- 不可点击状态<sup>1.12.19</sup>\n\n  `disabled` 设置禁用状态。\n\n\n  ```html\n  <cube-checker\n    v-model=\"checkerList\"\n    :options=\"options\"/>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        checkerList: [2],\n        options: [\n          {\n            value: 1,\n            text: 'first',\n            disabled: true\n          },\n          {\n            value: 2,\n            text: 'second',\n            disabled: true\n          },\n          {\n            value: 3,\n            text: 'third'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| options | 配置项集合 | Array | - | - |\n| type | 选项类型 | String | checkbox/radio | checkbox |\n| min | 最少可选个数 | Number | - | 0 |\n| max | 最多可选个数 | Number | - | options 的长度 |\n\n* options 子配置项\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| value | 选项的值 | String/Number |\n| text | 选项的文本 | String |\n| disabled<sup>1.12.19</sup> | 选项是否被禁用 | Boolean |\n\n### CubeCheckerItem Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| option | 单个配置项 | Object | - | - |\n\n* option 子配置项\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| value | 选项的值 | String/Number |\n| text | 选项的文本 | String |\n| disabled<sup>1.12.19</sup> | 选项是否被禁用 | Boolean |\n"
  },
  {
    "path": "document/components/docs/zh-CN/create-api.md",
    "content": "## create-api 模块\n\n该模块默认暴露出一个 `createAPI` 函数，可以实现以 API 的形式调用自定义组件。并且既可以在 Vue 实例上下文中调用，也可以[在普通 js 文件中调用](https://didi.github.io/cube-ui/#/zh-CN/docs/create-api#cube-%E5%A6%82%E4%BD%95%E5%9C%A8%E6%99%AE%E9%80%9Ajs%E6%96%87%E4%BB%B6%E4%B8%AD%E6%88%96%E8%80%85%E5%85%A8%E5%B1%80%E8%B0%83%E7%94%A8-anchor)。\n\n__注：__ 所有通过 `createAPI` 实现的通过 API 的形式调用的自定义组件（cube-ui 内置的组件）都需要通过 `Vue.use` 注册才可以。\n\n### createAPI(Vue, Component, [events, single])\n\n- 参数：\n\n  - `{Function} Vue` Vue 函数\n  - `{Function | Object} Component` Vue 组件，组件必须有 name\n  - `{Array} [events]` 组件实例 emit 的事件名集合\n  - `{Boolean} [single]` 是否为单例\n\n- 用法：\n\n  - 该方法在 Vue 的 prototype 上增加一个名为 `$create{camelize(Component.name)}` 的方法，这样就可以在其他组件中直接通过 `const instance = this.$createAaBb(config, [renderFn, single])` 这样来实例化组件了，而且这个实例化组件的元素是被附加到 `body` 元素下的。\n\n  - `const instance = this.$createAaBb(config, renderFn, single)`\n\n    **参数：**\n\n    | 参数 | 说明 | 类型 | 默认值 | 示例 |\n    | - | - | - | - | - |\n    | config | 配置参数，经处理后传给组件 | Object | {} | - |\n    | renderFn | 可选参数，用于生成子 VNode 节点，一般场景是处理 slot | Function | - | function (createElement) {...} |\n    | single | 可选参数，创建的时候决定是否是单例的，优先级更高，如果没有传入 renderFn 的话，single 的值就是第二个参数的值 | Boolean | createAPI() 中传入的 single | - |\n\n    **配置参数 `config`：**\n\n    默认所有的值都会当做 props，但是要排除 createAPI 传入的 `events` 中的事件（默认会做转换，例如：`events` 的值为 `['click']`，那么 `config` 中的 `onClick` 就是作为 `click` 事件的回调函数，而不是作为 props 传递给组件）。\n\n    1.8.0 版本后 `config` 中可以直接设置 `$props` 和 `$events`，`$props` 中的值是**响应式**的，自动监控当前实例化上下文（即 `this.$createXx` 中的 `this`）的上对应的属性值：\n\n    | 参数 | 说明 | 类型 | 默认值 | 示例 |\n    | - | - | - | - | - |\n    | $props | 传递给组件的 Props | Object | - | {<br> title: 'title',<br> content: 'my content',<br> open: false<br>} |\n    | $events | 组件的 Events 事件回调 | Object | - | {<br> click: 'clickHandler',<br> select: this.selectHandler<br>} |\n\n    `$props` 示例，约定结构 `{ [key]: [propKey] }`：\n\n    ```js\n    {\n      title: 'title',\n      content: 'my content',\n      open: false\n    }\n    ```\n\n    `title`、`content`、`open` 就是传递给组件的 Prop 的 key，而对应 Prop 的值则按照如下规则获取：\n\n    1. 如果是非字符串，则直接取配置的 `propKey` 作为值\n    1. 如果是字符串，且配置的 `propKey` 不在当前实例上下文属性上，则直接取 `propKey` 作为值\n    1. 是字符串，且在当前实例上下文属性上，那么直接获取当前实例上下文对应的 `propKey` 的值，且会监控这个值的变化实时更新到组件实例上\n\n    `$events` 示例，约定结构 `{ [eventName]: [eventValue] }`：\n\n    ```js\n    {\n      click: 'clickHandler',\n      select: this.selectHandler\n    }\n    ```\n\n    `click`、`select` 就是事件名，而对应的事件回调则按照如下规则获取：\n\n    1. 如果 `eventValue` 是非字符串，则直接取配置的 `eventValue` 作为值\n    1. 如果 `eventValue` 是字符串，则直接获取当前实例上下文对应的 `eventValue` 的值\n\n    1.10.0 版本以后 `config` 中可以设置 Vue 支持的所有的[配置值](https://vuejs.org/v2/guide/render-function.html#The-Data-Object-In-Depth)，但是必须要加 `$`，例如：\n\n    ```js\n    this.$createAaBb({\n      $attrs: {\n        id: 'id'\n      },\n      $class: {\n        'my-class': true\n      }\n    })\n    ```\n\n    **返回值 `instance`：**\n\n    `instance` 就是组件实例。\n    > 这个实例会被**附加或代理 `remove` 方法**\n\n    如果调用了，该实例就会被销毁且会从 `body` 下移除。\n\n    如果说实例化上下文（即 `this.$createXx` 中的 `this`）销毁的话会自动移除销毁该实例元素。\n\n- 示例：\n\n  我们先编写一个 Hello.vue 组件：\n\n  ```html\n  <template>\n    <div @click=\"clickHandler\">\n      {{content}}\n      <slot name=\"other\"></slot>\n    </div>\n  </template>\n\n  <script type=\"text/ecmascript-6\">\n    export default {\n      name: 'hello',\n      props: {\n        content: {\n          type: String,\n          default: 'Hello'\n        }\n      },\n      methods: {\n        clickHandler(e) {\n          this.$emit('click', e)\n        }\n      }\n    }\n  </script>\n  ```\n\n  然后我们再通过 `createAPI` 把 Hello.vue 变成一个 API 式调用的组件并调用。\n\n  ```js\n    import Vue from 'vue'\n    import Hello from './Hello.vue'\n\n    // 引入 Style 加载基础样式\n    import {\n      /* eslint-disable no-unused-vars */\n      Style,\n      Dialog,\n      createAPI\n    } from 'cube-ui'\n\n    Vue.use(Dialog)\n\n    // 创建 this.$createHello API\n    createAPI(Vue, Hello, ['click'], true)\n\n    // 初始化 Vue\n    new Vue({\n      el: '#app',\n      render: function (h) {\n        return h('button', {\n          on: {\n            click: this.showHello\n          }\n        }, ['Show Hello'])\n      },\n      methods: {\n        showHello() {\n          // 直接调用\n          // 传入配置对象，默认传入的所有对象全都当做 props 传入组件\n          // 除了在调用 createAPI 的时候传入了 events，这里对应的就是\n          // on{event name} 会被当做事件回调处理\n          const instance = this.$createHello({\n            content: 'My Hello Content',\n            onClick(e) {\n              console.log('Hello component clicked.')\n            }\n          }, /* renderFn */ (createElement) => {\n            return [\n              createElement('p', {\n                slot: 'other'\n              }, 'other content')\n            ]\n          })\n          // 通过 Vue 组件的 $on 也是可以监听的，看使用场景\n          instance.$on('click', (e) => {\n            const $dialog = this.$createDialog({\n              type: 'confirm',\n              content: '点击确定关闭当前实例',\n              icon: 'cubeic-alert'\n            })\n            $dialog.show()\n\n            $dialog.$on('confirm', () => {\n              // 销毁实例\n              instance.remove()\n            }).$on('cancel', () => {\n              console.log('cancel')\n            })\n          })\n        }\n      }\n    })\n  ```\n\n  示例中就是创建了一个需要 API 调用的组件 `Hello`，然后在其他组件中去使用，重点就是 `showHello()` 方法做的事情：调用 `this.$createHello(config, renderFn)` 实现组件的实例化。\n\n### 如何在普通 js 文件中或者全局调用\n\n一般当你在 Vue 实例中，你可以直接通过 `this.$createHello(config, renderFn)` 调用该组件。而如果在普通 JS 中`this`不是 Vue 实例，这时就可以通过组件本身的 `$create` 来进行实例化了，比如：\n\n```js\nimport Vue from 'vue'\nimport Hello from './Hello.vue'\n\nimport {\n  createAPI\n} from 'cube-ui'\n\n// 创建 this.$createHello and $Hello.create API\ncreateAPI(Vue, Hello, ['click'], true)\n\nHello.$create(config, renderFn)\n```\n\n或者内置的组件，例如 Dialog：\n\n```js\nimport Vue from 'vue'\nimport { Dialog } from 'cube-ui'\n\nVue.use(Dialog)\n\nDialog.$create({\n  ...\n})\n```\n\n还有一种思路是通过数据驱动，比如用 vuex 维护一个全局 state，在需要调用该组件时更新状态，然后在 App.vue 里去 watch 这个状态变化来调用该组件。\n"
  },
  {
    "path": "document/components/docs/zh-CN/date-picker.md",
    "content": "## DatePicker 组件\n\n> 1.7.0 新增\n\n日期选择器，可用于日期选择，选择粒度的灵活配置，如年月日、时分秒、年月日时分秒、年月等。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 基本用法\n\n  通过 `$createDatePicker` 创建一个组件实例，配置 `min`、`max` 设定选择的日期范围，还可以通过 `value` 设置当前选择的日期。\n\n  ```html\n  <cube-button @click=\"showDatePicker\">Date Picker</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showDatePicker() {\n        if (!this.datePicker) {\n          this.datePicker = this.$createDatePicker({\n            title: 'Date Picker',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.datePicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 列的配置\n\n  `DatePicker` 有一个非常灵活的能力，就是可以配置列，总共是年、月、日、时、分、秒六种的列，你可以通过 `startColumn` 和 `columnCount` 来配置起始列和列数，比如默认的”年月日“选择，是从“年”开始的“三列”，而时分秒，则是从“时”开始的“三列”。\n\n  ```html\n  <cube-button @click=\"showTimePicker\">Time Picker</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showTimePicker() {\n        if (!this.timePicker) {\n          this.timePicker = this.$createDatePicker({\n            title: 'Time Picker',\n            min: [8, 0, 0],\n            max: [20, 59, 59],\n            value: new Date(),\n            startColumn: 'hour',\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.timePicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 年月日时分秒选择器\n\n  同理，如果想要年月日时分秒选择器，则是以“年”开始的六列。\n\n  ```html\n  <cube-button @click=\"showDateTimePicker\">Date Time Picker</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showDateTimePicker() {\n        if (!this.dateTimePicker) {\n          this.dateTimePicker = this.$createDatePicker({\n            title: 'Date Time Picker',\n            min: new Date(2008, 7, 8, 8, 0, 0),\n            max: new Date(2020, 9, 20, 20, 59, 59),\n            value: new Date(),\n            columnCount: 6,\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.dateTimePicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 日期格式\n\n  你还可以通过 `format` 属性配置日期格式。\n\n  ```html\n  <cube-button @click=\"showFormatPicker\">Use format</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showFormatPicker() {\n        if (!this.formatPicker) {\n          this.formatPicker = this.$createDatePicker({\n            title: 'Use format',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            format: {\n              year: 'YY年',\n              month: 'MM月',\n              date: '第 D 日'\n            },\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.formatPicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- `columnOrder` <sup>1.12.14</sup>\n\n  针对日期展示格式顺序不是 \"年-月-日 小时-分钟-秒\" 的场景，可以通过 `columnOrder` 来修改展示顺序。例如日期展示顺序为 “月-日-年”，可配置 `columnOrder` 值为 `['month', 'date', 'year']`\n\n  ```html\n  <cube-button @click=\"showChangeOrderPicker\">Date Picker(Change order)</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showChangeOrderPicker() {\n         if (!this.changeOrderPicker) {\n           this.changeOrderPicker = this.$createDatePicker({\n             title: 'Date Picker',\n             min: new Date(2008, 7, 8),\n             max: new Date(2020, 9, 20),\n             value: new Date(),\n             columnOrder: ['month', 'date', 'year'],\n             onSelect: this.selectHandle,\n             onCancel: this.cancelHandle\n           })\n         }\n         this.changeOrderPicker.show()\n       }\n    }\n  }\n  ```\n\n- `$updateProps`\n\n  通过`$updateProps`方法，可以修改用 createAPI 创建的组件实例的属性。比如 `DatePicker`中，我们可以修改 `value` 属性的值改变当前选择的日期。\n\n  ```html\n  <cube-button @click=\"showUpdatePropsPicker\">Use $updateProps</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showUpdatePropsPicker() {\n        if (!this.updatePropsPicker) {\n          this.updatePropsPicker = this.$createDatePicker({\n            title: 'Use $updateProps',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.updatePropsPicker.show()\n        setTimeout(() => {\n          this.updatePropsPicker.$updateProps({\n            title: 'updated',\n            value: new Date(2010, 9, 1)\n          })\n        }, 1000)\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 | 示例 |\n| - | - | - | - | - | - |\n| min | 可选范围的最小值 | Date, Array | - | new Date(2010, 0, 1) | new Date(2008, 7, 8) |\n| max | 可选范围的最大值 | Date, Array | - | 当前时间未来一年的12月31日，[new Date().getFullYear() + 1, 12, 31, 23, 59, 59] | new Date(2020, 9, 20) |\n| value | 当前选择的日期 | Date, Array | - | 可选范围的最小值 | new Date() |\n| startColumn | 起始列 | String | year/month/date/hour/minute/second| year | hour |\n| columnCount | 列数 | Number | - | 3 | 6 |\n| format<sup>1.8.0+</sup> | 日期格式 | Object | - | { year: 'YYYY', month: 'M', date: 'D', hour: 'hh', minute: 'mm', second: 'ss' } | { year: 'YY年', month: 'MM月', date: '第 D 日' } |\n| title | 标题 | String | - | '' | '时间选择' |\n| subtitle<sup>1.8.1</sup> | 副标题 | String | - | '' | - |\n| cancelTxt | 取消按钮文案 | String | - | '取消' | '返回' |\n| confirmTxt | 确定按钮文案 | String | - | '确定' | '选择' |\n| swipeTime | 快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms | Number | - | 2500 | - |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false | - |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | true | - |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | - | 100 | - |\n| columnOrder<sup>1.12.14</sup> | 列的展示顺序 | Array | - | ['year', 'month', 'date', 'hour', 'minute', 'second'] | - |\n\n* `format` 子配置项\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| year | 年的格式，`YYYY` 代表完整年份，`YY` 仅年份后两位 | String | `YYYY` | `YY年` |\n| month | 月的格式，`M` 不补 0，`MM` 补 0 | String | `M` | `MM月` |\n| date | 日的格式，`D` 不补 0，`DD` 补 0 | String | `D` | `第 D 日` |\n| hour | 时的格式，`h` 不补 0，`hh` 补 0 | String | `hh` | `h点` |\n| minute | 分的格式，`m` 不补 0，`mm` 补 0 | String | `mm` | `mm分` |\n| second | 秒的格式，`s` 不补 0，`ss` 补 0 | String | `ss` | `ss秒` |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| select | 点击确认按钮触发此事件 | date: 当前选中日期，Date 类型 | selectedVal: 当前选中项每一列的值，Array 类型 | selectedText: 当前选中项每一列的文案，Array 类型 |\n| cancel | 点击取消按钮触发此事件 | - | - |\n| change | 滚轴滚动后触发此事件 | index: 当前滚动列次序，Number 类型 | selectedIndex: 当前列选中项的索引，Number 类型 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| show | 显示 |\n| hide | 隐藏 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/dialog.md",
    "content": "## Dialog\n\n`Dialog`模态框组件，提供了多种样式及交互形式。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- alert 类型\n\n  ```html\n  <cube-button @click=\"showAlert\">Dialog - alert</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showAlert() {\n        this.$createDialog({\n          type: 'alert',\n          title: '我是标题',\n          content: '我是内容',\n          icon: 'cubeic-alert'\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `type` 可选的值为 `alert` (对应为提示框)、`confirm` (对应为确认框)、`prompt` （对应提示输入框）<sup>1.11.0</sup>。\n\n- 提示输入类型\n\n  ```html\n  <cube-button @click=\"showPrompt\">Dialog - prompt</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showAlert() {\n        this.dialog = this.$createDialog({\n          type: 'prompt',\n          title: '我是标题',\n          prompt: {\n            value: '',\n            placeholder: '请输入'\n          },\n          onConfirm: (e, promptValue) => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: `Prompt value: ${promptValue || ''}`\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  可通过在 confirm 的事件回调的第二个参数获得输入的值。`prompt` 的值为一个对象，内容会被当做 props 传入 [Input 组件](#/zh-CN/docs/input)。\n\n- 按钮设置\n\n  ```html\n  <cube-button @click=\"showBtn\">Dialog - btn</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showBtn() {\n        this.$createDialog({\n          type: 'confirm',\n          icon: 'cubeic-alert',\n          title: '我是标题',\n          content: '我是内容',\n          confirmBtn: {\n            text: '确定按钮',\n            active: true,\n            disabled: false,\n            href: 'javascript:;'\n          },\n          cancelBtn: {\n            text: '取消按钮',\n            active: false,\n            disabled: false,\n            href: 'javascript:;'\n          },\n          onConfirm: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击确认按钮'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击取消按钮'\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  按钮设置可接受 `String` 或 `Object` 类型数据，当传入 `Object` 类型的数据时，可通过 `text` 字段来设置按钮文案内容、`active` 字段来设置按钮文案是否高亮、`disabled` 字段来设置按钮是否禁用、`href` 字段为按钮的跳转链接。\n\n- 关闭按钮\n\n  ```html\n  <cube-button @click=\"showClose\">Dialog - show close</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showClose() {\n        this.$createDialog({\n          type: 'alert',\n          icon: 'cubeic-alert',\n          showClose: true,\n          title: '标题',\n          onClose: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击关闭按钮'\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `showClose` 字段决定是否需要显示关闭按钮，同时点击关闭按钮会触发 `close` 事件，如果传入了 `onClose` 则会被调用。\n\n- 插槽\n\n  ```html\n  <cube-button @click=\"showSlot\">Dialog - slot</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showSlot() {\n        this.$createDialog({\n          type: 'alert',\n          confirmBtn: {\n            text: '我知道了',\n            active: true\n          }\n        }, (createElement) => {\n          return [\n            createElement('div', {\n              'class': {\n                'my-title': true\n              },\n              slot: 'title'\n            }, [\n              createElement('div', {\n                'class': {\n                  'my-title-img': true\n                }\n              }),\n              createElement('p', '附近车少,优选出租车将来接您')\n            ]),\n            createElement('p', {\n              'class': {\n                'my-content': true\n              },\n              slot: 'content'\n            }, '价格仍按快车计算')\n          ]\n        }).show()\n      }\n    }\n  }\n  ```\n\n  `$createDialog` 的第二个参数是 [render 函数](https://vuejs.org/v2/guide/render-function.html)，一般用于处理插槽的场景；Dialog 组件提供了 2 个具名的插槽 `title` 和 `content`，分别用来分发标题和内容。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| type | 类型 | String | 提示框 alert / 确认框 confirm / 提示输入框 prompt<sup>1.11.0</sup> | alert |\n| icon | 图标的 class 名 | String | [参照 style 模块下的内置 icon 部分](#/zh-CN/docs/style) | '' |\n| title | 标题 | String | - | '' |\n| content | 正文 | String | - | '' |\n| showClose | 是否显示关闭按钮 | Boolean | true/false | false |\n| confirmBtn | 确认按钮参数配置 | Object/String | - | { text: '确定', active: true, href: 'javascript:;' } |\n| cancelBtn | 取消按钮参数配置 | Object/String | - | { text: '取消', active: false, href: 'javascript:;' } |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | false |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | - | 100 |\n| prompt<sup>1.11.0</sup> | prompt 配置，可配置的都是 [Input 组件](#/zh-CN/docs/input) 的 prop | Object | - | {} |\n\n* `confirmBtn` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| text | 按钮文案 | String | - | '确认' |\n| active | 是否高亮 | Boolean | true/false | true |\n| disabled | 是否禁用 | Boolean | true/false | false |\n| href | 点击按钮后的跳转链接 | String | - | 'javascript:;' |\n\n* `cancelBtn` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| text | 按钮文案 | String | - | '取消' |\n| active | 是否高亮 | Boolean | true/false | false |\n| disabled | 是否禁用 | Boolean | true/false | false |\n| href | 点击按钮后的跳转链接 | String | - | 'javascript:;' |\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| title | 标题 | - |\n| content | 内容 | - |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 |\n| - | - | - | - |\n| confirm | 点击确认按钮后触发 | 事件对象 e | 类型为 prompt 时，输入的值 promptValue |\n| cancel | 点击取消按钮后触发 | 事件对象 e | - |\n| close | 点击关闭按钮后触发 | 事件对象 e | - |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| show | 显示 |\n| hide | 隐藏 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/drawer.md",
    "content": "## Drawer\n\n> 1.7.0 新增\n\n抽屉，主要用来需要大范围层级进行选择的场景，一般情况下应该是满屏状态。\n\n__注：__ 组件依赖父容器相对定位或者绝对定位，因为 Drawer 是绝对定位的。\n\n### 示例\n\n- 默认配置使用\n\n  ```html\n  <cube-button @click=\"showDrawer\">Show Drawer</cube-button>\n  <cube-drawer\n    ref=\"drawer\"\n    title=\"请选择\"\n    :data=\"data\"\n    :selected-index=\"selectedIndex\"\n    @change=\"changeHandler\"\n    @select=\"selectHandler\"\n    @cancel=\"cancelHandler\"></cube-drawer>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from '../../data/area'\n  export default {\n    data() {\n      return {\n        selectedIndex: [],\n        data: [\n          provinceList,\n          [],\n          []\n        ]\n      }\n    },\n    methods: {\n      showDrawer() {\n        this.$refs.drawer.show()\n      },\n      changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\n        // fake request\n        setTimeout(() => {\n          let data\n          if (index === 0) {\n            // procince change, get city data\n            data = cityList[item.value]\n          } else {\n            // city change, get area data\n            data = areaList[item.value]\n          }\n          // refill panel(index + 1) data\n          this.$refs.drawer.refill(index + 1, data)\n        }, 200)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        console.log('cancel')\n      }\n    }\n  }\n  ```\n\n  `title` 就是标题，可选；`data` 数据源，二维数组，长度决定了抽屉的 Panel 数，初始长度一定要确定；`selected-index` 则是初始选择的索引值；`change`、`select`、`cancel` 则是对应的三个事件：选择发生改变（选中是非最后一个 Panel 中的项的时候触发）、选中了某个值（选择了最后一个 Panel 中的项触发）、取消（点击左侧空白蒙层触发）。\n\n  你可以在 `change` 中通过 Drawer 的 `fill` 方法更新下一个 Panel 的数据，可以是同步更新也可以是异步更新。\n\n- 自定义使用\n\n  你可以通过插槽来自定义结构。\n\n  ```html\n  <cube-drawer\n    ref=\"drawer\"\n    :data=\"data\"\n    :selected-index=\"selectedIndex\"\n    @change=\"changeHandler\"\n    @select=\"selectHandler\"\n    @cancel=\"cancelHandler\">\n    <span slot=\"title\">{{province.text}}</span>\n    <cube-drawer-panel\n      v-for=\"(panel, index) in data\"\n      :key=\"index\"\n      :index=\"index\"\n      :data=\"panel\"\n    >\n      <cube-drawer-item v-for=\"(item, i) in panel\" :item=\"item\" :key=\"i\" :index=\"i\">\n        <i class=\"cubeic-round-border\"></i>\n        <span>{{item.text}}</span>\n      </cube-drawer-item>\n    </cube-drawer-panel>\n  </cube-drawer>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from '../../data/area'\n  export default {\n    data() {\n      return {\n        province: {},\n        selectedIndex: [],\n        data: [\n          [],\n          []\n        ]\n      }\n    },\n    methods: {\n      showDrawer() {\n        // get radom province\n        const randomIndex = Math.round(Math.random() * provinceList.length)\n        const randomProvince = provinceList[randomIndex]\n        this.province = randomProvince\n        this.$refs.drawer.refill(0, cityList[randomProvince.value])\n        this.$refs.drawer.show()\n      },\n      changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\n        setTimeout(() => {\n          // city change, get area data\n          const data = areaList[item.value]\n          this.$refs.drawer.refill(index + 1, data)\n        }, 200)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        console.log('cancel')\n      }\n    }\n  }\n  ```\n\n  可以在 `cube-drawer` 组件中使用 `cube-drawer-panel` 以及 `cube-drawer-item` 组件来达到某些情况下的自定义目的。\n\n### Props 配置\n\n#### CubeDrawer\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| title | 标题 | String | - | '' |\n| data | 数据源 | Array | - | [] |\n| selectedIndex | 初始选择索引 | Array | - | [] |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n\n- `data` 子配置项\n\n  是一个数组，数组中每一项仍然为数组，结构类似于：\n\n  ```js\n  [\n    [\n      {\n        text: 'text',\n        value: 'value'\n      },\n      ...\n    ],\n    [\n      'text',\n      'text2',\n      ...\n    ]\n  ]\n  ```\n\n  里层数组的每一项可以是对象（包含 text 和 value），也可以是纯字符串。\n\n#### CubeDrawerPanel\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| data | 数据源 | Array | - | [] |\n| index | 该数据源在 CubeDrawer 的 data 中的索引值 | Number | - | -1 |\n\n#### CubeDrawerItem\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| data | 数据项 | String/Object | - | '' |\n| index | 该数据项在 CubeDrawerPanel 的 data 中的索引值 | Number | - | -1 |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 | 参数4 | 参数5 |\n| - | - | - | - | - | - | - |\n| change | 选择发生改变（选中是非最后一个 Panel 中的项的时候触发） | 发生改变的 Panel 的索引 | 发生改变的数据项 | 已选中的值集合 | 已选中的索引集合 | 已选中的文本集合 |\n| select | 选择了最后一个 Panel 中的项触发 | 已选中的值集合 | 已选中的索引集合 | 已选中的文本集合 | - | - |\n| cancel | 点击左侧空白区域触发 | - | - | - | - | - |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| refill | 填充数据，改变某个 Panel 数据 | 要改变的 Panel 的索引 | 填充数据 | 默认选中项（可选，建议不填） |\n| show | 显示 | - | - | - |\n| hide | 隐藏 | - | - | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/form.md",
    "content": "## Form\n\n> 1.7.0 新增\n>\n> 从 1.8.0 开始支持blur 时才触发校验以及 debounce，同 Validator 一样也开始支持异步校验。\n\n表单，包含各种输入组件以及对应的校验；我们可以通过数据驱动的方式来生成完成表单。\n\n### 示例\n\n- 默认配置使用\n\n  一个完整的包含所有的内置表单相关组件。\n\n  ```html\n  <cube-form\n    :model=\"model\"\n    :schema=\"schema\"\n    :immediate-validate=\"false\"\n    :options=\"options\"\n    @validate=\"validateHandler\"\n    @submit=\"submitHandler\"\n    @reset=\"resetHandler\"></cube-form>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          checkboxValue: false,\n          checkboxGroupValue: [],\n          inputValue: '',\n          radioValue: '',\n          rateValue: 0,\n          selectValue: 2018,\n          switchValue: true,\n          textareaValue: '',\n          uploadValue: []\n        },\n        schema: {\n          groups: [\n            {\n              legend: '基础',\n              fields: [\n                {\n                  type: 'checkbox',\n                  modelKey: 'checkboxValue',\n                  props: {\n                    option: {\n                      label: 'Checkbox',\n                      value: true\n                    }\n                  },\n                  rules: {\n                    required: true\n                  },\n                  messages: {\n                    required: 'Please check this field'\n                  }\n                },\n                {\n                  type: 'checkbox-group',\n                  modelKey: 'checkboxGroupValue',\n                  label: 'CheckboxGroup',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'input',\n                  modelKey: 'inputValue',\n                  label: 'Input',\n                  props: {\n                    placeholder: '请输入'\n                  },\n                  rules: {\n                    required: true\n                  },\n                  // validating when blur\n                  trigger: 'blur'\n                },\n                {\n                  type: 'radio-group',\n                  modelKey: 'radioValue',\n                  label: 'Radio',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'select',\n                  modelKey: 'selectValue',\n                  label: 'Select',\n                  props: {\n                    options: [2015, 2016, 2017, 2018, 2019, 2020]\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'switch',\n                  modelKey: 'switchValue',\n                  label: 'Switch',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'textarea',\n                  modelKey: 'textareaValue',\n                  label: 'Textarea',\n                  rules: {\n                    required: true\n                  },\n                  // debounce validate\n                  // if set to true, the default debounce time will be 200(ms)\n                  debounce: 100\n                }\n              ]\n            },\n            {\n              legend: '高级',\n              fields: [\n                {\n                  type: 'rate',\n                  modelKey: 'rateValue',\n                  label: 'Rate',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'upload',\n                  modelKey: 'uploadValue',\n                  label: 'Upload',\n                  events: {\n                    'file-removed': (...args) => {\n                      console.log('file removed', args)\n                    }\n                  },\n                  rules: {\n                    required: true,\n                    uploaded: (val, config) => {\n                      return Promise.all(val.map((file, i) => {\n                        return new Promise((resolve, reject) => {\n                          if (file.uploadedUrl) {\n                            return resolve()\n                          }\n                          // fake request\n                          setTimeout(() => {\n                            if (i % 2) {\n                              reject(new Error())\n                            } else {\n                              file.uploadedUrl = 'uploaded/url'\n                              resolve()\n                            }\n                          }, 1000)\n                        })\n                      })).then(() => {\n                        return true\n                      })\n                    }\n                  },\n                  messages: {\n                    uploaded: '上传失败'\n                  }\n                }\n              ]\n            },\n            {\n              fields: [\n                {\n                  type: 'submit',\n                  label: 'Submit'\n                },\n                {\n                  type: 'reset',\n                  label: 'Reset'\n                }\n              ]\n            }\n          ]\n        },\n        options: {\n          scrollToInvalidField: true,\n          layout: 'standard' // classic fresh\n        }\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        e.preventDefault()\n        console.log('submit', e)\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      resetHandler(e) {\n        console.log('reset', e)\n      }\n    }\n  }\n  ```\n\n  `model` 就是整个表单需要的数据源，`schema` 就是生成表单所定义的模式，`immediate-validate` 如果为 true 则初始时立即做校验，`options` 则是配置选项。\n\n  `submit` 校验成功后提交事件，`validate` 每次有数据校验更新的事件，`reset` 则是重置事件。\n\n- 自定义使用\n\n  你可以选择使用自己自定义的组件甚至通过插槽来自定义结构和行为。\n\n  ```html\n  <cube-form :model=\"model\" @validate=\"validateHandler\" @submit=\"submitHandler\">\n    <cube-form-group>\n      <cube-form-item :field=\"fields[0]\"></cube-form-item>\n      <cube-form-item :field=\"fields[1]\"></cube-form-item>\n      <cube-form-item :field=\"fields[2]\">\n        <cube-button @click=\"showDatePicker\">{{model.dateValue || 'Please select date'}}</cube-button>\n        <date-picker ref=\"datePicker\" :min=\"[2008, 8, 8]\" :max=\"[2020, 10, 20]\" @select=\"dateSelectHandler\"></date-picker>\n      </cube-form-item>\n    </cube-form-group>\n    <cube-form-group>\n      <cube-button type=\"submit\">Submit</cube-button>\n    </cube-form-group>\n  </cube-form>\n  ```\n  ```js\n  // province, city, area\n  // select component\n  const PCA = {\n    props: {\n      value: {\n        type: Array,\n        default() {\n          return []\n        }\n      }\n    },\n    data() {\n      return {\n        selected: []\n      }\n    },\n    render(createElement) {\n      return createElement('cube-button', {\n        on: {\n          click: this.showPicker\n        }\n      }, this.selected.length ? this.selected.join(' ') : 'placeholder')\n    },\n    mounted() {\n      this.picker = this.$createCascadePicker({\n        title: 'PCA Select',\n        data: cityData,\n        selectedIndex: this.value,\n        onSelect: this.selectHandler\n      })\n    },\n    methods: {\n      showPicker() {\n        this.picker.show()\n      },\n      selectHandler(selectedVal, selectedIndex, selectedTxt) {\n        this.selected = selectedTxt\n        this.$emit('input', selectedVal)\n      }\n    }\n  }\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          inputValue: '',\n          pcaValue: [],\n          dateValue: ''\n        },\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: '请输入'\n            },\n            rules: {\n              required: true\n            }\n          },\n          {\n            component: PCA,\n            modelKey: 'pcaValue',\n            label: 'PCASelect',\n            rules: {\n              required: true\n            },\n            messages: {\n              required: '请选择'\n            }\n          },\n          {\n            modelKey: 'dateValue',\n            label: 'Date',\n            rules: {\n              required: true\n            }\n          }\n        ]\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        console.log('submit')\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      showDatePicker() {\n        this.$refs.datePicker.show()\n      },\n      dateSelectHandler(selectedVal) {\n        this.model.dateValue = new Date(selectedVal[0], selectedVal[1] - 1, selectedVal[2]).toDateString()\n      }\n    },\n    components: {\n      DatePicker\n    }\n  }\n  ```\n\n  可以通过 `component` 指定实现了 `v-model` 的自定义组件，例如示例中的 `PCA` 组件；也可以通过使用插槽自定义结构行为，比如示例中的日期选择。\n\n  - 自定义问卷场景\n\n  你可以利用 Form 组件的特性轻松实现类似问卷这种场景表单，组件示例源代码：https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire\n\n  ```html\n  <demo-questionnaire\n    :tip=\"tip\"\n    :questions=\"questions\"\n    :submit=\"submit\"\n    @submit=\"submitHandler\"\n  />\n  ```\n  ```js\n  // source\n  // https://github.com/didi/cube-ui/tree/dev/example/components/questionnaire/questionnaire.vue\n  import DemoQuestionnaire from 'example/components/questionnaire/questionnaire.vue'\n  export default {\n    data() {\n      return {\n        tip: '请配合如实填写问卷，确保xxxx相关文案',\n        questions: [\n          {\n            type: 'switch',\n            model: 'switch',\n            title: '询问是否？'\n            // required: true\n          },\n          {\n            type: 'input',\n            model: 'input',\n            title: '输入',\n            options: {\n              placeholder: '请输入'\n            },\n            on: 'switch',\n            required: true\n          },\n          {\n            type: 'date',\n            model: 'date',\n            title: '日期',\n            options: {\n              // min: '2020-01-01',\n              // max: '2020-02-18'\n            },\n            required: true\n          },\n          {\n            type: 'time',\n            model: 'time',\n            title: '时间',\n            options: {\n              min: '01:00',\n              max: '23:59'\n            },\n            required: true\n          },\n          {\n            type: 'select',\n            model: 'select',\n            title: '选择',\n            options: [\n              'option1',\n              'option2',\n              'option3'\n            ],\n            required: true\n          },\n          {\n            type: 'radio',\n            model: 'radio',\n            title: '单选',\n            options: [\n              '单选1',\n              '单选2',\n              '单选3'\n            ],\n            required: true\n          },\n          {\n            type: 'checkbox',\n            model: 'checkbox',\n            title: '多选',\n            options: [\n              '多选1',\n              '多选2',\n              '多选3'\n            ],\n            required: true\n          },\n          {\n            type: 'textarea',\n            model: 'textarea',\n            title: '多行文本',\n            on: {\n              model: 'checkbox',\n              options: ['多选1', '多选3']\n            },\n            required: true\n          },\n          {\n            type: 'checkbox',\n            row: true,\n            model: 'checkbox2',\n            title: '多选-横',\n            options: [\n              '多选-横1',\n              '多选-横2',\n              '多选-横3'\n            ],\n            required: true\n          },\n          {\n            type: 'tel',\n            model: 'tel',\n            title: '手机号',\n            options: {\n              placeholder: '请输入手机号'\n            },\n            required: true\n          },\n          {\n            type: 'rate',\n            model: 'rate',\n            title: '级别',\n            options: {\n              max: 10\n            },\n            required: true\n          },\n          {\n            type: 'city',\n            model: 'city',\n            title: '城市',\n            required: true\n          },\n          {\n            type: 'upload',\n            model: 'upload',\n            title: '上传',\n            options: {\n              action: '//jsonplaceholder.typicode.com/photos/',\n              max: 2\n            },\n            required: true\n          },\n          {\n            type: 'agreement',\n            model: 'agreement',\n            options: {\n              text: '请同意',\n              link: {\n                text: '《xx协议》',\n                href: 'https://github.com/didi/cube-ui'\n              },\n              desc: '说明：本人承诺xx xxxxx xxx xx。'\n            },\n            required: true,\n            errMsg: '请同意协议'\n          }\n        ],\n        submit: {\n          text: 'Submit'\n        }\n      }\n    },\n    components: {\n      DemoQuestionnaire\n    },\n    methods: {\n      submitHandler(model) {\n        console.log('submit', model)\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n#### CubeForm\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| model | 数据源 | Object | - | {} |\n| schema | 生成表单依赖的模式 | Object | - | {} |\n| immediateValidate | 初始化时是否立即校验 | Boolean | true/false | false |\n| action | 表单 Form action 的值 | String | - | undefined |\n| options | 配置项 | Object | - | {<br>scrollToInvalidField: false,<br> layout: 'standard' // or: classic|fresh <br>} |\n| submitAlwaysValidate<sup>1.12.36+</sup> | 提交表单时是否总校验所有字段 | Boolean | true/false | false |\n\n- `schema` 子配置项\n\n  模式用于定义表单中的各个字段，可以选择是否分组。\n\n  - 无分组\n\n    直接包含 `fields` 即可：\n\n    ```js\n    {\n      fields: [\n        {\n          type: 'input',\n          modelKey: 'inputValue',\n          label: 'Input'\n        },\n        // ...\n      ]\n    }\n    ```\n\n  - 有分组\n\n    可以设置 `groups`：\n\n    ```js\n    {\n      groups: [\n        {\n          legend: 'Group 1'\n          fields: [\n            {\n              type: 'input',\n              modelKey: 'inputValue',\n              label: 'Input'\n            },\n            // ...\n          ]\n        },\n        {\n          legend: 'Group 2'\n          fields: [\n            {\n              type: 'input',\n              modelKey: 'inputValue',\n              label: 'Input'\n            },\n            // ...\n          ]\n        }\n      ]\n    }\n    ```\n\n  不管有没有分组，我们都需要使用 `fields` 定义表单字段，其中每一项可以有如下属性：\n\n  | 参数 | 说明 | 类型 | 可选值 | 默认值 |\n  | - | - | - | - | - |\n  | type | 字段类型 | String | 默认内置的可选类型组件有：`button`, `checkbox`, `checkbox-group`, `input`, `radio`, `radio-group`, `rate`, `select`, `switch`, `textarea`, `upload`；以及特殊的 `submit` 和 `reset`，它们两个会被转换为对应类型的 `button` | - |\n  | component | 字段使用的自定义组件，替换 type，该组件组件实现 `v-model` | Object/String | - | - |\n  | modelKey | 在表单的 `model` 数据源对象中所对应的 key 名字 | String | - | - |\n  | label | 字段的标签值 | String | - | - |\n  | props | type 对应的组件或者自定义组件 component 所需要的 props | Object | - | - |\n  | events<sup>1.8.0+</sup> | type 对应的组件或者自定义组件 component 的事件回调 | Object | - | - |\n  | rules | 字段的校验规则，参见 <a href=\"#/zh-CN/docs/validator#cube-Props-anchor\">Validator</a> | Object | - | - |\n  | trigger<sup>1.8.0+</sup> | 如果设置为 'blur' 那么则会在离焦后校验 | String | blur/change | - |\n  | debounce<sup>1.8.0+</sup> | 控制校验节奏，值为时间，单位 ms。如果 trigger 设置为 blur 则此项配置不生效 | Number/Boolean | >= 0，如果设置为 true，那么时间就是 200(ms) | - |\n  | messages | 字段的校验消息，参见 <a href=\"#/zh-CN/docs/validator#cube-Props-anchor\">Validator</a> | String | - | - |\n  | key<sup>1.12.36+</sup> | 字段的唯一key，尤其适用在 schema 更新的场景中 | String | - | - |\n\n- `options` 子配置项\n\n  | 参数 | 说明 | 类型 | 可选值 | 默认值 |\n  | - | - | - | - | - |\n  | scrollToInvalidField | 是否默认滚动到第一个无效字段位置 | Boolean | true/false | false |\n  | layout | 表单何种布局方式 | String | standard/classic/fresh | standard |\n\n#### CubeFormGroup\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| legend | 分组名字 | String | - | '' |\n| fields | 该组内所包含的字段集合 | Array | - | [] |\n\n#### CubeFormItem\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| field | 字段数据 | Object | - | - |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| submit | 表单校验通过后触发此事件，如果只有同步校验，则不会阻止默认行为，而如果包含了异步校验，则默认就会阻止默认行为 | e - 事件对象 | model 值 | 只包含存在的字段的 model 值<sup>1.12.30+</sup> |\n| reset | 表单重置事件 | e - 事件对象 | - | - |\n| validate | 表单校验事件 | 参数结构如下：<br>{<br>validity,<br> valid,<br> invalid,<br> dirty,<br> firstInvalidFieldIndex<br>} | - | - |\n| valid | 表单校验成功触发 | validity 校验结果 | - | - |\n| invalid | 表单校验失败触发 | validity 校验结果 | - | - |\n\n- `validate` 事件的参数\n\n  | 参数 | 说明 | 类型 |\n  | - | - | - |\n  | validity | 校验结果 | Object |\n  | valid | 校验合法，如果还没校验则为 undefined，一旦校验则为 true 或 false | Boolean/Undefined |\n  | invalid | 校验不合法，如果还没校验则为 undefined，一旦校验则为 true 或 false | Boolean |\n  | dirty | 表单处于 dirty 状态，也就意味着数据源发生了变化 | Boolean |\n  | firstInvalidFieldIndex | 第一个校验不合法的字段索引值 | Number |\n\n  - 校验结果 `validity` 对象\n\n    | 参数 | 说明 | 类型 |\n    | - | - | - |\n    | valid | 校验是否合法 | Boolean/Undefined |\n    | result | 校验结果，类似于：<br>{<br>&nbsp;required: {<br>&nbsp;&nbsp;valid: false,<br>&nbsp;&nbsp;invalid: true,<br>&nbsp;&nbsp;message: 'Required.'<br>&nbsp;}<br>} | Object |\n    | dirty | 数据是否是已经更新过的 | Boolean |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| - | - | - | - |\n| submit | 提交表单 | skipValidate, 默认 false，如果为 true 代表不校验 直接 submit<sup>1.12.2+</sup> | - |\n| reset | 重置表单 | - | - |\n| validate(cb) | 校验表单 | cb: 校验完成后回调函数，主要用于异步校验场景，调用参数为 valid 的值 | 如果支持 Promise 的话返回值是 Promise 对象（只有 resolved 状态，值为 valid），否则 undefined |\n"
  },
  {
    "path": "document/components/docs/zh-CN/image-preview.md",
    "content": "## ImagePreview\n\n> 1.10.0 新增\n\n图片预览，支持切换、放大缩小等能力。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n如下示例相关代码在[这里](https://github.com/didi/cube-ui/tree/master/example/pages/image-preview)。\n\n- 默认使用\n\n  ```html\n  <cube-button @click=\"showImagePreview\">Show ImagePreview</cube-button>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        imgs: [\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\n        ]\n      }\n    },\n    methods: {\n      showImagePreview() {\n        this.$createImagePreview({\n          imgs: this.imgs\n        }).show()\n      }\n    }\n  }\n  ```\n\n  只需要提供 `imgs` 图片地址列表就可以了。\n\n- 多图场景\n\n  ```html\n  <div class=\"imgs-container\">\n    <img\n      :src=\"img\"\n      v-for=\"(img, index) in imgs\"\n      :key=\"img\"\n      @click=\"handleImgsClick(index)\">\n  </div>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        initialIndex: 0,\n        imgs: [\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\n        ]\n      }\n    },\n    methods: {\n      handleImgsClick(index) {\n        this.initialIndex = index\n        const params = {\n          $props: {\n            imgs: this.imgs,\n            initialIndex: 'initialIndex', // 响应式数据的key名\n            loop: false\n          },\n          $events: {\n            change: (i) => {\n              // 必须更新 initialIndex\n              this.initialIndex = i\n            }\n          }\n        }\n        this.$createImagePreview({ ...params }).show()\n      }\n    }\n  }\n  ```\n\n  大多数应用场景都是多图点击之后，实例化 image-preview 组件，展示的图片是每次被点击的图片。\n\n- 自定义使用\n\n  ```html\n  <cube-button @click=\"showCustomImagePreview\">Show Custom ImagePreview</cube-button>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        customIndex: 1,\n        imgs: [\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg',\n          'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\n        ]\n      }\n    },\n    methods: {\n      showCustomImagePreview() {\n        this.$createImagePreview({\n          imgs: this.imgs,\n          initialIndex: this.customIndex,\n          loop: false,\n          speed: 500,\n          onChange: (i) => {\n            this.customIndex = i\n          },\n          onHide: () => {\n            console.log('hide')\n          }\n        }, (h) => {\n          return h('div', {\n            class: {\n              'image-preview-custom-header': true\n            },\n            slot: 'header'\n          }, this.customIndex + 1)\n        }).show()\n      }\n    }\n  }\n  ```\n\n  我们可通过插槽定义自己的其他自定义需求，通过传入 Prop 重新定义图片预览行为。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| imgs | 图片地址列表 | Array | - | [] |\n| initial-index | 初始索引 | Number | - | 0 |\n| loop | 是否可循环 | Boolean | true/false | true |\n| speed | 轮播速度，单位 ms | Number | - | 400 |\n| zIndex<sup>1.10.11</sup> | 样式 z-index 的值 | Number | - | 100 |\n| preventDefault<sup>1.10.16</sup> | 是否阻止默认行为，因底层使用 BetterScroll 实现 | Boolean | true/false | true |\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| header | 顶部 header 内容 | current: 当前索引 |\n| footer | 底部 footer 内容 | current: 当前索引 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| change | 查看图片索引改变 | 当前索引值 |\n| hide | 隐藏 | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/index-list.md",
    "content": "## IndexList\n\n索引列表，提供了列表索引的功能，也是一个基于`better-scroll`进行封装的组件。\n\n### 示例\n\n- 基本使用\n\n  构造如示例中 `cityData` 这样结构的数据，传入 `cube-index-list` 组件的 `data` 属性。\n\n  ```html\n  <cube-index-list\n    :data=\"cityData\"\n    :title=\"title\"\n    @select=\"selectItem\"\n    @title-click=\"clickTitle\"></cube-index-list>\n  ```\n  ```javascript\n  const cityData = [\n    {\n      \"name\": \"★Hot City\",\n      \"items\": [\n        {\n          \"name\": \"BEIJING\",\n          \"value\": 1\n        },\n        {\n          \"name\": \"SHANGHAI\",\n          \"value\": 2\n        }\n      ]\n    },\n    {\n      \"name\": \"A\",\n      \"items\": [\n        {\n          \"name\": \"ANSHAN\",\n          \"value\": 3\n        },\n        {\n          \"name\": \"ANQING\",\n          \"value\": 4\n        }\n      ]\n    }\n  ]\n\n  export default {\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        cityData: cityData\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      }\n    }\n  }\n  ```\n\n- 自定义插槽\n\n  除了默认结构，你还可以根据自己的需要自定义每一项的内容。如下所示，将你的自定义内容项填入`cube-index-list-item`的插槽。除非你真的知道自己在做什么，否则不要修改`cube-index-list-group`和`cube-index-list-item`的用法。\n\n  ```html\n  <cube-index-list :data=\"cityData\">\n    <cube-index-list-group\n      v-for=\"(group, index) in cityData\"\n      :key=\"index\"\n      :group=\"group\">\n      <cube-index-list-item\n        v-for=\"(item, index) in group.items\"\n        :key=\"index\"\n        :item=\"item\"\n        @select=\"selectItem\">\n        <div class=\"custom-item\">我是自定义 {{item.name}}</div>\n      </cube-index-list-item>\n    </cube-index-list-group>\n  </cube-index-list>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        cityData: cityData\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      }\n    }\n  }\n  ```\n  ```stylus\n  // 自定义项的样式\n  .custom-item\n    position: relative\n    height: 70px\n    line-height: 70px\n    padding: 0 16px\n    font-size: $fontsize-medium\n\n  // 用自定义样式，覆写内置的默认样式\n  .cube-index-list-content\n    background-color: #222\n    color: #909090\n  .cube-index-list-anchor\n    background-color: #333\n    height: 30px\n    line-height: 30px\n    padding: 0 0 0 20px\n  .cube-index-list-nav\n    padding: 20px 0\n    border-radius: 10px\n    background: rgba(0,0,0,.3)\n    >ul\n      >li\n        padding: 3px\n        font-size: 12px\n        color: #909090\n        &.active\n          color: #ffcd32\n  ```\n\n- 上拉加载\n\n  可以通过 `pullUpLoad` 属性开启上拉加载功能，具体配置同 Scroll 组件的 `options.pullUpLoad`。\n\n  ```html\n  <cube-index-list\n    ref=\"indexList\"\n    :data=\"data\"\n    :title=\"title\"\n    :pullUpLoad=\"true\"\n    @select=\"selectItem\"\n    @title-click=\"clickTitle\"\n    @pulling-up=\"onPullingUp\">\n  </cube-index-list>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        data: cityData.slice(0, 4)\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      },\n      onPullingUp() {\n        // Mock async load.\n        setTimeout(() => {\n          const length = this.data.length\n          if (length < cityData.length) {\n            // Update data.\n            this.data.push(cityData[length])\n          }\n          // Call forceUpdate after finishing data load.\n          this.$refs.indexList.forceUpdate()\n        }, 1000)\n      }\n    }\n  }\n  ```\n\n  - 下拉刷新\n\n  可以通过 `pullDownRefresh` 属性开启下拉刷新功能，具体配置同 Scroll 组件的 `options.pullDownRefresh`\n\n  ```html\n  <cube-index-list\n    ref=\"indexList\"\n    :data=\"data\"\n    :title=\"title\"\n    :pullDownRefresh=\"pullDownRefresh\"\n    @select=\"selectItem\"\n    @title-click=\"clickTitle\"\n    @pulling-down=\"onPullingDown\">\n  </cube-index-list>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        data: cityData,\n        pullDownRefresh: {\n          stop: 55\n        }\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      },\n      onPullingDown() {\n        // Mock async load.\n        setTimeout(() => {\n          // Update data.\n          this.data[1].items.push(...cityData[1].items)\n          // Call forceUpdate after finishing data load.\n          this.$refs.indexList.forceUpdate(true)\n        }, 1000)\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 |\n| - | - | - | - |\n| title | 标题 | String | - |\n| data | 需要展示的数据 | Array | [] |\n| navbar | 是否需要导航栏 | Boolean | true |\n| speed | 点击导航栏索引时，滚动到相应位置的动画时间（单位：ms） | number | 0 |\n| options<sup>1.9.8+</sup> | better-scroll 配置项，具体请参考[BS 官方文档](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) | Object | {<br>  observeDOM: true,<br>  click: true,<br>  probeType: 1,<br>  scrollbar: false,<br>  pullDownRefresh: false,<br>  pullUpLoad: false<br>} <br>`注意`：从`1.12.38`版本开始，因修复[BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html)在`iOS13.4`版本的滚动问题，`useTransition`在iOS版本>=13.4时默认为`fasle`<br>具体请参考[#978](https://github.com/ustbhuangyi/better-scroll/issues/978)|\n| pullUpLoad<sup>1.8.0+</sup> | 上拉加载，具体配置参考 scroll 组件的 `options.pullUpLoad`。`即将废弃`，推荐使用 `options` 属性 | Boolean/Object | false |\n| pullDownRefresh<sup>1.8.0+</sup> | 下拉刷新，具体配置参考 scroll 组件的 `options.pullDownRefresh`。`即将废弃`，推荐使用 `options` 属性 | Boolean/Object | false |\n\n- `data` 子配置项\n\n`data` 是数组，表示的是一组数据，每一项配置：\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| name | 组名 | String |\n| items | 当前组下的数据项 | Array |\n\n`items` 数组中的每一项必须是对象，且包含 `name` 属性用于显示内容；例如 `items`: `[{name: 'xx', ...}, ...]`\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| title<sup>1.12.25+</sup> | 标题插槽 | - |\n| pulldown<sup>1.9.4+</sup> | 位于列表上方，会在下拉刷新时显示，与 scroll 组件相同 | 具体参考 scroll 组件的 pulldown 插槽作用域参数介绍 |\n| pullup<sup>1.9.4+</sup> | 位于列表下方，会在上拉加载时显示，与 scroll 组件相同  | 具体参考 scroll 组件的 pullup 插槽作用域参数介绍 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| select | 点击 IndexList 的某一项后触发 | 该选项的数据 |\n| title-click | 点击 title 后触发(title 必须设置后才有效) | title属性值 |\n| pulling-up<sup>1.8.0+</sup> | 当 pullUpLoad 属性为 true 时，在上拉超过阈值时触发 | - |\n| pulling-down<sup>1.8.0+</sup> | 当 pullDownRefresh 属性为 true 时，在下拉超过阈值时触发 | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/input.md",
    "content": "## Input\n\n> 1.5.0 新增\n\n输入框组件。支持使用`v-model`对数据双向绑定，支持一键清空内容。\n\n### 示例\n\n- 基本用法\n\n  使用`v-model`对输入内容双向绑定。\n\n  ```html\n  <cube-input v-model=\"value\" ></cube-input>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: ''\n      }\n    }\n  }\n  ```\n\n- 控制最大长度\n\n  通过 watch 组件的 value 值的长度可实现手工控制值长度。\n\n  ```html\n  <cube-input v-model=\"value\"></cube-input>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: ''\n      }\n    },\n    watch: {\n      value(newV) {\n        if (newV.length > 10) {\n          newV = newV.slice(0, 10)\n          this.$nextTick(() => {\n            this.value = newV\n          })\n        }\n      }\n    }\n  }\n  ```\n\n  上述代码就是控制输入内容长度不得超过10位。\n\n- 清空按钮\n\n  可通过`clearable`配置清空按钮。\n\n  在 1.11.0 版本之前 `clearable` 的值是布尔类型的，表示是否展示清除按钮；\n\n  在 1.11.0 版本之后 `clearable` 可配置为布尔类型，还可以配置为对象。\n\n  ```html\n  <cube-input\n    v-model=\"value\"\n    :clearable=\"clearable\"\n  ></cube-input>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: '',\n        clearable: {\n          visible: true,\n          blurHidden: true\n        }\n      }\n    }\n  }\n  ```\n\n  `clearable` 配置的对象可以包含两个 key 值：`visible` 和 `blurHidden` 分别代表是否展示以及当 Input 元素离焦的时候是否隐藏。\n\n- 密码配置\n\n  可通过`eye`设置密码眼睛。\n\n  ```html\n  <cube-input\n    v-model=\"value\"\n    :placeholder=\"placeholder\"\n    :type=\"type\"\n    :maxlength=\"maxlength\"\n    :readonly=\"readonly\"\n    :disabled=\"disabled\"\n    :autofocus=\"autofocus\"\n    :autocomplete=\"autocomplete\"\n    :eye=\"eye\"\n  ></cube-input>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: '',\n        placeholder: '请输入内容',\n        type: 'password',\n        readonly: true,\n        maxlength: 100,\n        disabled: true,\n        autofocus: true,\n        autocomplete: true,\n        eye: {\n          open: true,\n          reverse: false\n        }\n      }\n    }\n  }\n  ```\n\n  如同上边展示的，除了上述配置，还支持原生 Input 元素的大部分配置。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| type | input类型 | String | text/number/password/date | text |\n| v-model | 绑定的值 | String | - | 空 |\n| disabled | 禁用状态 | Boolean | true/false | false |\n| readonly | 只读状态 | Boolean | true/false | false |\n| maxlength | 最大输入长度 | Number | - | 60 |\n| placeholder | 占位文本 | String | - | 空 |\n| autofocus | 自动对焦 | Boolean | true/false | false |\n| autocomplete | 自动补全 | Boolean | true/false | false |\n| clearable | 是否使用清空按钮，1.11.0 后可配置为对象形式 `{visible: true, blurHidden: true}`，其中 `visible` 控制是否显示，`blurHidden` 控制离焦后是否隐藏 | Boolean/Object<sup>1.11.0+</sup> | true/false/{visible: true, blurHidden: true} | false |\n| eye | 默认 false，密码眼睛不可见；如果是 true ，则相当于配置为对象 `{ open: true, reverse: false }`。对象形式表示使用密码眼睛。其中 `open` 控制眼睛张开还是闭合。`reverse` 控制密码可见和眼睛开闭是否相反。 | Boolean/Object | true/false/{open: true/false, reverse: true/false} | false |\n\n### 插槽\n\n| 名字 | 说明 |\n| - | - |\n| prepend | 前置内容 |\n| append | 后置内容 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| focus | 输入框聚焦后触发此事件，如果禁用状态，则不触发 | e - 事件对象 |\n| blur | 输入框失焦后触发此事件 | e - 事件对象 |\n| change | 绑定值改变且输入框失去焦点后触发 | e - 事件对象 |\n| input | 绑定值变化时触发 | 更新后的绑定值 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| focus<sup>1.12.10+</sup> | 获得焦点 |\n| blur<sup>1.12.10+</sup> | 离焦 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/internationalization.md",
    "content": "## 国际化\n\n> 1.11.0 新增\n\ncube-ui 内部所有非可配置的文案，都是中文的形式，所以如果你的应用是需要做对应的国际化文案翻译，那么 cube-ui  `1.11.0` 这个版本是提供了给 cube-ui 组件的文案翻译的能力，甚至这种能力也能延伸至你的应用。\n\n## cube-ui 组件的国际化\n\ncube-ui 默认是用的中文语言包，并且已经注册了。cube-ui 内部也内置了对应的英文语言包，但是你需要如下的逻辑来注册语言包，同时切换至对应的语言。\n\n```js\n  import Vue from 'vue'\n  import { Locale } from 'cube-ui'\n  import enUSMessages from 'cube-ui/src/locale/lang/en-US'\n\n  Vue.use(Locale)\n  // 切换至英语，并且缓存当前语言包\n  Locale.use('en-US', enUSMessages)\n```\n\ncube-ui 会监听当前的语言类型，因此自动渲染组件对应的文案，同时缓存加载过的文案，在做组件语言切换的时候，如果语言包已经安装，cube-ui 直接取缓存的文案。类似伪代码如下：\n\n```js\n  import Vue from 'vue'\n  import { Locale } from 'cube-ui'\n  import enUSMessages from 'cube-ui/src/locale/lang/en-US'\n\n  // 默认加载中文语言包\n  Vue.use(Locale)\n\n  // 切换至英语，并且需要导入英语语言包\n  one.click(() =>{\n    Locale.use('en-US', enUSMessages)\n  })\n\n  another.click(() => {\n    // 从缓存取之前的语言包\n    Locale.use('zh-CN')\n  })\n```\n\n但是可能你有其他国家的翻译需求，比如日语、韩语，那么你需要自己提供语言包，并且切换至对应语言。代码如下：\n\n```js\n  import Vue from 'vue'\n  import { Locale } from 'cube-ui'\n  import jPMessages from '/somewhere/ja-JP.js' // 自己的语言包\n\n  Vue.use(Locale)\n\n  // 切换至日语，并且需要导入日语语言包\n  Locale.use('ja-JP', jPMessages)\n```\n\n你导入的语言包的配置项形式应该与下面相仿，默认的中文语言包如下：\n\n```js\n  export default {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  }\n```\n\n## 程序应用的国际化<sup>1.12.23+</sup>\n\n如上面所述，cube-ui 给自己的组件提供了国际化的能力，但是这种能力也能延伸至你的应用，分两步进行：\n\n1. **导入语言包**\n\n  首先，得导入语言包，这个语言包应该是包含 cube-ui 默认语言包的全集。比如你的语言包配置可能如下：\n\n  ```js\n    // default.js\n\n    export default {\n      \"application_key\": \"这是我应用的翻译\",\n      \"country\": {\n        \"province\": \"北京\"\n      }\n\n      /* cube-ui 的默认配置*/\n      \"cancel\": \"Cancel\",\n      // ...忽略中间部分的配置，\n      \"validator\": {/* */}\n    }\n  ```\n\n  接着在你应用的入口文件导入这个语言包。\n\n  ```js\n    import Vue from 'vue'\n    import { Locale } from 'cube-ui'\n    import defaultMessages from 'default.js' // 自己的语言包\n\n    Vue.use(Locale)\n    Locale.use('zh-CN', defaultMessages)\n  ```\n\n2. **在组件内部通过 mixins 注入翻译的能力**\n\n  然后借助于 `Vue` 提供的 mixin 能力。cube-ui 提供了语言包 `key=>value` 的转换函数 `$t`，你只需要在组件的 `mixins` 属性注入它，之后就可以在模版使用。示例如下：\n\n  ```js\n  // dialog.vue\n\n  import { Locale } from 'cube-ui'\n  <script>\n    export default {\n      //...\n      mixins: [Locale.localeMixin] // 注入 mixin，拥有 $t 的能力，1.12.23 版本新加\n    }\n  </script>\n  ```\n\n  接着，只需要在模版使用它就行：\n\n  ```html\n  <template>\n    <div>\n      {{$t('application_key')}}\n    </div>\n  </template>\n  ```\n\n  最后，`{{$t('application_key')}}` 就被渲染成 `\"这是我应用的翻译\"`。考虑到你的语言包可能是多层级嵌套，`$t` 还接受一个以 `\".\"` 为分隔符的字符串，来获取深层次的属性，例如：\n\n  ```js\n  // 你的语言包结构形式\n  export default {\n    a: {\n      b: {\n        c: \"嵌套的 c\"\n      }\n    }\n  }\n  ```\n\n  那么你在 `template` 的使用就很简单。\n\n  ```html\n  <template>\n    <div>\n      {{$t('a.b.c')}}\n    </div>\n  </template>\n  ```\n"
  },
  {
    "path": "document/components/docs/zh-CN/introduction.md",
    "content": "## 介绍\n\ncube-ui 是基于 Vue.js 实现的精致移动端组件库。\n\n### 特性\n\n- **质量可靠**\n\n   由滴滴内部组件库精简提炼而来，经历了业务一年多的考验，并且每个组件都有充分单元测试，为后续集成提供保障。\n\n- **体验极致**\n\n   以迅速响应、动画流畅、接近原生为目标，在交互体验方面追求极致。\n\n- **标准规范**\n\n  遵循统一的设计交互标准，高度还原设计效果；接口标准化，统一规范使用方式，开发更加简单高效。\n\n- **扩展性强**\n\n  支持按需引入和[后编译](#/zh-CN/docs/post-compile)，轻量灵活；扩展性强，可以方便地基于现有组件实现二次开发。\n\n### 组件\n\n#### 基础\n\n- [Button 按钮](#/zh-CN/docs/button)\n- [Loading 加载中](#/zh-CN/docs/loading)\n- [Tip 提示](#/zh-CN/docs/tip)\n- [Toolbar 工具条](#/zh-CN/docs/toolbar)\n- [TabBar 选项卡](#/zh-CN/docs/tab-bar)\n\n#### 表单\n\n- [Checkbox 复选框](#/zh-CN/docs/checkbox)\n- [CheckboxGroup 复选框组](#/zh-CN/docs/checkbox-group)\n- [Radio 单选框](#/zh-CN/docs/radio)\n- [Input 输入框](#/zh-CN/docs/input)\n- [Textarea](#/zh-CN/docs/textarea)\n- [Select 选择](#/zh-CN/docs/select)\n- [Switch 开关切换](#/zh-CN/docs/switch)\n- [Rate 评级](#/zh-CN/docs/rate)\n- [Validator 校验器](#/zh-CN/docs/validator)\n- [Upload 上传](#/zh-CN/docs/upload)\n- [Form 表单](#/zh-CN/docs/form)\n\n#### 弹层\n\n- [Popup](#/zh-CN/docs/popup)\n- [Toast 提醒](#/zh-CN/docs/toast)\n- [Picker 选择器](#/zh-CN/docs/picker)\n- [CascadePicker 级联选择器](#/zh-CN/docs/cascade-picker)\n- [DatePicker 日期选择器](#/zh-CN/docs/date-picker)\n- [TimePicker 时间选择器](#/zh-CN/docs/time-picker)\n- [SegmentPicker 段选择器](#/zh-CN/docs/segment-picker)\n- [Dialog 弹框](#/zh-CN/docs/dialog)\n- [ActionSheet 操作菜单](#/zh-CN/docs/action-sheet)\n- [Drawer 抽屉](#/zh-CN/docs/drawer)\n- [ImagePreview 图片预览](#/zh-CN/docs/image-preview)\n\n绝大多数的弹层类组件可以通过组件调用和 API 调用，来看示例（`Toast` 为例）：\n\n组件调用：\n\n```html\n<template>\n  <cube-button @click=\"showToast\">show toast</cube-button>\n  <cube-toast ref=\"toast\" :txt=\"toastTxt\"></cube-toast>\n</template>\n<script>\n  export default {\n    data() {\n      return {\n        toastTxt: 'toast content'\n      }\n    },\n    methods: {\n      showToast() {\n        this.$refs.toast.show()\n      }\n    }\n  }\n</script>\n```\n\nAPI 调用：\n\n```html\n<template>\n  <cube-button @click=\"showToast\">show toast</cube-button>\n</template>\n<script>\n  export default {\n    data() {\n      return {\n        toastTxt: 'toast content'\n      }\n    },\n    methods: {\n      showToast() {\n        this.$createToast({\n          txt: this.toastTxt\n        }).show()\n      }\n    }\n  }\n</script>\n```\n\n两种方式都可以，但是我们推荐后者，通过 `$createXxYy` API 来调用；通过 API 调用的话，这个弹框是附加到 `body` 元素下的，这样的好处是可以不受外层样式的影响，因为组件调用的话，很容易受到外层 `transform`, `overflow` 等样式的影响。\n\n注意这个 API 的名字的组合就是：`$create` + `${组件名字}`，例如 `ActionSheet` 组件的话，API 名字就是 `$createActionSheet`。\n\n#### 滚动\n\n- [Scroll 滚动](#/zh-CN/docs/scroll)\n- [Slide 幻灯片](#/zh-CN/docs/slide)\n- [IndexList 索引列表](#/zh-CN/docs/index-list)\n- [Swipe 滑块](#/zh-CN/docs/swipe)\n- [Sticky 吸附](#/zh-CN/docs/sticky)\n- [ScrollNavBar 滚动导航条](#/zh-CN/docs/scroll-nav-bar)\n- [ScrollNav 滚动导航](#/zh-CN/docs/scroll-nav)\n\n滚动类组件一般都是基于 [better-scroll](https://github.com/ustbhuangyi/better-scroll) 实现，而 `Scroll` 组件就是对 better-scroll 的封装。\n\n### 模块\n\n除了组件之外，cube-ui 还有一些特殊的模块。\n\n#### style\n\n样式部分，如果你是在按需引入使用的场景下，那么建议在入口文件处也要引入这个模块，因为它包含基础的 reset、基础通用样式以及内置 icon。\n\n详见 [style 模块](#/zh-CN/docs/style)。\n\n#### create-api\n\n有些时候，开发者可能也需要自己封装的组件支持 API 式调用，此时可以通过引入 create-api 模块或者通过全局的 `Cube.createAPI` 接口来达到封装目的。\n\n详见 [create-api 模块](#/zh-CN/docs/create-api)。\n\n#### better-scroll\n\n[better-scroll](https://github.com/ustbhuangyi/better-scroll) 是组件库依赖的一个库，为了避免重复引入问题，我们暴露出了这个模块。\n\n详见 [better-scroll 模块](#/zh-CN/docs/better-scroll)。\n"
  },
  {
    "path": "document/components/docs/zh-CN/loading.md",
    "content": "## Loading\n\n加载，提供了可自定义大小的加载动画。\n\n### 示例\n\n- 图标大小\n\n  默认大小为`24px`，可通过`size`属性配置\n\n  ```html\n  <cube-loading></cube-loading>\n  <cube-loading :size=\"28\"></cube-loading>\n  <cube-loading :size=\"40\"></cube-loading>\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 |\n| - | - | - | - |\n| size | 加载图标的大小，单位px | Number | 24 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/picker.md",
    "content": "## Picker 选择器\n\n`Picker` 组件也就是选择器，可以用于实现单列或多列选项的选择。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保你基本了解过 [create-api](#/zh-CN/docs/create-api) 的用法。\n\n### 示例\n\n  对于选择器，最基本的是需要定义它可以选择的选项，定义选项的属性是 `data` ，它是一个二维数组，第一维度代表了有多少列，第二维度则代表了每列有哪些选项。\n\n#### 1）单列选择器\n\n  首先，是一个单列选择器的例子：\n\n  ```html\n  <cube-button @click=\"showPicker\">Picker</cube-button>\n  ```\n  ```js\n  const column1 = [{ text: '剧毒', value: '剧毒'}, { text: '蚂蚁', value: '蚂蚁' },\n    { text: '幽鬼', value: '幽鬼' }]\n\n  export default {\n    methods: {\n      showPicker() {\n        if (!this.picker) {\n          this.picker = this.$createPicker({\n            title: 'Picker',\n            data: [column1],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.picker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n#### 2）多列选择器\n\n  如果传入了多列数据，则会生成相应的多列选择器。比如以下是一个三列的选择器：\n\n  ```html\n  <cube-button @click=\"showMutiPicker\">Multi-column Picker</cube-button>\n  ```\n  ```js\n  const column1 = [{ text: '剧毒', value: '剧毒'}, { text: '蚂蚁', value: '蚂蚁' },\n    { text: '幽鬼', value: '幽鬼' }]\n  const column2 = [{ text: '输出', value: '输出' }, { text: '控制', value: '控制' },\n    { text: '核心', value: '核心'}, { text: '爆发', value: '爆发' }]\n  const column3 =  [{ text: '梅肯', value: '梅肯'}, { text: '秘法鞋', value: '秘法鞋' },\n    { text: '假腿', value: '假腿' }, { text: '飞鞋', value: '飞鞋' }]\n\n  export default {\n    methods: {\n      showMutiPicker() {\n        if (!this.mutiPicker) {\n          this.mutiPicker = this.$createPicker({\n            title: 'Multi-column Picker',\n            data: [column1, column2, column3],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.mutiPicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n#### 3）选项的子属性别名\n\n  有时你可能不希望以 `value` 和 `text` 去定义选项的值和文案，而用别的命名，比如当你的数据来源的命名为 `id` 和 `name` 时，你可能希望直接用  `id` 和 `name` 来定义值和文案。这个时候，你可以使用 `alias` 属性去配置。比如，配置 `value` 的别名为 `id`，`text` 的别名为 `name`。\n\n  ```html\n  <cube-button @click=\"showAliasPicker\">Use Alias</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showAliasPicker() {\n        if (!this.aliasPicker) {\n          this.aliasPicker = this.$createPicker({\n            title: 'Use Alias',\n            data: [[{ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }]],\n            alias: {\n              value: 'id',\n              text: 'name'\n            },\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.aliasPicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n#### 4）实例方法 `$updateProps`\n\n  当你需要修改 Picker 某些配置项时，你可以使用实例方法 `$updateProps`，传入你需要更新的属性。\n\n  ```html\n  <cube-button @click=\"showUpdatePropsPicker\">Use $updateProps</cube-button>\n  ```\n  ```js\n  const column1 = [{ text: '剧毒', value: '剧毒'}, { text: '蚂蚁', value: '蚂蚁' },\n    { text: '幽鬼', value: '幽鬼' }]\n  const column2 = [{ text: '输出', value: '输出' }, { text: '控制', value: '控制' },\n    { text: '核心', value: '核心'}, { text: '爆发', value: '爆发' }]\n  const column3 =  [{ text: '梅肯', value: '梅肯'}, { text: '秘法鞋', value: '秘法鞋' },\n    { text: '假腿', value: '假腿' }, { text: '飞鞋', value: '飞鞋' }]\n\n  export default {\n    methods: {\n      showUpdatePropsPicker() {\n        if (!this.updatePropsPicker) {\n          this.updatePropsPicker = this.$createPicker({\n            title: 'Use $updateProps',\n            data: [column1],\n            selectedIndex: [0],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.updatePropsPicker.show()\n        setTimeout(() => {\n          this.updatePropsPicker.$updateProps({\n            title: 'Updated',\n            data: [column1, column2, column3],\n            selectedIndex: [1, 2, 3]\n          })\n        }, 1000)\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| data | 传入 picker 数据，数组的长度决定了 picker 的列数 | Array | [] | - |\n| selectedIndex | 被选中的索引值，拉起 picker 后显示这个索引值对应的内容 | Array | [] | [1] |\n| title | 标题 | String | '' | - |\n| subtitle<sup>1.8.1</sup> | 副标题 | String | '' | - |\n| cancelTxt | 取消按钮文案 | String | '取消' | - |\n| confirmTxt | 确定按钮文案 | String | '确定' | - |\n| swipeTime | 快速滑动 picker 滚轮时，惯性滚动动画的时长，单位：ms | Number | 2500 | - |\n| alias | 配置`value`和`text`的别名 | Object | {} | { value: 'id', text: 'name'} |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | 100 | - |\n\n* `data`子配置项\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| text | picker每一列展示的文案 | String/Number | - | - |\n| value | picker每一列展示的每项文案对应的值 | String/Number/Boolean | - | - |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| select | 点击确认按钮触发此事件 | selectedVal: 当前选中项每一列的值，Array类型 | selectedIndex: 当前选中项每一列的索引，Array类型 | selectedText: 当前选中项每一列的文案，Array类型 |\n| change | 滚轴滚动后触发此事件 | index: 当前滚动列次序，Number类型 | selectedIndex: 当前列选中项的索引，Number类型 |\n| value-change | 所确认的值变化时触发此事件 | selectedVal: 当前确认项每一列的值，Array类型 | selectedIndex: 当前确认项每一列的索引，Array类型 | selectedText: 当前选中项每一列的文案，Array类型 |\n| cancel | 点击取消按钮触发此事件 | - | - |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数1 | 参数2 |\n| - | - | - | - |\n| setData | 设置picker可选项 | picker每列可选项的文案和值，Array类型 | picker每列选中的索引，Array类型 |\n| show | 显示 | - | - |\n| hide | 隐藏 | - | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/popup.md",
    "content": "## Popup 弹层\n\n底层弹层组件，主要用于基于此组件实现上层组件封装，只提供了基础功能：指定类型、是否有背景层、显示内容（HTML）以及是否居中。\n\n内置弹层类组件基本都是基于此组件实现，包括：[Toast](#/zh-CN/docs/toast)、[Picker](#/zh-CN/docs/picker)、[CascadePicker](#/zh-CN/docs/cascade-picker)、[DatePicker](#/zh-CN/docs/date-picker)、[TimePicker](#/zh-CN/docs/time-picker)、[SegmentPicker](#/zh-CN/docs/segment-picker)、[Dialog](#/zh-CN/docs/dialog)、[ActionSheet](#/zh-CN/docs/action-sheet)。\n\n__注：__ 以上组件都是基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n组件\n\n- 基本用法\n  ```html\n  <cube-popup type=\"my-popup\" ref=\"myPopup\">\n    My Popup Content 1\n  </cube-popup>\n  <cube-button @click=\"showPopup('myPopup')\">\n    Show Popup\n  </cube-button>\n  ```\n  指定类型 `type`，这样方便根据类型做 class 控制，如示例，会在根元素上会增加 `cube-my-popup` 的 class\n  ```js\n  export default {\n    methods: {\n      showPopup(refId) {\n        const component = this.$refs[refId]\n        component.show()\n        setTimeout(() => {\n          component.hide()\n        }, 1000)\n      }\n    }\n  }\n  ```\n  组件默认是隐藏的，需要调用组件实例的 `show()` 方法才会显示，调用组件实例的 `hide()` 方法隐藏，这里的 `showPopup()` 就是做的这件事情（首先显示，1 秒钟后隐藏）\n- 不要背景层\n  ```html\n  <cube-popup type=\"my-popup\" :mask=\"false\" ref=\"myPopup2\">\n    My Popup Content 2\n  </cube-popup>\n  <cube-button @click=\"showPopup('myPopup2')\">\n    Show Popup - no mask\n  </cube-button>\n  ```\n  设置 `mask` 为 `false`，即不显示背景层\n- 显示内容 HTML\n  ```html\n  <cube-popup\n    type=\"my-popup\"\n    :mask=\"false\"\n    content=\"<i>My Popup Content 3</i>\"\n    ref=\"myPopup3\" />\n  <cube-button @click=\"showPopup('myPopup3')\">\n    Show Popup - with content\n  </cube-button>\n  ```\n  只需要传入 `content`，内容是一段 HTML 片段\n- 控制位置&蒙层点击隐藏<sup>1.9.6</sup>\n  ```html\n  <cube-popup type=\"my-popup\" :position=\"position\" :mask-closable=\"true\" ref=\"myPopup4\">My Popup Content 4</cube-popup>\n  <cube-button @click=\"showPopup\">top/right/bottom/left/center</cube-button>\n  ```\n  ```js\n  const positions = ['top', 'right', 'bottom', 'left', 'center']\n  let cur = 0\n  export default {\n    data() {\n      return {\n        position: ''\n      }\n    },\n    methods: {\n      showPopup() {\n        this.position = positions[cur++]\n        if (cur === positions.length) {\n          cur = 0\n        }\n        const component = this.$refs.myPopup4\n        component.show()\n        setTimeout(() => {\n          component.hide()\n        }, 2000)\n      }\n    }\n  }\n  ```\n  可通过 `position` 控制内容出现位置，通过 `mask-closable` 控制点击蒙层是否关闭。\n\n- 上层封装\n  ```html\n  <template>\n    <cube-popup type=\"extend-popup\" ref=\"popup\">\n      <div class=\"cube-extend-popup-content\" @click=\"hide\">\n        <slot>{{content}}</slot>\n      </div>\n   </cube-popup>\n  </template>\n  <script type=\"text/ecmascript-6\">\n    const COMPONENT_NAME = 'cube-extend-popup'\n    export default {\n      name: COMPONENT_NAME,\n      props: {\n        content: {\n          type: String\n        }\n      },\n      methods: {\n        show() {\n          this.$refs.popup.show()\n        },\n        hide() {\n          this.$refs.popup.hide()\n          this.$emit('hide')\n        }\n      }\n    }\n  </script>\n  <style lang=\"stylus\" rel=\"stylesheet/stylus\">\n    .cube-extend-popup\n      .cube-extend-popup-content\n        padding: 20px\n        color: #fff\n        background-color: rgba(0, 0, 0, .8)\n  </style>\n  ```\n  这样就实现了一个上层封装的 CubeExtendPopup 组件，自带了一些样式，支持传入内容还有默认插槽，点击内容可隐藏。你可以这样使用（需要全局注册或者局部注册到使用的组件中）：\n  ```html\n  <cube-extend-popup content=\"click here hide\" ref=\"extendPopup\"></cube-extend-popup>\n  <cube-button @click=\"$refs.extendPopup.show()\">\n    Show Extend Popup\n  </cube-button>\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n| type | 弹层类型 | String | - | '' |\n| mask | 是否显示背景层 | Boolean | true/false | true |\n| content | 内容，HTML 字符串，在无插槽的时候有效 | String | - | '' |\n| center | 是否水平垂直居中的 | Boolean | true/false | true |\n| position<sup>1.9.6</sup> | 内容展示位置，优先级比 center 高 | String | top/right/bottom/left/center | '' |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | false |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | - | 100 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| mask-click | 背景层点击 | 点击事件对象 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| show | 显示 |\n| hide | 隐藏 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/post-compile.md",
    "content": "## 后编译\n\n后编译指的是应用依赖的 NPM 包并不需要在发布前编译，而是随着应用编译打包的时候一块编译。\n\n_注：_ 关于后编译更详细内容可参阅 [webpack 应用编译优化之路](https://github.com/DDFE/DDFE-blog/issues/23)\n\n### 背景\n\n使用 webpack + babel 开发应用越来越多，而且一般都是通过 NPM 进行包管理的，这样依赖包越来越多，这些依赖包也是使用的 ES2015+ 开发的，所以每个依赖包都需要编译才能发布，这样编译后代码中往往后包含很多编译代码，所以为了消除这部分冗余，推荐大家使用后编译。\n\n### 优缺点\n\n优点：\n\n- 公共的依赖可以实现共用，只此一份，重要的是只编译一次，建议通过 peerDependencies 管理依赖。\n- babel 转换 API（例如 babel-plugin-transform-runtime 或者 babel-polyfill）部分的代码只有一份。\n- 不用每个依赖包都需要配置编译打包环节，甚至可以直接源码级别发布。\n\n缺点：\n\n- 主应用的 babel 配置需要能兼容依赖包的 babel 配置。\n- 依赖包不能使用 alias、不能方便的使用 DefinePlugin（可以经过一次简单编译，但是不做 babel 处理）。\n- 应用编译时间会变长。\n\n### 约定\n\n考虑到有些应用会使用后编译，有些则只能使用编译好的依赖包，为了“争夺”入口，cube-ui 做了均衡，约定：\n\n> package.json 的 main 字段指向的就是编译后入口，而 module 字段指向的就是源码入口。\n\n_关于 [pkg.module](https://github.com/rollup/rollup/wiki/pkg.module)_\n\n这样，如果应用使用的是 webpack 2+，则默认走后编译，而如果使用的 webpack 1.x 则默认使用的是编译后内容；当然，这部分可以通过 webpack 的 alias 配置达到和版本无关效果。\n\n### webpack 配置使用\n\n后编译的场景是极有可能产生嵌套的情况，而且对于每个依赖包而言应该自己管理自身需要后编译的依赖；为了解决这个问题，可以使用 [webpack-post-compile-plugin](https://www.npmjs.com/package/webpack-post-compile-plugin)，你只需要在你的 NPM 包自身的 package.json 中声明 `postCompile: true` 或者你的应用的 package.json 中通过 compileDependencies 来指定自身需要后编译依赖的包名。\n\n一个应用示例配置：\n\n```js\n// webpack.config.js\nvar PostCompilePlugin = require('webpack-post-compile-plugin')\n\nmodule.exports = {\n  // ...\n  module: {\n    rules: [\n      // ...\n      {\n        test: /\\.js$/,\n        loader: 'babel-loader',\n        include: [\n          resolve('src')\n        ]\n      },\n      // ...\n    ]\n  },\n  // ...\n  plugins: [\n    new PostCompilePlugin()\n  ]\n}\n```\n\n如果你能控制你应用的所有的依赖包，直接在每个依赖包的 package.json 中设置 `postCompile: true` 即可：\n\n```js\n{\n  \"name\": \"your-one-pkg\",\n  // ...\n  \"postCompile\": true\n  // ...\n}\n```\n\n或者你也可以在应用的 package.json 中增加 compileDependencies：\n\n```json\n// package.json\n{\n  // ...\n  \"compileDependencies\": [\"A\", \"B\"]\n  // ...\n}\n```\n\n如果说 A 还依赖 C 的话，只需要在 A 的 package.json 中指定 compileDependencies 即可：\n\n```json\n// A package.json\n{\n  // ...\n  \"compileDependencies\": [\"C\"]\n  // ...\n}\n```\n"
  },
  {
    "path": "document/components/docs/zh-CN/quick-start.md",
    "content": "## 快速上手\n\n- 新手教程项目：[cube-application-guide](https://github.com/cube-ui/cube-application-guide)\n- 遇到问题，先移步 [QA](https://github.com/cube-ui/question-answer/issues)\n- 使用 nuxt，请参考[示例仓库](https://github.com/cube-ui/cube-nuxt-demo)\n\n### 脚手架\n\n#### vue-cli >= 3\n\n如果你正在使用新版本的 Vue CLI vue-cli@3，那么推荐你直接使用 [vue-cli-plugin-cube-ui](https://github.com/cube-ui/vue-cli-plugin-cube-ui) 插件。在你初始化完项目后直接执行 `vue add cube-ui` 即可。\n\n在执行的时候，会询问一些配置项，这个和老版本的 [模板](https://github.com/cube-ui/cube-template) 配置是一样的，参见 [cube-template WIKI](https://github.com/cube-ui/cube-template/wiki)。\n\n执行完成后，你可以直接进入<a href=\"#cube-使用-anchor\" class=\"anchor\">使用部分</a>。\n\n#### vue-cli < 3\n\n如果你打算用在一个新项目中使用 cube-ui，可以通过我们提供的一套基于 [vue-cli](https://github.com/vuejs/vue-cli) 实现的[脚手架模板](https://github.com/cube-ui/cube-template)去初始化 cube-ui 项目的配置和基础代码，这样你就可以忽略<a href=\"#cube-安装-anchor\" class=\"anchor\">安装</a>步骤，直接看<a href=\"#cube-使用-anchor\" class=\"anchor\">使用部分</a>。\n\n```shell\n$ vue init cube-ui/cube-template projectname\n```\n\n关于初始化时特殊的配置项，请参考 [cube-template WIKI](https://github.com/cube-ui/cube-template/wiki)。\n\n如果你打算在现有项目中使用 cube-ui，请先参考<a href=\"#cube-安装-anchor\" class=\"anchor\">安装</a>部分。\n\n### 安装\n\n> 此安装部分只针对于 vue-cli < 3 的情况\n\n#### NPM\n\n```shell\n$ npm install cube-ui --save\n```\n\ncube-ui 搭配 webpack 2+ 支持[后编译](#/zh-CN/docs/post-compile)和普通编译 2 种构建方式（默认使用后编译），使用前都需要修改应用的依赖和配置。\n\n- 后编译\n\n  1. 修改 package.json 并安装依赖\n\n    ```json\n    {\n      // webpack-transform-modules-plugin 依赖 transformModules\n      \"transformModules\": {\n        \"cube-ui\": {\n          \"transform\": \"cube-ui/src/modules/${member}\",\n          \"kebabCase\": true\n        }\n      },\n      \"devDependencies\": {\n        // 新增 stylus 相关依赖\n        \"stylus\": \"^0.54.5\",\n        \"stylus-loader\": \"^2.1.1\",\n        \"webpack-post-compile-plugin\": \"^1.0.0\",\n        \"webpack-transform-modules-plugin\": \"^0.4.3\"\n      }\n    }\n    ```\n\n  2. 修改 webpack.base.conf.js\n\n    ```js\n    var PostCompilePlugin = require('webpack-post-compile-plugin')\n    var TransformModulesPlugin = require('webpack-transform-modules-plugin')\n    module.exports = {\n      // ...\n      plugins: [\n        // ...\n        new PostCompilePlugin(),\n        new TransformModulesPlugin()\n      ]\n      // ...\n    }\n    ```\n\n  3. 修改 build/utils.js 中的 `exports.cssLoaders` 函数\n\n    ```js\n    exports.cssLoaders = function (options) {\n      // ...\n      const stylusOptions = {\n        'resolve url': true\n      }\n      // https://vue-loader.vuejs.org/en/configurations/extract-css.html\n      return {\n        css: generateLoaders(),\n        postcss: generateLoaders(),\n        less: generateLoaders('less'),\n        sass: generateLoaders('sass', { indentedSyntax: true }),\n        scss: generateLoaders('sass'),\n        stylus: generateLoaders('stylus', stylusOptions),\n        styl: generateLoaders('stylus', stylusOptions)\n      }\n    }\n    ```\n\n  4. 修改 vue-loader.conf.js\n\n    ```javascript\n    module.exports = {\n      loaders: utils.cssLoaders({\n        sourceMap: sourceMapEnabled,\n        extract: false\n      }),\n      // ...\n    }\n    ```\n\n    具体参见 [https://github.com/vuejs-templates/webpack/pull/970/files](https://github.com/vuejs-templates/webpack/pull/970/files)\n\n- 普通编译\n\n  1. 修改 package.json 并安装依赖\n    ```json\n    {\n      // webpack-transform-modules-plugin 依赖 transformModules\n      \"transformModules\": {\n        \"cube-ui\": {\n          \"transform\": \"cube-ui/lib/${member}\",\n          \"kebabCase\": true,\n          \"style\": {\n            \"ignore\": [\"create-api\", \"better-scroll\", \"locale\"]\n          }\n        }\n      },\n      \"devDependencies\": {\n        \"webpack-transform-modules-plugin\": \"^0.4.3\"\n      }\n    }\n    ```\n\n  2. 修改 webpack 配置：\n\n    ```js\n    // webpack.config.js\n    var TransformModulesPlugin = require('webpack-transform-modules-plugin')\n    module.exports = {\n      // ...\n      resolve: {\n        // ...\n        alias: {\n          // ...\n          'cube-ui': 'cube-ui/lib'\n          // ...\n        }\n        // ...\n      }\n      // ...\n      plugins: [\n        // ...\n        new TransformModulesPlugin()\n      ]\n      // ...\n    }\n    ```\n\n#### CDN\n\n```html\n<script src=\"https://unpkg.com/cube-ui/lib/cube.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://unpkg.com/cube-ui/lib/cube.min.css\">\n```\n\n### 使用\n\n#### 全部引入\n\n一般在入口文件中：\n\n```javascript\nimport Vue from 'vue'\nimport Cube from 'cube-ui'\n\nVue.use(Cube)\n```\n\n#### 按需引入\n\n```javascript\nimport {\n  /* eslint-disable no-unused-vars */\n  Style,\n  Button\n} from 'cube-ui'\n```\n\n**注意：** 按需引入的话，是不会打包[基础样式](#/zh-CN/docs/style)部分的，所以在使用的时候需要引入 style 模块。\n\n我们推荐直接全局注册：\n\n```js\n// 全局注册\nVue.use(Button)\n// ...\n```\n\n所有的可按需引入的组件以及模块：\n\n```js\nimport {\n  // 基础样式\n  Style,\n  // basic\n  Button,\n  Loading,\n  Tip,\n  Toolbar,\n  // form\n  Checkbox,\n  CheckboxGroup,\n  Radio,\n  Checker,\n  Input,\n  Textarea,\n  Select,\n  Switch,\n  Rate,\n  Validator,\n  Upload,\n  Form,\n  // popup\n  Popup,\n  Toast,\n  Picker,\n  CascadePicker,\n  DatePicker,\n  TimePicker,\n  SegmentPicker,\n  Dialog,\n  ActionSheet,\n  Drawer,\n  // scroll\n  Scroll,\n  Slide,\n  IndexList,\n  Swipe\n} from 'cube-ui'\n```\n\n也可以引入[create-api](#/zh-CN/docs/create-api)和[better-scroll](#/zh-CN/docs/better-scroll)模块：\n\n```js\nimport { createAPI, BetterScroll, Locale } from 'cube-ui'\n```\n\n#### 示例\n\n```html\n<template>\n  <cube-button @click=\"showDialog\">show dialog</cube-button>\n</template>\n\n<script>\n  export default {\n    methods: {\n      showDialog() {\n        this.$createDialog({\n          type: 'alert',\n          title: 'Alert',\n          content: 'dialog content'\n        }).show()\n      }\n    }\n  }\n</script>\n```\n### TypeScript 开发工具\n\n我们将在 v1.12.39 开始提供对 TypeScript 更好的支持。\n\n> 如果你使用 [Visual Studio Code](https://code.visualstudio.com/) + [Vetur](https://github.com/vuejs/vetur) 进行开发\n\n#### TypeScript\n  TypeScript 版本需 >= [4.1](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html)\n#### Visual Studio Code\n\n  Visual Studio Code 版本需 >= [1.52.0](https://github.com/vuejs/vetur/releases/tag/v0.30.3)\n\n#### Vetur\n  Vetur 版本需 >= [0.30.3](https://github.com/microsoft/vscode/releases/tag/1.52.0)\n"
  },
  {
    "path": "document/components/docs/zh-CN/radio.md",
    "content": "## Radio 单选框组\n\n> 1.4.0 新增\n\n单选框组，可设置单选框组内容，样式等。\n\n### 示例\n\n- 基本用法\n\n  ```html\n  <cube-radio-group v-model=\"selected\" :options=\"options\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        selected: '',\n        options: ['Option1', 'Option2']\n      }\n    }\n  }\n  ```\n\n  `options` 为选项数组，默认不选中任何的选项，点击其中一个，则对应的 `selected` 的值就为选中项的值。\n\n- 设置 value，禁用状态，图标样式\n\n  ```html\n  <cube-radio-group v-model=\"selected2\" :options=\"options2\" position=\"right\" :hollow-style=\"true\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        selected2: 3,\n        options2: [\n          {\n            label: 'Option1',\n            value: 1\n          },\n          {\n            label: 'Option2',\n            value: 2\n          },\n          {\n            label: 'Option3',\n            value: 3,\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n  `options` 的值可以是对象组成的数组，默认可以设置 `label` 和 `value` 分别代表的是显示文案和单选框的值，如果对象中包含了 `disabled` 为 `true` 的值，那么此单选框就处于禁用状态。\n\n  设置 `position` 为 `'right'`，则单选框图标位置在右边。设置 `hollow-style` 为 `true` 则使用镂空样式。\n\n- 水平排列\n\n  ```html\n  <cube-radio-group v-model=\"selected3\" :options=\"options3\" :horizontal=\"true\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        selected3: '3',\n        options3: [\n          {\n            label: '1',\n            value: '1'\n          },\n          {\n            label: '2',\n            value: '2'\n          },\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n  可通过设置 `horizontal` 为 `true` 改变样式为水平排列。\n\n- 使用默认插槽\n\n  ```html\n  <cube-radio-group>\n    <cube-radio\n      v-for=\"(option, index) in options4\"\n      :key=\"index\"\n      :option=\"option\"\n      v-model=\"selected4\">\n      <img :src=\"option.src\" />\n    </cube-radio>\n  </cube-radio-group>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        selected4: '1',\n        options4: [\n          {\n            label: '1',\n            value: '1',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\n          },\n          {\n            label: '2',\n            value: '2',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\n          },\n          {\n            label: '3',\n            value: '3',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg',\n            disabled: true\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n- 自定义列数<sup>1.12.28</sup>\n\n  可通过设计 `colNum` 控制一行中有几列，colNum 小于1时，按1处理\n  ```html\n  <cube-radio-group v-model=\"selected5\" :options=\"options5\" :col-num=\"colNum\" />\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        selected5: '6',\n        options5: [\n          {\n            label: '1',\n            value: '1'\n          },\n          {\n            label: '2',\n            value: '2'\n          },\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          },\n          {\n            label: '4',\n            value: '4'\n          },\n          {\n            label: '5',\n            value: '5'\n          },\n          {\n            label: '6',\n            value: '6',\n            disabled: true\n          },\n          {\n            label: '7',\n            value: '7'\n          },\n          {\n            label: '8',\n            value: '8'\n          }\n        ],\n        colNum: 3\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| options | 选项数组 | Array | - | - |\n| position | 图标位置 | String | left/right | left |\n| horizontal | 是否水平排列 | Boolean | true/false | false |\n| colNum<sup>1.12.28</sup> | 一行有几列 | Number | - | 1 |\n| hollowStyle | 是否是镂空样式的 | Boolean | true/false | false |\n\n* `options` 子配置项\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| label | 单选框显示文字 | String |\n| value | 单选框的值 | String/Number |\n| disabled | 单选框是否被禁用 | Boolean |\n\n注：如果 `options` 中的项为字符串也是可以的，此时默认 `label` 和 `value` 的值都为该字符串的值。\n\n### cube-radio Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| option | 选项配置 | Object/String | - | - |\n| position | 图标位置 | String | left/right | left |\n| hollow-style | 是否是镂空样式的 | Boolean | true/false | false |\n\n* `option` 子配置项\n\n| 参数 | 说明 | 类型 |\n| - | - | - |\n| label | 单选框显示文字 | String |\n| value | 单选框的值 | String/Number |\n| disabled | 单选框是否被禁用 | Boolean |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| input | 绑定值变化时触发 | 选中的单选框value值 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/rate.md",
    "content": "## Rate\n\n> 1.5.0 新增\n\n评分组件。你可以自定义星星个数，可以禁用交互，以用作评价展示，可以通过插槽自定义星星样式。\n\n### 示例\n\n- 基本用法\n\n  使用 v-model 对评分值双向绑定。\n\n  ```html\n  <cube-rate v-model=\"value\"></cube-rate>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: 3\n      }\n    }\n  }\n  ```\n\n- 多项配置\n\n  例如，使用`disabled`使评分组件只读，使用`max`自定义评分等级，使用 `justify` 决定是否自动适应容器宽度。\n\n  ```html\n  <cube-rate v-model=\"value\" :disabled=\"disabled\" :max=\"max\" :justify=\"justify\"></cube-rate>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        disabled: false,\n        max: 5,\n        value: 3,\n        justify: false\n      }\n    }\n  }\n  ```\n\n- 自定义星星样式\n\n  需要使用`cube-rate-item`组件，并且对自定义的星星元素定义两种样式——普通和活跃（在`.cube-rate-item.active`类之下）。\n\n  ```html\n  <cube-rate v-model=\"value\">\n    <cube-rate-item v-for=\"n in max\" :key=\"n\" :value=\"value\" :index=\"n\">\n      <!-- 定制星星示例 -->\n      <div class=\"rate-item\"></div>\n    </cube-rate-item>\n  </cube-rate>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: 3\n      }\n    }\n  }\n  ```\n\n  ```css\n  .rate-item\n    width: 100%\n    height: 100%\n    background-size: 100%\n    background-color: grey\n  .cube-rate-item.active\n    .rate-item\n      background-color: orange\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| v-model | 绑定的评分值 | Number | - | 0 |\n| max | 星星个数 | Number | - | 5 |\n| disabled | 禁用状态 | Boolean | true/false | false |\n| justify | 是否自适应容器宽度（通过在星星之间增加空隙） | Boolean | true/false | false |\n| allowHalf<sup>1.12.52</sup> | 是否支持半选 | Boolean | true/false | false |\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 默认是 cube-rate-item 组件 | - |\n\n### cube-rate-item 的插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 自定义星星元素 | - |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| input | 手指从 rate item 移开时触发（当设置了 disabled 属性时，该事件不触发） | 当前移开的 rate item 的值 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/recycle-list.md",
    "content": "## RecycleList\n\n> 1.12.0 新增\n\n可回收的滚动列表，始终将 DOM 的数量控制在一个很低的范围。在海量数据的渲染列表中，拥有卓越的性能。\n\n### 注意事项\n\n  - 首先要实现无限滚动，必须保证要有一个固定高度的父容器元素包裹组件。详细可以参考示例。\n\n  - 如果列表内容存在不固定宽高的图片，由于图片加载的机制，每个 item 的 DOM 渲染了，图片可能还未加载，导致每个 item 的位置计算错误，所以作为调用方，需要将未加载的图片用样式固定住，这样就能避免高度计算错误。\n\n  - 内部的实现依赖 Promise，所以你需要引入 Promise polyfill 来做兼容。\n\n### 示例\n\n- **1. 默认使用**\n\n  ```html\n  <div class=\"view-wrapper\">\n    <cube-recycle-list class=\"list\" :size=\"size\" :on-fetch=\"onFetch\" :offset=\"offset\">\n      <template slot=\"item\" slot-scope=\"{ data }\">\n        <div :id=\"data.id\" class=\"item\" @click=\"handleClick(data)\">\n          <div class=\"avatar\" :style=\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\"></div>\n          <div class=\"bubble\">\n            <p>{{ data.msg }}</p>\n            <div class=\"meta\">\n              <time class=\"posted-date\">{{ data.time }}</time>\n            </div>\n          </div>\n        </div>\n      </template>\n    </cube-recycle-list>\n  </div>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        size: 50,\n        offset: 100\n      }\n    },\n    methods: {\n      onFetch() {\n        let items = []\n        return new Promise((resolve) => {\n          // 模拟请求 50 条数据，因为 size 设置为 50\n          setTimeout(() => {\n            for (let i = 0; i < 50; i++) {\n              items.push({\n                id: i,\n                avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg',\n                msg: '123',\n                time: 'Thu Oct 25 2018 15:02:12 GMT+0800 (中国标准时间)'\n              })\n            }\n            resolve(items)\n          }, 1000)\n        })\n      },\n      handleClick(data) {\n        console.log('Item:' + data)\n      }\n    }\n  }\n  ```\n\n  ```stylus\n  /* 限制视口 包裹组件*/\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n  ```\n\n    绝大部分的列表交互，都是当用户滚动到底部再去请求下一页数据，组件的默认实现就是根据此交互而来。\n\n    组件接收 `size` 作为 props，用来控制一次渲染多少条数据。`offset` 是配置底部拉取数据的距离，`onFetch` 是一个函数，此属性是必传的，并且函数的返回值必须是一个 Promise，同时调用 resolve 函数的时候必须将 items（**数组**） 传入，这样组件就能拿到 `items`。当然如果想要停止滚动，请传入 `false`。\n\n    组件支持作用域插槽，你可以通过以上示例的解构赋值，拿到组件传给调用方的 `data`（items 的每一个数据项）。\n\n    完整示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-default.vue)。\n\n- **2. Infinite**\n\n  然而，组件还支持第二种交互方式，无限滚动模式，以 `tombstone` 作为占位符，\b给用户一种可感知的页面元素，让交互变的更加友好、人性化。\n  完整示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/recycle-list/recycle-list-tombstone.vue)。\n\n  ```html\n  <div class=\"view-wrapper\">\n    <cube-recycle-list class=\"list\" :infinite=\"infinite\" :size=\"size\" :on-fetch=\"onFetch\">\n      <!-- tombstone 的作用域插槽 slot-scope 必须声明 -->\n      <template slot=\"tombstone\" slot-scope=\"props\">\n        <div class=\"item tombstone\">\n          <div class=\"avatar\"></div>\n          <div class=\"bubble\">\n            <p></p>\n            <p></p>\n            <p></p>\n            <div class=\"meta\">\n              <time class=\"posted-date\"></time>\n            </div>\n          </div>\n        </div>\n      </template>\n      <template slot=\"item\" slot-scope=\"{ data }\">\n        <div :id=\"data.id\" class=\"item\" @click=\"handleClick(data)\">\n          <div class=\"avatar\" :style=\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\"></div>\n          <div class=\"bubble\">\n            <p>{{ data.msg }}</p>\n            <div class=\"meta\">\n              <time class=\"posted-date\">{{ data.time }}</time>\n            </div>\n          </div>\n        </div>\n      </template>\n      <!-- <div slot=\"spinner\">Loading Data</div> -->\n      <!-- <div slot=\"noMore\">没有更多数据了</div> -->\n    </cube-recycle-list>\n  </div>\n  ```\n\n  `infinite` 用来开启无限滚动模式。当你开启这个配置的时候，必须通过 `tombstone` 作用域插槽实现个性化样式。支持 `spinner` 与 `noMore` 插槽来定制化显示加载更多以及无更多数据的视图展示。`spinner` 默认是一个 loading 图。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| infinite | 是否无限滚动模式 | Boolean | - | false |\n| size | 一次加载的数据量 | Number | - | 20 |\n| offset | 底部拉取更多数据的距离 | Number | - | 200 |\n| onFetch | 获取更多数据 | Function | 必传 | - |\n\n`onFetch` 函数必须返回一个 Promise，同时 Promise 的 resolve 函数的第一个参数必须是数组或者 `false`，如果是数组并且长度小于 size，那么组件会停止无限滚动，同理，如果是 `false`，也会停止。\n\n### 插槽\n\n| 名字 | 说明 | 参数 |\n| - | - | - |\n| tombstone | 实现个性化 `tombstone` 样式的作用域插槽 | - |\n| item | 列表某项的作用域插槽，通过此插槽实现想要的渲染视图 | data: 调用方传入的数据项集合的某一项 |\n| spinner | 加载更多的提示文案的具名插槽 | - |\n| noMore | 无更多数据的提示文案的具名插槽 | - |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| reset | 清空列表全部内容，重置数据 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/scroll-nav-bar.md",
    "content": "## ScrollNavBar 组件\n\n> 1.10.0 新增\n\n滚动导航条组件，效果类似于滴滴打车业务线切换。\n\n### 示例\n\n- 横向，默认\n\n  ```html\n  <cube-scroll-nav-bar :current=\"current\" :labels=\"labels\" @change=\"changeHandler\" />\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        current: '快车',\n        labels: [\n          '快车',\n          '小巴',\n          '专车',\n          '顺风车',\n          '代驾',\n          '公交',\n          '自驾租车',\n          '豪华车',\n          '二手车',\n          '出租车'\n        ]\n      }\n    },\n    methods: {\n      changeHandler(cur) {\n        this.current = cur\n      }\n    }\n  }\n  ```\n\n  可以通过 `current` 指定 active 的 key 值，`labels` 则是所有的 key 值的集合；当 active 的值发生变化后，会触发 `change` 事件。\n\n- 竖向\n\n  ```html\n  <div class=\"side-container\">\n    <cube-scroll-nav-bar\n      direction=\"vertical\"\n      :current=\"current\"\n      :labels=\"labels\"\n      :txts=\"txts\"\n      @change=\"changeHandler\">\n      <i slot-scope=\"props\">{{props.txt}}</i>\n    </cube-scroll-nav-bar>\n  </div>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        current: '快车',\n        labels: [\n          '快车',\n          '小巴',\n          '专车',\n          '顺风车',\n          '代驾',\n          '公交',\n          '自驾租车',\n          '豪华车',\n          '二手车',\n          '出租车'\n        ],\n        txts: [\n          '1快车',\n          '2小巴',\n          '3专车',\n          '4顺风车',\n          '5代驾',\n          '6公交',\n          '7自驾租车',\n          '8豪华车',\n          '9二手车',\n          '10出租车'\n        ]\n      }\n    },\n    methods: {\n      changeHandler(cur) {\n        this.current = cur\n      }\n    }\n  }\n  ```\n  ```stylus\n  .side-container\n    height: 300px\n    margin-top: 20px\n  ```\n\n  这是一个竖向的示例，`direction` 设置为 `vertical` 代表是一个竖向导航条样式；这里还使用了 `txts` Prop 用于指定展示文案，顺序是和 `labels` 一一对应的，如果没传入 `txts`，则默认 `txts` 就等于 `labels`。\n\n  该示例中还展示了默认作用域插槽的使用，`props.txt` 就是当前项的 txt 的值。\n\n### Props\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| direction | 方向，默认横向，horizontal | String | horizontal/vertical | horizontal |\n| labels | 所有的 key 值集合 | Array | - | [] |\n| txts | 显示所有文案集合，和 labels 一一对应，每项可以是 HTML 字符串 | Array | - | 默认等于 labes |\n| current | 当前 active 的 key 值 | String/Number | - | '' |\n| options | better-scroll 配置项，具体请参考[BS 官方文档](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) | Object | - | {}  <br>`注意`：从`1.12.38`版本开始，因修复[BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html)在`iOS13.4`版本的滚动问题，`useTransition`在iOS版本>=13.4时默认为`fasle`<br>具体请参考[#978](https://github.com/ustbhuangyi/better-scroll/issues/978)|\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 默认内容 | txt: 当前项文案 txt 的值<br>index: 当前索引值<br>active: 当前 active 的 key 值<br>label: 当前项 label 值，即 key 值 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| change | 当 active 项发生改变的时候触发 | active - 当前 active 的 key 值 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| refresh | 刷新，当内容发生变化时可用于刷新 scroll 以及重新适应位置 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/scroll-nav.md",
    "content": "## ScrollNav 组件\n\n> 1.10.0 新增\n\n滚动导航组件。\n\n### 示例\n\n- 基本使用 - Default\n\n  ```html\n  <cube-scroll-nav @change=\"changeHandler\">\n    <cube-scroll-nav-panel\n      v-for=\"item in data\"\n      :key=\"item.name\"\n      :label=\"item.name\">\n      <ul>\n        <li v-for=\"food in item.foods\">\n          <div>\n            <img :src=\"food.icon\">\n            <p>{{food.name}}</p>\n          </div>\n        </li>\n      </ul>\n    </cube-scroll-nav-panel>\n  </cube-scroll-nav>\n  ```\n  ```js\n  import goodsData from 'example/data/goods-list.json'\n\n  const goods = goodsData.goods\n\n  export default {\n    data() {\n      return {\n        data: goods\n      }\n    },\n    methods: {\n      changeHandler(label) {\n        console.log('changed to:', label)\n      }\n    }\n  }\n  ```\n\n  `goods` 的结构类似于这样：\n  ```js\n  \"goods\": [\n    {\n      \"name\": \"热销榜\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"皮蛋瘦肉粥\",\n          // ...\n          \"icon\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        // ...\n      ]\n    },\n    // ...\n  ]\n  ```\n\n  `cube-scroll-nav` 需要和 `cube-scroll-nav-panel` 组件配合使用，`cube-scroll-nav-panel` 就是每一个需要导航定位到的面板组件。\n\n  `cube-scroll-nav-panel` 组件需要一个必须的 Prop：`label`，唯一标示 key 值。\n\n  当导航 active 项发生变化的时候就会触发 `change` 事件。\n\n- 侧边式 - Side Style\n\n  ```html\n  <cube-scroll-nav\n    :side=\"true\"\n    :data=\"data\"\n    :current=\"current\"\n    @change=\"changeHandler\"\n    @sticky-change=\"stickyChangeHandler\">\n    <ul class=\"prepend-header\" slot=\"prepend\">\n      <li>11</li>\n      <li>22</li>\n      <li>333</li>\n    </ul>\n    <cube-scroll-nav-panel\n      v-for=\"item in data\"\n      :key=\"item.name\"\n      :label=\"item.name\"\n      :title=\"item.name\">\n      <ul>\n        <li v-for=\"food in item.foods\">\n          <div>\n            <img :src=\"food.icon\">\n            <p>{{food.name}}</p>\n          </div>\n        </li>\n      </ul>\n    </cube-scroll-nav-panel>\n  </cube-scroll-nav>\n  ```\n  ```js\n  import goodsData from 'example/data/goods-list.json'\n\n  const goods = goodsData.goods\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        data: goods,\n        current: goods[3].name\n      }\n    },\n    methods: {\n      changeHandler(label) {\n        console.log('changed to:', label)\n      },\n      stickyChangeHandler(current) {\n        console.log('sticky-change', current)\n      }\n    }\n  }\n  ```\n\n  `side` 设置为 `true` 代表是一个侧边样式效果；\n\n  `data` 则是默认传入的数据，这个数据会被传入内部使用的 `cube-scroll` 组件，当 `data` 发生变化时，scroll 组件会自动刷新；\n\n  `current` 是导航默认值，如果有值则会默认滚动到相对应的面板 Panel 的位置。\n\n  `sticky-change` 就是当前导航条的吸附状态发生改变的时候触发，参数可能的值目前只有两个，一个是 `''` 一个是 `'cube-scroll-nav-bar'`。\n\n  此外，这里还在 `cube-scroll-nav-panel` 之前插入了一些内容，利用 `prepend` 插槽实现。\n\n### Props\n\n#### CubeScrollNav\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| data | 数据源，可选 | Array | - | - |\n| side | 是否是侧边样式 | Boolean | true/false | false |\n| current | 当前导航 active 项的 key 值 | String/Number | - | '' |\n| speed | 点击导航切换到指定位置的速度 | Number | - | 300 |\n| options | better-scroll 配置项，具体请参考[BS 官方文档](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) | Object | - | {} <br>`注意`：从`1.12.38`版本开始，因修复[BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html)在`iOS13.4`版本的滚动问题，`useTransition`在iOS版本>=13.4时默认为`fasle`<br>具体请参考[#978](https://github.com/ustbhuangyi/better-scroll/issues/978) |\n\n#### CubeScrollNavPanel\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| label | 必须，面板的唯一标示的值 | String/Number | - | - |\n| title | 面板标题内容，可以是 HTML 字符串 | String/Number | - | 默认等于 label |\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 默认面板内容 | - |\n| prepend | 前置内容，在导航之前 | - |\n| bar | 导航内容，如果需要自定义导航结构的话使用，里边放置 cube-scroll-nav-bar 组件 | labels: 所有面板的 label 值集合<br>txts: 所有面板的 title 值集合<br>current: 当前导航 active 项的 key 值 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| change | 当导航 active 项发生变化的时候 | active - 当前 active 的 key 值 |\n| sticky-change | 当前导航条的吸附状态发生改变的时候触发 | current - 如果未吸附，则值为 '' 否则为 'cube-scroll-nav-bar' |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| refresh | 刷新，当内容或高度发生变化时可用于重新计算整体内容、位置 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/scroll.md",
    "content": "## Scroll\n\n滚动列表，提供了优质的原生滚动体验，便捷的配置项和事件，是一个基于`better-scroll`进行封装的组件。\n\n### 滚动原理\n\n  由于 better-scroll 的滚动原理为：在滚动方向上，第一个子元素的长度超过了容器的长度。\n\n  那么对于 Scroll 组件，其实就是内容元素`.cube-scroll-content`在滚动方向上的长度必须大于容器元素 `.cube-scroll-wrapper`。根据滚动方向的不同，有以下两种情况：\n\n  1）纵向滚动：**内容元素的高度必须大于容器元素**。由于容器元素的高度默认会被子元素的高度撑开，所以为了满足我们的滚动前提，你需要给 Scroll 组件的 `.cube-scroll-wrapper`元素一个非弹性高度。\n\n  2）横向滚动：**内容元素的宽度必须大于容器元素**。由于在默认情况下，子元素的宽度不会超过容器元素，所以需要给 Scroll 组件的 `.cube-scroll-content` 元素设置大于 `.cube-scroll-wrapper` 的宽度。\n\n  > 注意：任何时候如果出现无法滚动的情况，都应该首先查看内容元素`.cube-scroll-content`的元素高度/宽度是否大于容器元素`.cube-scroll-wrapper`的高度/宽度。这是内容能够滚动的前提条件。**如果内容存在图片的情况，可能会出现 DOM 元素渲染时图片还未下载，因此内容元素的高度小于预期，出现滚动不正常的情况。此时你应该在图片加载完成后，比如 onload 事件回调中，手动调用 Scroll 组件的 `refresh()` 方法，它会重新计算滚动距离。** Scroll 相关常见问题可以查看 [Cube-UI/Question-Answer](https://github.com/cube-ui/question-answer/issues?utf8=✓&q=is%3Aissue+is%3Aopen+scroll).\n\n### 示例\n\n7 个示例代码快速了解如何使用 Scroll 组件。\n\n- **1. 基本使用 - Default**\n\n  通过设置 `data` 属性为一个数组，即可生成能够在容器内优雅滚动的列表。完整示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/default.vue)。\n\n  ```html\n  <div class=\"scroll-list-wrap\">\n    <cube-scroll\n      ref=\"scroll\"\n      :data=\"items\"\n      :options=\"options\">\n    </cube-scroll>\n  </div>\n  ```\n\n  ```stylus\n  .scroll-list-wrap\n    height: 350px\n  ```\n\n  > **注意**：由上面的滚动原理可知，这里给滚动容器提供一个固定高度是必须的，同时只有在滚动内容的高度大于容器高度时才可滚动。\n\n  在`options`中可以设置滚动条是否可见以及初始滚动位置`startY/startX`。\n\n  Scroll 组件提供了一个`scrollTo()`方法，可以手动控制列表滚动位置。\n\n  ```javascript\n  scrollTo() {\n    this.$refs.scroll.scrollTo(\n      0,\n      this.scrollToY,\n      this.scrollToTime,\n      ease[this.scrollToEasing]\n    )\n  },\n  ```\n\n  实际上这是一个非常有用的方法，如当我们想要实现“点击不同锚点，列表滚动到相应位置展现不同内容”时，可以使用`scrollTo()`方法。\n\n- **2. 横向滚动 - Horizontal**\n\n  Scroll 组件支持横向滚动，只需指定`direction=\"horizontal\"`，同时需要添加相应样式如下。完整示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal.vue)。\n\n  ```html\n  <cube-scroll\n    ref=\"scroll\"\n    :data=\"items\"\n    direction=\"horizontal\"\n    class=\"horizontal-scroll-list-wrap\">\n    <ul class=\"list-wrapper\">\n      <li v-for=\"item in items\" class=\"list-item\">{{ item }}</li>\n    </ul>\n  </cube-scroll>\n  ```\n\n  ```stylus\n  .horizontal-scroll-list-wrap\n    border: 1px solid rgba(0, 0, 0, 0.1)\n    border-radius: 5px\n    .cube-scroll-content\n      display: inline-block\n    .list-wrapper\n      padding: 0 10px\n      line-height: 60px\n      white-space: nowrap\n    .list-item\n      display: inline-block\n  ```\n\n  > **注意**：1. 由上面的滚动原理可知，这里的 CSS 样式设置是必须的，只有在滚动内容的宽度大于容器宽度时才可滚动。2. 有时候我们希望横向滚动使用`Scroll`组件来模拟，纵向保留浏览器原生滚动，或者相反的情况。这时你需要传递 better-scroll 配置项 [eventPassthrough](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html#eventpassthrough)。\n\n  这里对样式的设定做简要的解释，为`list-item`元素添加`display: inline-block`是希望元素能够不换行，单行显示。`list-wrapper`添加`white-space: nowrap`是希望遇到父元素边界，依然不换行。另外，关键是`cube-scroll-content`元素添加`display: inline-block`样式，此时`cube-scroll-content`元素的宽度为能够包裹子孙元素的最小宽度，即为连续内联`list-item`元素的宽度之和子元素的最大宽度。具有同样性质的样式还有，浮动元素和绝对定位元素，在不设置具体宽度时，其宽度为包裹子孙元素的最小宽度。\n\n- **3. 自定义内容和上拉刷新下拉加载 - Customized**\n\n  `Scroll`组件支持通过插槽自定义列表内容和样式。完整示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/config.vue)。\n\n  ```html\n  <div class=\"scroll-list-wrap\">\n    <cube-scroll\n      ref=\"scroll\"\n      :data=\"items\"\n      :options=\"options\"\n      @pulling-down=\"onPullingDown\"\n      @pulling-up=\"onPullingUp\">\n      ... // 自定义内容\n    </cube-scroll>\n  </div>\n  ```\n\n  Scroll 组件还支持下拉刷新和上拉加载的能力。默认无下拉刷新/上拉加载，可通过`options`传递配置项`pullDownRefresh`和`pullUpLoad`开启相应功能。开启后，下拉时，Scroll 组件会展示默认下拉动画以及派发`pulling-down`事件，你可以监听`pulling-down`事件更新数据。同理，开启上拉加载后，可通过`pulling-up`事件更新数据。\n\n  `pullDownRefresh`的相关配置有：下拉阈值（threshold）, 回弹位置（stop）, 更新成功文案（txt）和文案显示时间（stopTime）。`pullDownRefresh`和`pullUpLoad`对象的所有配置项和含义见 [Props 配置](#/zh-CN/docs/scroll#cube-Props配置-anchor)\n\n  ```javascript\n  ... // 省略非核心代码\n  computed: {\n    options() {\n      return {\n        pullDownRefresh: this.pullDownRefreshObj,\n        pullUpLoad: this.pullUpLoadObj,\n        scrollbar: true\n      }\n    },\n    ...\n  },\n  methods: {\n    onPullingDown() {\n      // 模拟更新数据\n      setTimeout(() => {\n        if (Math.random() > 0.5) {\n          // 如果有新数据\n          this.items.unshift(_foods[1])\n        } else {\n          // 如果没有新数据\n          this.$refs.scroll.forceUpdate()\n        }\n      }, 1000)\n    },\n    onPullingUp() {\n      // 模拟更新数据\n      setTimeout(() => {\n        if (Math.random() > 0.5) {\n          // 如果有新数据\n          let newPage = _foods.slice(0, 5)\n          this.items = this.items.concat(newPage)\n        } else {\n          // 如果没有新数据\n          this.$refs.scroll.forceUpdate()\n        }\n      }, 1000)\n    },\n    ...\n  }\n  ```\n\n  > **注意**：如果请求结果没有数据更新，则必须调用 Scroll 组件的`forceUpdate()`方法结束此次下拉刷新/上拉加载，这样 Scroll 组件才会开始监听下一次下拉刷新/上拉加载操作。在上例中数据更新时，没有调用`forceUpdate()`方法，原因为：**如果你向`Scroll`组件传递了`data`属性，那么当`Scroll`组件监听到`data`有更新时会自行调用`forceUpate(true)`方法**，因此推荐传递`data`属性。\n\n- **4. 自定义下拉刷新动画 - 仿京东 App 首页**\n\n  如果你不喜欢内置的下拉刷新和上拉加载动画，还可以用[作用域插槽](https://cn.vuejs.org/v2/guide/components.html#作用域插槽)做自定义动画。Scroll 组件的作用域插槽暴露出的变量非常完善，可以满足绝大多数场景下自定义下拉/上拉动画的需求。下面的例子模仿了京东 App 首页的下拉刷新动画。完整示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/jd.vue)。\n\n  ```html\n  <cube-scroll\n    ref=\"scroll\"\n    :scroll-events=\"['scroll']\"\n    :options=\"scrollOptions\"\n    @scroll=\"onScrollHandle\"\n    @pulling-down=\"onPullingDown\">\n    <img src=\"http://om0jxp12h.bkt.clouddn.com/jd_content.JPG\">\n    <template slot=\"pulldown\" slot-scope=\"props\">\n      <div v-if=\"props.pullDownRefresh\"\n        class=\"cube-pulldown-wrapper\"\n        :style=\"pullDownStyle\">\n        <div class=\"pulldown-content\">\n          <img src=\"http://om0jxp12h.bkt.clouddn.com/pulldow-img.jpg\">\n          <span v-if=\"props.beforePullDown\">{{ pullDownTip }}</span>\n          <template v-else>\n            <span v-if=\"props.isPullingDown\">正在更新...</span>\n            <span v-else>更新成功</span>\n          </template>\n        </div>\n      </div>\n    </template>\n  </cube-scroll>\n  ```\n  ```javascript\n  data() {\n    return {\n      options: {\n        pullDownRefresh: {\n          threshold: 60,\n          stop: 40,\n          txt: '更新成功'\n        }\n      },\n      ...\n    }\n  },\n  computed: {\n    pullDownTip() {\n      if (this.pullDownY <= 60) {\n        return '下拉刷新...'\n      } else if (this.pullDownY <= 90) {\n        return '继续下拉有惊喜...'\n      } else {\n        return '松手得惊喜！'\n      }\n    },\n    headerStyle() {\n      return Math.min(1, Math.max(0, 1 - this.pullDownY / 40))\n    }\n  },\n  methods: {\n    onScrollHandle(pos) {\n      this.pullDownY = pos.y\n      if (pos.y > 0) {\n        this.pullDownStyle = `top:${pos.y}px`\n        this.triggerSurpriseFlag = false\n        if (this.pullDownY > 90) {\n          this.triggerSurpriseFlag = true\n        }\n      }\n      this.$refs.topHeader.style.opacity = this.headerStyle\n    },\n    onPullingDown() {\n      if (this.triggerSurpriseFlag) {\n        this.triggerSurprise = true\n        this.$refs.scroll.forceUpdate()\n        return\n      }\n      setTimeout(() => {\n        this.$refs.scroll.forceUpdate()\n      }, 1000)\n    },\n    ...\n  }\n  ```\n\n  通过作用域插槽提供的作用域参数，如：`beforePulldown`和`isPullingDown`，你可以根据状态的变化来控制动画流程，其他作用域参数及其含义详见下面的[插槽](#/zh-CN/docs/scroll#cube-插槽-anchor)。在一个完整的下拉刷新过程中，`beforePullDown`和`isPullingDown`的状态变化如下：\n\n  | 流程 | beforePulldown | isPullingDown | 备注 |\n  | - | - | - | - |\n  | 1. 未触发下拉刷新 | true | - | 展示继续下拉引导图案 |\n  | 2. 触发下拉刷新 | false | true | 异步请求数据，显示 loading |\n  | 3. 获取数据成功 | false | false | 调用 `forceUpdate(true)`, 显示成功文案, 延迟 stopTime 时间进入步骤 4  |\n  | 4. 下拉刷新完成 | true | - | - |\n\n- **5. 高级使用 - 仿头条 App 首页**\n\n  Scroll 组件能够满足绝大多数移动端应用的滚动需求。本例中通过横向和纵向的两个 Scroll 组件快速实现了模仿头条 App 首页的滚动体验。完整的示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/toutiao.vue)。\n\n  ```html\n  <div class=\"nav-scroll-list-wrap\">\n    <cube-scroll ref=\"navScroll\" direction=\"horizontal\">\n      <ul class=\"nav-wrapper\">\n        <li v-for=\"(item, index) in navTxts\" :key=\"index\" class=\"nav-item\">{{ item }}</li>\n      </ul>\n    </cube-scroll>\n    <div class=\"more-wrapper\">\n      <span class=\"more\"></span>\n    </div>\n  </div>\n  <div class=\"content-scroll-wrapper\">\n    <div class=\"content-scroll-list-wrap\" ref=\"scrollWrapper\">\n      <cube-scroll\n        ref=\"contentScroll\"\n        :data=\"content\"\n        :options=\"options\"\n        @pulling-down=\"onPullingDown\"\n        @pulling-up=\"onPullingUp\">\n        <ul class=\"imgs-wrapper\">\n          <li v-for=\"(item, index) in content\" :key=\"index\" class=\"imgs-item\">\n            <img :src=\"item.url\">\n          </li>\n        </ul>\n        <template slot=\"pulldown\" slot-scope=\"props\">\n          <div v-if=\"props.pullDownRefresh\"\n            class=\"cube-pulldown-wrapper\"\n            :style=\"props.pullDownStyle\">\n            <div v-if=\"props.beforePullDown\"\n              class=\"before-trigger\"\n              :style=\"{paddingTop: props.bubbleY + 'px'}\">\n              <span :class=\"{rotate: props.bubbleY > options.pullDownRefresh.threshold - 60}\">↓</span>\n            </div>\n            <div class=\"after-trigger\" v-else>\n              <div v-show=\"props.isPullingDown\" class=\"loading\">\n                <cube-loading></cube-loading>\n              </div>\n              <transition name=\"success\">\n                <div v-show=\"!props.isPullingDown\" class=\"text-wrapper\"><span class=\"refresh-text\">今日头条推荐引擎有x条更新</span></div>\n              </transition>\n            </div>\n          </div>\n        </template>\n      </cube-scroll>\n    </div>\n  </div>\n  ```\n\n  和“仿京东 APP”示例不同的是，在下拉刷新的自定义动画中，使用了`pulldown`作用域插槽中的`pullDownStyle`和`bubbleY`更方便的实现下拉动画。\n\n  `pullDownStyle`用来控制下拉内容的位置，值为字符串`top: n px`（n 代表数值）。Scroll 组件是通过绝对定位的`top`值来控制下拉内容位置的。初始状态`top`值为负值，大小刚好为下拉内容的高度，因此下拉内容被隐藏到滚动区域上方，当下拉过程中，Scroll 组件会逐渐增大`top`值，实时更新下拉内容的位置。`top`最大值为0，即当下拉内容完全显示后`top`值不再增加。即 `pullY - height <= top <= 0`。（pullY 为下拉距离，height 为下拉内容高度）\n\n  `bubbleY`用来辅助实现自定义动画。在默认动画中，`bubbleY`用来控制气泡尾巴长度；在头条例子中，用来控制箭头的`padding-top`值，间接控制箭头位置。`bubbleY`的最小值为 0，下拉过程中，当下拉距离大于下拉内容高度后，`bubbleY`开始增大。即 `0 <= bubbleY <= pullY - height`。\n\n  > 在本例中，`pullDownRefresh`配置项没有传入`stop`值，但是下拉后依然能够回弹到正确位置，原因是 Scroll 组件初始化时会将 `beforePullDown === false && isPullingDown === true` 时下拉内容高度作为 `stop` 默认值。\n\n- **6. 嵌套纵向滚动 - Vertical Scrolls**<sup>1.12.0</sup>\n\n  `Scroll`组件还支持嵌套的场景(目前只支持两层嵌套)。当遇到嵌套场景时，你需要给内层`scroll`组件设置 Prop nestMode，可选值有 'native' 和 'free'。当设置为 'native' 时，嵌套`Scroll`与浏览器原生嵌套场景的滚动行为相同。下面是`Scroll`组件实现纵向嵌套滚动的例子。完整的示例代码在这里[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/vertical-scrolls.vue)。\n\n  ```html\n  <cube-scroll\n    ref=\"scroll1\"\n    class=\"scroll-list-outer-wrap\">\n    ...\n    <cube-scroll\n      ref=\"scroll2\"\n      class=\"scroll-list-inner-wrap\"\n      nest-mode=\"native\">\n      <ul class=\"cube-scroll-list\">\n        <li class=\"cube-scroll-item border-bottom-1px\"\n          v-for=\"(item, index) in items2\"\n          :key=\"index\">{{item}}</li>\n      </ul>\n    </cube-scroll>\n    ...\n  </cube-scroll>\n  ```\n\n- **7. 嵌套横向滚动 - Horizontal Scrolls**<sup>1.12.0</sup>\n\n  你还可以实现横向的嵌套滚动。这里同时设置`nestMode`为`free`，与`native`模式不同的是，`free`模式下，内层滚动过程中只要触发边界，便会开启外层滚动。而`native`模式下，只在开始滚动时判断是否到达边界，与浏览器原生的嵌套滚动保持一致。完整的示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/horizontal-scrolls.vue)。\n\n  ```html\n  <cube-scroll\n    ref=\"scroll\"\n    :data=\"items1\"\n    direction=\"horizontal\"\n    class=\"outer-horizontal-scroll\">\n    <ul class=\"list-wrapper\">\n      <li v-for=\"item in items1\" class=\"list-item\">{{ item }}</li>\n      <li class=\"list-item inner-horizontal-scroll\">\n        <cube-scroll\n          ref=\"scroll\"\n          :data=\"items2\"\n          direction=\"horizontal\"\n          nest-mode=\"free\">\n          <ul class=\"list-wrapper\">\n            <li v-for=\"item in items2\" class=\"list-item\">{{ item }}</li>\n          </ul>\n        </cube-scroll>\n      </li>\n      <li v-for=\"item in items1\" class=\"list-item\">{{ item }}</li>\n    </ul>\n  </cube-scroll>\n  ```\n\n<!-- - **8. Scroll 中嵌套 textarea - Textarea**\n\n  有时候我们需要在 `Scroll` 组件中包含 teatarea 输入框。然而由于我们在使用 `Scroll` 时禁用了浏览器 'touch' 事件的默认行为，因此我们无法在 textarea 输入框中使用浏览器的原生滚动。\n\n  现在我们希望通过这个例子，介绍两种解决这个问题的方法。核心都是利用了 `Scroll` 支持嵌套的能力，我们将内部的输入框用 `Scroll` 进行包装，通过 `Scroll` 去模拟滚动行为。但是有一个要求是，输入框内容区域必须是高度自适应，即高度随内容增加或减少。\n\n  1）利用 div 标签模拟 textarea，实现内容区域高度自适应。\n\n  2）利用 textarea 配合 js，实现高度自适应。\n\n  最后，我们还需要一些额外的工作保证输入过程中，光标能始终在视线内，保持与原生输入框的行为一致。完整的示例代码在[这里](https://github.com/didi/cube-ui/blob/master/example/pages/scroll/textarea.vue)\n\n  ```html\n  <cube-scroll\n    ref=\"scrollOuter\"\n    :options=\"optionsOuter\"\n    class=\"scroll-outer\">\n    ...\n    <div class=\"editable-div-wrapper\" :class=\"{'editable-div_active': isFocusDiv}\">\n      <cube-scroll\n        ref=\"divWrapScroll\"\n        :options=\"options\">\n        <div ref=\"editablediv\" contenteditable=\"true\" class=\"editable-div\"\n          @focus=\"onFocusDiv\"\n          @blur=\"onBlurDiv\"\n          @input=\"onInputDiv\">\n        </div>\n      </cube-scroll>\n      <span class=\"editable-div-indicator\">{{divValueCount}}</span>\n    </div>\n    <div class=\"cube-textarea-wrapper\" :class=\"{'cube-textarea_active': isFocusNative}\">\n      <cube-scroll\n        ref=\"nativeWrapScroll\"\n        :options=\"options\">\n        <textarea\n          ref=\"textarea\"\n          v-model=\"textareaValue\"\n          @input=\"onInputNative\"\n          @focus=\"onFocusNative\"\n          @blur=\"onBlurNative\"\n          :placeholder=\"placeholder\"\n          class=\"cube-textarea\">\n        </textarea>\n      </cube-scroll>\n      <span class=\"cube-textarea-indicator\">{{textareaValueCount}}</span>\n    </div>\n    ...\n  </cube-scroll>\n  ``` -->\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| data | 用于列表渲染的数据 | Array | - | [] |\n| direction | 滚动方向 | String | 'vertical', 'horizontal' | 'vertical' |\n| options | better-scroll 配置项，具体请参考[BS 官方文档](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) | Object | - | {<br>  observeDOM: true,<br>  click: true,<br>  probeType: 1,<br>  scrollbar: false,<br>  pullDownRefresh: false,<br>  pullUpLoad: false<br>} <br>`注意`：从`1.12.38`版本开始，因修复[BS](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html)在`iOS13.4`版本的滚动问题，`useTransition`在iOS版本>=13.4时默认为`fasle`<br>具体请参考[#978](https://github.com/ustbhuangyi/better-scroll/issues/978)|\n| scrollEvents<sup>1.9.0</sup> | 配置需要派发的 scroll 事件 | Array | 可包含子项：'scroll', 'before-scroll-start', 'scroll-end' | [] |\n| listenScroll | 是否派发 scroll 事件。`即将废弃`，推荐使用 `scroll-events` 属性 | Boolean | true/false | false |\n| listenBeforeScroll | 是否派发 before-scroll-start 事件。`即将废弃`，推荐使用 `scroll-events` 属性 | Boolean | true/false | false |\n| refreshDelay | data属性的数据更新后，scroll 的刷新延时 | Number | - | 20 |\n| nestMode<sup>1.12.0</sup> | 嵌套滚动模式，默认是`none`，即不做嵌套处理。`native`只在开始滚动时判断是否到达边界并开启外层滚动，与浏览器原生的嵌套滚动保持一致。`free`模式下，内层滚动过程中只要触发边界，便会开启外层滚动。| String | 'none', 'native', 'free' | 'none' |\n\n`options`中 better-scroll 的几个常用配置项，`scrollbar`、`pullDownRefresh`、`pullUpLoad`这三个配置即可设为 `Boolean`（`false` 关闭该功能，`true` 开启该功能，并使用默认子配置），也可设为`Object`，开启该功能并具体定制其子配置项。\n\n- `scrollbar` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| fade | 是否淡入淡出 | Boolean | true/false | false |\n\n- `pullDownRefresh` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| threshold | 下拉刷新动作的下拉距离阈值 | Number | - | 90 |\n| stop | 回弹停留的位置 | Number | - | 组件会自动计算回弹时显示的元素高度作为默认值 |\n| stopTime | 刷新成功的文案显示时间 | Number | - | 600 |\n| txt | 刷新成功的文案 | String | - | 'Refresh success' |\n\n- `pullUpLoad` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| threshold | 上拉刷新动作的上拉距离阈值 | Number | - | 0 |\n| txt | 上拉加载的相关文案 | Object | - | { more: '', noMore: '' } |\n| visible<sup>1.12.21</sup> | 内容不满一屏时，txt 文案是否可见 | Boolean | true/false | false |\n\n> 当开启 pullUpLoad，且内容较少，内容高度小于容器时，默认情况下，`pullUpLoad.txt` 配置的文案如“上滑加载更多”，需要上拉后才能看到。如果希望无需上拉即可看到提示文案，可以设置 `pullUpLoad.visible` 为 `true`。\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 基于`data`属性渲染的列表 | - |\n| pulldown | 位于列表上方，会在下拉刷新时显示 | pullDownRefresh: 是否开启了下拉刷新功能 <br> pullDownStyle: 移入移出的样式 <br> beforePullDown: 是否正在做下拉操作 <br> isPullingDown: 是否正在拉取数据 <br> bubbleY: 当前下拉的距离 - 50|\n| pullup | 位于列表下方，会在上拉加载时显示 | pullUpLoad: 是否开启了上拉加载功能 <br> isPullUpLoad: 是否正在加载数据 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| click | 点击列表项时触发 | item - 该列表项的数据 |\n| scroll | 当 `scroll-events` 包含 `scroll` 时，根据 probeType 的值决定派发时机 | Object {x, y} - 实时滚动位置的坐标 |\n| before-scroll-start | 当 `scroll-events` 包含 `before-scroll-start` 时，在滚动开始之前触发 | - |\n| scroll-end<sup>1.9.0</sup> | 当 `scroll-events` 包含 `scroll-end` 时，在滚动结束时触发 | Object {x, y} - 实时滚动位置的坐标 |\n| pulling-down | 当 pullDownRefresh 属性为 true 时，在下拉超过阈值时触发 | - |\n| pulling-up | 当 pullUpLoad 属性为 true 时，在上拉超过阈值时触发 | - |\n\n### 方法\n\n| 方法名 | 说明 | 参数 |\n| - | - | - |\n| scrollTo(x, y, time, ease) | 滚动到指定位置 | x: number, 横向位置<br> y: number, 纵向位置<br> time: number, 过渡动画时间 (ms)<br> ease: EasingFn, 缓动曲线 |\n| forceUpdate(dirty, nomore<sup>1.12.21</sup>) | 标记上拉下拉结束，强制重新计算可滚动距离 | dirty: boolean, 标识有数据更新，默认为 false。<br>nomore: boolean, pullUpLoad 中标识没有更多数据，默认为 false。1.12.21版本后支持 nomore 参数，当 nomore 为 true 时，上拉加载展示 `pullUpLoad.txt.nomore` 值，但当 dirty 为 false 时，nomore 无效。|\n| disable() | 禁用滚动 | - |\n| enable() | 启用滚动，默认是开启滚动的。 | - |\n| resetPullUpTxt() | 当从无更多切换到有更多时，重置上拉文本内容 | - |\n| refresh() | 刷新，重新计算高度且刷新 BetterScroll 实例 | - |\n\n\n### 内部属性\n\n| 属性名 | 说明 |\n| - | - |\n| scroll | 可以通过该属性获得内部实现滚动核心的 BScoll 实例，从而获得更多 BScoll 的底层能力，如监听`touchEnd`事件，获得滚动中的中间状态等，具体可查看[ better-scroll 文档](https://better-scroll.github.io/docs-v1/doc/zh-hans/) |\n"
  },
  {
    "path": "document/components/docs/zh-CN/segment-picker.md",
    "content": "## SegmentPicker 组件\n\n> 1.7.0 新增\n\n段选择器，用于实现多段的选择，比如选择时间段：2010年9月1日 - 2014年6月30日。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 基本用法\n\n  通过 `data` 属性定义每个节点选择器的类型和属性，`is` 代表该选择器是用哪种 Picker 组件，既可以是 Cube UI 的 Picker 类组件，也可以是你自己定义的 Picker 组件。比如下面是我们用两个 DatePicker 组件来做时间段选择。\n\n  ```html\n  <cube-button @click=\"showDateSegmentPicker\">StartDate - EndDate</cube-button>\n  ```\n  ```js\n  const dateSegmentData = [\n    {\n      is: 'cube-date-picker',\n      title: '入学时间',\n      min: new Date(2000, 0, 1),\n      max: new Date(2030, 11, 31)\n    },\n    {\n      is: 'cube-date-picker',\n      title: '毕业时间',\n      min: new Date(2000, 0, 1),\n      max: new Date(2030, 11, 31)\n    }\n  ]\n\n  export default {\n    mounted () {\n      this.dateSegmentPicker = this.$createSegmentPicker({\n        data: dateSegmentData,\n        onSelect: (selectedDates, selectedVals, selectedTexts) => {\n          this.$createDialog({\n            type: 'warn',\n            content: `Selected Items: <br/> - 入学时间: ${selectedTexts[0].join('')} <br/> - 毕业时间: ${selectedTexts[1].join('')}`,\n            icon: 'cubeic-alert'\n          }).show()\n        },\n        onNext: (i, selectedDate, selectedValue, selectedText) => {\n          dateSegmentData[1].min = selectedDate\n          if (i === 0) {\n            this.dateSegmentPicker.$updateProps({\n              data: dateSegmentData\n            })\n          }\n        }\n      })\n    },\n    methods: {\n      showDateSegmentPicker() {\n        this.dateSegmentPicker.show()\n      }\n    }\n  }\n  ```\n\n  并且为了实现两个选择器之间的联动，我们可以在 next 下一步的事件处理函数中，根据第一个的选择，更新第二个选择器，比如这里是，将结束时间的最小值 = 所选的开始时间。\n\n- 快递 - 寄件地址 - 收件地址\n\n  ```html\n  <cube-button @click=\"showCitySegmentPicker\">Express - From - To</cube-button>\n  ```\n  ```js\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const cityData = provinceList\n  cityData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n\n  export default {\n    mounted () {\n      this.citySegmentPicker = this.$createSegmentPicker({\n        data: [{\n          title: '选择快递',\n          data: [expressData],\n          selectedIndex: [1]\n        }, {\n          is: 'cube-cascade-picker',\n          title: '寄件地址',\n          data: cityData,\n          selectedIndex: [0, 0, 0],\n          cancelTxt: '返回'\n        }, {\n          is: 'cube-cascade-picker',\n          title: '收件地址',\n          data: cityData,\n          selectedIndex: [0, 0, 0]\n        }],\n        cancelTxt: 'Cancel',\n        confirmTxt: 'Confirm',\n        nextTxt: 'Next',\n        prevTxt: 'Prev',\n        onSelect: (selectedVals, selectedIndexs, selectedTexts) => {\n          this.$createDialog({\n            type: 'warn',\n            content: `Selected Items: <br/> - 所选快递:  ${selectedTexts[0].join('')} <br/> - 寄件地址: ${selectedTexts[1].join('')} <br/> - 收件地址: ${selectedTexts[2].join('')}`,\n            icon: 'cubeic-alert'\n          }).show()\n        }\n      })\n    },\n    methods: {\n      showCitySegmentPicker() {\n        this.citySegmentPicker.show()\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| data | 定义各个选择器的组件名和属性 | Array | [] | - |\n| nextTxt | 下一步按钮文案 | String | '下一步' | - |\n| prevTxt | 上一步按钮文案 | String | '下一步' | - |\n| title | 标题 | String | '' | - |\n| subtitle<sup>1.8.1</sup> | 副标题 | String | '' | - |\n| cancelTxt | 取消按钮文案 | String | '取消' | - |\n| confirmTxt | 确定按钮文案 | String | '确定' | - |\n| swipeTime<sup>1.8.1</sup> | 快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms | Number | 2500 | - |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | true |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | 100 | - |\n\n* `data` 子配置项\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| is | 该节点选择器的组件名 | String | cube-picker | cube-date-picker |\n| 其它 | 该节点选择器的属性 | - | - | - |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| select | 点击确认按钮触发此事件 | 各个选择器的 select 事件的参数1，Array 类型 | 各个选择器的 select 事件的参数2，Array 类型 | 各个选择器的 select 事件的参数3，Array 类型 |\n| cancel | 点击取消按钮触发此事件 | - | - | - |\n| next | 点击下一步按钮触发此事件 | 当前 picker 的索引，Number类型 | 其余参数为，当前 picker select 时间的参数 | ··· | ··· |\n| prev | 点击上一步按钮触发此事件 | 当前 picker 的索引，Number类型 | - | - | - |\n| change | 滚轴滚动后触发此事件 | pickerIndex: 当前滚动 picker 的索引，Number类型 |index: 当前滚动列索引，Number类型 | selectedIndex: 当前列选中项的索引，Number类型 |\n\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| show | 显示 |\n| hide | 隐藏 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/select.md",
    "content": "## Select\n\n> 1.5.0 新增\n\nSelect 组件，用于单项选择。\n\n__注：__ 由于此组件依赖 [Picker](#/zh-CN/docs/picker) 组件，而 Picker 组件是基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 基本用法\n\n  对于 Select 选择组件，你需要传入 options 定义各个选项，选择的结果则绑定在 v-model 上。\n\n  ```html\n  <cube-select\n    v-model=\"value\"\n    :options=\"options\">\n  </cube-select>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        options: [2013, 2014, 2015, 2016, 2017, 2018],\n        value: 2016\n      }\n    }\n  }\n  ```\n\n- 配置和事件\n\n  Select 支持选择器标题（title）、占位符（placeholder）、自动弹出选择器（autoPop）、禁用（disabled）的配置。并且在选择时，如果选择的值改变了，会派发 change 事件。\n\n  ```html\n  <cube-select\n    v-model=\"value\"\n    :title=\"title\"\n    :options=\"options\"\n    :placeholder=\"placeholder\"\n    :auto-pop=\"autoPop\"\n    :disabled=\"disabled\"\n    @change=\"change\">\n  </cube-select>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        options: [2013, 2014, 2015, 2016, 2017, 2018],\n        value: 2016,\n        title: '入职时间',\n        placeholder: '请选择入职时间',\n        autoPop: false,\n        disabled: false\n      }\n    },\n    methods: {\n      change(value, index, text) {\n        console.log('change', value, index, text)\n      }\n    }\n  }\n  ```\n\n  需要注意的一点是，change 事件在你直接赋值修改 value 的值时，不会触发，只会在选择导致的修改时触发。如果你只是想监听 value 的改变，请直接监听 value。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| options | 选项 | Array | - | [] |\n| v-model | 选中的值 | Any | - | - |\n| placeholder | 占位文案 | String | - | '请选择' |\n| autoPop | 是否自动弹出选择器 | Boolean | true/false | false |\n| disabled | 是否禁用 | Boolean | true/false | false |\n| title | 选择器的标题 | String | - | '请选择' |\n| cancelTxt | 选择器的取消按钮文案 | String | - | '取消' |\n| confirmTxt | 选择器的确认按钮文案 | String | - | '确认' |\n\n- `options ` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 示例 |\n| - | - | - | - | - |\n| value | 该选项的值 | Any | - | - |\n| text | 该选项的文案 | String | - | - |\n\n你可以将每个选项定义成一个对象，其中 text 为选项文案，value为选项的值，若没有将该选项定义为对象，比如 2014，则我们内部会把它转化成 { value: 2014, text: 2014 }\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| input | 在选择时，如果选择的值改变了派发 | 选中项的值 | - | - |\n| change | 在选择时，如果选择的值改变了派发 | 选中项的值 | 选中项的索引 | 选中项的文案 |\n| picker-show | 使用的 Picker 显示的时候派发 | - | - | - |\n| picker-hide | 使用的 Picker 隐藏的时候派发（确定或取消都会派发） | - | - | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/singleton.md",
    "content": "## 单例模式\n\n通过 API 调用组件的时候，需要涉及到组件的单例、多例模式。\n\n- 1.11 版本之后\n\n  单例是相对于某一个组件上下文的，如果说组件是单例的，在同一个组件内多次实例化的时候，只有一个实例，对应的视图层也只存在一份；如果说组件是多例的，那么每次实例化的时候都会产生一个新的实例，且对应的视图也是有多份的，它们之间互不影响。\n\n- 1.11 版本之前\n\n  如果说组件是单例的，在多次实例化的时候，只有一个实例，对应的视图层也只存在一份；如果说组件是多例的，那么每次实例化的时候都会产生一个新的实例，且对应的视图也是有多份的，它们之间互不影响。\n\n在 cube-ui 中涉及到 API 调用的组件都是弹层类，经常使用的如下：\n\n- [Toast 提醒](#/zh-CN/docs/toast)\n- [Picker 选择器](#/zh-CN/docs/picker)\n- [TimePicker 时间选择器](#/zh-CN/docs/time-picker)\n- [Dialog 弹框](#/zh-CN/docs/dialog)\n- [ActionSheet 操作菜单](#/zh-CN/docs/action-sheet)\n\n所有的 API 调用都是使用 [create-api](#/zh-CN/docs/create-api) 模块暴露出的 `createAPI` 函数实现，在定义的时候就决定了该组件是否是单例的，详见 [create-api](#/zh-CN/docs/create-api) 文档。\n\n默认情况下，Toast、Dialog 以及 ActionSheet 是单例的，而 Picker 和 TimePicker 是多例的，因为其场景往往比较复杂，有很多额外的数据处理操作，所以是多例的。如果你想在实例化的时候改变默认行为，可以通过设定 `$createX` 的参数中去修改，例如把 Dialog 改为多例的：\n\n```js\nconst dialog = this.$createDialog({\n  type: 'confirm',\n  title: 'title',\n  content: 'content'\n}, false)\ndialog.show()\n```\n\n在一般情况下，默认行为即可满足需求，除非特殊场景。\n\n**注：** 限于 Picker 和 TimePicker 的场景，不支持单例模式。\n"
  },
  {
    "path": "document/components/docs/zh-CN/slide.md",
    "content": "## Slide\n\n轮播图，提供了常见的`轮播`及 `swipe` 的功能，也是一个基于 `better-scroll` 进行封装的组件。\n\n### 示例\n\n- 基本使用\n\n  考虑到 `cube-slide` 最常用的场景，每个轮播页是一个可跳转链接的图片，所以我们提供的最简便的用法是，通过 `data` 属性传入一个包含图片和跳转链接信息的数组，我们会默认将其渲染成一组超链接图片的轮播图。\n\n  ```html\n  <cube-slide :data=\"items\"/>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        items: [\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n- 自定义内容\n\n  当然我们也支持自定义内容，使用默认插槽和 `cube-slide-item` 就可以自定义每个轮播页的结构。其中，`cube-slide` 元素即整个轮播图组件，`cube-slide-item` 元素则是每一个轮播的页面，其 slot 为该页的内容。\n\n  ```html\n  <cube-slide ref=\"slide\" :data=\"items\" @change=\"changePage\">\n    <cube-slide-item v-for=\"(item, index) in items\" :key=\"index\" @click.native=\"clickHandler(item, index)\">\n      <a :href=\"item.url\">\n        <img :src=\"item.image\">\n      </a>\n    </cube-slide-item>\n  </cube-slide>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        items: [\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\n          }\n        ]\n      }\n    },\n    methods: {\n      changePage(current) {\n        console.log('当前轮播图序号为:' + current)\n      },\n      clickHandler(item, index) {\n        console.log(item, index)\n      }\n    }\n  }\n  ```\n\n  虽然你使用了自定义内容以后，我们不会用 `data` 生成默认内容，但依然建议你将数据传入 `data` 属性，因为只有这样，我们组件内部才能帮你自动进行数据监听和重新渲染，否则你可能会需要自己调用 refresh 方法重新渲染，比如这样  `this.$refs.slide.refresh()`。\n\n- 初始索引\n\n  初始化时展示的位置索引值，默认为 0。\n\n  ```html\n  <cube-slide :initial-index=\"1\"></cube-slide>\n  ```\n\n- 循环播放\n\n  默认开启循环播放，可通过 loop 属性配置。\n\n  ```html\n  <cube-slide :loop=\"false\"></cube-slide>\n  ```\n\n- 自动播放\n\n  默认开启自动播放，可通过 auto-play 属性配置。\n\n  ```html\n  <cube-slide :auto-play=\"false\"></cube-slide>\n  ```\n\n- 自动播放的时间间隔\n\n  当开启了自动播放时，还可通过 interval 属性配置时间间隔。\n\n  ```html\n  <cube-slide :interval=\"4000\"></cube-slide>\n  ```\n\n- 切换页面的滑动阈值\n\n  可通过 `threshold` 属性配置切换页面的滑动阈值，既当滑动的距离超过了页面宽度 × `threshold`时，切换页面。默认值为0.3。\n\n  ```html\n  <cube-slide :threshold=\"0.4\"></cube-slide>\n  ```\n\n- 切换页面的速度\n\n  默认切换动画耗时为400ms，可通过 `speed` 属性配置。\n\n  ```html\n  <cube-slide :speed=\"200\"></cube-slide>\n  ```\n\n- 允许纵向滚动\n\n  默认在 Slide 区域的时候，竖向是不能滚动的，如果想要竖向可以滚动，可以设置 `allowVertical` 为 `true`。\n\n  ```html\n  <cube-slide :allow-vertical=\"true\"></cube-slide>\n  ```\n\n- 修改 dots 内容\n\n  默认是点，可通过插槽修改。\n\n  ```html\n  <cube-slide>\n    <template slot=\"dots\" slot-scope=\"props\">\n      <span class=\"my-dot\" :class=\"{active: props.current === index}\" v-for=\"(item, index) in props.dots\">{{index + 1}}</span>\n    </template>\n  </cube-slide>\n  ```\n\n  作用域插槽提供了所需的当前索引值 `current` 以及长度 `dots`。\n\n- 实时派发滚动的距离<sup>1.10.0</sup>\n\n  ```html\n  <cube-slide :options=\"options\" @scroll=\"scroll\"></cube-slide>\n  ```\n\n  ```javascript\n    export default {\n      data() {\n        return {\n          options: {\n            listenScroll: true,\n            probeType: 3\n          }\n        }\n      },\n      methods: {\n        scroll ({x, y}) {\n          console.log(x, y)\n        }\n      }\n    }\n    ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| data | 用于 side-item 列表渲染的数据，当需要使用内置的默认内容，或者让组件自动监听数据变化重新渲染时，此参数必传 | Array | - | [] |\n| initialIndex | 初始索引值 | Number | - | 0 |\n| loop | 是否循环播放 | Boolean | true/false | true |\n| showDots | 是否显示轮播指示点 | Boolean | true/false | true |\n| autoPlay | 是否自动播放 | Boolean | true/false | true |\n| interval | 播放间隔 | Number | - | 4000 |\n| direction | 轮播方向 | String | horizontal/vertical | horizontal |\n| options<sup>1.9.0</sup> | better-scroll 配置项，具体请参考[BS 官方文档](https://better-scroll.github.io/docs-v1/doc/zh-hans/options.html) | Object | - | {<br>  momentum: false,<br>  click: true,<br>  observeDOM: false<br>} |\n| threshold | 切换页面的滑动阈值 | Number | (0, 1) | 0.3 |\n| speed | 切换页面的速度 | Number | - | 400 |\n| allowVertical | 是否允许竖向滚动。`即将废弃`，推荐使用 `options` 属性 | Boolean | true/false | false |\n| stopPropagation | 是否阻止事件冒泡，可用于解决嵌套同方向slide时会遇到的事件冒泡问题。`即将废弃`，推荐使用 `options` 属性 | Boolean | true/false | false |\n| refreshResetCurrent<sup>1.10.10</sup> | 当刷新时是否重置索引 | Boolean | true/false | true |\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 默认内容，由 cube-slide-item 构成 | - |\n| dots | dots 内容 | dots: 轮播项长度 <br> current: 当前索引 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| change | Slide 页面切换时触发 | 当前页面的索引值 |\n| scroll<sup>1.10.0</sup> | 滚动中实时派发 | Object {x, y} -滚动位置的坐标值 |\n| scroll-end<sup>1.9.0</sup> | 在滚动结束时触发 | 当前页面的索引值 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| refresh | 当轮播图内容删减的时候，可以调用此方法进行更新，重新渲染 |\n| play<sup>1.12.56</sup> | 暂停后，开启轮播图自动播放。**注意：仅当 `autoPlay` 为 `true` 时生效。** |\n| pause<sup>1.12.56</sup> | 暂停轮播图自动播放。**注意：仅当 `autoPlay` 为 `true` 时生效。** |\n"
  },
  {
    "path": "document/components/docs/zh-CN/sticky.md",
    "content": "## Sticky 组件\n\n> 1.10.0 新增\n\n吸附组件，当滚动位置到达目标元素位置后，目标元素就会自动吸附。\n\n### 示例\n\n- 综合使用 - Scroll\n\n  ```html\n  <cube-sticky :pos=\"scrollY\">\n    <cube-scroll\n      :scroll-events=\"scrollEvents\"\n      @scroll=\"scrollHandler\">\n      <ul>\n        <li>title</li>\n      </ul>\n      <cube-sticky-ele ele-key=\"11\">\n        <ul class=\"sticky-header\">\n          <li>111</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele ele-key=\"22\">\n        <ul class=\"sticky-header\">\n          <li>222</li>\n          <li>222</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items2\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele ele-key=\"33\">\n        <ul class=\"sticky-header\">\n          <li>333</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items3\">{{item}}</li>\n      </ul>\n    </cube-scroll>\n    <template slot=\"fixed\" slot-scope=\"props\">\n      <ul class=\"sticky-header\">\n        <li>{{props.current}}</li>\n      </ul>\n    </template>\n  </cube-sticky>\n  ```\n  ```js\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n  export default {\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        scrollY: 0,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler({ y }) {\n        this.scrollY = -y\n      }\n    }\n  }\n  ```\n\n  `cube-sticky` 需要和 `cube-sticky-ele` 组件配合使用。\n\n  `cube-sticky` 组件依赖 `pos` Prop 来指定当前实时位置，由于 Scroll 组件中派发的 `y` 为负值，所以我们需要将其转换为滚动位置，直接取 `-y` 即可。\n\n  `cube-sticky-ele` 组件的 `ele-key` Prop 是可选的，用于指定当前吸附元素的 key 值，默认为当前组件的索引值，即在 `cube-sticky` 组件中的第几个 `cube-sticky-ele`。\n\n  我们还可以利用 `cube-sticky` 组件的 `fixed` 插槽实现自定义吸附效果，如果没有插槽的话，内部默认会将吸附的 `cube-sticky-ele` 的内容显示出来。\n\n- 综合使用 - Native Scroll\n\n  利用原生滚动实现效果。\n\n  ```html\n  <cube-sticky :pos=\"scrollY\" :check-top=\"checkTop\">\n    <div class=\"scroll-ele\" @scroll=\"scrollHandler\">\n      <ul>\n        <li>title</li>\n      </ul>\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>111</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>222</li>\n          <li>222</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items2\">{{item}}</li>\n      </ul>\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>333</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items3\">{{item}}</li>\n      </ul>\n    </div>\n  </cube-sticky>\n  ```\n  ```js\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollY: 0,\n        checkTop: false,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler(e) {\n        this.scrollY = e.currentTarget.scrollTop\n      }\n    }\n  }\n  ```\n  ```stylus\n  .scroll-ele\n    height: 100%\n    overflow: auto\n    -webkit-overflow-scrolling: touch\n    background-color: #fff\n  ```\n\n  这个示例展示的就是利用原生滚动实现吸附效果的。\n\n  `check-top` Prop 则是用来控制检查条件的，默认为 `true`，意味着当 `cube-sticky-ele` 元素的顶部达到 `cube-sticky` 的顶部的时候就会被吸附；这个例子中我们设置为了 `false`，意味着当 `cube-sticky-ele` 的底部达到 `cube-sticky` 的顶部的时候会被吸附。\n\n- 模拟微信效果 - WeChat\n\n  ```html\n  <cube-sticky\n    :pos=\"scrollY\"\n    :check-top=\"checkTop\"\n    fixed-show-ani=\"sticky-fixed-show\"\n    @diff-change=\"diffChange\">\n    <cube-scroll\n      :scroll-events=\"scrollEvents\"\n      @scroll=\"scrollHandler\">\n      <img src=\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/6.jpg\">\n      <cube-sticky-ele>\n        <ul class=\"sticky-header\">\n          <li>111</li>\n        </ul>\n      </cube-sticky-ele>\n      <ul>\n        <li v-for=\"item in items\" class=\"border-top-1px\">{{item}}</li>\n      </ul>\n      <ul>\n        <li v-for=\"item in items2\" class=\"border-top-1px\">{{item}}</li>\n      </ul>\n      <ul>\n        <li v-for=\"item in items3\" class=\"border-top-1px\">{{item}}</li>\n      </ul>\n    </cube-scroll>\n    <ul class=\"sticky-header\" slot=\"fixed\" ref=\"stickyHeader\">\n      <li>header</li>\n    </ul>\n  </cube-sticky>\n  ```\n  ```js\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        scrollY: 0,\n        checkTop: true,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler({ y }) {\n        this.scrollY = -y\n      },\n      diffChange() {\n        let opacity = 0\n        if (height) {\n          opacity = diff / height\n        }\n        this.$refs.stickyHeader.style.opacity = opacity\n      }\n    }\n  }\n  ```\n  ```stylus\n  .sticky-fixed-show-enter, .sticky-fixed-show-leave-active\n    transform: translate(0, -100%)\n  .sticky-fixed-show-enter-active, .sticky-fixed-show-leave-active\n    transition: all .5s ease-in-out\n  ```\n\n  可以通过 `fixed-show-ani` 指定当元素吸附时出现的 `transition` 名字，我们这里指定 `sticky-fixed-show`，所以相对应的我们在样式中加了对应的动画控制效果。\n\n  同时可以通过 `diff-change` 事件得到当前 sticky 元素滚动的差值，一般我们可以和当前 sticky 元素的高做除法得到相对百分比，可以精细控制出现的具体细节。\n\n### Props\n\n#### CubeSticky\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| pos | 必须，滚动位置 | Number | - | - |\n| checkTop | 是否检测顶部位置，如果为 false，则检查 sticky-ele 元素的底部边界 | Boolean | true/false | true |\n| fixedShowAni | 元素吸附时指定 transition 的 name 值 | String | - | 如果 checkTop 为 true，则为 ''，如果为 false，则为 'cube-sticky-fixed-fade' |\n| offset | 偏移值，传入的 pos 的值会加上这个值修正 | Number | - | 0 |\n\n#### CubeStickyEle\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| eleKey | 吸顶元素的 key 值 | Number/String | - | - |\n\n当 `eleKey` 不存在时，CubeSticky 组件会获取当前 CubeStickyEle 组件的次序索引作为吸附元素的标示。\n\n### 插槽\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 默认内容 | - |\n| fixed | 元素吸附时内容如何展示 | current: 当前吸附元素的 key 值<br>index: 吸附元素索引值（非响应式的） |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 |\n| - | - | - | - |\n| change | 吸附的元素发生改变时触发 | current - 吸附的元素的 key 值，如果没有的话，则为 '' | index - 吸附元素的索引值，没有的话，则为 -1（非响应式的） |\n| diff-change | sticky 元素滚动的差值改变时触发 | diff - 差值，最小 0 | height: 当前 sticky 元素的高度 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| refresh | 刷新，当内容发生变化时可用于重新计算高度和位置 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/style.md",
    "content": "## style 模块\n\nstyle 模块主要包含就是样式部分，包含内置 icon、基础的 reset 以及基础通用样式。\n\n\n### 内置 icon\n\n图标是利用 [font-face](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face) 规则自定义字体 `\"cube-icon\"` 实现的。\n\n使用的时候只需要加入对应的类名即可，例如 alert 图标，可以这样用：`<i class=\"cubeic-alert\"></i>`。\n\n内置 icon 有 65 个：\n\n| - | - | - | - |\n| :-: | :-: | :-: | :-: |\n| <i class=\"cubeic-eye-invisible\"></i> | <i class=\"cubeic-eye-visible\"></i> | <i class=\"cubeic-person\"></i> | <i class=\"cubeic-select\"></i> |\n| <i class=\"cubeic-pulldown\"></i> | <i class=\"cubeic-pullup\"></i> | <i class=\"cubeic-back\"></i> | <i class=\"cubeic-arrow\"></i> |\n| <i class=\"cubeic-more\"></i> | <i class=\"cubeic-close\"></i> | <i class=\"cubeic-warn\"></i> | <i class=\"cubeic-question\"></i> |\n| <i class=\"cubeic-right\"></i> | <i class=\"cubeic-wrong\"></i> | <i class=\"cubeic-add\"></i> | <i class=\"cubeic-remove\"></i> |\n| <i class=\"cubeic-info\"></i> | <i class=\"cubeic-share\"></i> | <i class=\"cubeic-no-wifi\"></i> | <i class=\"cubeic-wifi\"></i> |\n| <i class=\"cubeic-sad\"></i> | <i class=\"cubeic-smile\"></i> | <i class=\"cubeic-game\"></i> | <i class=\"cubeic-email\"></i> |\n| <i class=\"cubeic-hot\"></i> | <i class=\"cubeic-notification\"></i> | <i class=\"cubeic-delete\"></i> | <i class=\"cubeic-vip\"></i> |\n| <i class=\"cubeic-mute\"></i> | <i class=\"cubeic-volume\"></i> | <i class=\"cubeic-good\"></i> | <i class=\"cubeic-bad\"></i> |\n| <i class=\"cubeic-mobile-phone\"></i> | <i class=\"cubeic-aim\"></i> | <i class=\"cubeic-navigation\"></i> | <i class=\"cubeic-safe-pay\"></i> |\n| <i class=\"cubeic-tag\"></i> | <i class=\"cubeic-lock\"></i> | <i class=\"cubeic-unlock\"></i> | <i class=\"cubeic-edit\"></i> |\n| <i class=\"cubeic-scan\"></i> | <i class=\"cubeic-qr-code\"></i> | <i class=\"cubeic-calendar\"></i> | <i class=\"cubeic-time\"></i> |\n| <i class=\"cubeic-red-packet\"></i> | <i class=\"cubeic-star\"></i> | <i class=\"cubeic-setting\"></i> | <i class=\"cubeic-home\"></i> |\n| <i class=\"cubeic-credit-card\"></i> | <i class=\"cubeic-mall\"></i> | <i class=\"cubeic-microphone\"></i> | <i class=\"cubeic-search\"></i> |\n| <i class=\"cubeic-danger\"></i> | <i class=\"cubeic-alert\"></i> | <i class=\"cubeic-picture\"></i> | <i class=\"cubeic-message\"></i> |\n| <i class=\"cubeic-phone\"></i> | <i class=\"cubeic-location\"></i> | <i class=\"cubeic-like\"></i> | <i class=\"cubeic-camera\"></i> |\n| <i class=\"cubeic-square-right\"></i> | <i class=\"cubeic-square-border\"></i> | <i class=\"cubeic-round-border\"></i> | <i class=\"cubeic-ok\"></i> ||\n| <i class=\"cubeic-important\"></i> |  |  |  |\n\n### reset.css\n\n源码地址：[reset](https://github.com/didi/cube-ui/blob/master/src/common/stylus/reset.styl)，使用的就是 Eric Meyer's Reset CSS。\n\n```stylus\n/**\n * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)\n * http://cssreset.com\n */\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video, input\n  margin: 0\n  padding: 0\n  border: 0\n  font-size: 100%\n  font-weight: normal\n  vertical-align: baseline\n\n/* HTML5 display-role reset for older browsers */\narticle, aside, details, figcaption, figure,\nfooter, header, menu, nav, section\n  display: block\n\nbody\n  line-height: 1\n\nblockquote, q\n  quotes: none\n\nblockquote:before, blockquote:after,\nq:before, q:after\n  content: none\n\ntable\n  border-collapse: collapse\n  border-spacing: 0\n\n/* custom */\n\na\n  color: #7e8c8d\n  -webkit-backface-visibility: hidden\n  text-decoration: none\n\nli\n  list-style: none\n\nbody\n  -webkit-text-size-adjust: none\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)\n```\n\n### base.css\n\n源码地址：[base](https://github.com/didi/cube-ui/blob/master/src/common/stylus/base.styl)，主要包含的就是 `html`, `body` 元素的 `font-family`, `line-height` 等的设定，修正浮动影响的 `.clear-fix`，以及上下左右四个边框的绝对 1px 边框的 class：`.border-top-1px`, `.border-right-1px`, `.border-bottom-1px`, `.border-left-1px`。\n\n```stylus\n@require \"./variable.styl\"\n\nbody, html\n  line-height: 1\n  font-family: 'PingFang SC', 'STHeitiSC-Light', 'Helvetica-Light', arial, sans-serif, 'Droid Sans Fallback'\n  user-select: none\n  -webkit-tap-highlight-color: transparent\n\n.clear-fix\n  &::after\n    content: \"\"\n    display: table\n    clear: both\n\n.border-top-1px, .border-right-1px, .border-bottom-1px, .border-left-1px\n  position: relative\n  &::before, &::after\n    content: \"\"\n    display: block\n    position: absolute\n    transform-origin: 0 0\n\n.border-top-1px\n  &::before\n    border-top: 1px solid $color-row-line\n    left: 0\n    top: 0\n    width: 100%\n    transform-origin: 0 top\n\n.border-right-1px\n  &::after\n    border-right: 1px solid $color-col-line\n    top: 0\n    right: 0\n    height: 100%\n    transform-origin: right 0\n\n.border-bottom-1px\n  &::after\n    border-bottom: 1px solid $color-row-line\n    left: 0\n    bottom: 0\n    width: 100%\n    transform-origin: 0 bottom\n\n.border-left-1px\n  &::before\n    border-left: 1px solid $color-col-line\n    top: 0\n    left: 0\n    height: 100%\n    transform-origin: left 0\n\n@media (min-resolution: 2dppx)\n  .border-top-1px\n    &::before\n      width: 200%\n      transform: scale(.5) translateZ(0)\n  .border-right-1px\n    &::after\n      height: 200%\n      transform: scale(.5) translateZ(0)\n  .border-bottom-1px\n    &::after\n      width: 200%\n      transform: scale(.5) translateZ(0)\n  .border-left-1px\n    &::before\n      height: 200%\n      transform: scale(.5) translateZ(0)\n\n@media (min-resolution: 3dppx)\n  .border-top-1px\n    &::before\n      width: 300%\n      transform: scale(.333) translateZ(0)\n  .border-right-1px\n    &::after\n      height: 300%\n      transform: scale(.333) translateZ(0)\n  .border-bottom-1px\n    &::after\n      width: 300%\n      transform: scale(.333) translateZ(0)\n  .border-left-1px\n    &::before\n      height: 300%\n      transform: scale(.333) translateZ(0)\n```\n"
  },
  {
    "path": "document/components/docs/zh-CN/swipe.md",
    "content": "## Swipe 滑块组件\n\n> 1.5.0 新增\n\n滑块组件，提供类似微信列表左滑功能，可以方便地对列表项做一些功能操作。\n\n### 示例\n\n`Swipe` 组件的示例相关代码在[这里](https://github.com/didi/cube-ui/tree/master/example/pages/swipe)\n\n- 基本使用\n\n  `Swipe` 组件常见的场景是搭配 `Scroll` 组件使用，既可以纵向滚动，又可以横向左滑出一些按钮对列表项做操作，当然，`Swipe` 组件也可以单独使用。\n\n  ```html\n  <template>\n   <div class=\"swipe-wrapper\">\n      <cube-scroll>\n        <cube-swipe\n            @item-click=\"onItemClick\"\n            @btn-click=\"onBtnClick\"\n            :data=\"swipeData\">\n        </cube-swipe>\n      </cube-scroll>\n    </div>\n  </template>\n  ```\n\n  ```js\n  export default {\n    data() {\n      return {\n        swipeData: [{\n          item: {\n            text: '测试1',\n            value: 1\n          },\n          btns: [\n            {\n              action: 'clear',\n              text: '不再关注',\n              color: '#c8c7cd'\n            },\n            {\n              action: 'delete',\n              text: '删除',\n              color: '#ff3a32'\n            }\n          ]\n        }, {\n          item: {\n            text: '测试2',\n            value: 2\n          },\n          btns: [\n            {\n              action: 'clear',\n              text: '不再关注',\n              color: '#c8c7cd'\n            },\n            {\n              action: 'delete',\n              text: '删除',\n              color: '#ff3a32'\n            }\n          ]\n        }, {\n          item: {\n            text: '测试3',\n            value: 3\n          },\n          btns: [\n            {\n              action: 'clear',\n              text: '不再关注',\n              color: '#c8c7cd'\n            },\n            {\n              action: 'delete',\n              text: '删除',\n              color: '#ff3a32'\n            }\n          ]\n        }]\n      }\n    },\n    methods: {\n      onItemClick(item) {\n        console.log('click item:', item)\n      },\n      onBtnClick(btn, index) {\n        if (btn.action === 'delete') {\n          this.$createActionSheet({\n            title: '确认要删除吗',\n            active: 0,\n            data: [\n              {content: '删除'}\n            ],\n            onSelect: () => {\n              this.swipeData.splice(index, 1)\n            }\n          }).show()\n        }\n      }\n    }\n  }\n  ```\n  `Swipe` 组件如果使用默认插槽，则需要传递示例所示的数据结构。\n\n- 自定义插槽\n\n  实际上我们更常见的需求是需要自定义列表的内容展示，因此 `Swipe` 组件也支持了插槽的使用方式。\n\n  默认插槽可以搭配 `cube-swipe-item` 组件实现列表的循环。自定义插槽非常灵活，但它也需要自己手动去写一些逻辑，比如如果你想要在列表删除的时候自定义动画，需要使用 `transition-group`，需要手动去管理每个激活的 `swipe-item` 的收缩，如示例代码所示。\n\n  - 1.11 之后\n\n    ```html\n    <template>\n      <div class=\"swipe-wrapper\">\n        <cube-scroll>\n          <cube-swipe>\n            <transition-group name=\"swipe\" tag=\"ul\">\n              <li class=\"swipe-item-wrapper\" v-for=\"(data,index) in swipeData\" :key=\"data.item.id\">\n                <cube-swipe-item\n                    ref=\"swipeItem\"\n                    :btns=\"data.btns\"\n                    :index=\"index\"\n                    @btn-click=\"onBtnClick\">\n                  <div @click=\"onItemClick(data.item, index)\" class=\"item-inner\">\n                    <div class=\"icon\">\n                      <img width=\"60\" height=\"60\" :src=\"data.item.imgurl\">\n                    </div>\n                    <div class=\"text\">\n                      <h2 class=\"item-name\" v-html=\"data.item.name\"></h2>\n                      <p class=\"item-desc\" v-html=\"data.item.desc\"></p>\n                    </div>\n                  </div>\n                </cube-swipe-item>\n              </li>\n            </transition-group>\n          </cube-swipe>\n        </cube-scroll>\n      </div>\n    </template>\n    ```\n\n    ```js\n    export default {\n      data() {\n        return {\n          swipeData: [\n            {\n              item: {\n                id: '3646653877',\n                name: '还不是因为你长得不好看',\n                desc: '伤感：歌词再狠，也抵不过现实伤人',\n                imgurl: 'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '1789676645',\n                name: '秋水浮萍任飘渺',\n                desc: '『武侠配乐』快意恩仇江湖情',\n                imgurl: 'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '3649034125',\n                name: '念葳蕊',\n                desc: '江海迦：热恋后哼一首歌为自己悲悯的歌',\n                imgurl: 'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n          ]\n        }\n      },\n      methods: {\n        onItemClick(item) {\n          console.log('click item:', item)\n        },\n        onBtnClick(btn, index) {\n          if (btn.action === 'delete') {\n            this.$createActionSheet({\n              title: '确认要删除吗',\n              active: 0,\n              data: [\n                {content: '删除'}\n              ],\n              onSelect: () => {\n                this.swipeData.splice(index, 1)\n              }\n            }).show()\n          } else {\n            this.$refs.swipeItem[index].shrink()\n          }\n        }\n      }\n    }\n    ```\n  - 1.11 之前\n\n    需要自己手工处理 CubeSwipeItem 的 `active` 事件逻辑 `onItemActive` 中。\n\n    ```html\n    <template>\n      <div class=\"swipe-wrapper\">\n        <cube-scroll>\n          <cube-swipe>\n            <transition-group name=\"swipe\" tag=\"ul\">\n              <li class=\"swipe-item-wrapper\" v-for=\"(data,index) in swipeData\" :key=\"data.item.id\">\n                <cube-swipe-item\n                    ref=\"swipeItem\"\n                    :btns=\"data.btns\"\n                    :index=\"index\"\n                    @btn-click=\"onBtnClick\"\n                    @active=\"onItemActive\">\n                  <div @click=\"onItemClick(data.item, index)\" class=\"item-inner\">\n                    <div class=\"icon\">\n                      <img width=\"60\" height=\"60\" :src=\"data.item.imgurl\">\n                    </div>\n                    <div class=\"text\">\n                      <h2 class=\"item-name\" v-html=\"data.item.name\"></h2>\n                      <p class=\"item-desc\" v-html=\"data.item.desc\"></p>\n                    </div>\n                  </div>\n                </cube-swipe-item>\n              </li>\n            </transition-group>\n          </cube-swipe>\n        </cube-scroll>\n      </div>\n    </template>\n    ```\n\n    ```js\n    export default {\n      data() {\n        return {\n          swipeData: [\n            {\n              item: {\n                id: '3646653877',\n                name: '还不是因为你长得不好看',\n                desc: '伤感：歌词再狠，也抵不过现实伤人',\n                imgurl: 'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '1789676645',\n                name: '秋水浮萍任飘渺',\n                desc: '『武侠配乐』快意恩仇江湖情',\n                imgurl: 'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n            {\n              item: {\n                id: '3649034125',\n                name: '念葳蕊',\n                desc: '江海迦：热恋后哼一首歌为自己悲悯的歌',\n                imgurl: 'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\n              },\n              btns: [\n                {\n                  action: 'clear',\n                  text: '不再关注',\n                  color: '#c8c7cd'\n                },\n                {\n                  action: 'delete',\n                  text: '删除',\n                  color: '#ff3a32'\n                }\n              ]\n            },\n          ]\n        }\n      },\n      created() {\n        this.activeIndex = -1\n      },\n      methods: {\n        onItemClick(item) {\n          console.log('click item:', item)\n        },\n        onBtnClick(btn, index) {\n          if (btn.action === 'delete') {\n            this.$createActionSheet({\n              title: '确认要删除吗',\n              active: 0,\n              data: [\n                {content: '删除'}\n              ],\n              onSelect: () => {\n                this.swipeData.splice(index, 1)\n              }\n            }).show()\n          } else {\n            this.$refs.swipeItem[index].shrink()\n          }\n        },\n        onItemActive(index) {\n          if (index === this.activeIndex) {\n            return\n          }\n          if (this.activeIndex !== -1) {\n            const activeItem = this.$refs.swipeItem[this.activeIndex]\n            activeItem.shrink()\n          }\n          this.activeIndex = index\n        }\n      }\n    }\n    ```\n\n### Props 配置\n\n- `cube-swipe` 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| data | 用于 `swipe` 列表渲染的数据，当需要使用内置的默认插槽，此参数必传，数组的每一项是一个 Object 类型，包括 `item` 和 `btns`，这俩参数见 `cube-swipe-item` 的描述。如果使用自定义插槽，可不传此值。 | Array | - | [] |\n| autoShrink | 用于当点击滑块的按钮后，是否需要自动收缩滑块，如果使用自定义插槽，则直接给 `cube-swipe-item` 传递此值即可。 | Boolean | - | false |\n\n- `cube-swipe-item` 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| item | 用于 `swipe-item` 列表项渲染的数据，当需要使用内置的默认插槽，此参数必传，且需要有 `value` 和 `text` 2 个字段，分别表示数据项的值和显示的文案，但如果使用自定义插槽，可不传此值。 | Object | - | {} |\n| btns | 用于 `swipe-item` 列表项渲染按钮数组，数组的每一项是一个 Object 类型，至少要包含 `text` 和 `color` 2 个字段，分别表示按钮的文案和颜色。 | Array | - | [] |\n| index | 表示当前的 `swpie-item` 在整个列表中的索引值，必传。 | Number | - | -1\n| autoShrink | 用于当点击滑块的按钮后，是否需要自动收缩滑块。 | Boolean | - | false\n\n### 事件\n\n- `cube-swipe` 事件\n\n当使用自定义插槽时，直接监听 `cube-swipe-item` 上的事件即可。\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| item-click | 当列表项目被点击时派发 | 点击的列表项 | 点击项在列表中的索引 | - |\n| btn-click | 当按钮被点击时派发 | 点击的按钮 | 点击按钮在列表中的索引 | 列表项<sup>1.9.7</sup> |\n\n- `cube-swipe-item` 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 |\n| - | - | - | - |\n| item-click | 当列表项目被点击时派发 | 点击的列表项 | 点击项在列表中的索引 |\n| btn-click | 当按钮被点击时派发 | 点击的按钮 | 点击按钮在列表中的索引 |\n| active | 当开始滑动某个列表项目时派发 | 激活项在列表中的索引 | - |\n\n### 实例方法\n\n- `cube-swipe-item` 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| shrink | 收缩该滑块项 |\n\n"
  },
  {
    "path": "document/components/docs/zh-CN/switch.md",
    "content": "## Switch 滑动开关\n\n> 1.4.0 新增\n\n滑动开关，用于切换 on/off 状态。\n\n### 示例\n\n- 基本用法\n\n  ```html\n  <cube-switch v-model=\"value\">\n    Switch\n  </cube-switch>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        value: true\n      }\n    }\n  }\n  ```\n\n  `value`值`true`对应着 on 状态（开） ，`value`值`false`对应着 off 状态（关）。\n\n- 禁用状态\n\n  ```html\n  <cube-switch v-model=\"value\" :disabled=\"true\">\n    Disbled Switch\n  </cube-switch>\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| v-model | 开关状态，双向数据绑定 | Boolean | true/false | false |\n| disabled | 是否禁用 | Boolean | true/false | false |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| input | 绑定值变化时触发 | 更新后的绑定值 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/tab-bar.md",
    "content": "## TabBar\n\n> 1.10.0 新增\n\n选项卡。\n\n### 示例\n\n如下示例相关代码在[这里](https://github.com/didi/cube-ui/tree/master/example/pages/tab-bar)。\n\n### CubeTabBar\n\n支持默认的点击高亮效果，又支持下划线跟随的效果，并且支持自定义的插槽，实现icon与label搭配的类似于app底部选项卡的样式。\n\n- 默认样式\n\n  传入如下 `tabs` 的数据结构便能初始化 `cube-tab-bar`，必须使用 `v-model` 指令来选中对应的 tab， v-model 的参数的值必须与某一项 tab 的 label 属性对应（1.12.5 版本后是和 value 属性对应），icon 属性是用做于 class 选择器，一般是用字体图标样式，`cube-tab-bar` 在不同的时机派发 `click` 与 `change` 事件，参数则是每次选中的 tab 对应的 label 值（1.12.5 版本后是 value 值）。\n\n  ```html\n  <template>\n    <cube-tab-bar\n      v-model=\"selectedLabelDefault\"\n      :data=\"tabs\"\n      @click=\"clickHandler\"\n      @change=\"changeHandler\">\n    </cube-tab-bar>\n  </template>\n  ```\n\n  ```js\n  export default {\n    data () {\n      return {\n        selectedLabelDefault: 'Vip',\n        tabs: [{\n          label: 'Home',\n          icon: 'cubeic-home'\n        }, {\n          label: 'Like',\n          icon: 'cubeic-like'\n        }, {\n          label: 'Vip',\n          icon: 'cubeic-vip'\n        }, {\n          label: 'Me',\n          icon: 'cubeic-person'\n        }]\n      }\n    }，\n    methods: {\n      clickHandler (label) {\n        // if you clicked home tab, then print 'Home'\n        console.log(label)\n      },\n      changeHandler (label) {\n        // if you clicked different tab, this methods can be emitted\n      }\n    }\n  }\n  ```\n\n- 自定义插槽\n\n  实际上我们更常见的需求是图标搭配文字效果，因此 `cube-tab-bar` 组件也支持了插槽的使用方式，\n  注意必须搭配 `cube-tab` 组件作为第一层级的子组件，来包裹你自定义插槽。\n\n  ```html\n  <template>\n    <cube-tab-bar\n      v-model=\"selectedLabelSlots\"\n      show-slider\n      inline\n      @click=\"clickHandler\">\n      <cube-tab v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n        <!-- name为icon的插槽 -->\n        <i slot=\"icon\" :class=\"item.icon\"></i>\n        <!-- 默认插槽 -->\n        {{item.label}}\n      </cube-tab>\n    </cube-tab-bar>\n  </template>\n  ```\n\n  ```js\n  export default {\n    data () {\n      return {\n        selectedLabelSlots: 'Like',\n        tabs: [{\n          label: 'Home',\n          icon: 'cubeic-home'\n        }, {\n          label: 'Like',\n          icon: 'cubeic-like'\n        }, {\n          label: 'Vip',\n          icon: 'cubeic-vip'\n        }, {\n          label: 'Me',\n          icon: 'cubeic-person'\n        }]\n      }\n    }，\n    methods: {\n      clickHandler (label) {\n        // if you clicked home tab, then print 'Home'\n        console.log(label)\n      }\n    }\n  }\n  ```\n  同时还支持一些配置项， `showSlider` 控制是否开启下划线跟随的效果，`inline` 来决定icon与label是否处于一行，`useTransition` 控制下划线是否使用transition过渡，如示例代码所示。\n\n### CubeTabBar & CubeTabPanels\n\n往往我们的需求是随着 tab 的切换显示不同的容器，这个时候需要搭配 `cube-tab-panels` 组件。`cube-tab-panels` 必须嵌套 `cube-tab-panel`，传入 `cube-tab` 与 `cube-tab-panel` 的label值必须一致（1.12.5 版本后和 value 值一致），因为需要建立一个 tab 对应一个 panel 的关系。他们通过相同的 `v-model` 联动。查看效果可点击右边的 `tab-basic` 示例。\n\n```html\n<template>\n  <cube-tab-bar v-model=\"selectedLabel\" show-slider>\n    <cube-tab v-for=\"(item, index) in tabs\" :icon=\"item.icon\" :label=\"item.label\" :key=\"item.label\">\n    </cube-tab>\n  </cube-tab-bar>\n  <cube-tab-panels v-model=\"selectedLabel\">\n    <cube-tab-panel v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n      <ul>\n        <li class=\"tab-panel-li\" v-for=\"(hero, index) in item.heroes\">\n          {{hero}}\n        </li>\n      </ul>\n    </cube-tab-panel>\n  </cube-tab-panels>\n</template>\n```\n\n```js\nexport default {\n  data () {\n    return {\n      selectedLabel: '天辉',\n      tabs: [{\n        label: '天辉',\n        icon: 'cubeic-like',\n        heroes: ['敌法师', '卓尔游侠', '主宰', '米拉娜', '变体精灵', '幻影长矛手', '复仇之魂', '力丸', '矮人狙击手', '圣堂刺客', '露娜', '赏金猎人', '熊战士']\n      }, {\n        label: '夜魇',\n        icon: 'cubeic-star',\n        heroes: ['血魔', '影魔', '剃刀', '剧毒术士', '虚空假面', '幻影刺客', '冥界亚龙', '克林克兹', '育母蜘蛛', '编织者', '幽鬼', '司夜刺客', '米波']\n      }]\n    }\n  }\n}\n```\n\n事实上，`cube-tab-bar` 还能搭配许多其他cube-ui的组件(cube-slide ，cube-scroll)来做出类似原生 app 布局的效果。可点击右边的 `ScrollTab Demo` 与 `tab-composite` 示例来查看效果\n\n### Props 配置\n\n- CubeTabBar\n\n  | 参数 | 说明 | 类型 | 示例 | 默认值 |\n  | - | - | - | - | - |\n  | value | 使用 v-model，初始化时选中对应的 tab | String/Number | - | - |\n  | data | 用于 `cube-tab-bar` 渲染的数据，当需要使用内置的默认插槽，此参数必传，数组的每一项是一个 Object 类型，包括 `label`、`icon` 和 `value`（默认值等于 `label`）<sup>1.12.5+</sup>，如果使用自定义插槽，可不传此值 | Array | [{label: 1, value: 1, icon: 'cubeic-like'}， {label: 2, value: 2, icon: 'cubeic-like'}] | [] |\n  | showSlider | 是否开启下划线跟随效果 | Boolean | true/false | false |\n  | inline | 文字与图标是否显示在一行 | Boolean | true/false | false |\n  | useTransition | 是否开启 transition 过渡 | Boolean | true/false | true |\n\n- CubeTab\n\n  | 参数 | 说明 | 类型 | 是否必传 | 默认值 |\n  | - | - | - | - | - |\n  | label | 1.12.5 版本前作为哪个 tab 的值作为选中值，1.12.5 版本后主要用作展示 | String/Number | 是 | - |\n  | value | 用于判断哪个 tab 的值作为选中值<sup>1.12.5+</sup> | String/Number | 否 | `label` 的值 |\n\n- CubeTabPanels\n\n  | 参数 | 说明 | 类型 | 示例 | 默认值 |\n  | - | - | - | - | - |\n  | value | 使用 v-model，初始化时显示对应的 panels | String/Number | - | - |\n  | data | 用于 `cube-tab-panels` 渲染的数据，当需要使用内置的默认插槽，此参数必传，数组的每一项是一个 Object 类型，包括 `label` 和 `value`<sup>1.12.5+</sup>，如果使用自定义插槽，可不传此值 | Array | [{label: 1, value: 1}, {label: 2, value: 2}] | [] |\n\n- CubeTabPanel\n\n  | 参数 | 说明 | 类型 | 是否必传 | 默认值 |\n  | - | - | - | - | - |\n  | label | 用于显示 panel | String/Number | 是 | - |\n  | value | panel 的 key 值，决定了选中的值<sup>1.12.5+</sup> | String/Number | 是 | `value` 的值 |\n\n### 插槽\n\n- CubeTab\n\n  | 名称 | 说明 |\n  | - | - |\n  | default | `cube-tab` 渲染的文案 |\n  | icon | 一般是用来添加 icon 图标 |\n\n### 事件\n\n- CubeTabBar\n\n  | 事件名 | 说明 | 参数1 |\n  | - | - | - | - |\n  | click | 当 tab 被点击时派发 | 点中的tab的label/value<sup>1.12.5+</sup>值 |\n  | change | 当点击不同的 tab 时派发 | 点中的tab的label/value<sup>1.12.5+</sup>值 |\n\n### 实例方法\n\n- CubeTabBar\n\n  当该实例的 `showSlider` 属性设置为true，该方法才有效。\n\n  | 方法名 | 说明 | 参数类型 |\n  | - | - | - |\n  | setSliderTransform | 改变 `cube-tab-bar` 组件的下划线的 transformX，如果传 Number，会转成像素，也可以传带有单位的 String | Number/String |\n\n"
  },
  {
    "path": "document/components/docs/zh-CN/textarea.md",
    "content": "## Textarea\n\n> 1.5.0 新增\n\n多行输入框组件，支持使用`v-model`对数据双向绑定，根据是否有内容、是否聚焦有折叠、展开两种状态。\n\n### 示例\n\n- 基本用法\n\n  使用`v-model`对输入内容双向绑定。\n\n  ```html\n  <cube-textarea v-model=\"value\"></cube-textarea>\n  ```\n\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: ''\n      }\n    }\n  }\n  ```\n\n- 配置计数标识\n\n  ```html\n  <cube-textarea v-model=\"value\" indicator=\"indicator\"></cube-textarea>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        indicator: {\n          negative: true,\n          remain: true\n        }\n      }\n    }\n  }\n  ```\n\n  如果 `indicator` 的值为 `false`，则不显示计数标识，如果为 `true`，则等同于 `{remain: true, negative: true}`，而如果是对象，则可通过 `remain` 和 `negative` 分别控制是否显示剩余字数（如果为 `false` 则显示输入字数）和是否允许负值。\n  \n  从1.12.53开始也支持具名作用域插槽 `indicator` 自定义计数标识，提供了剩余可输入字数 `remain`，和当前已输入字数 `count`：\n\n  ```html\n  <cube-textarea\n    v-model=\"text\"\n    placeholder=\"请您至少输入8个字（必填）\"\n    :maxlength=\"300\"\n    :auto-expand=\"true\"\n  >\n    <span slot=\"indicator\" slot-scope=\"{ remain }\" class=\"cube-textarea-indicator\">{{remain}}/300</span>\n    <!-- 或者 vue2.6以上 -->\n    <!-- <template #indicator=\"childValue\">\n      <span class=\"cube-textarea-indicator\">{{childValue.remain}}/300</span>\n    </template> -->\n  </cube-textarea>\n  ```\n\n- 多项配置\n\n  支持原生组件的配置。\n\n  ```html\n  <cube-textarea\n    v-model=\"value\"\n    :placeholder=\"placeholder\"\n    :maxlength=\"maxlength\"\n    :readonly=\"readonly\"\n    :disabled=\"disabled\"\n    :autofocus=\"autofocus\"\n  ></cube-textarea>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        value: '',\n        placeholder: '请输入内容',\n        readonly: true,\n        maxlength: 100,\n        disabled: true,\n        autofocus: true\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| v-model | 绑定的值 | String | - | 空 |\n| disabled | 禁用状态 | Boolean | true/false | false |\n| readonly | 只读状态 | Boolean | true/false | false |\n| maxlength | 最大输入长度 | Number | - | 60 |\n| placeholder | 占位文本 | String | - | 空 |\n| autofocus | 自动对焦 | Boolean | true/false | false |\n| indicator<sup>1.10.0</sup> | 计数标识配置 | Boolean/Object | true/false/{} | true |\n| autoExpand<sup>1.12.0</sup> | 如果为 true 且默认有内容的话，会默认展开 | Boolean | true/false | false |\n| forceExpand<sup>1.12.53</sup> | 如果为 true , 会始终保持展开 | Boolean | true/false | false |\n\n- indicator 子配置项\n\n  如果 `indicator` 的值为 `false`，则不显示计数标识，如果为 `true` 则等同于配置 `{remain: true, negative: true}`。如果是对象，则：\n\n  | 参数 | 说明 | 类型 | 可选值 | 默认值 |\n  | - | - | - | - | - |\n  | remain | 是否控制显示剩余字数，如果为 `false` 则代表显示输入字数 | Boolean | true/false | true |\n  | negative | 当 `remain` 为 true 时有效，是否允许出现负值 | Boolean | true/false | true |\n\n### 插槽\n\n  | 名称 | 说明 |\n  | - | - |\n  | indicator<sup>1.12.53</sup>  | 自定义右下角计数标识 |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| focus | 输入框聚焦后触发此事件，如果禁用状态，则不触发 | e - 事件对象 |\n| blur | 输入框失焦后触发此事件 | e - 事件对象 |\n| input | 绑定值变化时触发 | 更新后的绑定值 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| focus<sup>1.12.10+</sup> | 获得焦点 |\n| blur<sup>1.12.10+</sup> | 离焦 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/theme.md",
    "content": "## 主题\n\n移动端的组件对主题定制的需求会更多，从 `cube-ui^1.0.2` 开始，通过 webpack 工具可以实现自定义主题样式。\n\n**注意：** 自定义主题依赖[后编译](#/zh-CN/docs/post-compile)。\n\n### 主题文件\n\n在你的项目的 `src/` 目录下创建一个 `theme.styl` 的文件，内容如下（展示的全是默认样式，你可以选择这针对不同组件做定制）：\n\n```stylus\n// 如果你需要使用 cube-ui 自带的颜色值 需要 require 进来\n@require \"~cube-ui/src/common/stylus/var/color.styl\"\n\n// action-sheet\n$action-sheet-color := $color-grey\n$action-sheet-active-color := $color-orange\n$action-sheet-bgc := $color-white\n$action-sheet-active-bgc := $color-light-grey-opacity\n$action-sheet-title-color := $color-dark-grey\n$action-sheet-space-bgc := $color-mask-bg\n/// picker style\n$action-sheet-picker-cancel-color := $color-light-grey\n$action-sheet-picker-cancel-active-color := $color-light-grey-s\n\n// bubble\n\n// button\n$btn-color := $color-white\n$btn-bgc := $color-regular-blue\n$btn-active-bgc := $color-blue\n/// primary\n$btn-primary-color := $color-white\n$btn-primary-bgc := $color-orange\n$btn-primary-active-bgc := $color-dark-orange\n/// light\n$btn-light-color := $color-grey\n$btn-light-bgc := $color-light-grey-sss\n$btn-light-active-bgc := $color-active-grey\n/// outline\n$btn-outline-color := $color-grey\n$btn-outline-bgc := transparent\n$btn-outline-bdc := $color-grey\n$btn-outline-active-bgc := $color-grey-opacity\n$btn-outline-active-bdc := $color-grey\n/// outline-primary\n$btn-outline-primary-color := $color-orange\n$btn-outline-primary-bgc := transparent\n$btn-outline-primary-bdc := $color-orange\n$btn-outline-primary-active-bgc := $color-orange-opacity\n$btn-outline-primary-active-bdc := $color-dark-orange\n/// disabled\n$btn-disabled-color := $color-white\n$btn-disabled-bgc := $color-light-grey-s\n$btn-disabled-bdc := $color-light-grey-s\n\n// toolbar\n$toolbar-bgc := $color-light-grey-sss\n$toolbar-active-bgc := $color-active-grey\n\n// checkbox\n$checkbox-color := $color-grey\n$checkbox-icon-color := $color-light-grey-s\n/// checked\n$checkbox-checked-icon-color := $color-orange\n$checkbox-checked-icon-bgc := $color-white\n/// disabled\n$checkbox-disabled-icon-color := $color-light-grey-ss\n$checkbox-disabled-icon-bgc := $color-light-grey-ss\n// checkbox hollow\n$checkbox-hollow-checked-icon-color := $color-orange\n$checkbox-hollow-disabled-icon-color := $color-light-grey-ss\n// checkbox-group\n$checkbox-group-bgc := $color-white\n$checkbox-group-horizontal-bdc := $color-light-grey-s\n\n// radio\n$radio-group-bgc := $color-white\n$radio-group-horizontal-bdc := $color-light-grey-s\n$radio-color := $color-grey\n$radio-icon-color := $color-light-grey-s\n/// selected\n$radio-selected-icon-color := $color-white\n$radio-selected-icon-bgc := $color-orange\n/// disabled\n$radio-disabled-icon-bgc := $color-light-grey-ss\n// radio hollow\n$radio-hollow-selected-icon-color := $color-orange\n$radio-hollow-disabled-icon-color := $color-light-grey-ss\n\n//checker\n$checker-item-color := $color-grey\n$checker-item-bdc := $color-light-grey-sss\n$checker-item-bgc := $color-white\n$checker-item-active-color := $color-orange\n$checker-item-active-bdc := $color-orange\n$checker-item-active-bgc := $color-light-orange-opacity\n$checker-item-disabled-color := $color-light-grey-s\n$checker-item-disabled-bdc := $color-light-grey-s\n$checker-item-disabled-bgc := $color-light-grey-ss\n\n// dialog\n$dialog-color := $color-grey\n$dialog-bgc := $color-white\n$dialog-icon-color := $color-regular-blue\n$dialog-icon-bgc := $color-background\n$dialog-title-color := $color-dark-grey\n$dialog-close-color := $color-light-grey\n$dialog-btn-color := $color-light-grey\n$dialog-btn-bgc := $color-white\n$dialog-btn-active-bgc := $color-light-grey-opacity\n$dialog-btn-highlight-color := $color-orange\n$dialog-btn-highlight-active-bgc := $color-light-orange-opacity\n$dialog-btn-disabled-color := $color-light-grey\n$dialog-btn-disabled-active-bgc := transparent\n$dialog-btns-split-color := $color-row-line\n\n// index-list\n$index-list-bgc := $color-white\n$index-list-title-color := $color-dark-grey\n$index-list-anchor-color := $color-light-grey\n$index-list-anchor-bgc := #f7f7f7\n$index-list-item-color := $color-dark-grey\n$index-list-item-active-bgc := $color-light-grey-opacity\n$index-list-nav-color := $color-grey\n$index-list-nav-active-color := $color-orange\n\n// loading\n\n// picker\n$picker-bgc := $color-white\n$picker-title-color := $color-dark-grey\n$picker-subtitle-color := $color-light-grey\n$picker-confirm-btn-color := $color-orange\n$picker-confirm-btn-active-color := $color-light-orange\n$picker-cancel-btn-color := $color-light-grey\n$picker-cancel-btn-active-color := $color-light-grey-s\n$picker-item-color := $color-dark-grey\n\n// popup\n$popup-mask-bgc := rgb(37, 38, 45)\n$popup-mask-opacity := .4\n\n//scroll\n\n// slide\n$slide-dot-bgc := $color-light-grey-s\n$slide-dot-active-bgc := $color-orange\n\n// time-picker\n\n// tip\n$tip-color := $color-white\n$tip-bgc := $color-dark-grey-opacity\n\n// toast\n$toast-color := $color-light-grey-s\n$toast-bgc := rgba(37, 38, 45, 0.9)\n\n// upload\n$upload-btn-color := $color-grey\n$upload-btn-bgc := $color-white\n$upload-btn-active-bgc := $color-light-grey-opacity\n$upload-btn-box-shadow := 0 0 6px 2px $color-grey-opacity\n$upload-btn-border-color := #e5e5e5\n$upload-file-bgc := $color-white\n$upload-file-remove-color := rgba(0, 0, 0, .8)\n$upload-file-remove-bgc := $color-white\n$upload-file-state-bgc := $color-mask-bg\n$upload-file-success-color := $color-orange\n$upload-file-error-color := #f43530\n$upload-file-status-bgc := $color-white\n$upload-file-progress-color := $color-white\n\n// switch\n$switch-on-bgc := $color-orange\n$switch-off-bgc := $color-white\n$switch-off-border-color := #e4e4e4\n\n// input\n$input-color := $color-grey\n$input-bgc := $color-white\n$input-border-color := $color-row-line\n$input-focus-border-color := $color-orange\n$input-placeholder-color := $color-light-grey-s\n$input-clear-icon-color := $color-light-grey\n\n//textarea\n$textarea-color := $color-grey\n$textarea-bgc := $color-white\n$textarea-border-color := $color-row-line\n$textarea-focus-border-color := $color-orange\n$textarea-outline-color := $color-orange\n$textarea-placeholder-color := $color-light-grey-s\n$textarea-indicator-color := $color-light-grey-s\n\n// validator\n$validator-msg-def-color := #e64340\n\n// select\n$select-color := $color-grey\n$select-bgc := $color-white\n$select-disabled-color := #b8b8b8\n$select-disabled-bgc := $color-light-grey-opacity\n$select-border-color := $color-light-grey-s\n$select-border-active-color := $color-orange\n$select-icon-color := $color-light-grey\n$select-placeholder-color := $color-light-grey-s\n\n// swipe\n$swipe-btn-color := $color-white\n\n// form\n$form-color := $color-grey\n$form-bgc := $color-white\n$form-invalid-color := #e64340\n$form-group-legend-color := $color-light-grey\n$form-group-legend-bgc := $color-background\n$form-label-required-color := #e64340\n\n// drawer\n$drawer-color := $color-dark-grey\n$drawer-title-bdc := $color-light-grey-ss\n$drawer-title-bgc := $color-white\n$drawer-panel-bgc := $color-white\n$drawer-item-active-bgc := $color-light-grey-opacity\n\n// scroll-nav\n$scroll-nav-bgc := $color-white\n$scroll-nav-color := $color-grey\n$scroll-nav-active-color := $color-orange\n\n// image-preview\n$image-preview-counter-color := $color-white\n\n// tab-bar & tab-panel\n$tab-color := $color-grey\n$tab-active-color := $color-dark-orange\n$tab-slider-bgc := $color-dark-orange\n```\n\n### 配置 webpack\n\n如果你的项目是用 vue-cli 生成的，那么找到 `build/utils.js` 中的 `exports.cssLoaders` 函数，改成如下：\n\n```js\nexports.cssLoaders = function (options) {\n  options = options || {}\n\n  const cssLoader = {\n    loader: 'css-loader',\n    options: {\n      minimize: process.env.NODE_ENV === 'production',\n      sourceMap: options.sourceMap\n    }\n  }\n\n  var postcssLoader = {\n    loader: 'postcss-loader',\n    options: {\n      sourceMap: options.sourceMap\n    }\n  }\n\n  // generate loader string to be used with extract text plugin\n  function generateLoaders (loader, loaderOptions) {\n    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]\n    if (loader) {\n      loaders.push({\n        loader: loader + '-loader',\n        options: Object.assign({}, loaderOptions, {\n          sourceMap: options.sourceMap\n        })\n      })\n    }\n\n    // Extract CSS when that option is specified\n    // (which is the case during production build)\n    if (options.extract) {\n      return ExtractTextPlugin.extract({\n        use: loaders,\n        fallback: 'vue-style-loader'\n      })\n    } else {\n      return ['vue-style-loader'].concat(loaders)\n    }\n  }\n\n  const stylusOptions = {\n    'resolve url': true,\n    // 这里 新增 import 配置项，指向自定义主题文件\n    import: [path.resolve(__dirname, '../src/theme')]\n  }\n\n  // https://vue-loader.vuejs.org/en/configurations/extract-css.html\n  return {\n    css: generateLoaders(),\n    postcss: generateLoaders(),\n    less: generateLoaders('less'),\n    sass: generateLoaders('sass', { indentedSyntax: true }),\n    scss: generateLoaders('sass'),\n    stylus: generateLoaders('stylus',stylusOptions),\n    styl: generateLoaders('stylus',stylusOptions)\n  }\n}\n```\n\n### 结果\n\n这样修改自定义的主题文件内容，最终编译打包后的样式就是你需要的；而且这样也不存在样式冗余覆盖的问题，因为直接是对组件样式的变量做的修改，而不是采用传统的样式覆盖。\n"
  },
  {
    "path": "document/components/docs/zh-CN/time-picker.md",
    "content": "## TimePicker组件\n\n`TimePicker`组件提供了常用的日期选择功能。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 基本用法\n  ```html\n  <cube-button @click=\"showTimePicker\">TimePicker</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showTimePicker () {\n        this.$createTimePicker({\n          showNow: true,\n          minuteStep: 5,\n          delay: 15,\n          onSelect: (selectedTime, selectedText, formatedTime) => {\n            this.$createDialog({\n              type: 'warn',\n              title: `selected time: ${selectedTime}`,\n              content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n              icon: 'cubeic-alert'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Picker canceled',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n  `showNow` 用于控制是否显示“现在”时间，`minuteStep` 用于控制分钟的步长，`delay` 则表示的是当前时间向后推迟的时间，决定了最小可选时间。\n\n- 日期选项配置\n\n  ```html\n  <cube-button @click=\"showTimePicker\">TimePicker - day options</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showTimePicker () {\n        this.$createTimePicker({\n          showNow: true,\n          minuteStep: 10,\n          delay: 10,\n          day: {\n            len: 5,\n            filter: ['今天', '明天'],\n            format: 'M月d日'\n          },\n          onSelect: (selectedTime, selectedText, formatedTime) => {\n            this.$createDialog({\n              type: 'warn',\n              title: `selected time: ${selectedTime}`,\n              content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n              icon: 'cubeic-alert'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Picker canceled',\n              time: 1000\n            }).show()\n          }\n        }).show()\n      }\n    }\n  }\n  ```\n  `day`字段的`len`属性可以设置第一列需要展示的日期长度；\n\n  `filer`属性设置第一列日期展示的文案；\n\n  `format`属性用以格式化日期显示的方式，当`len`的数量大于`filter`的数组长度时，会以`M月d日`的格式显示文案。\n\n- Format 配置<sup>1.10.0+</sup>\n\n  通过 `format` 属性可配置 `select` 事件的 `formatedTime` 参数的格式。\n\n  ```html\n  <cube-button @click=\"showFormatPicker\">Config format</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showFormatPicker() {\n        if (!this.formatPicker) {\n          this.formatPicker = this.$createTimePicker({\n            format: 'hh:mm',\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.formatPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 分钟数的步长\n\n  通过 `minuteStep` 属性可配置分钟数的步长，默认为 10 分钟，这样的话，可选的分钟就是 10、20、30、40、50。另外在 v1.10.5+，`minuteStep` 还支持传入一个对象，你可以通过子属性 `rule` 配置取整的规则，是向上取整 `ceil`，向下取整 `floor`，又或是四舍五入`round`。而子属性 `step` 则代表步长。\n\n  ```html\n  <cube-button @click=\"showMinuteStepPicker\">Config minute step</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showFormatPicker() {\n        if (!this.minuteStepPicker) {\n          this.minuteStepPicker = this.$createTimePicker({\n            minuteStep: {\n              rule: 'ceil',\n              step: 15\n            },\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.minuteStepPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n- 最小可选时间 min <sup>1.12.6</sup>\n\n  你可以通过 `min` 属性设置最小可选时间。它可以接受 Date 类型的日期时间，也可以 Number类型的时间戳。\n\n  ```html\n  <cube-button @click=\"showMinPicker\">Config min</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showMinPicker() {\n        if (!this.minPicker) {\n          this.minPicker = this.$createTimePicker({\n            min: +new Date() - (2 * 60 + 20) * 60 * 1000,\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.minPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 最大可选时间 max <sup>1.12.6</sup>\n\n  你可以通过 `max` 属性设置最大可选时间。它可以接受 Date 类型的日期时间，也可以 Number类型的时间戳。\n\n  ```html\n  <cube-button @click=\"showMaxPicker\">Config max</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showMaxPicker() {\n        if (!this.maxPicker) {\n          this.maxPicker = this.$createTimePicker({\n            delay: 0,\n            max: +new Date() + ((2 * 24 + 2) * 60 + 20) * 60 * 1000,\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.maxPicker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n\n- 手动设置时间\n\n  ```html\n  <cube-button @click=\"showTimePicker\">TimePicker - setTime(next hour)</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      const time = new Date().valueOf() + 1 * 60 * 60 * 1000\n      showTimePicker () {\n        const timePicker = this.$createTimePicker({\n          showNow: true,\n          minuteStep: 10,\n          delay: 15,\n          day: {\n            len: 5,\n            filter: ['今天', '明天', '后天'],\n            format: 'M月D日'\n          },\n          onSelect: (selectedTime, selectedText, formatedTime) => {\n            this.$createDialog({\n              type: 'warn',\n              title: `selected time: ${selectedTime}`,\n              content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n              icon: 'cubeic-alert'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Picker canceled',\n              time: 1000\n            }).show()\n          }\n        })\n\n        timePicker.setTime(time)\n        timePicker.show()\n      }\n    }\n  }\n  ```\n  `timePicker`实例向外暴露`setTime`方法用以手动设置时间，时间格式为时间戳。当时间戳小于当前时间戳时，`timePicker`实例会默认显示当前时间。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 |\n| - | - | - | - |\n| day | 日期配置 | Object | { len: 3, filter: ['今日'], format: 'M月D日' } |\n| showNow | 是否显示现在；以及现在选项的文案<sup>1.9.0</sup> | Boolean, Object<sup>1.9.0</sup> | true |\n| minuteStep | 分钟数的步长。 当为 Object 时还可以配置取整规则，详见后续 `minuteStep` 子配置项说明<sup>1.10.5</sup> | Number, Object<sup>1.10.5</sup> | 10 |\n| delay | 将当前时间向后推算的分钟数，决定了最小可选时间（注：仅当未设置 `min` 时有效） | Number | 15 |\n| min<sup>1.12.6</sup> | 最小可选时间 | Date, Number | null |\n| max<sup>1.12.6</sup> | 最大可选时间 | Date, Number | null |\n| title | 标题 | String | '选择时间' |\n| subtitle<sup>1.8.1</sup> | 副标题 | String | '' |\n| cancelTxt<sup>1.8.1</sup> | 取消按钮文案 | String | '取消' |\n| confirmTxt<sup>1.8.1</sup> | 确定按钮文案 | String | '确定' |\n| swipeTime | 快速滑动选择器滚轮时，惯性滚动动画的时长，单位：ms | Number | 2500 |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | false |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true |\n| format<sup>1.10.0</sup> | select 事件参数 formatedTime 的格式 | String | 'YYYY/M/D hh:mm' |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | 100 |\n\n* `day` 子配置项\n\n| 参数 | 说明 | 类型 | 默认值 |\n| - | - | - | - |\n| len | 日期列，从当前时间算起，往后推len天（注：仅当未设置 `max` 时有效） | Number | 3 |\n| filter | 日期列，将时间映射为filter中的文案内容 | Array | ['今日'] |\n| format | 时间格式化 | String | 'M月D日' |\n\n* `showNow` 子配置项<sup>1.9.0</sup>\n\n| 参数 | 说明 | 类型 | 默认值 |\n| - | - | - | - |\n| text | 现在选项的文案 | String | '现在' |\n\n* `minuteStep` 子配置项<sup>1.10.5</sup>\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| rule | 取整的规则（仅用于设置最小可选时间的取整规则，对于最大时间，固定为 floor） | String | floor/ceil/round | 'floor' |\n| step | 分钟数的步长 | Number | - | 10 |\n\n### 事件\n\n| 事件名 | 说明 | 参数1 | 参数2 | 参数3 |\n| - | - | - | - | - |\n| select | 点击确认按钮触发此事件 | selectedTime: 当前选中的timestamp | selectText: 当前选中的时间文案 | formatedTime: 格式化日期<sup>1.10.0</sup> |\n| change | 滚轴滚动后触发此事件 | index: 当前滚动列次序，Number类型 | selectedIndex: 当前列选中项的索引，Number类型 | - |\n| cancel | 点击取消按钮触发此事件 | - | - | - |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数 |\n| - | - | - |\n| setTime | 手动设置time-picker组件显示的时间，数据格式为时间戳 | 时间戳 |\n| show | 显示 | - |\n| hide | 隐藏 | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/tip.md",
    "content": "## Tip\n\n提示，用于弹出提示气泡框。\n\n### 示例\n\n- 基础使用\n\n  通过在 `Tip` 组件上添加 `ref` 属性，获得对于组件的引用，然后调用 `Tip` 组件向外暴露出来的 `show`、`hide` 方法来控制组件的显示或隐藏。\n  ```html\n  <cube-button\n    :inline=\"true\"\n    :outline=\"true\"\n    :primary=\"true\"\n    @click=\"$refs.tip.show()\">Show tip</cube-button>\n  <cube-tip ref=\"tip\" direction=\"bottom\" style=\"left:123px;top:-50px;\">Tip</cube-tip>\n  ```\n\n- 小三角和气泡框的位置\n\n  通过 `direction` 属性配置小三角的方向，一般情况下需要通过 `style` 改变气泡框的位置；一般来说，小三角的方向是与气泡框的位置相反的。\n\n  ```html\n  <p class=\"tip-eg\">\n    <span>cube-ui</span>\n    <cube-tip\n        ref=\"tip2\"\n        :direction=\"direction\"\n        :style=\"tipStyle\"\n        @close=\"close\"\n        @click=\"clickHandler\">\n      <div>Awesome!</div>\n    </cube-tip>\n  </p>\n  <cube-button @click=\"showTip('bottom')\">top</cube-button>\n  <cube-button @click=\"showTip('top')\">bottom</cube-button>\n  <cube-button @click=\"showTip('right')\">left</cube-button>\n  <cube-button @click=\"showTip('left')\">right</cube-button>\n  ```\n  ```javascript\n  export default {\n    data() {\n      return {\n        direction: '',\n        tipStyle: ''\n      }\n    },\n    methods: {\n      showTip(direction) {\n        this.direction = direction\n        this.$refs.tip2.show()\n\n        switch (direction) {\n          case 'top':\n            this.tipStyle = 'left: 100px; top: 30px;'\n            break\n          case 'bottom':\n            this.tipStyle = 'left: 100px; top: -50px;'\n            break\n          case 'left':\n            this.tipStyle = 'left: 200px; top: -10px;'\n            break\n          case 'right':\n            this.tipStyle = 'left: 2px; top: -10px;'\n            break\n        }\n      },\n      close() {\n        console.log('click close button')\n      },\n      clickHandler() {\n        console.log('click tip area')\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| direction | 小三角的方向 | String | top/bottom/left/right | left |\n| offsetLeft | 小三角至 Tip 框左边距离 | Number/String | - | 0 |\n| offsetTop | 小三角至 Tip 框顶部距离 | Number/String | - | 0 |\n| offsetRight | 小三角至 Tip 框右边距离 | Number/String | - | 0 |\n| offsetBottom | 小三角至 Tip 框底部距离 | Number/String | - | 0 |\n\n其中 `offsetLeft`、`offsetTop`、`offsetRight`、`offsetBottom` 的值如果是数字，那么单位就是像素，如果说是字符串，则认为是设置的百分比。\n\n### 事件\n\n| 参数 | 说明 | 参数 |\n| - | - | - |\n| close | 点击 Tip 的关闭按钮 | - |\n| click | 点击 Tip 的提示内容部分 | - |\n"
  },
  {
    "path": "document/components/docs/zh-CN/toast.md",
    "content": "## Toast\n\n`Toast`组件主要用于非模态信息提醒，无需用户交互。\n\n__注：__ 由于此组件基于 create-api 实现，所以在使用之前，请确保自己了解过 [create-api](#/zh-CN/docs/create-api)。\n\n### 示例\n\n- 显示时间设置\n\n  ```html\n  <cube-button @click=\"showToastTime\">Toast - time 1s</cube-button>\n  <cube-button @click=\"showToastTime0\">Toast - time 0</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastTime() {\n        const toast = this.$createToast({\n          time: 1000,\n          txt: 'Toast time 1s'\n        })\n        toast.show()\n      },\n      showToastTime0() {\n        const toast = this.$createToast({\n          time: 0,\n          txt: 'Toast time 0'\n        })\n        toast.show()\n        setTimeout(() => {\n          toast.hide()\n        }, 2000)\n      }\n    }\n  }\n  ```\n\n  `time` 字段决定了 Toast 显示的时间，如果设置为 `0`，则不会消失，需要手动调用组件的 `hide` 方法。\n\n- 显示遮罩\n\n  ```html\n  <cube-button @click=\"showToastMask\">Toast- with mask</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastMask () {\n        const toast = this.$createToast({\n          txt: 'Loading...',\n          mask: true\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n  `mask` 设置为 `true` 时会显示遮罩。\n\n- 类型设置\n\n  ```html\n  <cube-button @click=\"showToastType\">Toast - type</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastType() {\n        const toast = this.$createToast({\n          txt: 'Correct',\n          type: 'correct'\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n  `type` 字段决定了 Toast 的显示图标类型，具体对应关系，参见下方的 Props 配置。\n\n- 纯文本类型<sup>1.11.0</sup>\n\n  ```html\n  <cube-button @click=\"showToastTxtOnly\">Toast - txt only</cube-button>\n  ```\n  ```js\n  export default {\n    methods: {\n      showToastTxtOnly() {\n        this.toast = this.$createToast({\n          txt: 'Plain txt',\n          type: 'txt'\n        })\n        this.toast.show()\n      }\n    }\n  }\n  ```\n\n- 事件回调\n\n  ```html\n  <cube-button @click=\"showToastCallback\">Toast - callback</cube-button>\n  ```\n\n  ```js\n  export default {\n    methods: {\n      showToastCallbak() {\n        const toast = this.$createToast({\n          txt: 'Timeout',\n          time: 1000,\n          onTimeout: () => {\n            console.log('Timeout')\n          }\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n  除了设置 `onTimeout` 的形式，还可以通过 `$events` 传入事件回调。\n\n  ```js\n  export default {\n    methods: {\n      showToastCallbak() {\n        const toast = this.$createToast({\n          txt: 'Timeout',\n          time: 1000,\n          $events: {\n            timeout: () => {\n              console.log('Timeout')\n            }\n          }\n        })\n        toast.show()\n      }\n    }\n  }\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| visible<sup>1.8.1</sup> | 显示状态，是否可见。`v-model`绑定值 | Boolean | true/false | false |\n| type | 类型(对应不同的 icon) | String  | loading/correct/error/warn/txt<sup>1.11.0</sup> | loading |\n| mask | 遮罩 | Boolean | true/false | false |\n| txt | 提示信息 | String  | - | '' |\n| time | 显示时间 | Number  | - | 3000 |\n| maskClosable<sup>1.9.6</sup> | 点击蒙层是否隐藏 | Boolean | true/false | false |\n| zIndex<sup>1.9.6</sup> | 样式 z-index 的值 | Number | - | 900 |\n\n### 事件\n\n| 事件名 | 说明 |\n| - | - |\n| timeout | 当显示时间结束时派发 |\n\n### 实例方法\n\n| 方法名 | 说明 |\n| - | - |\n| show | 显示 |\n| hide | 隐藏 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/toolbar.md",
    "content": "## Toolbar\n\n> 1.9.0 新增\n\n工具栏，可以组合多个按钮，复选框操作为一个工具栏。\n\n### 示例\n\n- 基础使用\n\n  将每个操作的类型和文本传入 `actions` 属性。\n\n  ```html\n  <cube-toolbar :actions=\"actions\" @click=\"clickHandler\"></cube-toolbar>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        money: 10,\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          },\n          {\n            text: '一口价<span class=\"orange\">10元</span>',\n            action: 'moreMoney'\n          }\n        ]\n      }\n    },\n    methods: {\n      showText(item) {\n        this.$createToast({\n          type: 'correct',\n          txt: 'clicked ' + item.text,\n          time: 1000\n        }).show()\n      },\n      moreMoney(item) {\n        this.money += 10\n        item.text = '一口价<span class=\"orange\">' + this.money + '元</span>'\n      },\n      clickHandler(item) {\n        if (item.action) {\n          this[item.action](item)\n        }\n      }\n    }\n  }\n  ```\n  ```stylus\n  .orange\n    color: #fc9153\n  ```\n\n- 更多操作\n\n  你还可以通过 `moreActions` 属性传入更多操作，就会把工具栏扩展成可展开收起的双层工具栏。\n\n  ```html\n  <cube-toolbar\n    :actions=\"actions\"\n    :more-actions=\"moreActions\"\n    @click=\"clickHandler\"></cube-toolbar>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        money: 10,\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          },\n          {\n            text: '一口价<span class=\"orange\">10元</span>',\n            action: 'moreMoney'\n          }\n        ],\n        moreActions: [\n          {\n            text: '操作a',\n            action: 'showText'\n          },\n          {\n            text: '操作b',\n            action: 'showText'\n          },\n          {\n            text: '操作c',\n            icon: 'cubeic-right',\n            action: 'showText'\n          }\n        ]\n      }\n    },\n    methods: {\n      showText(item) {\n        this.$createToast({\n          type: 'correct',\n          txt: 'clicked ' + item.text,\n          time: 1000\n        }).show()\n      },\n      moreMoney(item) {\n        this.money += 10\n        item.text = '一口价<span class=\"orange\">' + this.money + '元</span>'\n      },\n      clickHandler(item) {\n        if (item.action) {\n          this[item.action](item)\n        }\n      }\n    }\n  }\n  ```\n  ```stylus\n  .orange\n    color: #fc9153\n  ```\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| actions | 定义一组操作 | Array | [] | [ {text: '完成订单' } ] |\n| moreActions | 定义更多的一组操作 | Array | [] | [ {text: '完成订单' } ] |\n\n* `actions` 子配置项\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| type | 类型，包括 button 和 checkbox | String | button/checkbox | button |\n| text | 文案，支持写入 html | String | - | '' |\n| checked | 当为 checkbox 类型时，checkbox的初始状态 | Boolean | true/false | false |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| click | 点击某一项触发 | 该项 item 的值 |\n| more-click | 当有更多操作时，点击更多按钮时触发 | 更多操作是否是显示状态 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/upload.md",
    "content": "## Upload 组件\n\n> 1.3.0 新增\n\n`Upload` 上传组件。\n\n**注：** 本文中所有的原始文件对象统称为**原始文件**，而经过包装后的文件对象称为**文件对象**，这个文件对象的结构如下：\n\n| 属性 | 说明 | 类型 |\n| - | - | - |\n| name | 文件名 | String |\n| size | 文件大小 | Number |\n| url | 文件 url，通过 URL.createObjectURL 获得 | String |\n| base64 | 文件 base64 的值，这个会从原始文件的 base64 属性获得（默认是没有的，但是插件可以添加，例如下边演示的压缩 compress 插件就会添加 base64 值）| String |\n| status | 文件状态，包含四个： ready, uploading, success, error | String |\n| progress | 文件上传进度，小数 0~1 | Number |\n| file | 原始文件 | File |\n| response | 响应内容（自动转 JSON） | Object/Array/String |\n| responseHeaders | 响应头 | String |\n\n### 示例\n\n- 基本用法\n\n  ```html\n  <cube-upload\n    action=\"//jsonplaceholder.typicode.com/photos/\"\n    :simultaneous-uploads=\"1\"\n    @files-added=\"filesAdded\" />\n  ```\n  ```js\n  export default {\n    methods: {\n      filesAdded(files) {\n        let hasIgnore = false\n        const maxSize = 1 * 1024 * 1024 // 1M\n        for (let k in files) {\n          const file = files[k]\n          if (file.size > maxSize) {\n            file.ignore = true\n            hasIgnore = true\n          }\n        }\n        hasIgnore && this.$createToast({\n          type: 'warn',\n          time: 1000,\n          txt: 'You selected >1M files'\n        }).show()\n      }\n    }\n  }\n  ```\n\n  配置 `action` 表示上传的 URL 地址，而 `simultaneous-uploads` 则表示支持的并发上传个数。\n\n  通过 `files-added` 事件可以实现文件过滤，设置 `file.ignore = true` 即可。\n\n- 压缩图片且通过 Base64 上传\n\n  ```html\n  <cube-upload\n    ref=\"upload\"\n    :action=\"action\"\n    :simultaneous-uploads=\"1\"\n    :process-file=\"processFile\"\n    @file-submitted=\"fileSubmitted\" />\n  ```\n  ```js\n  import compress from '../../modules/image'\n  export default {\n    data() {\n      return {\n        action: {\n          target: '//jsonplaceholder.typicode.com/photos/',\n          prop: 'base64Value'\n        }\n      }\n    },\n    methods: {\n      processFile(file, next) {\n        compress(file, {\n          compress: {\n            width: 1600,\n            height: 1600,\n            quality: 0.5\n          }\n        }, next)\n      },\n      fileSubmitted(file) {\n        file.base64Value = file.file.base64\n      }\n    }\n  }\n  ```\n\n  `action` 中除了有 `target` 目标上传地址外；还有 `prop` 配置，表示上传的时候采用处理后的 `file` 普通对象的哪个属性所对应的值上传，这里设置的就是 `base64Value` 的值。\n\n  `process-file` 则是一个函数，主要用于处理原生文件的，调用 `next` 回调的话，参数是处理完的文件对象，这里示例的就是调用 `compress` 做压缩，处理完后会回调 `next`。\n\n  `file-submitted` 事件则是每个文件处理完后添加到 `upload` 实例的 `files` 数组中后触发，参数就是一个处理后的文件对象。\n\n- 自定义结构样式\n\n  使用默认插槽来实现自定义结构，在此基础上自定义样式。\n\n  ```html\n  <cube-upload\n    ref=\"upload\"\n    v-model=\"files\"\n    :action=\"action\"\n    @files-added=\"addedHandler\"\n    @file-error=\"errHandler\">\n    <div class=\"clear-fix\">\n      <cube-upload-file v-for=\"(file, i) in files\" :file=\"file\" :key=\"i\"></cube-upload-file>\n      <cube-upload-btn :multiple=\"false\">\n        <div>\n          <i>＋</i>\n          <p>Please click to upload ID card</p>\n        </div>\n      </cube-upload-btn>\n    </div>\n  </cube-upload>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        action: '//jsonplaceholder.typicode.com/photos/',\n        files: []\n      }\n    },\n    methods: {\n      addedHandler() {\n        const file = this.files[0]\n        file && this.$refs.upload.removeFile(file)\n      },\n      errHandler(file) {\n        // const msg = file.response.message\n        this.$createToast({\n          type: 'warn',\n          txt: 'Upload fail',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n  ```\n  样式覆盖：\n  ```stylus\n  .cube-upload\n    .cube-upload-file, .cube-upload-btn\n      margin: 0\n      height: 200px\n    .cube-upload-file\n      margin: 0\n      + .cube-upload-btn\n        margin-top: -200px\n        opacity: 0\n    .cube-upload-file-def\n      width: 100%\n      height: 100%\n      .cubeic-wrong\n        display: none\n    .cube-upload-btn\n      display: flex\n      align-items: center\n      justify-content: center\n      > div\n        text-align: center\n      i\n        display: inline-flex\n        align-items: center\n        justify-content: center\n        width: 50px\n        height: 50px\n        margin-bottom: 20px\n        font-size: 32px\n        line-height: 1\n        font-style: normal\n        color: #fff\n        background-color: #333\n        border-radius: 50%\n  ```\n\n  上述示例实现的效果就是点击上传（一次只能选择一张）一张图片，此图片就会直接展示，而上传按钮本身则是不可见，覆盖在图片预览区域上。再次重新选择图片，就会移除掉上次选择的图片，重新展示新选择的图片。\n\n### Props 配置\n\n| 参数 | 说明 | 类型 | 默认值 | 示例 |\n| - | - | - | - | - |\n| v-model | 文件列表 | Array | [] | [{ name, size, url, status: 'success', progress: 1 }] |\n| action | 上传行为配置项，最少包含上传目标的 URL 地址 | String/Object | '' | { target: '/upload' } |\n| max | 最大上传文件个数 | Number | 10 | - |\n| auto | 是否自动上传，即选择完文件后自动开始上传 | Boolean | true | - |\n| simultaneousUploads | 并发上传数 | Number | 1 | - |\n| multiple | 是否多选 | Boolean | true | - |\n| accept | input 的 accept 属性值 | String | image/* | - |\n| processFile | 处理原始文件函数 | Function | function (file, next) { next(file) } | - |\n\n* `action` 子配置项\n\n如果 `action` 是字符串，则会被处理成 `{ target: action }` 这样结构。\n\n| 参数 | 说明 | 类型 | 默认值 |\n| - | - | - | - |\n| target | 上传目标 URL，如果为函数，则传入当前文件对象调用得到目标 URL | String/Function<sup>1.11.0+</sup> | - |\n| fileName | 上传文件时文件的参数名 | String | 'file' |\n| prop | 上传的时候使用文件对象的 prop 属性所对应的值 | String | 'file' |\n| headers | 自定义请求头，如果为函数，则传入当前文件对象调用得到 headers | Object/Function<sup>1.11.0+</sup> | {} |\n| data | 上传需要附加数据，如果为函数，则传入当前文件对象调用得到 data | Object/Function<sup>1.11.0+</sup> | {} |\n| withCredentials | 标准的 CORS 请求是不会带上 cookie 的，如果想要带的话需要设置 withCredentials 为 true | Boolean | false |\n| timeout | 请求超时时间 | Number | 0 | |\n| progressInterval | 进度回调间隔（单位：ms） | Number | 100 |\n| checkSuccess | 校验是否成功函数，参数为`(服务端响应数据, 当前文件对象 [,cb 回调])`，注意第二个参数和第三个参数是 1.11.0 后新增的，而参数 `cb` 是可选的，异步场景可用，如果没有 `cb` 则取其返回值，如果结果值为 true 则代表成功 | Function | function (res, file) { return true } |\n\n* `processFile` 子配置项\n\n一个函数，这个函数有两个参数：`(file, next)`，`file` 就是原始文件，`next` 为处理完毕后的回调函数，调用的时候需要传入处理后的文件。\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| files-added | 选择完文件后触发，一般可用作文件过滤 | 原始文件列表 |\n| file-submitted | 每个文件处理完后添加到 `upload` 实例的 `files` 数组中后触发 | 文件对象 |\n| file-removed | 文件被删除后触发 | 文件对象 |\n| file-success | 文件上传成功后触发 | 文件对象 |\n| file-error | 文件上传失败后触发 | 文件对象 |\n| file-click | 文件点击后触发 | 文件对象，1.12.39后增加了index文件索引参数 |\n| input | 绑定值（文件列表）改变后触发 | 更新后的绑定值（文件列表） |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数 |\n| - | - | - |\n| start | 开始上传 | - |\n| pause | 暂停上传 | - |\n| retry | 重试上传 | - |\n| removeFile | 删除文件 | 文件对象 |\n"
  },
  {
    "path": "document/components/docs/zh-CN/validator.md",
    "content": "## Validator\n\n> 1.5.0 新增\n\n校验器，用于对表单进行验证，并提示相应的错误信息。\n\n### 示例\n\n- 基本用法\n\n  Validator 作为一个独立的组件，通过 model 属性绑定它需要检验的数据；rules 定义验证规则，在 rules 规则中，可以配置 type、required 等内置规则，也可以用 pattern 添加校验的正则表达式，或 custom 自定义验证函数，具体细节可见后面的规则；针对各类规则，我们有比较完善的默认提示文案，具体可见后面的默认提示文案；同时，你也可以用 messages 属性用于自定义提示信息。\n\n  ```html\n  <cube-input v-model=\"text\" placeholder=\"E-mail\"></cube-input>\n  <cube-validator v-model=\"valid\" :model=\"text\" :rules=\"rules\" :messages=\"messages\"></cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        text: '',\n        valid: undefined,\n        rules: {\n          required: true,\n          type: 'email',\n          pattern: /didi.com$/,\n          custom: (val) => {\n            return val.length >= 12\n          }\n        },\n        messages: {\n          pattern: 'The E-mail suffix need to be didi.com.',\n          custom: 'The E-mail need contain at least 12 characters.'\n        },\n      }\n    }\n  }\n  ```\n\n- 给表单添加警告样式\n\n  如果想给表单组件添加警告样式，可以通过把表单组件作为默认插槽，插在 Validator 组件内。因为当未通过验证时，Validator 组件会有一个样式类，cube-validator_warn，给这个类下的表单元素增加样式即可。\n\n  ```html\n  <cube-validator :model=\"text\" :rules=\"rules\" v-model=\"valid\">\n    <cube-input v-model=\"text\"></cube-input>\n  </cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        text: '',\n        valid: undefined,\n        rules: {\n          required: true,\n          type: 'email',\n          min: 6\n        }\n      }\n    }\n  }\n  ```\n  ```css\n  // add warning style to input\n  .cube-validator_warn\n    input\n      border: solid 1px yellow\n  ```\n\n- 自定义提示插槽\n\n  用 messages 属性只能配置提示信息文案，但当你想加图标等自定义提示时，可以使用 message 插槽。这是一个作用域插槽，提供的作用域参数基本上能够满足所有的灵活定制需求，参数包括了：dirty，待检验的数据是否有修改过；message，首条没通过的规则的提示信息；result，对象，内含每条规则的校验结果和提示信息，如{ required: { valid: false, invalid: true, message: '必填' } }。\n\n  ```html\n  <cube-validator v-model=\"valid\" :model=\"text\" :rules=\"rules\" :messages=\"messages\">\n    <cube-input v-model=\"text\" placeholder=\"component name\"></cube-input>\n    <div slot=\"message\" class=\"custom-msg\" slot-scope=\"props\">\n      <div v-if=\"(props.dirty || props.validated) && !valid\">\n        <i class=\"dd-cubeic-important\"></i> {{ props.message }}\n        <div>\n          <span v-for=\"(item, index) in Object.values(props.result)\"\n            :key=\"index\" v-if=\"item.inValid\">\n            {{ item.message + ' ' }}\n          </span>\n        </div>\n      </div>\n    </div>\n  </cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        valid: undefined,\n        text: '',\n        rules: {\n          type: 'string',\n          pattern: /^cube-/,\n          min: 8,\n          max: 10\n        },\n        messages: {\n          pattern: 'The component name need start with \"cube-\"'\n        },\n      }\n    }\n  }\n  ```\n  ```css\n  .custom-msg\n    color: orange\n  ```\n\n- 异步校验<sup>1.8.0+</sup>\n\n  支持校验规则是异步的情况，约定如果校验规则函数的返回值是一个函数（**该函数接收一个 `resolve` 回调，如果调用传入 `true` 则代表校验成功，否则都视为失败**）或者是一个 Promise 对象（**`resolve` 的值是 `true` 的话就是校验成功，否则都视为失败**）那么就是异步校验，同时在校验的过程中会派发 `validating` 事件，在校验后派发 `validated` 事件。\n\n  ```html\n  <div class=\"validator-item\">\n    <p>Async validate: </p>\n    <cube-validator\n      v-model=\"valid\"\n      :model=\"captcha\"\n      :rules=\"rules\"\n      :messages=\"messages\"\n      :immediate=\"immediate\"\n      @validating=\"validatingHandler\"\n      @validated=\"validatedHandler\">\n      <cube-input v-model=\"captcha\" placeholder=\"Please input captcha\"></cube-input>\n    </cube-validator>\n  </div>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        valid: undefined,\n        captcha: '',\n        rules: {\n          type: 'number',\n          required: true,\n          len: 6,\n          captchaCheck: (val) => {\n            return (resolve) => {\n              setTimeout(() => {\n                resolve(val === '123456')\n              }, 1000)\n            }\n            /** or return promise:\n            return new Promise((resolve) => {\n              setTimeout(() => {\n                resolve(val === '123456')\n              }, 1000)\n            })\n            **/\n          }\n        },\n        messages: {\n          captchaCheck: 'Please input \"123456\"'\n        }\n      }\n    },\n    methods: {\n      validatingHandler() {\n        console.log('validating')\n      },\n      validatedHandler() {\n        console.log('validated')\n      }\n    }\n  }\n  ```\n\n  上述的 `captchaCheck` 就是一个异步校验规则，校验过程需花费 1 秒。\n\n- 提交\n\n  虽然提交不属于 Validator 组件，但它往往与校验结果相关联着。所以这里说一下我们对提交的一种最佳实践，可供参考。重点在于对同时存在多个校验任务，以及提交时无论是否填写过表单都要进行校验，这两个需求的处理。\n\n  ```html\n  <cube-input v-model=\"text0\" placeholder=\"Required\"/>\n  <cube-validator ref=\"validator0\" v-model=\"result[0]\" :model=\"text0\" :rules=\"rules0\"/>\n  <cube-input v-model=\"text1\" placeholder=\"E-mail\"/>\n  <cube-validator ref=\"validator1\" v-model=\"result[1]\" :model=\"text1\" :rules=\"rules1\"/>\n  <cube-input v-model=\"text2\" placeholder=\"TEL\"/>\n  <cube-validator ref=\"validator2\" v-model=\"result[2]\" :model=\"text2\" :rules=\"rules2\"/>\n  <cube-button @click=\"submit\">Submit</cube-button>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        result: [undefined, undefined, undefined],\n        text0: '',\n        rules0: {\n          required: true,\n        },\n        text1: '',\n        rules1: {\n          type: 'email',\n        },\n        text2: '',\n        rules2: {\n          type: 'tel',\n        },\n        trigger: false\n      }\n    },\n    methods: {\n      submit() {\n        const p1 = this.$refs.validator0.validate()\n        const p2 = this.$refs.validator1.validate()\n        const p3 = this.$refs.validator2.validate()\n        Promise.all([p1, p2, p3]).then(() => {\n          if (this.result.every(item => item)) {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Submited',\n              time: 1000\n            }).show()\n          }\n        })\n      }\n    }\n  }\n  ```\n\n  对于有多个校验同时通过才可提交的情况，为了不用一个一个去取校验结果变量，可以把这组校验结果存在一个数组，在提交时，遍历这个数组即可。\n\n  通过调用 Validator 实例的 `validate` 方法可以去校验处理，从 1.8.0 版本后支持回调参数且如果浏览器支持 Promise 那么返回值就是 Promise 对象。\n\n### Props\n\n| 参数 | 说明 | 类型 | 可选值 | 默认值 |\n| - | - | - | - | - |\n| model | 必传，指定需要校验的数据 | Any | - | - |\n| v-model | 校验结果，是否通过验证 | Boolean | true/false | true |\n| rules | 校验规则，具体见后面的内置规则和创建规则 | Object | - | {} |\n| messages | 自定义提示信息 | Object | - | {} |\n| immediate | 初始时是否立即校验 | Boolean | true/false | false |\n| disabled<sup>1.7.0+</sup> | 是否禁用 | Boolean | true/false | false |\n\n### Slot\n\n| 名字 | 说明 | 作用域参数 |\n| - | - | - |\n| default | 表单组件 | - |\n| message | 错误提示 | dirty: 待检验的数据是否有修改过 <br> validating: 是否正在校验 <br> validated: 是否校验过 <br> message: 首条没通过的规则的提示信息 <br> result: 对象，内含每条规则的校验结果和提示信息，如{ required: { valid: false, invalid: true, message: '必填' } } |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| - | - | - |\n| validating | 正在校验（只在异步场景下触发） | - |\n| validated | 校验完成（只在异步场景下触发） | valid: 校验是否成功 |\n| msg-click | 错误消息点击 | - |\n| input | 绑定值变化时触发 | 更新后的绑定值 |\n\n### 实例方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| - | - | - | - |\n| validate(cb) | 校验 | cb: 校验完成后回调函数，主要用于异步校验场景，调用参数为 valid 的值 | 如果支持 Promise 返回值为 Promise 对象（只有 resolved 状态，值为 valid），否则返回值为 undefined |\n\n### 规则\n\n- 已有规则\n\n  目前已有的内置规则，有 required、type、min、max、len、notWhitespace、pattern、custom。\n\n  | 参数 | 说明 | 类型 | 可选值 | 示例 |\n  | - | - | - | - | - |\n  | required | 必填 | Boolean | true/false | true |\n  | type | 类型 | String | 'string', 'number', 'array', 'date', 'email', 'tel', 'url' | 'tel' |\n  | min | 当类型为 number 或 date 时，表示待校验的数据必须大于等于 min；其它类型，表示待校验数据的长度必须大于等于 min | Number | - | 6 |\n  | max | 当类型为 number 或 date 时，表示待校验的数据必须小于等于 max；其它类型，表示待校验数据的长度必须小于等于 max | Number | - | 8 |\n  | len | 当类型为 number 或 date 时，表示待校验的数据必须等于 len；其它类型，表示待校验数据的长度必须等于 len | Number | - | 7 |\n  | notWhitespace | 不允许全是空白符 | Boolean | true/false | true |\n  | pattern | 正则匹配 | RegExp | - | /1$/ |\n  | custom | 自定义验证函数，当返回值严格等于 true 时，代表验证通过。 | Function | - | val => val.length === 7 |\n\n- 添加规则\n\n  除了已有的内置规则，你还可以使用 Validator 的 addRule 方法，添加自定义的公共规则，以及 addMessage 方法添加相应的默认提示信息。\n\n  ```js\n  import Vue from 'vue'\n  import { Validator } from 'cube-ui'\n  // need use Validator\n  Vue.use(Validator)\n  Validator.addRule('odd', (val, config, type) => !config || Number(val) % 2 === 1)\n  Validator.addMessage('odd', 'Please input odd.')\n  ```\n  接下来你就可以在 rules 的配置中使用 odd 规则了：\n\n  ```html\n  <cube-validator v-model=\"valid\" :model=\"text\" :rules=\"rules\">\n    <cube-input v-model=\"text3\" placeholder=\"odd\"></cube-input>\n  </cube-validator>\n  ```\n  ```js\n  export default {\n    data() {\n      return {\n        text: '100',\n        valid: undefined,\n        rules: {\n          type: 'number',\n          odd: true\n        }\n      }\n    }\n  }\n  ```\n\n### 添加默认提示信息\n\n首先我们看一下内置的默认提示信息是怎样的，如果你需要修改，可以通过 addMessage 修改相应子属性。\n\n  - 内置的默认提示信息\n\n  ```js\n  const messages = {\n    required: '此为必填项',\n    type: {\n      string: '请输入字符',\n      number: '请输入数字',\n      array: '数据类型应为数组',\n      date: '请选择有效日期',\n      email: '请输入有效邮箱',\n      tel: '请输入有效的手机号码',\n      url: '请输入有效网址'\n    },\n    min: {\n      string: '至少输入 {{config}} 位字符',\n      number: '不得小于 {{config}}',\n      array: '请选择至少 {{config}} 项',\n      date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n      email: '至少输入 {{config}} 位字符',\n      tel: '至少输入 {{config}} 位字符',\n      url: '至少输入 {{config}} 位字符'\n    },\n    max: {\n      string: '请勿超过 {{config}} 位字符',\n      number: '请勿大于 {{config}}',\n      array: '最多选择 {{config}} 项',\n      date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n      email: '请勿超过 {{config}} 位字符',\n      tel: '请勿超过 {{config}} 位字符',\n      url: '请勿超过 {{config}} 位字符'\n    },\n    len: {\n      string: '请输入 {{config}} 位字符',\n      number: '长度应等于 {{config}}',\n      array: '请选择 {{config}} 项',\n      date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n      email: '请输入 {{config}} 位字符',\n      tel: '请输入 {{config}} 位字符',\n      url: '请输入 {{config}} 位字符'\n    },\n    pattern: '格式错误',\n    custom: '未通过校验',\n    notWhitespace: '空白内容无效'\n  }\n  ```\n\n  - 修改已有提示信息\n\n  ```js\n  import Vue from 'vue'\n  import { Validator } from 'cube-ui'\n\n  // need use Validator\n  Vue.use(Validator)\n\n  Validator.addMessage('required', '必填')\n\n  // 覆盖 min.date 的提示消息\n  Validator.addMessage('min', {\n    date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\") | tips(\"请重新输入\")}} 之后的时间'\n  })\n  Validator.addHelper('tips', function(result, arg1) {\n    // 必须要返回提示消息\n    return `${result}, ${arg1}`\n  })\n  ```\n\n  如上，组件内部解析默认的消息是类似于 Vue filter 的机制。\n\n  - config\n\n  比如你配置的规则是：{type: 'date', min: '2018-10-10'}，那么对于 `min` 下面的 `date` 的消息模板中的 `config` 字段的值就是 '2018-10-10', 因为校验的是一个 `date` 类型，`min` 对应的字段可以是一个 `timestamp` (日期时间戳)或者类似于日期格式的字符串 `yyyy-MM-dd mm:ss` 或者 `yyyy/MM/dd mm:ss`。\n\n  - toLocaleDateString\n\n  内置的helper函数，第一个参数是你配置的 config 值，第二个参数是你期望的日期格式， 如上则为 `'yyyy年MM月dd日'`, 接受类似于 `yyyy-MM-dd mm:ss` 格式，你也可以通过如下的方式注册你自己的helper函数。\n\n  ```js\n  Validator.addHelper('fnName', (result, arg1) => {\n    // result -> 上一个helper函数返回的值或者 config 值，如上例则是'2018-10-10'\n    // arg1 -> 你在消息模板传入的字符串, 如上例则是'请重新输入'\n    let ret\n\n    // 实现自己的逻辑\n    ret = result + arg1\n\n    // 必须返回处理过后的消息\n    return ret\n  })\n  ```\n\n  通过 Validator.addHelper 方法注册的工具函数实际上是在 Locale.helpers 的命名空间下，你也可以导入 Locale 模块并且通过 Locale.addHelper 注册工具函数，两者都是指向同一块内存地址。\n\n### 添加类型\n\n  - 添加新的类型\n\n  ```js\n  import { Validator } from 'cube-ui'\n\n  Validator.addType('yourType', (val) => {\n    return typeof val === 'string' && /^[a-z0-9_-]+/i.test(val)\n  })\n  ```\n\n  - 修改已有类型\n\n  ```js\n  import { Validator } from 'cube-ui'\n\n  Validator.addType('email', (val) => {\n    return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)$/i.test(val)\n  })\n  ```\n"
  },
  {
    "path": "document/components/docs/zh-CN.vue",
    "content": "<template>\n  <viewport lang=\"zh-CN\"></viewport>\n</template>\n\n<script>\n  import Viewport from '../viewport/viewport.vue'\n\n  export default {\n    components: {\n      Viewport\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "document/components/example/example.vue",
    "content": "<template>\n  <div class=\"home-example\">\n    <div class=\"example-main\">\n      <back />\n      <display></display>\n      <div class=\"example-desc\">\n        <a :href=\"baseUrl\" class=\"online-link\">Online Example</a>\n        <img src=\"./example-QR.png\">\n        On Gitee\n        <img src=\"./example-QR2.png\">\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\n  import { baseUrl } from '../../common/js/utils'\n  import Display from '../display/display.vue'\n  import Back from '../back/back.vue'\n  export default {\n    data() {\n      return {\n        baseUrl\n      }\n    },\n    mounted() {\n      window.scrollTo(0, 0)\n    },\n    components: {\n      Display,\n      Back\n    }\n  }\n</script>\n<style lang=\"stylus\">\n  .home-example\n    position: relative\n    text-align: center\n    .example-main\n      display: flex\n      align-items: center\n      justify-content: center\n      // width: 348px\n      // margin: auto\n      padding: 50px 0\n      // overflow: hidden\n      @media screen and (max-width: 960px)\n        width: 330px\n        flex-wrap: wrap\n        margin: auto\n        .example-desc\n          order: -1\n          width: 280px\n          margin: 0 auto 30px\n    .example-desc\n      margin-left: 100px\n      img\n        width: 280px\n        height: 280px\n      .online-link, img\n        display: block\n        margin-bottom: 20px\n    .page-display\n      .display-wrapper\n        margin: auto\n        transform: none\n        top: auto\n</style>\n"
  },
  {
    "path": "document/components/footer/footer.vue",
    "content": "<template>\n  <footer class=\"s-footer\">\n    <a href=\"https://github.com/didi\">© 2012-2019 DiDiChuxing. All Rights Reserved.</a>\n  </footer>\n</template>\n\n<script>\nexport default {}\n</script>\n\n<style lang=\"stylus\">\n  .s-footer\n    width: 100%\n    padding-top: 60px\n    padding-bottom: 20px\n    text-align: center\n    font-size: 14px\n    a\n      color: #4B4B4C\n</style>\n"
  },
  {
    "path": "document/components/home/en-US.vue",
    "content": "<template>\n  <home>\n    <template slot=\"nav\">\n      <router-link to=\"/en-US/docs\" class=\"tab\"><span>Docs</span></router-link>\n      <router-link to=\"/en-US/example\" class=\"tab\"><span>Example</span></router-link>\n    </template>\n    <div slot=\"home\">home</div>\n  </home>\n</template>\n\n<script>\n  import Home from './home.vue'\n  export default {\n    components: {\n      Home\n    }\n  }\n</script>\n<style lang=\"stylus\">\n</style>\n"
  },
  {
    "path": "document/components/home/home.vue",
    "content": "<template>\n  <div class=\"home-view\" :class=\"{'home-view-docs': isDocs, 'home-view-demo': isExample, opacity1: opacity1}\">\n    <div class=\"navigator\" ref=\"navigator\" :class=\"{ active: showTabs }\">\n      <div class=\"logo\">\n        <router-link to=\"/\"><img src=\"./logo.png\" alt=\"Cube-UI\"></router-link>\n      </div>\n      <div class=\"tabs\">\n        <i></i>\n        <slot name=\"nav\"></slot>\n        <site-lang></site-lang>\n      </div>\n      <span class=\"toggle-nav\" @click=\"toggleNav\"><i></i></span>\n    </div>\n    <div class=\"router-view\">\n      <nav-loading></nav-loading>\n      <router-view></router-view>\n    </div>\n  </div>\n</template>\n\n<script>\n  import Lang from '../lang/lang.vue'\n  import NavLoading from '../nav-loading/nav-loading.vue'\n  import throttle from 'lodash-es/throttle'\n\n  export default {\n    data() {\n      return {\n        showTabs: false,\n        opacity1: false,\n        isDocs: this.$route.path.indexOf('/docs') > -1,\n        isExample: this.$route.path.indexOf('/example') > -1\n      }\n    },\n    computed: {\n      isIndex() {\n        return !this.isDocs && !this.isExample\n      }\n    },\n    watch: {\n      $route(val) {\n        this.isDocs = val.path.indexOf('/docs') > -1\n        this.isExample = val.path.indexOf('/example') > -1\n        this.showTabs = false\n      },\n      isIndex: {\n        handler: function (newVal) {\n          if (newVal) {\n            document.addEventListener('touchmove', this.checkScrollTop, false)\n            window.addEventListener('scroll', this.checkScrollTop, false)\n          } else {\n            document.removeEventListener('touchmove', this.checkScrollTop, false)\n            window.removeEventListener('scroll', this.checkScrollTop, false)\n            this.$refs.navigator && (this.$refs.navigator.style.backgroundColor = '')\n          }\n        },\n        immediate: true\n      }\n    },\n    beforeCreate() {\n      this.checkScrollTop = throttle(() => {\n        const y = window.scrollY\n        const h = 48\n        const opacity = y / h\n        this.opacity1 = opacity >= 0.98\n        this.$refs.navigator.style.backgroundColor = `rgba(255, 255, 255, ${opacity})`\n      }, 10, {\n        leading: true\n      })\n    },\n    mounted() {\n      setTimeout(() => {\n        this.isIndex && this.checkScrollTop()\n      })\n    },\n    components: {\n      SiteLang: Lang,\n      NavLoading\n    },\n    methods: {\n      toggleNav() {\n        this.showTabs = !this.showTabs\n      },\n      toggleCatalog() {\n        this.showCatalog = !this.showCatalog\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n\n  .home-view\n    height: 100%\n    box-sizing: border-box\n    padding-top: 70px\n    transition: all 250ms ease\n    @media screen and (max-width: 960px)\n      padding-top: 48px\n      &.home-view-docs, &.home-view-demo\n        overflow: hidden\n        height: auto\n        .toggle-nav\n          display: none!important\n    .router-view\n      height: 100%\n  .home-view-docs, .home-view-demo, .opacity1\n    .navigator\n      box-shadow: 0 1px 2px rgba(0, 0, 0, .15)\n  .navigator\n    z-index: 5\n    position: fixed\n    top: 0\n    left: 0\n    right: 0\n    height: 70px\n    line-height: 70px\n    padding: 0 100px\n    margin-top: 0\n    background-color: #fff\n    @media screen and (max-width: 960px)\n      padding: 0\n      height: 48px\n      line-height: 48px\n      &.active\n        .tabs\n          transition: transform .2s\n          transform: scale(1)\n    .toggle-nav\n      display: none\n      font-size: 0\n      i, &::before, &::after\n        display: inline-block\n        width: 5px\n        height: 5px\n        border-radius: 50%\n        background-color: #646464\n      i\n        margin: 0 2px\n      &::before, &::after\n        content: \"\"\n        width: 3px\n        height: 3px\n      @media screen and (max-width: 960px)\n        display: flex\n        position: absolute\n        right: 0\n        top: 0\n        padding: 0 16px\n        height: 100%\n        align-items: center\n        justify-content: center\n      &:active\n        opacity: .6\n    .logo\n      float: left\n      padding: 0 16px\n      height: 100%\n      a\n        display: block\n        height: 100%\n        margin: 0 80px\n      img\n        height: 100%\n        transform: scale(.5)\n        transform-origin: 0 center\n      @media screen and (max-width: 960px)\n        float: none\n        a\n          float: none\n          text-align: center\n          img\n            transform-origin: center center\n    .tabs\n      float: right\n      padding: 0 30px\n      box-shadow: none\n      @media screen and (max-width: 960px)\n        position: fixed\n        z-index: 10\n        right: 10px\n        padding: 0 0 0 2px\n        margin-top: -12px\n        font-size: 12px\n        background-color: #fff\n        border: 1px solid #e5e5e5\n        border-radius: 3px\n        transform: scale(0)\n        transform-origin: 84% 0\n        i\n          position: absolute\n          top: -5px\n          right: 7px\n          width: 10px\n          height: 5px\n          background-color: #fff\n          &::before, &::after\n            content: \"\"\n            position: absolute\n            bottom: 0\n            right: 3px\n            width: 8px\n            border-top: 1px solid #e5e5e5\n            transform: rotate(-40deg)\n            transform-origin: left bottom\n          &::after\n            right: 0\n            transform: rotate(40deg)\n            transform-origin: right bottom\n      .tab\n        display: inline-block\n        margin: 0 18px\n        color: #4B4B4C\n        transition: color .2s\n        @media screen and (max-width: 960px)\n          display: block\n          line-height: 45px\n          color: black\n        &:hover\n          color: $color-orange\n      .router-link-active\n        color: $color-orange\n</style>\n"
  },
  {
    "path": "document/components/home/zh-CN.vue",
    "content": "<template>\n  <home>\n    <template slot=\"nav\">\n      <router-link to=\"/zh-CN/docs\" class=\"tab\"><span>文档</span></router-link>\n      <router-link to=\"/zh-CN/example\" class=\"tab\"><span>示例</span></router-link>\n    </template>\n    <div slot=\"home\">home</div>\n  </home>\n</template>\n\n<script>\n  import Home from './home.vue'\n  export default {\n    components: {\n      Home\n    }\n  }\n</script>\n<style lang=\"stylus\">\n</style>\n"
  },
  {
    "path": "document/components/index/en-US.vue",
    "content": "<template>\n  <home-index>\n    <template slot=\"desc\">A fantastic mobile ui lib implement by Vue.js</template>\n    <template slot=\"rec-btns\">\n      <router-link to=\"/en-US/docs/quick-start\" class=\"btn-link\"><span>Quick Start</span></router-link>\n      <router-link to=\"/en-US/docs/introduction\" class=\"btn-link btn-active\"><span>Introduction</span></router-link>\n    </template>\n    <template slot=\"feature-1\">\n      <h1 class=\"h1\">High Quality</h1>\n      <h1 class=\"h2\">Quality</h1>\n      <p>\n        From DiDi interior component library and has been put to business test for more than one year. Every component has full unit tests to provide assurance for continuous integration.\n      </p>\n    </template>\n    <template slot=\"feature-2\">\n      <h1 class=\"h1\">Good Experience</h1>\n      <h1 class=\"h2\">Experience</h1>\n      <p>\n        Make quick response, fluent animation and close to native components as the goal, and pursue the perfection of the interactive experience.\n      </p>\n    </template>\n    <template slot=\"feature-3\">\n      <h1 class=\"h1\">Keep Standard</h1>\n      <h1 class=\"h2\">Standard</h1>\n      <p>\n        Follow a uniform design interaction standard and highly restore the design; Standardize the interface and unify the way of use, making development more simple and efficient.\n      </p>\n    </template>\n    <template slot=\"feature-4\">\n      <h1 class=\"h1\">Design Scalability</h1>\n      <h1 class=\"h2\">Scalability</h1>\n      <p>\n        Lightweight and flexible: support <router-link to=\"/en-US/docs/post-compile\">post-compile</router-link> and importing on demand; High scalability: it is easy to implement secondary development based on existing components.\n      </p>\n    </template>\n  </home-index>\n</template>\n\n<script>\n  import HomeIndex from './index.vue'\n  export default {\n    components: {\n      HomeIndex\n    }\n  }\n</script>\n<style lang=\"stylus\">\n</style>\n"
  },
  {
    "path": "document/components/index/index.vue",
    "content": "<template>\n  <div class=\"home-index\">\n    <div class=\"banner\">\n      <h2>Cube UI</h2>\n      <p>\n        <slot name=\"desc\"></slot>\n      </p>\n      <div class=\"ghbtns\">\n        <Badge type=\"star\"></Badge>\n        <Badge type=\"fork\"></Badge>\n        <Badge type=\"watch\"></Badge>\n      </div>\n      <div class=\"rec-btns\">\n        <slot name=\"rec-btns\"></slot>\n      </div>\n    </div>\n    <section class=\"features\">\n      <ul>\n        <li>\n          <img src=\"./quality.png\">\n          <div class=\"text\">\n            <slot name=\"feature-1\"></slot>\n          </div>\n        </li>\n        <li>\n          <img src=\"./experience.png\">\n          <div class=\"text\">\n            <slot name=\"feature-2\"></slot>\n          </div>\n        </li>\n        <li>\n          <img src=\"./standard.png\">\n          <div class=\"text\">\n            <slot name=\"feature-3\"></slot>\n          </div>\n        </li>\n        <li>\n          <img src=\"./scalability.png\">\n          <div class=\"text\">\n            <slot name=\"feature-4\"></slot>\n          </div>\n        </li>\n      </ul>\n    </section>\n    <sfooter />\n  </div>\n</template>\n\n<script>\n  import Badge from '../badge/badge.vue'\n  import Sfooter from '../footer/footer.vue'\n\n  export default {\n    mounted() {\n      window.scrollTo(0, 0)\n    },\n    components: {\n      Badge,\n      Sfooter\n    }\n  }\n</script>\n<style lang=\"stylus\">\n@require \"~@/common/stylus/variable.styl\"\n\n  .home-index\n    min-height: 100%\n    box-sizing: border-box\n    text-align: center\n    background-size: cover\n    > .banner\n      padding: 190px 140px 70px\n      margin-top: -70px\n      text-align: left\n      color: #4B4B4C\n      background: url(\"./cube.png\") no-repeat 520px -10px\n      background-size: 1250px\n      @media screen and (max-width: 960px)\n        padding: 254px 32px 20px\n        margin-top: -48px\n        text-align: left\n        background-position: 6% 0\n        background-size: 186%\n        .btn-link\n          width: 140px\n          margin-right: 15px\n          font-size: 14px\n          border-width: 1px\n      h2\n        font-size: 60px\n        color: #333\n        @media screen and (max-width: 960px)\n          font-size: 30px\n      > p\n        margin: 23px 0 6px 0\n        font-size: 18px\n        line-height: 32px\n        @media screen and (max-width: 960px)\n          font-size: 12px\n          line-height: 18px\n  .ghbtns\n    font-size: 0\n    margin-left: -5px\n    margin-right: -5px\n  .rec-btns\n    margin-top: 36px\n    @media screen and (max-width: 960px)\n      margin-top: 26px\n  .btn-link\n    display: inline-block\n    box-sizing: border-box\n    width: 164px\n    height: 42px\n    text-align: center\n    line-height: 38px\n    font-size: $fontsize-large-x\n    color: #fff\n    background-color: #89C6FF\n    border-radius: 3px\n    margin-bottom: 10px\n    margin-right: 18px\n    border: 2px solid #89C6FF\n    &:hover\n      color: #fff\n      background-color: #80c1ff\n      border-color: #80c1ff\n    &:last-child\n      margin-right 0!important\n  .btn-active\n    color: #89c6ff\n    background-color: white\n    &:hover\n      color: #137dc6\n      background-color: #fff\n  .features\n    margin: 0 90px\n    box-shadow: 0 4px 30px 0 rgba(66, 81, 148, 0.1)\n    @media screen and (max-width: 960px)\n      margin: 10px auto 0\n      box-shadow: none\n    > ul\n      display: flex\n      justify-content: space-around\n      padding: 0 80px\n      text-align: left\n      color: #666\n      @media screen and (max-width: 960px)\n        flex-direction: column\n        padding: 0\n      li\n        flex: 1\n        max-width: 220px\n        padding: 60px 16px 10px\n        margin: 0 10px\n        font-size: 13px\n        line-height: 1.4\n        text-align: center\n        @media screen and (max-width: 960px)\n          display: flex\n          align-items: center\n          max-width: initial\n          padding-top: 20px\n          padding-bottom: 20px\n          text-align: left\n          .text\n            flex: 1\n            margin-top: -7px\n          &:first-child\n            img\n              transform: translate(-6px,0)\n          &:nth-child(2)\n            img\n              transform: scale(0.90) translate(0,8px)\n              transform-origin: top center\n        img\n          width: 130px\n          margin-bottom: 13px\n          transform-origin: center 0\n          transition: all .5s\n          @media screen and (max-width: 960px)\n            width: 90px\n            height: 90px\n            margin-right: 16px\n            margin-bottom: 0\n        .text\n          transition: all .5s\n          .h1\n            padding: 7px 0 0\n            font-size: 22px\n            font-weight: 500\n            color: #333\n          .h2\n            font-size: 18px\n            transition: all .5s\n          p\n            margin-top: -18px\n            font-size: 14px\n            opacity: 0\n            transition: all .5s\n          @media screen and (max-width: 960px)\n            .h1\n              font-size: 15px\n            .h2\n              display: none\n            p\n              margin-top: 0\n              opacity: 1\n              font-size: 12px\n        @media screen and (min-width: 961px)\n          &:hover\n            p\n              opacity:1\n            img\n                transform: scale(0.5,0.5)\n            .h2\n              opacity: 0\n            .text\n              transform: translateY(-75px)\n</style>\n"
  },
  {
    "path": "document/components/index/zh-CN.vue",
    "content": "<template>\n  <home-index>\n    <template slot=\"desc\">基于 Vue.js 实现的精致移动端组件库</template>\n    <template slot=\"rec-btns\">\n      <router-link to=\"/zh-CN/docs/quick-start\" class=\"btn-link\"><span>快速上手</span></router-link>\n      <router-link to=\"/zh-CN/docs/introduction\" class=\"btn-link btn-active\"><span>介绍</span></router-link>\n    </template>\n    <template slot=\"feature-1\">\n      <h1 class=\"h1\">质量可靠</h1>\n      <h1 class=\"h2\">Quality</h1>\n      <p>\n        由滴滴内部组件库精简提炼而来，历经考验，并且每个组件都有充分单元测试，为后续集成提供保障。\n      </p>\n    </template>\n    <template slot=\"feature-2\">\n      <h1 class=\"h1\">体验极致</h1>\n      <h1 class=\"h2\">Experience</h1>\n      <p>\n        以迅速响应、动画流畅、接近原生为目标，在交互体验方面追求极致。\n      </p>\n    </template>\n    <template slot=\"feature-3\">\n      <h1 class=\"h1\">标准规范</h1>\n      <h1 class=\"h2\">Standard</h1>\n      <p>\n        遵循统一的设计交互标准，高度还原设计效果；接口标准化，统一规范使用方式，开发更加简单高效。\n      </p>\n    </template>\n    <template slot=\"feature-4\">\n      <h1 class=\"h1\">扩展性强</h1>\n      <h1 class=\"h2\">Scalability</h1>\n      <p>\n        支持按需引入和<router-link to=\"/zh-CN/docs/post-compile\">后编译</router-link>，轻量灵活；扩展性强，可以方便地基于现有组件实现二次开发。\n      </p>\n    </template>\n  </home-index>\n</template>\n\n<script>\n  import HomeIndex from './index.vue'\n  export default {\n    components: {\n      HomeIndex\n    }\n  }\n</script>\n<style lang=\"stylus\">\n</style>\n"
  },
  {
    "path": "document/components/lang/lang.vue",
    "content": "<template>\n  <span class=\"langs\">\n    <a href=\"javascript:;\" @click=\"toggle\" >{{ current === 'zh-CN' ? 'English' : '中文' }}</a>\n  </span>\n</template>\n\n<script>\n  import { setItem, getCurrentLang } from '../../common/js/utils'\n  const CUBE_LANGUAGE = 'CUBE_LANGUAGE'\n\n  export default {\n    data() {\n      return {\n        current: getCurrentLang()\n      }\n    },\n    methods: {\n      toggle () {\n        this.current = this.current === 'zh-CN' ? 'en-US' : 'zh-CN'\n        setItem(CUBE_LANGUAGE, this.current)\n        this.$router.replace({\n          path: this.$router.currentRoute.path.replace(/\\/(zh-CN|en-US)(?=\\/?)/, `/${this.current}`)\n        })\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n  .langs\n    display: inline-block\n    margin: 0 20px\n    @media screen and (max-width: 960px)\n      display: block\n      line-height: 45px\n      margin: 0 20px\n    a\n      color: #4B4B4C\n      @media screen and (max-width: 960px)\n        color: black\n      &:active, &:hover\n        color: $color-orange\n</style>\n"
  },
  {
    "path": "document/components/nav-loading/nav-loading.vue",
    "content": "<template>\n  <div class=\"nav-loading\" :class=\"loadingCls\"></div>\n</template>\n\n<script>\n  import { eventHub } from '../../common/js/utils'\n\n  export default {\n    data() {\n      return {\n        loading: false,\n        toEnd: false\n      }\n    },\n    computed: {\n      loadingCls() {\n        const cls = {}\n        if (this.loading) {\n          cls['nav-loading-ani'] = true\n        }\n        if (this.toEnd) {\n          cls['nav-loading-ani-end'] = true\n        }\n        return cls\n      }\n    },\n    created() {\n      let tid\n      let startTime\n      eventHub.$on('begin-loading', () => {\n        startTime = Date.now()\n        clearTimeout(tid)\n        this.loading = true\n      })\n      eventHub.$on('finish-loading', () => {\n        const time = Date.now() - startTime\n        if (time > 500) {\n          this.resetLoading()\n        } else {\n          tid = setTimeout(this.resetLoading, 500 - time)\n        }\n      })\n    },\n    methods: {\n      resetLoading() {\n        this.toEnd = true\n        setTimeout(() => {\n          this.toEnd = false\n          this.loading = false\n        }, 100)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n\n  .nav-loading\n    z-index: 10\n    position: fixed\n    top: 70px\n    width: 100%\n    height: 2px\n    background: #3ca0e6\n    transform: translateX(-100%)\n    @media screen and (max-width: 960px)\n      top: 48px\n  .nav-loading-ani\n    animation: navloading 2s linear forwards\n  .nav-loading-ani-end\n    animation: navloadingend .1s linear\n  @keyframes navloading\n    0%\n      opacity: 0\n      transform: translateX(-100%)\n    20%\n      opacity: .5\n      transform: translateX(-60%)\n    50%\n      opacity: .8\n      transform: translateX(-40%)\n    80%\n      opacity: .8\n      transform: translateX(-20%)\n    100%\n      opacity: .8\n      transform: translateX(-10%)\n  @keyframes navloadingend\n    0%\n      opacity: .8\n      transform: translateX(-10%)\n    100%\n      opacity: 0\n      transform: translateX(0)\n</style>\n"
  },
  {
    "path": "document/components/side-list/side-list.vue",
    "content": "<template>\n  <nav class=\"page-sidelist\">\n    <side-nav :data=\"navList\"></side-nav>\n  </nav>\n</template>\n\n<script>\n  import SideNav from '../side-nav/side-nav.vue'\n\n  let rootNav = {}\n\n  export default {\n    props: {\n      navList: {\n        type: Object,\n        default () {\n          return {}\n        }\n      }\n    },\n    components: {\n      SideNav\n    },\n    mounted() {\n      let docPath = ''\n      let root = ''\n      const navList = this.navList\n      this.$watch('$route.path', (newPath) => {\n        docPath = newPath.split('/').pop()\n        if (rootNav) {\n          rootNav.hasActived = false\n          if (!root) {\n            rootNav.isRootActive = false\n            if (window.innerWidth > 960) {\n              setTimeout(() => {\n                const el = document.querySelector('.page-sidelist .nav-active')\n                el && el.scrollIntoViewIfNeeded()\n              }, 0)\n            }\n          }\n        }\n        root = this.seekRoot(navList, docPath)\n        rootNav = root && navList[root]\n        this.$set(rootNav, 'isRootActive', true)\n        this.$set(rootNav, 'hasActived', true)\n      }, {immediate: true})\n    },\n    methods: {\n      seekRoot (navList, key, root) {\n        const keys = Object.keys(navList)\n        for (let i = 0; i < keys.length; i++) {\n          let name = keys[i]\n          if (name === key) {\n            return root\n          } else if (navList[name].subList) {\n            let subList = navList[name].subList\n            const subRoot = this.seekRoot(subList, key, root || name)\n            if (subRoot) {\n              return subRoot\n            }\n          }\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n\n  .page-sidelist\n    font-size: $fontsize-large\n</style>\n"
  },
  {
    "path": "document/components/side-nav/side-nav.vue",
    "content": "<template>\n  <ul class=\"nav-ul\">\n    <li class=\"nav-li\" v-for=\"(item, key) in data\" :class=\"{'nav-li_open': item.isRootActive, 'nav-li_active': item.hasActived}\" :key=\"key\">\n      <template v-if=\"item.name\">\n        <p class=\"nav-name\" @click=\"derail(item)\">{{item.name}}</p>\n        <side-nav :data=\"item.subList\"></side-nav>\n      </template>\n      <router-link\n        active-class=\"nav-active\"\n        :to=\"{path: key}\"\n        v-else\n      >{{item}}</router-link>\n      <span v-if=\"item.angle\" class=\"angle\">{{item.angle}}</span>\n      <div v-if=\"item.angle\" class=\"arrow\" :class=\"{rotate: item.isRootActive}\"></div>\n    </li>\n  </ul>\n</template>\n\n<script>\n  const COMPONENT_NAME = 'side-nav'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      data: {\n        type: Object,\n        default () {\n          return {}\n        }\n      }\n    },\n    methods: {\n      derail (item) {\n        let nowActive = item.isRootActive\n        this.$set(item, 'isRootActive', !nowActive)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n  .nav-ul\n    font-size: 100%\n  .nav-li\n    // margin-left: .4em\n    position:relative\n    max-height: 75px\n    overflow: hidden\n    // transition: all .2s linear\n    > .nav-ul\n      visibility: hidden\n    .angle\n      position: absolute\n      left: 30px\n      top: 12px\n      font-size: 22px\n      color: #cdcdcd\n    .arrow\n      width: 10px\n      height: 10px\n      position: absolute\n      right: 48px\n      top: 32px\n      transition: all 300ms\n      &::after, &::before\n        width: 0\n        height: 0\n        content: \"\"\n        border: 5px solid transparent\n        border-top: 5px solid #fff\n        position: absolute\n        top: 0\n        right: 0px\n      &::before\n        border-top-color: #333\n        top: 2px\n    .rotate\n      transform: rotate(180deg)\n    .nav-name\n      font-size: 1.5em\n      border-bottom: #E3E3E3 solid 1px\n      padding: 15px 0 15px 30px\n      margin-left: 30px\n      margin-right: 30px\n      cursor: pointer\n    .nav-li\n      text-indent: 60px\n      line-height: 30px\n      max-height: none\n      a\n        padding: 5px 0\n      .nav-name\n        font-size: 1.125em\n        border: none\n        padding: 0\n        margin: 0\n        line-height: 50px\n        color: #969799\n      .nav-li\n        text-indent: 80px\n    a\n      display: block\n      padding: 0 10px\n      box-sizing: border-box\n      color: $color-grey\n      &:hover, &.nav-active\n        color: $color-orange\n      &:hover\n        border-right: 1px solid #e3e3e3\n        background-color: #fbfbfb\n      &.nav-active\n        background-color: rgba(252, 145, 83, .2)\n        &::after\n          content: \"\"\n          width: 3px\n          height: 100%\n          background-color: #fc9153\n          position: absolute\n          z-index: 1\n          right: 0\n          top: 0\n  .nav-li_open\n    // height: auto\n    max-height: 2000px\n    .nav-ul\n      visibility: visible\n  .nav-li_active\n    .arrow\n      &::before\n        border-top-color: #fc9153\n    > .nav-name\n      color: #fc9153\n  .nav-name\n    margin: 10px 0\n    font-size: $fontsize-large-xx\n</style>\n"
  },
  {
    "path": "document/components/viewport/viewport.vue",
    "content": "<template>\n  <div class=\"docs-view\">\n    <img class=\"menu\" v-show=\"showCatalog\" @click=\"toggleCatalog\" src=\"./close.svg\">\n    <img class=\"menu\" v-show=\"!showCatalog\" @click=\"toggleCatalog\" src=\"./menu.svg\">\n    <back />\n    <div v-show=\"showCatalog\" class=\"mask\" :class=\"{ active: showCatalog }\" @click=\"toggleCatalog\"></div>\n    <div class=\"nav-list-wrapper\" :class=\"{ active: showCatalog }\">\n      <side-list :nav-list=\"navList\"></side-list>\n    </div>\n    <router-view class=\"page-doc md-body\" v-highlight></router-view>\n    <display></display>\n  </div>\n</template>\n\n<script>\n  import SideList from '../side-list/side-list.vue'\n  import Display from '../display/display.vue'\n  import Back from '../back/back.vue'\n  import menuConfig from '../../common/config/menu'\n\n  export default {\n    props: {\n      lang: {\n        type: String,\n        default: 'zh-CN'\n      }\n    },\n    data() {\n      return {\n        navList: menuConfig[this.lang],\n        showCatalog: false\n      }\n    },\n    watch: {\n      $route() {\n        this.showCatalog = false\n        window.scrollTo(0, 0)\n      },\n      showCatalog(newVal) {\n        document.documentElement.className = newVal ? 'ov-hidden' : ''\n      }\n    },\n    methods: {\n      toggleCatalog() {\n        this.showCatalog = !this.showCatalog\n      }\n    },\n    mounted () {\n      const mdBodyEle = document.querySelector('.md-body')\n      const pattern = /#cube-(.*)-anchor/\n      const matcher = window.location.hash.match(pattern)\n      if (matcher) {\n        const anchor = decodeURIComponent(matcher[1])\n        const el = mdBodyEle.querySelector(`#${anchor}`)\n        el && el.scrollIntoView()\n      }\n      window.scrollTo(0, 0)\n    },\n    components: {\n      SideList,\n      Display,\n      Back\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"~@/common/stylus/variable.styl\"\n\n  .docs-view\n    display: flex\n    width: 100%\n    height: 100%\n    box-sizing: border-box\n    flex-wrap: wrap\n    @media screen and (max-width: 960px)\n      position: relative\n      height: auto\n      &::before\n        position: fixed\n        top: 48px\n    .menu\n      display: none\n      @media screen and (max-width: 960px)\n        display: block\n        z-index: 5\n        position: fixed\n        right: 6px\n        top: 4px\n        width: 20px\n        height: 20px\n        padding: 10px\n      &:active\n        opacity: .6\n    .nav-list-wrapper\n      width: 279px\n      height: 100%\n      border-right: 1px solid #e3e3e3\n      @media screen and (max-width: 960px)\n        position: fixed\n        right: 0\n        top: 48px\n        bottom: 0\n        height: auto\n        background-color: $color-white\n        z-index: 1\n        overflow: hidden\n        transform: translate(100%, 0)\n        transition: all 0.4s ease\n        border-right: none\n        &.active\n          transform: translate(0, 0)\n    @media screen and (max-width: 960px)\n      .mask\n        z-index: 1\n        position: absolute\n        top: 0\n        left: 0\n        width: 100%\n        height: 100%\n        background-color: transparent\n        &.active\n          background-color: rgba(0, 0, 0 ,0.05)\n          transition: all 0.4s ease\n    .page-sidelist\n      height: 100%\n      padding: 50px 0\n      margin-right: -1px\n      box-sizing: border-box\n      overflow-y: auto\n      @media screen and (max-width: 960px)\n        height: 100%\n        padding: 30px 0\n        font-size: 12px\n        .nav-li\n          .nav-name\n            font-size: 15px\n          .angle\n            font-size: 12px\n          .arrow\n            top: 27px\n    .page-doc\n      position: relative\n      flex: 1\n      height: 100%\n      padding: 54px 30px 30px\n      box-sizing: border-box\n      overflow-y: auto\n      @media screen and (max-width: 960px)\n        flex: 1 1 100%\n        height: auto\n        padding: 20px\n        font-size: 13px\n      h2:first-child\n        margin-top: 0\n    .page-display\n      flex: none\n      height: 100%\n      overflow-y: auto\n      @media screen and (max-width: 960px)\n        flex: 1 1 100%\n        height: 680px\n</style>\n"
  },
  {
    "path": "document/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\">\n  <meta name=\"x5-cache\" content=\"disable\">\n  <meta name=\"keywords\" content=\"CUBE,UI,VUE,COMPONENT,LIB,LIBRARY\">\n  <link rel=\"shortcut icon\" type=\"images/x-icon\" href=\"//webapp.didistatic.com/static/webapp/shield/Cube-UI_logo.ico\">\n  <title>cube-ui Document</title>\n</head>\n<body>\n<div id=\"app\"></div>\n<!-- built files will be auto injected -->\n</body>\n</html>\n"
  },
  {
    "path": "document/main.js",
    "content": "// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport 'babel-polyfill'\nimport Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport './common/js/highlight'\nimport '../src/common/icon/cube-icon.styl'\n\n// 需要使用 vConsole 的同学请打开注释即可\n/* eslint-disable no-unused-vars */\n// import vConsole from 'vconsole'\n\nimport './common/stylus/index.styl'\nimport 'highlight.js/styles/atelier-dune-light.css'\nimport './common/js/directive.js'\n\n/* eslint-disable no-new */\nnew Vue({\n  el: '#app',\n  router,\n  render: h => h(App)\n})\n"
  },
  {
    "path": "document/router/index.js",
    "content": "import Vue from 'vue'\nimport Router from 'vue-router'\nimport { getCurrentLang } from '../common/js/utils'\nimport routes from './routes'\nimport EnUSHome from '../components/home/en-US.vue'\nimport ZhCNHome from '../components/home/zh-CN.vue'\nimport EnUSIndex from '../components/index/en-US.vue'\nimport ZhCNIndex from '../components/index/zh-CN.vue'\nimport Example from '../components/example/example.vue'\n// viewport chunk added to main chunk, not in dynamic docs chunks\nimport '../components/viewport/viewport.vue'\n\nVue.use(Router)\n\nconst EnUSChildren = [\n  {\n    path: '',\n    component: EnUSIndex\n  },\n  {\n    path: 'example',\n    component: Example\n  }\n].concat(routes['en-US'])\nconst ZhCNChildren = [\n  {\n    path: '',\n    component: ZhCNIndex\n  },\n  {\n    path: 'example',\n    component: Example\n  }\n].concat(routes['zh-CN'])\n\nexport default new Router({\n  routes: [\n    {\n      path: '/',\n      redirect: function () {\n        const defaultLang = getCurrentLang()\n        return `/${defaultLang}`\n      }\n    },\n    {\n      path: '/en-US',\n      component: EnUSHome,\n      children: EnUSChildren\n    },\n    {\n      path: '/zh-CN',\n      component: ZhCNHome,\n      children: ZhCNChildren\n    }\n  ]\n})\n"
  },
  {
    "path": "document/router/routes.js",
    "content": "import { eventHub } from '../common/js/utils'\nimport menuConfig from '../common/config/menu'\nconst routeMap = {}\n\nObject.keys(menuConfig).forEach((lang) => {\n  const loadingNotify = (p) => {\n    eventHub.$emit('begin-loading')\n    return p.then((r) => {\n      eventHub.$emit('finish-loading')\n      return r\n    })\n  }\n  const docsChildrenRoute = []\n  const docsRoute = {\n    path: 'docs',\n    redirect: './docs/introduction',\n    component: () => loadingNotify(import(`../components/docs/${lang}.vue`)),\n    children: docsChildrenRoute\n  }\n  routeMap[lang] = [docsRoute]\n  const groups = menuConfig[lang]\n  Object.keys(groups).forEach((name) => {\n    getSubList(groups[name]).forEach((key) => {\n      docsChildrenRoute.push({\n        path: key,\n        component: () => loadingNotify(import(`../components/docs/${lang}/${key}.md`))\n      })\n    })\n  })\n})\n\nexport default routeMap\n\nfunction getSubList (group) {\n  let subList = []\n  Object.keys(group.subList).forEach((key) => {\n    const item = group.subList[key]\n    if (typeof item === 'string') {\n      subList.push(key)\n    } else {\n      subList = subList.concat(getSubList(item))\n    }\n  })\n  return subList\n}\n"
  },
  {
    "path": "example/App.vue",
    "content": "<template>\n  <div id=\"app\">\n    <header class=\"cube-bar\">\n      <h1>cube-ui</h1>\n    </header>\n    <section class=\"cube-content\" ref=\"mfct\">\n      <cube-index-list :data=\"components\" class=\"cube-list\">\n        <cube-index-list-group v-for=\"(group, index) in components\" :key=\"index\" :group=\"group\">\n          <cube-index-list-item v-for=\"(component, index) in group.items\" :key=\"index\" :item=\"component\">\n            <div class=\"cube-item border-bottom-1px\" >\n              <router-link class=\"link\" :to=\"component.path\">{{component.text}}<i\n                class=\"cubeic-arrow\"></i>\n              </router-link>\n            </div>\n          </cube-index-list-item>\n        </cube-index-list-group>\n        <span class=\"custom-nav-item\" slot=\"nav-item\" slot-scope=\"props\">{{props.item}}</span>\n      </cube-index-list>\n    </section>\n    <cube-view></cube-view>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeView from './components/cube-view.vue'\n\n  export default {\n    data() {\n      return {\n        components: [\n          {\n            'name': 'Basic 基础组件',\n            'shortcut': 'Basic',\n            'items': [\n              {\n                path: '/button',\n                text: 'Button'\n              },\n              {\n                path: '/loading',\n                text: 'Loading'\n              },\n              {\n                path: '/tip',\n                text: 'Tip'\n              },\n              {\n                path: '/toolbar',\n                text: 'Toolbar'\n              },\n              {\n                path: '/tab-bar',\n                text: 'TabBar'\n              }\n            ]\n          },\n          {\n            'name': 'Form 表单组件',\n            'shortcut': 'Form',\n            'items': [\n              {\n                path: '/checkbox',\n                text: 'Checkbox'\n              },\n              {\n                path: '/checkbox-group',\n                text: 'CheckboxGroup'\n              },\n              {\n                path: '/checker',\n                text: 'Checker'\n              },\n              {\n                path: '/radio',\n                text: 'Radio'\n              },\n              {\n                path: '/input',\n                text: 'Input'\n              },\n              {\n                path: '/textarea',\n                text: 'Textarea'\n              },\n              {\n                path: '/select',\n                text: 'Select'\n              },\n              {\n                path: '/switch',\n                text: 'Switch'\n              },\n              {\n                path: '/rate',\n                text: 'Rate'\n              },\n              {\n                path: '/validator',\n                text: 'Validator'\n              },\n              {\n                path: '/upload',\n                text: 'Upload'\n              },\n              {\n                path: '/form',\n                text: 'Form'\n              }\n            ]\n          },\n          {\n            'name': 'Popup 弹窗组件',\n            'shortcut': 'Popup',\n            'items': [\n              {\n                path: '/popup',\n                text: 'Popup'\n              },\n              {\n                path: '/toast',\n                text: 'Toast'\n              },\n\n              {\n                path: '/picker',\n                text: 'Picker'\n              },\n              {\n                path: '/cascade-picker',\n                text: 'CascadePicker'\n              },\n              {\n                path: '/segment-picker',\n                text: 'SegmentPicker'\n              },\n              {\n                path: '/date-picker',\n                text: 'DatePicker'\n              },\n              {\n                path: '/time-picker',\n                text: 'TimePicker'\n              },\n              {\n                path: '/dialog',\n                text: 'Dialog'\n              },\n              {\n                path: '/action-sheet',\n                text: 'ActionSheet'\n              },\n              {\n                path: '/drawer',\n                text: 'Drawer'\n              },\n              {\n                path: '/image-preview',\n                text: 'ImagePreview'\n              }\n            ]\n          },\n          {\n            'name': 'Scroll 滚动组件',\n            'shortcut': 'Scroll',\n            'items': [\n              {\n                path: '/scroll',\n                text: 'Scroll'\n              },\n              {\n                path: '/slide',\n                text: 'Slide'\n              },\n              {\n                path: '/index-list',\n                text: 'IndexList'\n              },\n              {\n                path: '/swipe',\n                text: 'Swipe'\n              },\n              {\n                path: '/sticky',\n                text: 'Sticky'\n              },\n              {\n                path: '/scroll-nav-bar',\n                text: 'ScrollNavBar'\n              },\n              {\n                path: '/scroll-nav',\n                text: 'ScrollNav'\n              },\n              {\n                path: '/recycle-list',\n                text: 'RecycleList'\n              }\n            ]\n          }\n        ]\n      }\n    },\n    components: {\n      CubeView\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  html, body, #app\n    height: 100%\n\n  body\n    background-color: #fff\n    overflow: hidden\n\n  .cube-bar\n    z-index: 10\n    position: absolute\n    right: 0\n    left: 0\n    height: 44px\n    line-height: 44px\n    text-align: center\n    background-color: #EDF0F4\n    box-shadow: 0 2px 1px #e9eaea\n    -webkit-backface-visibility: hidden\n    backface-visibility: hidden\n    h1\n      font-size: 18px\n      font-weight: 500\n\n  .cube-content\n    position: absolute\n    top: 44px\n    left: 0\n    right: 0\n    bottom: 0\n    overflow: scroll\n    -webkit-overflow-scrolling: touch\n    .cube-list\n      padding-left: 10px\n      z-index: 1\n      .cube-index-list-group\n        .cube-index-list-anchor\n          font-size: 16px\n        ul\n          .cube-item\n            height: 40px\n            line-height: 40px\n            padding-left: 16px\n            .link\n              display: block\n              position: relative\n              width: 100%\n              color: #333\n              text-decoration: none\n              outline: 0\n              .cubeic-arrow\n                position: absolute\n                right: 0\n                padding: 0 5px\n                color: #ccc\n      .cube-index-list-nav\n          margin-right: 0px\n          padding: 8px 5px\n          border-radius: 3px 0 0 3px\n          background: #f7f7f7\n          box-shadow: 0 0 5px #80808047\n          >ul\n            >li\n              padding: 8px 0\n      .cube-index-list-fixed\n        font-size: 16px\n</style>\n"
  },
  {
    "path": "example/components/cube-button-group.vue",
    "content": "<template>\n  <div class=\"cube-btn-group\" :class=\"direction\"><slot></slot></div>\n</template>\n\n<script>\n  export default {\n    props: {\n      direction: {\n        type: String,\n        default: 'column'\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-btn-group\n    > button\n      margin: 10px 0\n    &.row > button\n      display: inline-block\n      width: auto\n      margin: 10px 5px\n      &:first-child\n        margin-left: 0\n      &:last-child\n        margin-right: 0\n</style>\n"
  },
  {
    "path": "example/components/cube-page.vue",
    "content": "<template>\n  <div class=\"cube-page\" :class=\"type\">\n    <header class=\"header\">\n      <h1>{{title}}</h1>\n      <i @click=\"back\" class=\"cubeic-back\"></i>\n    </header>\n    <div class=\"wrapper\">\n      <section v-show=\"desc\" class=\"desc\"><slot name=\"desc\">{{desc}}</slot></section>\n      <main class=\"content\">\n        <slot name=\"content\">{{content}}</slot>\n      </main>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  export default {\n    props: {\n      title: {\n        type: String,\n        default: '',\n        required: true\n      },\n      type: {\n        type: String,\n        default: ''\n      },\n      desc: {\n        type: String,\n        default: ''\n      },\n      content: {\n        type: String,\n        default: ''\n      }\n    },\n    methods: {\n      back() {\n        this.$router.back()\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @import \"~@/common/stylus/variable.styl\"\n\n  .cube-page\n    position: absolute\n    z-index: 10\n    top: 0\n    left: 0\n    width: 100%\n    height: 100%\n    background: #efeff4\n    .header\n      position: relative\n      height: 44px\n      line-height: 44px\n      text-align: center\n      background-color: #edf0f4\n      box-shadow: 0 1px 6px #ccc\n      -webkit-backface-visibility: hidden\n      backface-visibility: hidden\n      z-index: 5\n      h1\n        font-size: 16px\n        font-weight: 700\n      .cubeic-back\n        position: absolute\n        top: 0\n        left: 0\n        padding: 0 15px\n        color: #fc9153\n    >.wrapper\n      height: calc(100% - 44px)\n      overflow-x: hidden\n      overflow-y: auto\n      // -webkit-overflow-scrolling: touch\n      .desc\n        padding: 10px\n        margin: 10px 0\n        line-height: 20px\n        font-size: 14px\n      .content\n        margin: 10px\n\n    &.option-demo\n      .wrapper\n        background-color: $color-white\n      .title\n        font-size: $fontsize-large\n        font-weight: 500\n        color: $color-dark-grey\n        padding: 15px\n        border-bottom: 1px solid rgba(0, 0, 0, .1)\n        margin-bottom: 15px\n      .options\n        margin-bottom: 15px\n      .option-list\n        .group\n          margin-bottom: 15px\n          border: 1px solid rgba(0, 0, 0, .1)\n          border-radius: $radius-size-medium\n        .item\n          height: 52px\n          border-bottom: 1px solid rgba(0, 0, 0, .1)\n          &.sub\n            font-size: $fontsize-medium\n            background-color: $color-light-grey-opacity\n            &.first\n              box-shadow: 0 1px 1px 1px #eee inset\n            &.last\n              border-bottom: none\n      .demo\n        margin-bottom: 15px\n      .methods\n        .method-list\n          .group\n            margin-bottom: 15px\n            border: 1px solid rgba(0, 0, 0, .1)\n            border-radius: $radius-size-medium\n          .item\n          button\n            height: 40px\n            font-size: $fontsize-large\n          .item\n            background-color: $color-active-light-gray\n            border-bottom: 1px solid rgba(0, 0, 0, .1)\n          button\n            width: 100%\n            border-bottom-left-radius: $radius-size-medium\n            border-bottom-right-radius: $radius-size-medium\n            background-color: $color-orange\n            box-shadow: 0 0 0 1px $color-orange\n            border: none\n            outline: none\n            color: $color-white\n</style>\n"
  },
  {
    "path": "example/components/cube-view.vue",
    "content": "<template>\n  <transition name=\"page-move\">\n    <router-view class=\"cube-view\"></router-view>\n  </transition>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  export default {}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .page-move-enter, .page-move-leave-active\n    transform: translate(100%, 0)\n  .page-move-enter-active, .page-move-leave-active\n    transition: transform .3s\n</style>\n"
  },
  {
    "path": "example/components/date-picker.vue",
    "content": "<template>\n  <cube-cascade-picker\n    ref=\"cascadePicker\"\n    title=\"Date Picker\"\n    :data=\"data\"\n    :selectedIndex=\"selectedIndex\"\n    @select=\"select\"\n    @cancel=\"cancel\">\n  </cube-cascade-picker>\n</template>\n\n<script>\n  const COMPONENT_NAME = 'date-picker'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      min: {\n        type: Array,\n        default() {\n          return [2010, 2, 1]\n        }\n      },\n      max: {\n        type: Array,\n        default() {\n          return [2020, 2, 1]\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default() {\n          return [0, 0, 0]\n        }\n      }\n    },\n    data() {\n      return {\n      }\n    },\n    computed: {\n      data() {\n        let data = range(this.min[0], this.max[0], false, '年')\n\n        data.forEach(year => {\n          let minMonth = year.value === this.min[0] ? this.min[1] : 1\n          let maxMonth = year.value === this.max[0] ? this.max[1] : 12\n\n          year.children = range(minMonth, maxMonth, false, '月')\n          year.children.forEach(month => {\n            let day = 30\n            if ([1, 3, 5, 7, 8, 10, 12].indexOf(month.value) > -1) {\n              day = 31\n            } else {\n              if (month.value === 2) {\n                day = !(year.value % 400) || (!(year.value % 4) && year.value % 100) ? 29 : 28\n              }\n            }\n\n            let minDay = year.value === this.min[0] && month.value === this.min[1] ? this.min[2] : 1\n            let maxDay = year.value === this.max[0] && month.value === this.max[1] ? this.max[2] : day\n\n            month.children = range(minDay, maxDay, false, '日')\n          })\n        })\n\n        return data\n      }\n    },\n    methods: {\n      show() {\n        this.$refs.cascadePicker.show()\n      },\n      hide() {\n        this.$refs.cascadePicker.hide()\n      },\n      select(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText)\n      },\n      cancel() {\n        this.$emit(EVENT_CANCEL)\n      }\n    }\n  }\n\n  function range(n, m, polyfill = false, unit = '') {\n    let arr = []\n    for (let i = n; i <= m; i++) {\n      let value = (polyfill && i < 10 ? '0' + i : i) + unit\n      arr.push({\n        text: value,\n        value: i\n      })\n    }\n    return arr\n  }\n</script>\n"
  },
  {
    "path": "example/components/extend-popup.vue",
    "content": "<template>\n  <cube-popup type=\"extend-popup\" ref=\"popup\">\n    <div class=\"cube-extend-popup-content\" @click=\"hide\">\n      <slot>{{content}}</slot>\n    </div>\n </cube-popup>\n</template>\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-extend-popup'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      content: {\n        type: String\n      }\n    },\n    methods: {\n      show() {\n        this.$refs.popup.show()\n      },\n      hide() {\n        this.$refs.popup.hide()\n        this.$emit('hide')\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-extend-popup\n    .cube-extend-popup-content\n      padding: 20px\n      color: #fff\n      background-color: rgba(0, 0, 0, .8)\n</style>\n"
  },
  {
    "path": "example/components/input-option.vue",
    "content": "<template>\n  <div class=\"input-option\">\n    <span class=\"name\">{{ name }}</span>\n    <input type=\"text\" v-model=\"inputValue\">\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'input-option'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      name: {\n        type: String\n      },\n      value: null,\n      minValue: null\n    },\n    data() {\n      return {\n        inputValue: this.value\n      }\n    },\n    watch: {\n      inputValue: function (newValue) {\n        this.$emit('update:value', this.minValue ? Math.max(newValue, this.minValue) : newValue)\n      }\n    }\n  }\n</script>\n\n<style scoped lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @import \"~@/common/stylus/variable.styl\"\n\n  .input-option\n    display: flex\n    height: 100%\n    justify-content space-between\n    align-items stretch\n    transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n    overflow: hidden\n    .name\n      flex: 0 0 120px\n      padding-left: 10px\n      display inline-flex\n      align-items center\n    input\n      flex: 1 1 auto\n      min-width: 1px // fix padding把width撑开的问题\n      padding: 0 10px\n      background-color: $color-white\n      border-left: 1px solid rgba(0, 0, 0, .1)\n      box-shadow: 0 0 1px 1px #eee inset\n      outline: none\n      &:focus\n        outline: #fc9153 solid 1px;\n        outline-offset: -1px;\n\n</style>\n"
  },
  {
    "path": "example/components/json-view.vue",
    "content": "<template>\n  <div class=\"cube-json-view\">\n    <h3>{{title}}</h3>\n    <pre v-if=\"changed\">\n      <code ref=\"code\">{{data}}</code>\n    </pre>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import hljs from 'highlight.js/lib/highlight'\n  import json from 'highlight.js/lib/languages/json'\n  import 'highlight.js/styles/solarized-dark.css'\n  hljs.registerLanguage('json', json)\n\n  export default {\n    props: {\n      data: {\n        type: Object,\n        default() {\n          return {}\n        }\n      },\n      title: {\n        type: String,\n        default: ''\n      }\n    },\n    data() {\n      return {\n        changed: true\n      }\n    },\n    watch: {\n      data: {\n        handler() {\n          this.changed = false\n          this.$nextTick(() => {\n            this.changed = true\n            this.$nextTick(() => {\n              this.$refs.code && hljs.highlightBlock(this.$refs.code)\n            })\n          })\n        },\n        deep: true\n      }\n    },\n    mounted() {\n      this.$refs.code && hljs.highlightBlock(this.$refs.code)\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @import \"~@/common/stylus/variable.styl\"\n  .cube-json-view\n    h3\n      margin-top: 15px\n      font-size: $fontsize-large\n</style>\n"
  },
  {
    "path": "example/components/questionnaire/components/agreement.vue",
    "content": "<template>\n  <div class=\"demo-agreement\">\n    <p v-if=\"desc\" v-html=\"desc\"></p>\n    <cube-checkbox v-model=\"checked\">\n      <span v-html=\"text\"></span> <a :href=\"link.href\" target=\"_blank\" v-if=\"link\">{{link.text}}</a>\n    </cube-checkbox>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    value: Boolean,\n    desc: String,\n    text: String,\n    link: Object\n  },\n  data() {\n    return {\n      checked: this.value\n    }\n  },\n  watch: {\n    checked(newV) {\n      this.$emit('input', newV)\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\">\n\n.demo-agreement\n  color: #666\n  > p\n    line-height: 1.5\n    margin-bottom: 10px\n  .cube-checkbox-label\n    font-weight: bold\n    a\n    span\n      font-weight: inherit\n    a\n      position: relative\n      z-index: 1\n  a\n    color: #fc9153\n</style>\n"
  },
  {
    "path": "example/components/questionnaire/questionnaire.vue",
    "content": "<template>\n  <div class=\"demo-questionnaire\">\n    <p class=\"demo-questionnaire-tip cubeic-warn\" v-if=\"tip\" v-html=\"tip\"></p>\n    <cube-form\n      :model=\"model\"\n      :schema=\"schema\"\n      :immediate-validate=\"false\"\n      :options=\"options\"\n      :submit-always-validate=\"true\"\n      @validate=\"validateHandler\"\n      @submit=\"submitHandler\" />\n  </div>\n</template>\n\n<script>\nimport transform from './transform'\n\nexport default {\n  props: {\n    tip: String,\n    questions: {\n      type: Array,\n      default() {\n        return []\n      }\n    },\n    submit: {\n      type: Object,\n      default() {\n        return {\n          text: 'Submit'\n        }\n      }\n    }\n  },\n  data() {\n    const model = {}\n    // init model value\n    this.questions.forEach((question) => {\n      model[question.model] = undefined\n      if (question.type === 'checkbox' || question.type === 'upload') {\n        model[question.model] = []\n      }\n    })\n\n    return {\n      validity: {},\n      valid: undefined,\n      model,\n      options: {\n        scrollToInvalidField: true,\n        layout: 'classic'\n      }\n    }\n  },\n  computed: {\n    schema() {\n      const fields = []\n      this.eachQuestion(question => {\n        const field = transform(question)\n        fields.push(field)\n      })\n\n      fields.push({\n        type: 'submit',\n        label: this.submit.text\n      })\n      return {\n        fields\n      }\n    }\n  },\n  watch: {\n    validity(newVal) {\n      this.$emit('validity', newVal)\n    }\n  },\n  methods: {\n    eachQuestion(eachFn) {\n      const model = this.model\n      const questions = this.questions\n      questions.forEach(question => {\n        let skip = false\n        // check on\n        let on = question.on\n        if (on) {\n          if (typeof on === 'string') {\n            on = {\n              model: on\n            }\n          }\n          const modelValue = model[on.model]\n          if (on.options) {\n            // 判断选项是否匹配\n            if (Array.isArray(modelValue)) {\n              // 交叉判断\n              let isInOptions = false\n              modelValue.some((val) => {\n                const inOptions = on.options.indexOf(val) >= 0\n                if (inOptions) {\n                  isInOptions = true\n                  return true\n                }\n              })\n              skip = !isInOptions\n            } else {\n              skip = on.options.indexOf(modelValue) < 0\n            }\n          } else {\n            skip = !modelValue\n          }\n        }\n        if (!skip) {\n          eachFn(question)\n        }\n      })\n    },\n    submitHandler(e) {\n      e.preventDefault()\n      // 校验通过，提交事件\n      this.$emit('submit', this.getModel())\n    },\n    getModel() {\n      const allModel = this.model\n      const model = {}\n      this.eachQuestion(question => {\n        const k = question.model\n        model[k] = this.processModel(question, allModel[k])\n      })\n      return model\n    },\n    processModel(question, value) {\n      const model = question.model\n      const casesMap = {\n        city(cityVal) {\n          // [\"140000\", \"140100\", \"140107\"]\n          return cityVal\n        },\n        upload(uploadVal) {\n          return uploadVal\n        }\n      }\n      return casesMap[model] ? casesMap[model](value) : value\n    },\n    validateHandler(result) {\n      this.validity = result.validity\n      this.valid = result.valid\n    }\n  }\n}\n</script>\n<style lang=\"stylus\">\n  .demo-questionnaire\n    .cube-form\n      counter-reset: cube-form-index\n      .cube-form-item\n        padding: 20px\n    .cube-form-item\n      counter-increment: cube-form-index\n    .cube-form-label\n      &::before\n        order: -2\n        margin-left: -14px\n        margin-right: 4px\n      &::after\n        content: counter(cube-form-index) '.'\n        display: block\n        order: -1\n        white-space: nowrap\n        margin-right: 6px\n    .cube-radio-group[data-col=\"true\"]\n    .cube-checkbox-group[data-col=\"true\"]\n      &::before\n      &::after\n        display: none\n      .cube-radio\n      .cube-checkbox\n        padding-left 0\n        padding-right 0\n      .cube-radio-wrap\n      .cube-checkbox-wrap\n        justify-content: initial\n  .demo-questionnaire-tip\n    position: relative\n    padding: 10px 15px 10px 30px\n    font-size: 14px\n    line-height: 1.5\n    color: #999\n    background: #f7f7f7\n    &::before\n      position: absolute\n      margin-left: -15px\n      transform: scale(1.1)\n</style>\n"
  },
  {
    "path": "example/components/questionnaire/transform/_helper.js",
    "content": "import { provinceList, cityList, areaList } from 'example/data/area'\n\nconst fieldRulesMap = {}\nexport function setRules(field, model, rules) {\n  let globalRules = fieldRulesMap[model]\n  if (!globalRules) {\n    globalRules = fieldRulesMap[model] = {}\n  }\n  if (!field.rules) {\n    field.rules = globalRules\n  }\n  Object.assign(field.rules, rules)\n}\n\nexport function setMessages(field, messages) {\n  if (!field.messages) {\n    field.messages = {}\n  }\n  Object.assign(field.messages, messages)\n}\n\nconst addressData = provinceList\naddressData.forEach(province => {\n  province.children = cityList[province.value]\n  province.children.forEach(city => {\n    city.children = areaList[city.value]\n  })\n})\n\nexport function loadCityData() {\n  // fake request\n  return new Promise(resolve => {\n    setTimeout(() => {\n      resolve(addressData)\n    }, 500)\n  })\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/custom.js",
    "content": "import { setRules, setMessages } from './_helper'\n\nconst createRulesAndMessages = (rule, message) => {\n  return {\n    rules: {\n      custom: rule\n    },\n    messages: {\n      custom: message\n    }\n  }\n}\n\nconst customMap = {\n  tel(config) {\n    const rule = function (val) {\n      return typeof val === 'string' && /^1[0-9]{10}$/.test(val)\n    }\n    const message = config.errMsg || '请输入正确的手机号码'\n    return createRulesAndMessages(rule, message)\n  },\n  upload(config) {\n    const rule = function (files) {\n      if (files.length) {\n        return Promise.all(files.map((file) => {\n          return new Promise((resolve, reject) => {\n            // check 状态\n            const check = () => {\n              if (file.status === 'error') {\n                reject(file)\n              } else if (file.status === 'success') {\n                resolve(file)\n              } else {\n                // waiting\n                setTimeout(check, 100)\n              }\n            }\n            check()\n          })\n        })).then(() => {\n          return true\n        })\n      } else {\n        return true\n      }\n    }\n    const message = config.errMsg || '上传失败'\n    return createRulesAndMessages(rule, message)\n  }\n}\n\nexport default function transformCustom(config, field) {\n  const custom = customMap[config.type]\n  if (custom) {\n    const { rules, messages } = custom(config)\n    setRules(field, config.model, rules)\n    setMessages(field, messages)\n  }\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/err.js",
    "content": "import { setMessages } from './_helper'\n\nexport default function transformErrMsg(config, field) {\n  const isAgreement = config.type === 'agreement'\n  if (!field.messages) {\n    field.messages = {}\n  }\n  setMessages(field, {\n    required: config.errMsg || (isAgreement ? '请同意' : '此题为必做题')\n  })\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/index.js",
    "content": "import transformType from './type'\nimport transformModel from './model'\nimport transformTitle from './title'\nimport transformOptions from './options'\nimport transformRequired from './required'\nimport transformErrMsg from './err'\nimport transformCustom from './custom'\n\nexport default function transform(config) {\n  const field = {}\n  const transforms = [\n    transformType,\n    transformModel,\n    transformTitle,\n    transformOptions,\n    transformRequired,\n    transformErrMsg,\n    transformCustom\n  ]\n  transforms.forEach((transformFn) => {\n    transformFn(config, field)\n  })\n  return field\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/model.js",
    "content": "export default function transformModel(config, field) {\n  field.modelKey = config.model\n  field.key = config.model\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/options.js",
    "content": "import { formatDate } from '../../../../src/common/lang/date'\nimport { loadCityData } from './_helper'\n\nconst resetCases = {\n  switch: {\n    hollowStyle: true\n  },\n  radio: {\n    hollowStyle: true\n  },\n  checkbox: {\n    hollowStyle: true\n  }\n}\nconst optionsCases = {\n  switch(options) {\n    // 是 否\n    return {\n      colNum: 2,\n      options: [\n        {\n          label: '是',\n          value: 1\n        },\n        {\n          label: '否',\n          value: 0\n        }\n      ]\n    }\n  },\n  select(options, loadData) {\n    const placeholder = options.placeholder || '请选择'\n    const propOptions = {\n      component: options.component || 'picker',\n      options: options.props || {\n        title: placeholder,\n        data: [options.options.map((option) => {\n          return {\n            text: option,\n            value: option\n          }\n        })]\n      }\n    }\n    return {\n      placeholder,\n      icon: options.icon || 'cubeic-select',\n      loadData,\n      options: propOptions,\n      formatValue: options.formatValue || function (vals, _, texts) {\n        return {\n          value: vals[0],\n          text: texts[0]\n        }\n      }\n    }\n  },\n  date(options) {\n    const props = {\n      value: new Date(),\n      title: '选择日期'\n    }\n    if (options.min) {\n      props.min = parseStringDate(options.min)\n    } else {\n      props.min = [2010, 1, 1]\n    }\n    if (options.max) {\n      props.max = parseStringDate(options.max)\n    } else {\n      props.max = [2100, 12, 31]\n    }\n    return optionsCases.select({\n      placeholder: options.placeholder,\n      icon: 'cubeic-calendar',\n      component: 'date-picker',\n      props,\n      formatValue(date) {\n        return formatDate(date, options.format || 'YYYY-MM-DD')\n      }\n    })\n  },\n  time(options) {\n    const props = {\n      value: new Date(),\n      title: '选择时间',\n      startColumn: 'hour',\n      columnCount: 2\n    }\n    if (options.min) {\n      props.min = parseStringDate(options.min, ':')\n    } else {\n      props.min = [0, 0]\n    }\n    if (options.max) {\n      props.max = parseStringDate(options.max, ':')\n    } else {\n      props.max = [23, 59]\n    }\n    return optionsCases.select({\n      placeholder: options.placeholder,\n      icon: 'cubeic-time',\n      component: 'date-picker',\n      props,\n      formatValue(date) {\n        return formatDate(date, options.format || 'hh:mm')\n      }\n    })\n  },\n  radio(options) {\n    return options\n  },\n  checkbox(options) {\n    return options\n  },\n  tel(options) {\n    return {\n      type: 'tel',\n      ...options\n    }\n  },\n  city(options) {\n    const props = {}\n    const cityPromise = loadCityData()\n    const loadData = () => {\n      return cityPromise.then(cityList => {\n        props.data = cityList\n        return cityList\n      })\n    }\n    return optionsCases.select({\n      placeholder: options.placeholder,\n      icon: 'cubeic-location',\n      component: 'cascade-picker',\n      props,\n      formatValue(selectedVal, _, selectedText) {\n        return {\n          text: selectedText.join(''),\n          value: selectedVal\n        }\n      }\n    }, loadData)\n  },\n  upload(options) {\n    if (!options.max) {\n      options.max = 1\n    }\n    return {\n      ...options\n    }\n  }\n}\n\nexport default function transformOptions(config, field) {\n  if (!field.props) {\n    field.props = {}\n  }\n  Object.assign(field.props, resetCases[config.type] || {})\n  if (config.row) {\n    field.props.colNum = 2\n  }\n  let options = config.options || {}\n  if (Array.isArray(options)) {\n    options = {\n      options: options\n    }\n  }\n  options = Object.assign({}, options)\n  const caseFn = optionsCases[config.type]\n  Object.assign(field.props, (caseFn && caseFn(options)) || options)\n}\n\nfunction parseStringDate(val, split = '-') {\n  return val.split(split).map(n => +n)\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/required.js",
    "content": "import { setRules } from './_helper'\n\nexport default function transformRequired(config, field) {\n  let required = config.required\n  const isAgreement = config.type === 'agreement'\n  if (isAgreement) {\n    required = true\n  }\n  if (required) {\n    const rules = {}\n    if (isAgreement) {\n      rules.required = function (val) {\n        return val\n      }\n    } else {\n      rules.required = required\n    }\n    setRules(field, config.model, rules)\n  }\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/title.js",
    "content": "const appendTitleMap = {\n  radio: '（单选）',\n  checkbox: '（多选）'\n}\nexport default function transformTitle(config, field) {\n  const appendTitle = appendTitleMap[config.type] || ''\n  field.label = config.title ? config.title + appendTitle : ''\n}\n"
  },
  {
    "path": "example/components/questionnaire/transform/type.js",
    "content": "import Select from '../../select/select.vue'\nimport Agreement from '../components/agreement.vue'\n\nconst componentMap = {\n  switch: 'radio-group', // 是 否\n  date: Select,\n  time: Select,\n  select: Select,\n  city: Select,\n  radio: 'radio-group',\n  checkbox: 'checkbox-group',\n  tel: 'input',\n  agreement: Agreement\n}\n\nexport default function transformType(config, field) {\n  const realComponent = componentMap[config.type] || config.type\n  field[typeof realComponent === 'string' ? 'type' : 'component'] = realComponent\n}\n"
  },
  {
    "path": "example/components/select/select.vue",
    "content": "<template>\n  <div class=\"demo-select\" @click=\"clickHandler\">\n    <cube-input ref=\"input\" v-model=\"modelText\" v-bind=\"$attrs\">\n      <i :class=\"icon\" slot=\"append\" v-if=\"icon\"></i>\n    </cube-input>\n  </div>\n</template>\n<script>\nimport { camelize } from '../../../src/common/lang/string'\n\nexport default {\n  props: {\n    // v-model 值\n    value: null,\n    // 图标\n    icon: String,\n    // 配置项\n    options: Object,\n    // 加载数据函数\n    // default: (options) => Promise\n    loadData: Function,\n    // 控制行为函数，不建议自定义使用\n    action: Function,\n    // 格式化 value 值，用于格式化从配置组件的 select 事件中格式化结果\n    formatValue: Function\n  },\n  data() {\n    const formatedValue = this._formatValue()\n    return {\n      model: formatedValue,\n      modelText: formatedValue.text,\n      isActive: false\n    }\n  },\n  computed: {\n    computedValue() {\n      return this._formatValue()\n    }\n  },\n  watch: {\n    isActive(newV) {\n      this.$refs.input.isFocus = newV\n    },\n    model(newV) {\n      this.modelText = newV.text\n      this.modelMap[newV.value] = newV.text\n      // value 发生了变化\n      // @arg value select结果\n      this.$emit('input', newV.value)\n    }\n  },\n  beforeCreate() {\n    this.modelMap = {}\n  },\n  methods: {\n    _formatValue(value = this.value) {\n      if (value === Object(value)) {\n        return value\n      }\n      return {\n        text: this.modelMap[value] || value,\n        value: value\n      }\n    },\n    defaultAction() {\n      const { component, options } = this.options\n      return this[camelize(`$create-${component}`)](options || {})\n    },\n    showComponent() {\n      if (!this.actionComponent) {\n        const component = this.actionComponent = this.action ? this.action(this) : this.defaultAction(this)\n        component.$on('select', this.onSelect)\n        component.$on('hide', this.onHide)\n        component.$on('cancel', this.onHide)\n        component.$on('close', this.onHide)\n      }\n      this.actionComponent.show()\n      this.isActive = true\n    },\n    clickHandler() {\n      if (this.loadData) {\n        this.loadData(this.options).then(() => {\n          this.showComponent()\n        })\n      } else {\n        this.showComponent()\n      }\n    },\n    onSelect(...args) {\n      this.isActive = false\n      this.model = this._formatValue(this.formatValue ? this.formatValue(...args) : {\n        text: args[0],\n        value: args[2]\n      })\n    },\n    onHide() {\n      this.isActive = false\n    }\n  }\n}\n</script>\n<style lang=\"stylus\">\n.demo-select\n  .cube-input\n    pointer-events: none\n  .cube-input-append\n    padding: 10px\n</style>\n"
  },
  {
    "path": "example/components/select-option.vue",
    "content": "<template>\n  <div class=\"select-option\">\n    <span class=\"name\">{{ name }}</span>\n    <span class=\"select\" @click=\"showPicker\">{{ selected }}</span>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'select-option'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      name: {\n        type: String\n      },\n      options: {\n        type: Array\n      },\n      value: null\n    },\n    data() {\n      return {\n        selected: this.value\n      }\n    },\n    watch: {\n      selected: function (newValue) {\n        this.$emit('update:value', newValue)\n      }\n    },\n    mounted() {\n      const self = this\n      this.picker = this.$createPicker({\n        title: `Choose ${this.name}`,\n        data: [this.options],\n        cancelTxt: 'cancel',\n        confirmTxt: 'confirm',\n        onValueChange(selectedVal) {\n          self.selected = selectedVal[0]\n        }\n      })\n    },\n    methods: {\n      showPicker() {\n        this.picker.show()\n      }\n    }\n  }\n</script>\n\n<style scoped lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @import \"~@/common/stylus/variable.styl\"\n\n  .select-option\n    display: flex\n    height: 100%\n    justify-content space-between\n    align-items stretch\n    .name\n      flex: 0 0 auto\n      width: 120px\n      display inline-flex\n      padding-left: 10px\n      align-items center\n    .select\n      flex: 1 1 auto\n      display inline-flex\n      align-items center\n      padding-left: 10px\n      border-left: 1px solid rgba(0, 0, 0, .1)\n      box-shadow: 0 0 1px 1px #eee inset\n      &:focus\n        border: 1px solid $color-orange\n\n</style>\n"
  },
  {
    "path": "example/components/switch-option.vue",
    "content": "<template>\n  <div class=\"switch-option\">\n    <span class=\"name\">{{ name }}</span>\n    <div class=\"switch-ellipse\" :class=\"{ active: checked }\" @click=\"clickSwitch\">\n      <span class=\"switch-circle\" :class=\"{ active: checked }\"></span>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'switch-option'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      name: {\n        type: String\n      },\n      value: null\n    },\n    data() {\n      return {\n        checked: this.value\n      }\n    },\n    watch: {\n      checked: function (newValue) {\n        this.$emit('update:value', newValue)\n      }\n    },\n    methods: {\n      clickSwitch: function () {\n        this.checked = !this.checked\n      }\n    }\n  }\n</script>\n\n<style scoped lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @import \"~@/common/stylus/variable.styl\"\n\n  .switch-option\n    display flex\n    justify-content space-between\n    align-items stretch\n    height: 100%\n    padding 0 15px\n    .name\n      display flex\n      align-items: center\n      flex: 0 1 auto\n    .switch-ellipse\n      align-self: center\n      flex: 0 0 auto\n      margin-top: 5px\n      display: inline-block\n      position: relative\n      height: 22px\n      width: 36px\n      background-color: $color-white\n      border-radius: 1000px\n      border: 2px solid rgba(0, 0, 0, .1)\n      transition: all 0.1s\n      &.active\n        background-color: $color-orange\n        border-color: transparent\n        transition: all 0.2s ease 0.2s\n      .switch-circle\n        position: absolute\n        display: inline-block\n        height: 20px\n        width: 20px\n        background: white\n        border-radius: 50%\n        border: 1px solid rgba(0, 0, 0, .1)\n        box-shadow: -1px 1px 1px #999\n        top: 0\n        left: 0\n        transition: all 0.3s\n        &.active\n          left: 14px\n          border: 1px solid $color-white\n          box-shadow: -1px 1px 1px $color-dark-orange\n          transition: all 0.3s ease 0.05s\n\n</style>\n"
  },
  {
    "path": "example/data/area.js",
    "content": "export const provinceList = [\n  {\n    text: '北京市',\n    value: '110000'\n  }, {\n    text: '天津市',\n    value: '120000'\n  }, {\n    text: '河北省',\n    value: '130000'\n  }, {\n    text: '山西省',\n    value: '140000'\n  }, {\n    text: '内蒙古自治区',\n    value: '150000'\n  }, {\n    text: '辽宁省',\n    value: '210000'\n  }, {\n    text: '吉林省',\n    value: '220000'\n  }, {\n    text: '黑龙江省',\n    value: '230000'\n  }, {\n    text: '上海市',\n    value: '310000'\n  }, {\n    text: '江苏省',\n    value: '320000'\n  }, {\n    text: '浙江省',\n    value: '330000'\n  }, {\n    text: '安徽省',\n    value: '340000'\n  }, {\n    text: '福建省',\n    value: '350000'\n  }, {\n    text: '江西省',\n    value: '360000'\n  }, {\n    text: '山东省',\n    value: '370000'\n  }, {\n    text: '河南省',\n    value: '410000'\n  }, {\n    text: '湖北省',\n    value: '420000'\n  }, {\n    text: '湖南省',\n    value: '430000'\n  }, {\n    text: '广东省',\n    value: '440000'\n  }, {\n    text: '广西壮族自治区',\n    value: '450000'\n  }, {\n    text: '海南省',\n    value: '460000'\n  }, {\n    text: '重庆市',\n    value: '500000'\n  }, {\n    text: '四川省',\n    value: '510000'\n  }, {\n    text: '贵州省',\n    value: '520000'\n  }, {\n    text: '云南省',\n    value: '530000'\n  }, {\n    text: '西藏自治区',\n    value: '540000'\n  }, {\n    text: '陕西省',\n    value: '610000'\n  }, {\n    text: '甘肃省',\n    value: '620000'\n  }, {\n    text: '青海省',\n    value: '630000'\n  }, {\n    text: '宁夏回族自治区',\n    value: '640000'\n  }, {\n    text: '新疆维吾尔自治区',\n    value: '650000'\n  }\n]\n\nexport const cityList = {\n  '110000': [\n    {\n      province: '北京市',\n      text: '北京市',\n      value: '110100'\n    }\n  ],\n  '120000': [\n    {\n      province: '天津市',\n      text: '天津市',\n      value: '120100'\n    }\n  ],\n  '130000': [\n    {\n      province: '河北省',\n      text: '石家庄市',\n      value: '130100'\n    },\n    {\n      province: '河北省',\n      text: '唐山市',\n      value: '130200'\n    },\n    {\n      province: '河北省',\n      text: '秦皇岛市',\n      value: '130300'\n    },\n    {\n      province: '河北省',\n      text: '邯郸市',\n      value: '130400'\n    },\n    {\n      province: '河北省',\n      text: '邢台市',\n      value: '130500'\n    },\n    {\n      province: '河北省',\n      text: '保定市',\n      value: '130600'\n    },\n    {\n      province: '河北省',\n      text: '张家口市',\n      value: '130700'\n    },\n    {\n      province: '河北省',\n      text: '承德市',\n      value: '130800'\n    },\n    {\n      province: '河北省',\n      text: '沧州市',\n      value: '130900'\n    },\n    {\n      province: '河北省',\n      text: '廊坊市',\n      value: '131000'\n    },\n    {\n      province: '河北省',\n      text: '衡水市',\n      value: '131100'\n    },\n    {\n      province: '河北省',\n      text: '省直辖县级行政区划',\n      value: '139000'\n    }\n  ],\n  '140000': [\n    {\n      province: '山西省',\n      text: '太原市',\n      value: '140100'\n    },\n    {\n      province: '山西省',\n      text: '大同市',\n      value: '140200'\n    },\n    {\n      province: '山西省',\n      text: '阳泉市',\n      value: '140300'\n    },\n    {\n      province: '山西省',\n      text: '长治市',\n      value: '140400'\n    },\n    {\n      province: '山西省',\n      text: '晋城市',\n      value: '140500'\n    },\n    {\n      province: '山西省',\n      text: '朔州市',\n      value: '140600'\n    },\n    {\n      province: '山西省',\n      text: '晋中市',\n      value: '140700'\n    },\n    {\n      province: '山西省',\n      text: '运城市',\n      value: '140800'\n    },\n    {\n      province: '山西省',\n      text: '忻州市',\n      value: '140900'\n    },\n    {\n      province: '山西省',\n      text: '临汾市',\n      value: '141000'\n    },\n    {\n      province: '山西省',\n      text: '吕梁市',\n      value: '141100'\n    }\n  ],\n  '150000': [\n    {\n      province: '内蒙古自治区',\n      text: '呼和浩特市',\n      value: '150100'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '包头市',\n      value: '150200'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '乌海市',\n      value: '150300'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '赤峰市',\n      value: '150400'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '通辽市',\n      value: '150500'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '鄂尔多斯市',\n      value: '150600'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '呼伦贝尔市',\n      value: '150700'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '巴彦淖尔市',\n      value: '150800'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '乌兰察布市',\n      value: '150900'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '兴安盟',\n      value: '152200'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '锡林郭勒盟',\n      value: '152500'\n    },\n    {\n      province: '内蒙古自治区',\n      text: '阿拉善盟',\n      value: '152900'\n    }\n  ],\n  '210000': [\n    {\n      province: '辽宁省',\n      text: '沈阳市',\n      value: '210100'\n    },\n    {\n      province: '辽宁省',\n      text: '大连市',\n      value: '210200'\n    },\n    {\n      province: '辽宁省',\n      text: '鞍山市',\n      value: '210300'\n    },\n    {\n      province: '辽宁省',\n      text: '抚顺市',\n      value: '210400'\n    },\n    {\n      province: '辽宁省',\n      text: '本溪市',\n      value: '210500'\n    },\n    {\n      province: '辽宁省',\n      text: '丹东市',\n      value: '210600'\n    },\n    {\n      province: '辽宁省',\n      text: '锦州市',\n      value: '210700'\n    },\n    {\n      province: '辽宁省',\n      text: '营口市',\n      value: '210800'\n    },\n    {\n      province: '辽宁省',\n      text: '阜新市',\n      value: '210900'\n    },\n    {\n      province: '辽宁省',\n      text: '辽阳市',\n      value: '211000'\n    },\n    {\n      province: '辽宁省',\n      text: '盘锦市',\n      value: '211100'\n    },\n    {\n      province: '辽宁省',\n      text: '铁岭市',\n      value: '211200'\n    },\n    {\n      province: '辽宁省',\n      text: '朝阳市',\n      value: '211300'\n    },\n    {\n      province: '辽宁省',\n      text: '葫芦岛市',\n      value: '211400'\n    }\n  ],\n  '220000': [\n    {\n      province: '吉林省',\n      text: '长春市',\n      value: '220100'\n    },\n    {\n      province: '吉林省',\n      text: '吉林市',\n      value: '220200'\n    },\n    {\n      province: '吉林省',\n      text: '四平市',\n      value: '220300'\n    },\n    {\n      province: '吉林省',\n      text: '辽源市',\n      value: '220400'\n    },\n    {\n      province: '吉林省',\n      text: '通化市',\n      value: '220500'\n    },\n    {\n      province: '吉林省',\n      text: '白山市',\n      value: '220600'\n    },\n    {\n      province: '吉林省',\n      text: '松原市',\n      value: '220700'\n    },\n    {\n      province: '吉林省',\n      text: '白城市',\n      value: '220800'\n    },\n    {\n      province: '吉林省',\n      text: '延边朝鲜族自治州',\n      value: '222400'\n    }\n  ],\n  '230000': [\n    {\n      province: '黑龙江省',\n      text: '哈尔滨市',\n      value: '230100'\n    },\n    {\n      province: '黑龙江省',\n      text: '齐齐哈尔市',\n      value: '230200'\n    },\n    {\n      province: '黑龙江省',\n      text: '鸡西市',\n      value: '230300'\n    },\n    {\n      province: '黑龙江省',\n      text: '鹤岗市',\n      value: '230400'\n    },\n    {\n      province: '黑龙江省',\n      text: '双鸭山市',\n      value: '230500'\n    },\n    {\n      province: '黑龙江省',\n      text: '大庆市',\n      value: '230600'\n    },\n    {\n      province: '黑龙江省',\n      text: '伊春市',\n      value: '230700'\n    },\n    {\n      province: '黑龙江省',\n      text: '佳木斯市',\n      value: '230800'\n    },\n    {\n      province: '黑龙江省',\n      text: '七台河市',\n      value: '230900'\n    },\n    {\n      province: '黑龙江省',\n      text: '牡丹江市',\n      value: '231000'\n    },\n    {\n      province: '黑龙江省',\n      text: '黑河市',\n      value: '231100'\n    },\n    {\n      province: '黑龙江省',\n      text: '绥化市',\n      value: '231200'\n    },\n    {\n      province: '黑龙江省',\n      text: '大兴安岭地区',\n      value: '232700'\n    }\n  ],\n  '310000': [\n    {\n      province: '上海市',\n      text: '上海市',\n      value: '310100'\n    }\n  ],\n  '320000': [\n    {\n      province: '江苏省',\n      text: '南京市',\n      value: '320100'\n    },\n    {\n      province: '江苏省',\n      text: '无锡市',\n      value: '320200'\n    },\n    {\n      province: '江苏省',\n      text: '徐州市',\n      value: '320300'\n    },\n    {\n      province: '江苏省',\n      text: '常州市',\n      value: '320400'\n    },\n    {\n      province: '江苏省',\n      text: '苏州市',\n      value: '320500'\n    },\n    {\n      province: '江苏省',\n      text: '南通市',\n      value: '320600'\n    },\n    {\n      province: '江苏省',\n      text: '连云港市',\n      value: '320700'\n    },\n    {\n      province: '江苏省',\n      text: '淮安市',\n      value: '320800'\n    },\n    {\n      province: '江苏省',\n      text: '盐城市',\n      value: '320900'\n    },\n    {\n      province: '江苏省',\n      text: '扬州市',\n      value: '321000'\n    },\n    {\n      province: '江苏省',\n      text: '镇江市',\n      value: '321100'\n    },\n    {\n      province: '江苏省',\n      text: '泰州市',\n      value: '321200'\n    },\n    {\n      province: '江苏省',\n      text: '宿迁市',\n      value: '321300'\n    }\n  ],\n  '330000': [\n    {\n      province: '浙江省',\n      text: '杭州市',\n      value: '330100'\n    },\n    {\n      province: '浙江省',\n      text: '宁波市',\n      value: '330200'\n    },\n    {\n      province: '浙江省',\n      text: '温州市',\n      value: '330300'\n    },\n    {\n      province: '浙江省',\n      text: '嘉兴市',\n      value: '330400'\n    },\n    {\n      province: '浙江省',\n      text: '湖州市',\n      value: '330500'\n    },\n    {\n      province: '浙江省',\n      text: '绍兴市',\n      value: '330600'\n    },\n    {\n      province: '浙江省',\n      text: '金华市',\n      value: '330700'\n    },\n    {\n      province: '浙江省',\n      text: '衢州市',\n      value: '330800'\n    },\n    {\n      province: '浙江省',\n      text: '舟山市',\n      value: '330900'\n    },\n    {\n      province: '浙江省',\n      text: '台州市',\n      value: '331000'\n    },\n    {\n      province: '浙江省',\n      text: '丽水市',\n      value: '331100'\n    }\n  ],\n  '340000': [\n    {\n      province: '安徽省',\n      text: '合肥市',\n      value: '340100'\n    },\n    {\n      province: '安徽省',\n      text: '芜湖市',\n      value: '340200'\n    },\n    {\n      province: '安徽省',\n      text: '蚌埠市',\n      value: '340300'\n    },\n    {\n      province: '安徽省',\n      text: '淮南市',\n      value: '340400'\n    },\n    {\n      province: '安徽省',\n      text: '马鞍山市',\n      value: '340500'\n    },\n    {\n      province: '安徽省',\n      text: '淮北市',\n      value: '340600'\n    },\n    {\n      province: '安徽省',\n      text: '铜陵市',\n      value: '340700'\n    },\n    {\n      province: '安徽省',\n      text: '安庆市',\n      value: '340800'\n    },\n    {\n      province: '安徽省',\n      text: '黄山市',\n      value: '341000'\n    },\n    {\n      province: '安徽省',\n      text: '滁州市',\n      value: '341100'\n    },\n    {\n      province: '安徽省',\n      text: '阜阳市',\n      value: '341200'\n    },\n    {\n      province: '安徽省',\n      text: '宿州市',\n      value: '341300'\n    },\n    {\n      province: '安徽省',\n      text: '六安市',\n      value: '341500'\n    },\n    {\n      province: '安徽省',\n      text: '亳州市',\n      value: '341600'\n    },\n    {\n      province: '安徽省',\n      text: '池州市',\n      value: '341700'\n    },\n    {\n      province: '安徽省',\n      text: '宣城市',\n      value: '341800'\n    }\n  ],\n  '350000': [\n    {\n      province: '福建省',\n      text: '福州市',\n      value: '350100'\n    },\n    {\n      province: '福建省',\n      text: '厦门市',\n      value: '350200'\n    },\n    {\n      province: '福建省',\n      text: '莆田市',\n      value: '350300'\n    },\n    {\n      province: '福建省',\n      text: '三明市',\n      value: '350400'\n    },\n    {\n      province: '福建省',\n      text: '泉州市',\n      value: '350500'\n    },\n    {\n      province: '福建省',\n      text: '漳州市',\n      value: '350600'\n    },\n    {\n      province: '福建省',\n      text: '南平市',\n      value: '350700'\n    },\n    {\n      province: '福建省',\n      text: '龙岩市',\n      value: '350800'\n    },\n    {\n      province: '福建省',\n      text: '宁德市',\n      value: '350900'\n    }\n  ],\n  '360000': [\n    {\n      province: '江西省',\n      text: '南昌市',\n      value: '360100'\n    },\n    {\n      province: '江西省',\n      text: '景德镇市',\n      value: '360200'\n    },\n    {\n      province: '江西省',\n      text: '萍乡市',\n      value: '360300'\n    },\n    {\n      province: '江西省',\n      text: '九江市',\n      value: '360400'\n    },\n    {\n      province: '江西省',\n      text: '新余市',\n      value: '360500'\n    },\n    {\n      province: '江西省',\n      text: '鹰潭市',\n      value: '360600'\n    },\n    {\n      province: '江西省',\n      text: '赣州市',\n      value: '360700'\n    },\n    {\n      province: '江西省',\n      text: '吉安市',\n      value: '360800'\n    },\n    {\n      province: '江西省',\n      text: '宜春市',\n      value: '360900'\n    },\n    {\n      province: '江西省',\n      text: '抚州市',\n      value: '361000'\n    },\n    {\n      province: '江西省',\n      text: '上饶市',\n      value: '361100'\n    }\n  ],\n  '370000': [\n    {\n      province: '山东省',\n      text: '济南市',\n      value: '370100'\n    },\n    {\n      province: '山东省',\n      text: '青岛市',\n      value: '370200'\n    },\n    {\n      province: '山东省',\n      text: '淄博市',\n      value: '370300'\n    },\n    {\n      province: '山东省',\n      text: '枣庄市',\n      value: '370400'\n    },\n    {\n      province: '山东省',\n      text: '东营市',\n      value: '370500'\n    },\n    {\n      province: '山东省',\n      text: '烟台市',\n      value: '370600'\n    },\n    {\n      province: '山东省',\n      text: '潍坊市',\n      value: '370700'\n    },\n    {\n      province: '山东省',\n      text: '济宁市',\n      value: '370800'\n    },\n    {\n      province: '山东省',\n      text: '泰安市',\n      value: '370900'\n    },\n    {\n      province: '山东省',\n      text: '威海市',\n      value: '371000'\n    },\n    {\n      province: '山东省',\n      text: '日照市',\n      value: '371100'\n    },\n    {\n      province: '山东省',\n      text: '莱芜市',\n      value: '371200'\n    },\n    {\n      province: '山东省',\n      text: '临沂市',\n      value: '371300'\n    },\n    {\n      province: '山东省',\n      text: '德州市',\n      value: '371400'\n    },\n    {\n      province: '山东省',\n      text: '聊城市',\n      value: '371500'\n    },\n    {\n      province: '山东省',\n      text: '滨州市',\n      value: '371600'\n    },\n    {\n      province: '山东省',\n      text: '菏泽市',\n      value: '371700'\n    }\n  ],\n  '410000': [\n    {\n      province: '河南省',\n      text: '郑州市',\n      value: '410100'\n    },\n    {\n      province: '河南省',\n      text: '开封市',\n      value: '410200'\n    },\n    {\n      province: '河南省',\n      text: '洛阳市',\n      value: '410300'\n    },\n    {\n      province: '河南省',\n      text: '平顶山市',\n      value: '410400'\n    },\n    {\n      province: '河南省',\n      text: '安阳市',\n      value: '410500'\n    },\n    {\n      province: '河南省',\n      text: '鹤壁市',\n      value: '410600'\n    },\n    {\n      province: '河南省',\n      text: '新乡市',\n      value: '410700'\n    },\n    {\n      province: '河南省',\n      text: '焦作市',\n      value: '410800'\n    },\n    {\n      province: '河南省',\n      text: '濮阳市',\n      value: '410900'\n    },\n    {\n      province: '河南省',\n      text: '许昌市',\n      value: '411000'\n    },\n    {\n      province: '河南省',\n      text: '漯河市',\n      value: '411100'\n    },\n    {\n      province: '河南省',\n      text: '三门峡市',\n      value: '411200'\n    },\n    {\n      province: '河南省',\n      text: '南阳市',\n      value: '411300'\n    },\n    {\n      province: '河南省',\n      text: '商丘市',\n      value: '411400'\n    },\n    {\n      province: '河南省',\n      text: '信阳市',\n      value: '411500'\n    },\n    {\n      province: '河南省',\n      text: '周口市',\n      value: '411600'\n    },\n    {\n      province: '河南省',\n      text: '驻马店市',\n      value: '411700'\n    },\n    {\n      province: '河南省',\n      text: '省直辖县级行政区划',\n      value: '419000'\n    }\n  ],\n  '420000': [\n    {\n      province: '湖北省',\n      text: '武汉市',\n      value: '420100'\n    },\n    {\n      province: '湖北省',\n      text: '黄石市',\n      value: '420200'\n    },\n    {\n      province: '湖北省',\n      text: '十堰市',\n      value: '420300'\n    },\n    {\n      province: '湖北省',\n      text: '宜昌市',\n      value: '420500'\n    },\n    {\n      province: '湖北省',\n      text: '襄阳市',\n      value: '420600'\n    },\n    {\n      province: '湖北省',\n      text: '鄂州市',\n      value: '420700'\n    },\n    {\n      province: '湖北省',\n      text: '荆门市',\n      value: '420800'\n    },\n    {\n      province: '湖北省',\n      text: '孝感市',\n      value: '420900'\n    },\n    {\n      province: '湖北省',\n      text: '荆州市',\n      value: '421000'\n    },\n    {\n      province: '湖北省',\n      text: '黄冈市',\n      value: '421100'\n    },\n    {\n      province: '湖北省',\n      text: '咸宁市',\n      value: '421200'\n    },\n    {\n      province: '湖北省',\n      text: '随州市',\n      value: '421300'\n    },\n    {\n      province: '湖北省',\n      text: '恩施土家族苗族自治州',\n      value: '422800'\n    },\n    {\n      province: '湖北省',\n      text: '省直辖县级行政区划',\n      value: '429000'\n    }\n  ],\n  '430000': [\n    {\n      province: '湖南省',\n      text: '长沙市',\n      value: '430100'\n    },\n    {\n      province: '湖南省',\n      text: '株洲市',\n      value: '430200'\n    },\n    {\n      province: '湖南省',\n      text: '湘潭市',\n      value: '430300'\n    },\n    {\n      province: '湖南省',\n      text: '衡阳市',\n      value: '430400'\n    },\n    {\n      province: '湖南省',\n      text: '邵阳市',\n      value: '430500'\n    },\n    {\n      province: '湖南省',\n      text: '岳阳市',\n      value: '430600'\n    },\n    {\n      province: '湖南省',\n      text: '常德市',\n      value: '430700'\n    },\n    {\n      province: '湖南省',\n      text: '张家界市',\n      value: '430800'\n    },\n    {\n      province: '湖南省',\n      text: '益阳市',\n      value: '430900'\n    },\n    {\n      province: '湖南省',\n      text: '郴州市',\n      value: '431000'\n    },\n    {\n      province: '湖南省',\n      text: '永州市',\n      value: '431100'\n    },\n    {\n      province: '湖南省',\n      text: '怀化市',\n      value: '431200'\n    },\n    {\n      province: '湖南省',\n      text: '娄底市',\n      value: '431300'\n    },\n    {\n      province: '湖南省',\n      text: '湘西土家族苗族自治州',\n      value: '433100'\n    }\n  ],\n  '440000': [\n    {\n      province: '广东省',\n      text: '广州市',\n      value: '440100'\n    },\n    {\n      province: '广东省',\n      text: '韶关市',\n      value: '440200'\n    },\n    {\n      province: '广东省',\n      text: '深圳市',\n      value: '440300'\n    },\n    {\n      province: '广东省',\n      text: '珠海市',\n      value: '440400'\n    },\n    {\n      province: '广东省',\n      text: '汕头市',\n      value: '440500'\n    },\n    {\n      province: '广东省',\n      text: '佛山市',\n      value: '440600'\n    },\n    {\n      province: '广东省',\n      text: '江门市',\n      value: '440700'\n    },\n    {\n      province: '广东省',\n      text: '湛江市',\n      value: '440800'\n    },\n    {\n      province: '广东省',\n      text: '茂名市',\n      value: '440900'\n    },\n    {\n      province: '广东省',\n      text: '肇庆市',\n      value: '441200'\n    },\n    {\n      province: '广东省',\n      text: '惠州市',\n      value: '441300'\n    },\n    {\n      province: '广东省',\n      text: '梅州市',\n      value: '441400'\n    },\n    {\n      province: '广东省',\n      text: '汕尾市',\n      value: '441500'\n    },\n    {\n      province: '广东省',\n      text: '河源市',\n      value: '441600'\n    },\n    {\n      province: '广东省',\n      text: '阳江市',\n      value: '441700'\n    },\n    {\n      province: '广东省',\n      text: '清远市',\n      value: '441800'\n    },\n    {\n      province: '广东省',\n      text: '东莞市',\n      value: '441900'\n    },\n    {\n      province: '广东省',\n      text: '中山市',\n      value: '442000'\n    },\n    {\n      province: '广东省',\n      text: '潮州市',\n      value: '445100'\n    },\n    {\n      province: '广东省',\n      text: '揭阳市',\n      value: '445200'\n    },\n    {\n      province: '广东省',\n      text: '云浮市',\n      value: '445300'\n    }\n  ],\n  '450000': [\n    {\n      province: '广西壮族自治区',\n      text: '南宁市',\n      value: '450100'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '柳州市',\n      value: '450200'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '桂林市',\n      value: '450300'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '梧州市',\n      value: '450400'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '北海市',\n      value: '450500'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '防城港市',\n      value: '450600'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '钦州市',\n      value: '450700'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '贵港市',\n      value: '450800'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '玉林市',\n      value: '450900'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '百色市',\n      value: '451000'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '贺州市',\n      value: '451100'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '河池市',\n      value: '451200'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '来宾市',\n      value: '451300'\n    },\n    {\n      province: '广西壮族自治区',\n      text: '崇左市',\n      value: '451400'\n    }\n  ],\n  '460000': [\n    {\n      province: '海南省',\n      text: '海口市',\n      value: '460100'\n    },\n    {\n      province: '海南省',\n      text: '三亚市',\n      value: '460200'\n    },\n    {\n      province: '海南省',\n      text: '三沙市',\n      value: '460300'\n    },\n    {\n      province: '海南省',\n      text: '儋州市',\n      value: '460400'\n    },\n    {\n      province: '海南省',\n      text: '省直辖县级行政区划',\n      value: '469000'\n    }\n  ],\n  '500000': [\n    {\n      province: '重庆市',\n      text: '重庆市',\n      value: '500100'\n    },\n    {\n      province: '重庆市',\n      text: '县',\n      value: '500200'\n    }\n  ],\n  '510000': [\n    {\n      province: '四川省',\n      text: '成都市',\n      value: '510100'\n    },\n    {\n      province: '四川省',\n      text: '自贡市',\n      value: '510300'\n    },\n    {\n      province: '四川省',\n      text: '攀枝花市',\n      value: '510400'\n    },\n    {\n      province: '四川省',\n      text: '泸州市',\n      value: '510500'\n    },\n    {\n      province: '四川省',\n      text: '德阳市',\n      value: '510600'\n    },\n    {\n      province: '四川省',\n      text: '绵阳市',\n      value: '510700'\n    },\n    {\n      province: '四川省',\n      text: '广元市',\n      value: '510800'\n    },\n    {\n      province: '四川省',\n      text: '遂宁市',\n      value: '510900'\n    },\n    {\n      province: '四川省',\n      text: '内江市',\n      value: '511000'\n    },\n    {\n      province: '四川省',\n      text: '乐山市',\n      value: '511100'\n    },\n    {\n      province: '四川省',\n      text: '南充市',\n      value: '511300'\n    },\n    {\n      province: '四川省',\n      text: '眉山市',\n      value: '511400'\n    },\n    {\n      province: '四川省',\n      text: '宜宾市',\n      value: '511500'\n    },\n    {\n      province: '四川省',\n      text: '广安市',\n      value: '511600'\n    },\n    {\n      province: '四川省',\n      text: '达州市',\n      value: '511700'\n    },\n    {\n      province: '四川省',\n      text: '雅安市',\n      value: '511800'\n    },\n    {\n      province: '四川省',\n      text: '巴中市',\n      value: '511900'\n    },\n    {\n      province: '四川省',\n      text: '资阳市',\n      value: '512000'\n    },\n    {\n      province: '四川省',\n      text: '阿坝藏族羌族自治州',\n      value: '513200'\n    },\n    {\n      province: '四川省',\n      text: '甘孜藏族自治州',\n      value: '513300'\n    },\n    {\n      province: '四川省',\n      text: '凉山彝族自治州',\n      value: '513400'\n    }\n  ],\n  '520000': [\n    {\n      province: '贵州省',\n      text: '贵阳市',\n      value: '520100'\n    },\n    {\n      province: '贵州省',\n      text: '六盘水市',\n      value: '520200'\n    },\n    {\n      province: '贵州省',\n      text: '遵义市',\n      value: '520300'\n    },\n    {\n      province: '贵州省',\n      text: '安顺市',\n      value: '520400'\n    },\n    {\n      province: '贵州省',\n      text: '毕节市',\n      value: '520500'\n    },\n    {\n      province: '贵州省',\n      text: '铜仁市',\n      value: '520600'\n    },\n    {\n      province: '贵州省',\n      text: '黔西南布依族苗族自治州',\n      value: '522300'\n    },\n    {\n      province: '贵州省',\n      text: '黔东南苗族侗族自治州',\n      value: '522600'\n    },\n    {\n      province: '贵州省',\n      text: '黔南布依族苗族自治州',\n      value: '522700'\n    }\n  ],\n  '530000': [\n    {\n      province: '云南省',\n      text: '昆明市',\n      value: '530100'\n    },\n    {\n      province: '云南省',\n      text: '曲靖市',\n      value: '530300'\n    },\n    {\n      province: '云南省',\n      text: '玉溪市',\n      value: '530400'\n    },\n    {\n      province: '云南省',\n      text: '保山市',\n      value: '530500'\n    },\n    {\n      province: '云南省',\n      text: '昭通市',\n      value: '530600'\n    },\n    {\n      province: '云南省',\n      text: '丽江市',\n      value: '530700'\n    },\n    {\n      province: '云南省',\n      text: '普洱市',\n      value: '530800'\n    },\n    {\n      province: '云南省',\n      text: '临沧市',\n      value: '530900'\n    },\n    {\n      province: '云南省',\n      text: '楚雄彝族自治州',\n      value: '532300'\n    },\n    {\n      province: '云南省',\n      text: '红河哈尼族彝族自治州',\n      value: '532500'\n    },\n    {\n      province: '云南省',\n      text: '文山壮族苗族自治州',\n      value: '532600'\n    },\n    {\n      province: '云南省',\n      text: '西双版纳傣族自治州',\n      value: '532800'\n    },\n    {\n      province: '云南省',\n      text: '大理白族自治州',\n      value: '532900'\n    },\n    {\n      province: '云南省',\n      text: '德宏傣族景颇族自治州',\n      value: '533100'\n    },\n    {\n      province: '云南省',\n      text: '怒江傈僳族自治州',\n      value: '533300'\n    },\n    {\n      province: '云南省',\n      text: '迪庆藏族自治州',\n      value: '533400'\n    }\n  ],\n  '540000': [\n    {\n      province: '西藏自治区',\n      text: '拉萨市',\n      value: '540100'\n    },\n    {\n      province: '西藏自治区',\n      text: '日喀则市',\n      value: '540200'\n    },\n    {\n      province: '西藏自治区',\n      text: '昌都市',\n      value: '540300'\n    },\n    {\n      province: '西藏自治区',\n      text: '林芝市',\n      value: '540400'\n    },\n    {\n      province: '西藏自治区',\n      text: '山南市',\n      value: '540500'\n    },\n    {\n      province: '西藏自治区',\n      text: '那曲地区',\n      value: '542400'\n    },\n    {\n      province: '西藏自治区',\n      text: '阿里地区',\n      value: '542500'\n    }\n  ],\n  '610000': [\n    {\n      province: '陕西省',\n      text: '西安市',\n      value: '610100'\n    },\n    {\n      province: '陕西省',\n      text: '铜川市',\n      value: '610200'\n    },\n    {\n      province: '陕西省',\n      text: '宝鸡市',\n      value: '610300'\n    },\n    {\n      province: '陕西省',\n      text: '咸阳市',\n      value: '610400'\n    },\n    {\n      province: '陕西省',\n      text: '渭南市',\n      value: '610500'\n    },\n    {\n      province: '陕西省',\n      text: '延安市',\n      value: '610600'\n    },\n    {\n      province: '陕西省',\n      text: '汉中市',\n      value: '610700'\n    },\n    {\n      province: '陕西省',\n      text: '榆林市',\n      value: '610800'\n    },\n    {\n      province: '陕西省',\n      text: '安康市',\n      value: '610900'\n    },\n    {\n      province: '陕西省',\n      text: '商洛市',\n      value: '611000'\n    }\n  ],\n  '620000': [\n    {\n      province: '甘肃省',\n      text: '兰州市',\n      value: '620100'\n    },\n    {\n      province: '甘肃省',\n      text: '嘉峪关市',\n      value: '620200'\n    },\n    {\n      province: '甘肃省',\n      text: '金昌市',\n      value: '620300'\n    },\n    {\n      province: '甘肃省',\n      text: '白银市',\n      value: '620400'\n    },\n    {\n      province: '甘肃省',\n      text: '天水市',\n      value: '620500'\n    },\n    {\n      province: '甘肃省',\n      text: '武威市',\n      value: '620600'\n    },\n    {\n      province: '甘肃省',\n      text: '张掖市',\n      value: '620700'\n    },\n    {\n      province: '甘肃省',\n      text: '平凉市',\n      value: '620800'\n    },\n    {\n      province: '甘肃省',\n      text: '酒泉市',\n      value: '620900'\n    },\n    {\n      province: '甘肃省',\n      text: '庆阳市',\n      value: '621000'\n    },\n    {\n      province: '甘肃省',\n      text: '定西市',\n      value: '621100'\n    },\n    {\n      province: '甘肃省',\n      text: '陇南市',\n      value: '621200'\n    },\n    {\n      province: '甘肃省',\n      text: '临夏回族自治州',\n      value: '622900'\n    },\n    {\n      province: '甘肃省',\n      text: '甘南藏族自治州',\n      value: '623000'\n    }\n  ],\n  '630000': [\n    {\n      province: '青海省',\n      text: '西宁市',\n      value: '630100'\n    },\n    {\n      province: '青海省',\n      text: '海东市',\n      value: '630200'\n    },\n    {\n      province: '青海省',\n      text: '海北藏族自治州',\n      value: '632200'\n    },\n    {\n      province: '青海省',\n      text: '黄南藏族自治州',\n      value: '632300'\n    },\n    {\n      province: '青海省',\n      text: '海南藏族自治州',\n      value: '632500'\n    },\n    {\n      province: '青海省',\n      text: '果洛藏族自治州',\n      value: '632600'\n    },\n    {\n      province: '青海省',\n      text: '玉树藏族自治州',\n      value: '632700'\n    },\n    {\n      province: '青海省',\n      text: '海西蒙古族藏族自治州',\n      value: '632800'\n    }\n  ],\n  '640000': [\n    {\n      province: '宁夏回族自治区',\n      text: '银川市',\n      value: '640100'\n    },\n    {\n      province: '宁夏回族自治区',\n      text: '石嘴山市',\n      value: '640200'\n    },\n    {\n      province: '宁夏回族自治区',\n      text: '吴忠市',\n      value: '640300'\n    },\n    {\n      province: '宁夏回族自治区',\n      text: '固原市',\n      value: '640400'\n    },\n    {\n      province: '宁夏回族自治区',\n      text: '中卫市',\n      value: '640500'\n    }\n  ],\n  '650000': [\n    {\n      province: '新疆维吾尔自治区',\n      text: '乌鲁木齐市',\n      value: '650100'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '克拉玛依市',\n      value: '650200'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '吐鲁番市',\n      value: '650400'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '哈密市',\n      value: '650500'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '昌吉回族自治州',\n      value: '652300'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '博尔塔拉蒙古自治州',\n      value: '652700'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '巴音郭楞蒙古自治州',\n      value: '652800'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '阿克苏地区',\n      value: '652900'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '克孜勒苏柯尔克孜自治州',\n      value: '653000'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '喀什地区',\n      value: '653100'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '和田地区',\n      value: '653200'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '伊犁哈萨克自治州',\n      value: '654000'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '塔城地区',\n      value: '654200'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '阿勒泰地区',\n      value: '654300'\n    },\n    {\n      province: '新疆维吾尔自治区',\n      text: '自治区直辖县级行政区划',\n      value: '659000'\n    }\n  ]\n}\n\nexport const areaList = {\n  '110100': [\n    {\n      city: '市辖区',\n      text: '东城区',\n      value: '110101'\n    },\n    {\n      city: '市辖区',\n      text: '西城区',\n      value: '110102'\n    },\n    {\n      city: '市辖区',\n      text: '朝阳区',\n      value: '110105'\n    },\n    {\n      city: '市辖区',\n      text: '丰台区',\n      value: '110106'\n    },\n    {\n      city: '市辖区',\n      text: '石景山区',\n      value: '110107'\n    },\n    {\n      city: '市辖区',\n      text: '海淀区',\n      value: '110108'\n    },\n    {\n      city: '市辖区',\n      text: '门头沟区',\n      value: '110109'\n    },\n    {\n      city: '市辖区',\n      text: '房山区',\n      value: '110111'\n    },\n    {\n      city: '市辖区',\n      text: '通州区',\n      value: '110112'\n    },\n    {\n      city: '市辖区',\n      text: '顺义区',\n      value: '110113'\n    },\n    {\n      city: '市辖区',\n      text: '昌平区',\n      value: '110114'\n    },\n    {\n      city: '市辖区',\n      text: '大兴区',\n      value: '110115'\n    },\n    {\n      city: '市辖区',\n      text: '怀柔区',\n      value: '110116'\n    },\n    {\n      city: '市辖区',\n      text: '平谷区',\n      value: '110117'\n    },\n    {\n      city: '市辖区',\n      text: '密云区',\n      value: '110118'\n    },\n    {\n      city: '市辖区',\n      text: '延庆区',\n      value: '110119'\n    }\n  ],\n  '120100': [\n    {\n      city: '市辖区',\n      text: '和平区',\n      value: '120101'\n    },\n    {\n      city: '市辖区',\n      text: '河东区',\n      value: '120102'\n    },\n    {\n      city: '市辖区',\n      text: '河西区',\n      value: '120103'\n    },\n    {\n      city: '市辖区',\n      text: '南开区',\n      value: '120104'\n    },\n    {\n      city: '市辖区',\n      text: '河北区',\n      value: '120105'\n    },\n    {\n      city: '市辖区',\n      text: '红桥区',\n      value: '120106'\n    },\n    {\n      city: '市辖区',\n      text: '东丽区',\n      value: '120110'\n    },\n    {\n      city: '市辖区',\n      text: '西青区',\n      value: '120111'\n    },\n    {\n      city: '市辖区',\n      text: '津南区',\n      value: '120112'\n    },\n    {\n      city: '市辖区',\n      text: '北辰区',\n      value: '120113'\n    },\n    {\n      city: '市辖区',\n      text: '武清区',\n      value: '120114'\n    },\n    {\n      city: '市辖区',\n      text: '宝坻区',\n      value: '120115'\n    },\n    {\n      city: '市辖区',\n      text: '滨海新区',\n      value: '120116'\n    },\n    {\n      city: '市辖区',\n      text: '宁河区',\n      value: '120117'\n    },\n    {\n      city: '市辖区',\n      text: '静海区',\n      value: '120118'\n    },\n    {\n      city: '市辖区',\n      text: '蓟州区',\n      value: '120119'\n    }\n  ],\n  '130100': [\n    {\n      city: '石家庄市',\n      text: '市辖区',\n      value: '130101'\n    },\n    {\n      city: '石家庄市',\n      text: '长安区',\n      value: '130102'\n    },\n    {\n      city: '石家庄市',\n      text: '桥西区',\n      value: '130104'\n    },\n    {\n      city: '石家庄市',\n      text: '新华区',\n      value: '130105'\n    },\n    {\n      city: '石家庄市',\n      text: '井陉矿区',\n      value: '130107'\n    },\n    {\n      city: '石家庄市',\n      text: '裕华区',\n      value: '130108'\n    },\n    {\n      city: '石家庄市',\n      text: '藁城区',\n      value: '130109'\n    },\n    {\n      city: '石家庄市',\n      text: '鹿泉区',\n      value: '130110'\n    },\n    {\n      city: '石家庄市',\n      text: '栾城区',\n      value: '130111'\n    },\n    {\n      city: '石家庄市',\n      text: '井陉县',\n      value: '130121'\n    },\n    {\n      city: '石家庄市',\n      text: '正定县',\n      value: '130123'\n    },\n    {\n      city: '石家庄市',\n      text: '行唐县',\n      value: '130125'\n    },\n    {\n      city: '石家庄市',\n      text: '灵寿县',\n      value: '130126'\n    },\n    {\n      city: '石家庄市',\n      text: '高邑县',\n      value: '130127'\n    },\n    {\n      city: '石家庄市',\n      text: '深泽县',\n      value: '130128'\n    },\n    {\n      city: '石家庄市',\n      text: '赞皇县',\n      value: '130129'\n    },\n    {\n      city: '石家庄市',\n      text: '无极县',\n      value: '130130'\n    },\n    {\n      city: '石家庄市',\n      text: '平山县',\n      value: '130131'\n    },\n    {\n      city: '石家庄市',\n      text: '元氏县',\n      value: '130132'\n    },\n    {\n      city: '石家庄市',\n      text: '赵县',\n      value: '130133'\n    },\n    {\n      city: '石家庄市',\n      text: '晋州市',\n      value: '130183'\n    },\n    {\n      city: '石家庄市',\n      text: '新乐市',\n      value: '130184'\n    }\n  ],\n  '130200': [\n    {\n      city: '唐山市',\n      text: '市辖区',\n      value: '130201'\n    },\n    {\n      city: '唐山市',\n      text: '路南区',\n      value: '130202'\n    },\n    {\n      city: '唐山市',\n      text: '路北区',\n      value: '130203'\n    },\n    {\n      city: '唐山市',\n      text: '古冶区',\n      value: '130204'\n    },\n    {\n      city: '唐山市',\n      text: '开平区',\n      value: '130205'\n    },\n    {\n      city: '唐山市',\n      text: '丰南区',\n      value: '130207'\n    },\n    {\n      city: '唐山市',\n      text: '丰润区',\n      value: '130208'\n    },\n    {\n      city: '唐山市',\n      text: '曹妃甸区',\n      value: '130209'\n    },\n    {\n      city: '唐山市',\n      text: '滦县',\n      value: '130223'\n    },\n    {\n      city: '唐山市',\n      text: '滦南县',\n      value: '130224'\n    },\n    {\n      city: '唐山市',\n      text: '乐亭县',\n      value: '130225'\n    },\n    {\n      city: '唐山市',\n      text: '迁西县',\n      value: '130227'\n    },\n    {\n      city: '唐山市',\n      text: '玉田县',\n      value: '130229'\n    },\n    {\n      city: '唐山市',\n      text: '遵化市',\n      value: '130281'\n    },\n    {\n      city: '唐山市',\n      text: '迁安市',\n      value: '130283'\n    }\n  ],\n  '130300': [\n    {\n      city: '秦皇岛市',\n      text: '市辖区',\n      value: '130301'\n    },\n    {\n      city: '秦皇岛市',\n      text: '海港区',\n      value: '130302'\n    },\n    {\n      city: '秦皇岛市',\n      text: '山海关区',\n      value: '130303'\n    },\n    {\n      city: '秦皇岛市',\n      text: '北戴河区',\n      value: '130304'\n    },\n    {\n      city: '秦皇岛市',\n      text: '抚宁区',\n      value: '130306'\n    },\n    {\n      city: '秦皇岛市',\n      text: '青龙满族自治县',\n      value: '130321'\n    },\n    {\n      city: '秦皇岛市',\n      text: '昌黎县',\n      value: '130322'\n    },\n    {\n      city: '秦皇岛市',\n      text: '卢龙县',\n      value: '130324'\n    }\n  ],\n  '130400': [\n    {\n      city: '邯郸市',\n      text: '市辖区',\n      value: '130401'\n    },\n    {\n      city: '邯郸市',\n      text: '邯山区',\n      value: '130402'\n    },\n    {\n      city: '邯郸市',\n      text: '丛台区',\n      value: '130403'\n    },\n    {\n      city: '邯郸市',\n      text: '复兴区',\n      value: '130404'\n    },\n    {\n      city: '邯郸市',\n      text: '峰峰矿区',\n      value: '130406'\n    },\n    {\n      city: '邯郸市',\n      text: '邯郸县',\n      value: '130421'\n    },\n    {\n      city: '邯郸市',\n      text: '临漳县',\n      value: '130423'\n    },\n    {\n      city: '邯郸市',\n      text: '成安县',\n      value: '130424'\n    },\n    {\n      city: '邯郸市',\n      text: '大名县',\n      value: '130425'\n    },\n    {\n      city: '邯郸市',\n      text: '涉县',\n      value: '130426'\n    },\n    {\n      city: '邯郸市',\n      text: '磁县',\n      value: '130427'\n    },\n    {\n      city: '邯郸市',\n      text: '肥乡县',\n      value: '130428'\n    },\n    {\n      city: '邯郸市',\n      text: '永年县',\n      value: '130429'\n    },\n    {\n      city: '邯郸市',\n      text: '邱县',\n      value: '130430'\n    },\n    {\n      city: '邯郸市',\n      text: '鸡泽县',\n      value: '130431'\n    },\n    {\n      city: '邯郸市',\n      text: '广平县',\n      value: '130432'\n    },\n    {\n      city: '邯郸市',\n      text: '馆陶县',\n      value: '130433'\n    },\n    {\n      city: '邯郸市',\n      text: '魏县',\n      value: '130434'\n    },\n    {\n      city: '邯郸市',\n      text: '曲周县',\n      value: '130435'\n    },\n    {\n      city: '邯郸市',\n      text: '武安市',\n      value: '130481'\n    }\n  ],\n  '130500': [\n    {\n      city: '邢台市',\n      text: '市辖区',\n      value: '130501'\n    },\n    {\n      city: '邢台市',\n      text: '桥东区',\n      value: '130502'\n    },\n    {\n      city: '邢台市',\n      text: '桥西区',\n      value: '130503'\n    },\n    {\n      city: '邢台市',\n      text: '邢台县',\n      value: '130521'\n    },\n    {\n      city: '邢台市',\n      text: '临城县',\n      value: '130522'\n    },\n    {\n      city: '邢台市',\n      text: '内丘县',\n      value: '130523'\n    },\n    {\n      city: '邢台市',\n      text: '柏乡县',\n      value: '130524'\n    },\n    {\n      city: '邢台市',\n      text: '隆尧县',\n      value: '130525'\n    },\n    {\n      city: '邢台市',\n      text: '任县',\n      value: '130526'\n    },\n    {\n      city: '邢台市',\n      text: '南和县',\n      value: '130527'\n    },\n    {\n      city: '邢台市',\n      text: '宁晋县',\n      value: '130528'\n    },\n    {\n      city: '邢台市',\n      text: '巨鹿县',\n      value: '130529'\n    },\n    {\n      city: '邢台市',\n      text: '新河县',\n      value: '130530'\n    },\n    {\n      city: '邢台市',\n      text: '广宗县',\n      value: '130531'\n    },\n    {\n      city: '邢台市',\n      text: '平乡县',\n      value: '130532'\n    },\n    {\n      city: '邢台市',\n      text: '威县',\n      value: '130533'\n    },\n    {\n      city: '邢台市',\n      text: '清河县',\n      value: '130534'\n    },\n    {\n      city: '邢台市',\n      text: '临西县',\n      value: '130535'\n    },\n    {\n      city: '邢台市',\n      text: '南宫市',\n      value: '130581'\n    },\n    {\n      city: '邢台市',\n      text: '沙河市',\n      value: '130582'\n    }\n  ],\n  '130600': [\n    {\n      city: '保定市',\n      text: '市辖区',\n      value: '130601'\n    },\n    {\n      city: '保定市',\n      text: '竞秀区',\n      value: '130602'\n    },\n    {\n      city: '保定市',\n      text: '莲池区',\n      value: '130606'\n    },\n    {\n      city: '保定市',\n      text: '满城区',\n      value: '130607'\n    },\n    {\n      city: '保定市',\n      text: '清苑区',\n      value: '130608'\n    },\n    {\n      city: '保定市',\n      text: '徐水区',\n      value: '130609'\n    },\n    {\n      city: '保定市',\n      text: '涞水县',\n      value: '130623'\n    },\n    {\n      city: '保定市',\n      text: '阜平县',\n      value: '130624'\n    },\n    {\n      city: '保定市',\n      text: '定兴县',\n      value: '130626'\n    },\n    {\n      city: '保定市',\n      text: '唐县',\n      value: '130627'\n    },\n    {\n      city: '保定市',\n      text: '高阳县',\n      value: '130628'\n    },\n    {\n      city: '保定市',\n      text: '容城县',\n      value: '130629'\n    },\n    {\n      city: '保定市',\n      text: '涞源县',\n      value: '130630'\n    },\n    {\n      city: '保定市',\n      text: '望都县',\n      value: '130631'\n    },\n    {\n      city: '保定市',\n      text: '安新县',\n      value: '130632'\n    },\n    {\n      city: '保定市',\n      text: '易县',\n      value: '130633'\n    },\n    {\n      city: '保定市',\n      text: '曲阳县',\n      value: '130634'\n    },\n    {\n      city: '保定市',\n      text: '蠡县',\n      value: '130635'\n    },\n    {\n      city: '保定市',\n      text: '顺平县',\n      value: '130636'\n    },\n    {\n      city: '保定市',\n      text: '博野县',\n      value: '130637'\n    },\n    {\n      city: '保定市',\n      text: '雄县',\n      value: '130638'\n    },\n    {\n      city: '保定市',\n      text: '涿州市',\n      value: '130681'\n    },\n    {\n      city: '保定市',\n      text: '安国市',\n      value: '130683'\n    },\n    {\n      city: '保定市',\n      text: '高碑店市',\n      value: '130684'\n    }\n  ],\n  '130700': [\n    {\n      city: '张家口市',\n      text: '市辖区',\n      value: '130701'\n    },\n    {\n      city: '张家口市',\n      text: '桥东区',\n      value: '130702'\n    },\n    {\n      city: '张家口市',\n      text: '桥西区',\n      value: '130703'\n    },\n    {\n      city: '张家口市',\n      text: '宣化区',\n      value: '130705'\n    },\n    {\n      city: '张家口市',\n      text: '下花园区',\n      value: '130706'\n    },\n    {\n      city: '张家口市',\n      text: '万全区',\n      value: '130708'\n    },\n    {\n      city: '张家口市',\n      text: '崇礼区',\n      value: '130709'\n    },\n    {\n      city: '张家口市',\n      text: '张北县',\n      value: '130722'\n    },\n    {\n      city: '张家口市',\n      text: '康保县',\n      value: '130723'\n    },\n    {\n      city: '张家口市',\n      text: '沽源县',\n      value: '130724'\n    },\n    {\n      city: '张家口市',\n      text: '尚义县',\n      value: '130725'\n    },\n    {\n      city: '张家口市',\n      text: '蔚县',\n      value: '130726'\n    },\n    {\n      city: '张家口市',\n      text: '阳原县',\n      value: '130727'\n    },\n    {\n      city: '张家口市',\n      text: '怀安县',\n      value: '130728'\n    },\n    {\n      city: '张家口市',\n      text: '怀来县',\n      value: '130730'\n    },\n    {\n      city: '张家口市',\n      text: '涿鹿县',\n      value: '130731'\n    },\n    {\n      city: '张家口市',\n      text: '赤城县',\n      value: '130732'\n    }\n  ],\n  '130800': [\n    {\n      city: '承德市',\n      text: '市辖区',\n      value: '130801'\n    },\n    {\n      city: '承德市',\n      text: '双桥区',\n      value: '130802'\n    },\n    {\n      city: '承德市',\n      text: '双滦区',\n      value: '130803'\n    },\n    {\n      city: '承德市',\n      text: '鹰手营子矿区',\n      value: '130804'\n    },\n    {\n      city: '承德市',\n      text: '承德县',\n      value: '130821'\n    },\n    {\n      city: '承德市',\n      text: '兴隆县',\n      value: '130822'\n    },\n    {\n      city: '承德市',\n      text: '平泉县',\n      value: '130823'\n    },\n    {\n      city: '承德市',\n      text: '滦平县',\n      value: '130824'\n    },\n    {\n      city: '承德市',\n      text: '隆化县',\n      value: '130825'\n    },\n    {\n      city: '承德市',\n      text: '丰宁满族自治县',\n      value: '130826'\n    },\n    {\n      city: '承德市',\n      text: '宽城满族自治县',\n      value: '130827'\n    },\n    {\n      city: '承德市',\n      text: '围场满族蒙古族自治县',\n      value: '130828'\n    }\n  ],\n  '130900': [\n    {\n      city: '沧州市',\n      text: '市辖区',\n      value: '130901'\n    },\n    {\n      city: '沧州市',\n      text: '新华区',\n      value: '130902'\n    },\n    {\n      city: '沧州市',\n      text: '运河区',\n      value: '130903'\n    },\n    {\n      city: '沧州市',\n      text: '沧县',\n      value: '130921'\n    },\n    {\n      city: '沧州市',\n      text: '青县',\n      value: '130922'\n    },\n    {\n      city: '沧州市',\n      text: '东光县',\n      value: '130923'\n    },\n    {\n      city: '沧州市',\n      text: '海兴县',\n      value: '130924'\n    },\n    {\n      city: '沧州市',\n      text: '盐山县',\n      value: '130925'\n    },\n    {\n      city: '沧州市',\n      text: '肃宁县',\n      value: '130926'\n    },\n    {\n      city: '沧州市',\n      text: '南皮县',\n      value: '130927'\n    },\n    {\n      city: '沧州市',\n      text: '吴桥县',\n      value: '130928'\n    },\n    {\n      city: '沧州市',\n      text: '献县',\n      value: '130929'\n    },\n    {\n      city: '沧州市',\n      text: '孟村回族自治县',\n      value: '130930'\n    },\n    {\n      city: '沧州市',\n      text: '泊头市',\n      value: '130981'\n    },\n    {\n      city: '沧州市',\n      text: '任丘市',\n      value: '130982'\n    },\n    {\n      city: '沧州市',\n      text: '黄骅市',\n      value: '130983'\n    },\n    {\n      city: '沧州市',\n      text: '河间市',\n      value: '130984'\n    }\n  ],\n  '131000': [\n    {\n      city: '廊坊市',\n      text: '市辖区',\n      value: '131001'\n    },\n    {\n      city: '廊坊市',\n      text: '安次区',\n      value: '131002'\n    },\n    {\n      city: '廊坊市',\n      text: '广阳区',\n      value: '131003'\n    },\n    {\n      city: '廊坊市',\n      text: '固安县',\n      value: '131022'\n    },\n    {\n      city: '廊坊市',\n      text: '永清县',\n      value: '131023'\n    },\n    {\n      city: '廊坊市',\n      text: '香河县',\n      value: '131024'\n    },\n    {\n      city: '廊坊市',\n      text: '大城县',\n      value: '131025'\n    },\n    {\n      city: '廊坊市',\n      text: '文安县',\n      value: '131026'\n    },\n    {\n      city: '廊坊市',\n      text: '大厂回族自治县',\n      value: '131028'\n    },\n    {\n      city: '廊坊市',\n      text: '霸州市',\n      value: '131081'\n    },\n    {\n      city: '廊坊市',\n      text: '三河市',\n      value: '131082'\n    }\n  ],\n  '131100': [\n    {\n      city: '衡水市',\n      text: '市辖区',\n      value: '131101'\n    },\n    {\n      city: '衡水市',\n      text: '桃城区',\n      value: '131102'\n    },\n    {\n      city: '衡水市',\n      text: '冀州区',\n      value: '131103'\n    },\n    {\n      city: '衡水市',\n      text: '枣强县',\n      value: '131121'\n    },\n    {\n      city: '衡水市',\n      text: '武邑县',\n      value: '131122'\n    },\n    {\n      city: '衡水市',\n      text: '武强县',\n      value: '131123'\n    },\n    {\n      city: '衡水市',\n      text: '饶阳县',\n      value: '131124'\n    },\n    {\n      city: '衡水市',\n      text: '安平县',\n      value: '131125'\n    },\n    {\n      city: '衡水市',\n      text: '故城县',\n      value: '131126'\n    },\n    {\n      city: '衡水市',\n      text: '景县',\n      value: '131127'\n    },\n    {\n      city: '衡水市',\n      text: '阜城县',\n      value: '131128'\n    },\n    {\n      city: '衡水市',\n      text: '深州市',\n      value: '131182'\n    }\n  ],\n  '139000': [\n    {\n      city: '省直辖县级行政区划',\n      text: '定州市',\n      value: '139001'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '辛集市',\n      value: '139002'\n    }\n  ],\n  '140100': [\n    {\n      city: '太原市',\n      text: '市辖区',\n      value: '140101'\n    },\n    {\n      city: '太原市',\n      text: '小店区',\n      value: '140105'\n    },\n    {\n      city: '太原市',\n      text: '迎泽区',\n      value: '140106'\n    },\n    {\n      city: '太原市',\n      text: '杏花岭区',\n      value: '140107'\n    },\n    {\n      city: '太原市',\n      text: '尖草坪区',\n      value: '140108'\n    },\n    {\n      city: '太原市',\n      text: '万柏林区',\n      value: '140109'\n    },\n    {\n      city: '太原市',\n      text: '晋源区',\n      value: '140110'\n    },\n    {\n      city: '太原市',\n      text: '清徐县',\n      value: '140121'\n    },\n    {\n      city: '太原市',\n      text: '阳曲县',\n      value: '140122'\n    },\n    {\n      city: '太原市',\n      text: '娄烦县',\n      value: '140123'\n    },\n    {\n      city: '太原市',\n      text: '古交市',\n      value: '140181'\n    }\n  ],\n  '140200': [\n    {\n      city: '大同市',\n      text: '市辖区',\n      value: '140201'\n    },\n    {\n      city: '大同市',\n      text: '城区',\n      value: '140202'\n    },\n    {\n      city: '大同市',\n      text: '矿区',\n      value: '140203'\n    },\n    {\n      city: '大同市',\n      text: '南郊区',\n      value: '140211'\n    },\n    {\n      city: '大同市',\n      text: '新荣区',\n      value: '140212'\n    },\n    {\n      city: '大同市',\n      text: '阳高县',\n      value: '140221'\n    },\n    {\n      city: '大同市',\n      text: '天镇县',\n      value: '140222'\n    },\n    {\n      city: '大同市',\n      text: '广灵县',\n      value: '140223'\n    },\n    {\n      city: '大同市',\n      text: '灵丘县',\n      value: '140224'\n    },\n    {\n      city: '大同市',\n      text: '浑源县',\n      value: '140225'\n    },\n    {\n      city: '大同市',\n      text: '左云县',\n      value: '140226'\n    },\n    {\n      city: '大同市',\n      text: '大同县',\n      value: '140227'\n    }\n  ],\n  '140300': [\n    {\n      city: '阳泉市',\n      text: '市辖区',\n      value: '140301'\n    },\n    {\n      city: '阳泉市',\n      text: '城区',\n      value: '140302'\n    },\n    {\n      city: '阳泉市',\n      text: '矿区',\n      value: '140303'\n    },\n    {\n      city: '阳泉市',\n      text: '郊区',\n      value: '140311'\n    },\n    {\n      city: '阳泉市',\n      text: '平定县',\n      value: '140321'\n    },\n    {\n      city: '阳泉市',\n      text: '盂县',\n      value: '140322'\n    }\n  ],\n  '140400': [\n    {\n      city: '长治市',\n      text: '市辖区',\n      value: '140401'\n    },\n    {\n      city: '长治市',\n      text: '城区',\n      value: '140402'\n    },\n    {\n      city: '长治市',\n      text: '郊区',\n      value: '140411'\n    },\n    {\n      city: '长治市',\n      text: '长治县',\n      value: '140421'\n    },\n    {\n      city: '长治市',\n      text: '襄垣县',\n      value: '140423'\n    },\n    {\n      city: '长治市',\n      text: '屯留县',\n      value: '140424'\n    },\n    {\n      city: '长治市',\n      text: '平顺县',\n      value: '140425'\n    },\n    {\n      city: '长治市',\n      text: '黎城县',\n      value: '140426'\n    },\n    {\n      city: '长治市',\n      text: '壶关县',\n      value: '140427'\n    },\n    {\n      city: '长治市',\n      text: '长子县',\n      value: '140428'\n    },\n    {\n      city: '长治市',\n      text: '武乡县',\n      value: '140429'\n    },\n    {\n      city: '长治市',\n      text: '沁县',\n      value: '140430'\n    },\n    {\n      city: '长治市',\n      text: '沁源县',\n      value: '140431'\n    },\n    {\n      city: '长治市',\n      text: '潞城市',\n      value: '140481'\n    }\n  ],\n  '140500': [\n    {\n      city: '晋城市',\n      text: '市辖区',\n      value: '140501'\n    },\n    {\n      city: '晋城市',\n      text: '城区',\n      value: '140502'\n    },\n    {\n      city: '晋城市',\n      text: '沁水县',\n      value: '140521'\n    },\n    {\n      city: '晋城市',\n      text: '阳城县',\n      value: '140522'\n    },\n    {\n      city: '晋城市',\n      text: '陵川县',\n      value: '140524'\n    },\n    {\n      city: '晋城市',\n      text: '泽州县',\n      value: '140525'\n    },\n    {\n      city: '晋城市',\n      text: '高平市',\n      value: '140581'\n    }\n  ],\n  '140600': [\n    {\n      city: '朔州市',\n      text: '市辖区',\n      value: '140601'\n    },\n    {\n      city: '朔州市',\n      text: '朔城区',\n      value: '140602'\n    },\n    {\n      city: '朔州市',\n      text: '平鲁区',\n      value: '140603'\n    },\n    {\n      city: '朔州市',\n      text: '山阴县',\n      value: '140621'\n    },\n    {\n      city: '朔州市',\n      text: '应县',\n      value: '140622'\n    },\n    {\n      city: '朔州市',\n      text: '右玉县',\n      value: '140623'\n    },\n    {\n      city: '朔州市',\n      text: '怀仁县',\n      value: '140624'\n    }\n  ],\n  '140700': [\n    {\n      city: '晋中市',\n      text: '市辖区',\n      value: '140701'\n    },\n    {\n      city: '晋中市',\n      text: '榆次区',\n      value: '140702'\n    },\n    {\n      city: '晋中市',\n      text: '榆社县',\n      value: '140721'\n    },\n    {\n      city: '晋中市',\n      text: '左权县',\n      value: '140722'\n    },\n    {\n      city: '晋中市',\n      text: '和顺县',\n      value: '140723'\n    },\n    {\n      city: '晋中市',\n      text: '昔阳县',\n      value: '140724'\n    },\n    {\n      city: '晋中市',\n      text: '寿阳县',\n      value: '140725'\n    },\n    {\n      city: '晋中市',\n      text: '太谷县',\n      value: '140726'\n    },\n    {\n      city: '晋中市',\n      text: '祁县',\n      value: '140727'\n    },\n    {\n      city: '晋中市',\n      text: '平遥县',\n      value: '140728'\n    },\n    {\n      city: '晋中市',\n      text: '灵石县',\n      value: '140729'\n    },\n    {\n      city: '晋中市',\n      text: '介休市',\n      value: '140781'\n    }\n  ],\n  '140800': [\n    {\n      city: '运城市',\n      text: '市辖区',\n      value: '140801'\n    },\n    {\n      city: '运城市',\n      text: '盐湖区',\n      value: '140802'\n    },\n    {\n      city: '运城市',\n      text: '临猗县',\n      value: '140821'\n    },\n    {\n      city: '运城市',\n      text: '万荣县',\n      value: '140822'\n    },\n    {\n      city: '运城市',\n      text: '闻喜县',\n      value: '140823'\n    },\n    {\n      city: '运城市',\n      text: '稷山县',\n      value: '140824'\n    },\n    {\n      city: '运城市',\n      text: '新绛县',\n      value: '140825'\n    },\n    {\n      city: '运城市',\n      text: '绛县',\n      value: '140826'\n    },\n    {\n      city: '运城市',\n      text: '垣曲县',\n      value: '140827'\n    },\n    {\n      city: '运城市',\n      text: '夏县',\n      value: '140828'\n    },\n    {\n      city: '运城市',\n      text: '平陆县',\n      value: '140829'\n    },\n    {\n      city: '运城市',\n      text: '芮城县',\n      value: '140830'\n    },\n    {\n      city: '运城市',\n      text: '永济市',\n      value: '140881'\n    },\n    {\n      city: '运城市',\n      text: '河津市',\n      value: '140882'\n    }\n  ],\n  '140900': [\n    {\n      city: '忻州市',\n      text: '市辖区',\n      value: '140901'\n    },\n    {\n      city: '忻州市',\n      text: '忻府区',\n      value: '140902'\n    },\n    {\n      city: '忻州市',\n      text: '定襄县',\n      value: '140921'\n    },\n    {\n      city: '忻州市',\n      text: '五台县',\n      value: '140922'\n    },\n    {\n      city: '忻州市',\n      text: '代县',\n      value: '140923'\n    },\n    {\n      city: '忻州市',\n      text: '繁峙县',\n      value: '140924'\n    },\n    {\n      city: '忻州市',\n      text: '宁武县',\n      value: '140925'\n    },\n    {\n      city: '忻州市',\n      text: '静乐县',\n      value: '140926'\n    },\n    {\n      city: '忻州市',\n      text: '神池县',\n      value: '140927'\n    },\n    {\n      city: '忻州市',\n      text: '五寨县',\n      value: '140928'\n    },\n    {\n      city: '忻州市',\n      text: '岢岚县',\n      value: '140929'\n    },\n    {\n      city: '忻州市',\n      text: '河曲县',\n      value: '140930'\n    },\n    {\n      city: '忻州市',\n      text: '保德县',\n      value: '140931'\n    },\n    {\n      city: '忻州市',\n      text: '偏关县',\n      value: '140932'\n    },\n    {\n      city: '忻州市',\n      text: '原平市',\n      value: '140981'\n    }\n  ],\n  '141000': [\n    {\n      city: '临汾市',\n      text: '市辖区',\n      value: '141001'\n    },\n    {\n      city: '临汾市',\n      text: '尧都区',\n      value: '141002'\n    },\n    {\n      city: '临汾市',\n      text: '曲沃县',\n      value: '141021'\n    },\n    {\n      city: '临汾市',\n      text: '翼城县',\n      value: '141022'\n    },\n    {\n      city: '临汾市',\n      text: '襄汾县',\n      value: '141023'\n    },\n    {\n      city: '临汾市',\n      text: '洪洞县',\n      value: '141024'\n    },\n    {\n      city: '临汾市',\n      text: '古县',\n      value: '141025'\n    },\n    {\n      city: '临汾市',\n      text: '安泽县',\n      value: '141026'\n    },\n    {\n      city: '临汾市',\n      text: '浮山县',\n      value: '141027'\n    },\n    {\n      city: '临汾市',\n      text: '吉县',\n      value: '141028'\n    },\n    {\n      city: '临汾市',\n      text: '乡宁县',\n      value: '141029'\n    },\n    {\n      city: '临汾市',\n      text: '大宁县',\n      value: '141030'\n    },\n    {\n      city: '临汾市',\n      text: '隰县',\n      value: '141031'\n    },\n    {\n      city: '临汾市',\n      text: '永和县',\n      value: '141032'\n    },\n    {\n      city: '临汾市',\n      text: '蒲县',\n      value: '141033'\n    },\n    {\n      city: '临汾市',\n      text: '汾西县',\n      value: '141034'\n    },\n    {\n      city: '临汾市',\n      text: '侯马市',\n      value: '141081'\n    },\n    {\n      city: '临汾市',\n      text: '霍州市',\n      value: '141082'\n    }\n  ],\n  '141100': [\n    {\n      city: '吕梁市',\n      text: '市辖区',\n      value: '141101'\n    },\n    {\n      city: '吕梁市',\n      text: '离石区',\n      value: '141102'\n    },\n    {\n      city: '吕梁市',\n      text: '文水县',\n      value: '141121'\n    },\n    {\n      city: '吕梁市',\n      text: '交城县',\n      value: '141122'\n    },\n    {\n      city: '吕梁市',\n      text: '兴县',\n      value: '141123'\n    },\n    {\n      city: '吕梁市',\n      text: '临县',\n      value: '141124'\n    },\n    {\n      city: '吕梁市',\n      text: '柳林县',\n      value: '141125'\n    },\n    {\n      city: '吕梁市',\n      text: '石楼县',\n      value: '141126'\n    },\n    {\n      city: '吕梁市',\n      text: '岚县',\n      value: '141127'\n    },\n    {\n      city: '吕梁市',\n      text: '方山县',\n      value: '141128'\n    },\n    {\n      city: '吕梁市',\n      text: '中阳县',\n      value: '141129'\n    },\n    {\n      city: '吕梁市',\n      text: '交口县',\n      value: '141130'\n    },\n    {\n      city: '吕梁市',\n      text: '孝义市',\n      value: '141181'\n    },\n    {\n      city: '吕梁市',\n      text: '汾阳市',\n      value: '141182'\n    }\n  ],\n  '150100': [\n    {\n      city: '呼和浩特市',\n      text: '市辖区',\n      value: '150101'\n    },\n    {\n      city: '呼和浩特市',\n      text: '新城区',\n      value: '150102'\n    },\n    {\n      city: '呼和浩特市',\n      text: '回民区',\n      value: '150103'\n    },\n    {\n      city: '呼和浩特市',\n      text: '玉泉区',\n      value: '150104'\n    },\n    {\n      city: '呼和浩特市',\n      text: '赛罕区',\n      value: '150105'\n    },\n    {\n      city: '呼和浩特市',\n      text: '土默特左旗',\n      value: '150121'\n    },\n    {\n      city: '呼和浩特市',\n      text: '托克托县',\n      value: '150122'\n    },\n    {\n      city: '呼和浩特市',\n      text: '和林格尔县',\n      value: '150123'\n    },\n    {\n      city: '呼和浩特市',\n      text: '清水河县',\n      value: '150124'\n    },\n    {\n      city: '呼和浩特市',\n      text: '武川县',\n      value: '150125'\n    }\n  ],\n  '150200': [\n    {\n      city: '包头市',\n      text: '市辖区',\n      value: '150201'\n    },\n    {\n      city: '包头市',\n      text: '东河区',\n      value: '150202'\n    },\n    {\n      city: '包头市',\n      text: '昆都仑区',\n      value: '150203'\n    },\n    {\n      city: '包头市',\n      text: '青山区',\n      value: '150204'\n    },\n    {\n      city: '包头市',\n      text: '石拐区',\n      value: '150205'\n    },\n    {\n      city: '包头市',\n      text: '白云鄂博矿区',\n      value: '150206'\n    },\n    {\n      city: '包头市',\n      text: '九原区',\n      value: '150207'\n    },\n    {\n      city: '包头市',\n      text: '土默特右旗',\n      value: '150221'\n    },\n    {\n      city: '包头市',\n      text: '固阳县',\n      value: '150222'\n    },\n    {\n      city: '包头市',\n      text: '达尔罕茂明安联合旗',\n      value: '150223'\n    }\n  ],\n  '150300': [\n    {\n      city: '乌海市',\n      text: '市辖区',\n      value: '150301'\n    },\n    {\n      city: '乌海市',\n      text: '海勃湾区',\n      value: '150302'\n    },\n    {\n      city: '乌海市',\n      text: '海南区',\n      value: '150303'\n    },\n    {\n      city: '乌海市',\n      text: '乌达区',\n      value: '150304'\n    }\n  ],\n  '150400': [\n    {\n      city: '赤峰市',\n      text: '市辖区',\n      value: '150401'\n    },\n    {\n      city: '赤峰市',\n      text: '红山区',\n      value: '150402'\n    },\n    {\n      city: '赤峰市',\n      text: '元宝山区',\n      value: '150403'\n    },\n    {\n      city: '赤峰市',\n      text: '松山区',\n      value: '150404'\n    },\n    {\n      city: '赤峰市',\n      text: '阿鲁科尔沁旗',\n      value: '150421'\n    },\n    {\n      city: '赤峰市',\n      text: '巴林左旗',\n      value: '150422'\n    },\n    {\n      city: '赤峰市',\n      text: '巴林右旗',\n      value: '150423'\n    },\n    {\n      city: '赤峰市',\n      text: '林西县',\n      value: '150424'\n    },\n    {\n      city: '赤峰市',\n      text: '克什克腾旗',\n      value: '150425'\n    },\n    {\n      city: '赤峰市',\n      text: '翁牛特旗',\n      value: '150426'\n    },\n    {\n      city: '赤峰市',\n      text: '喀喇沁旗',\n      value: '150428'\n    },\n    {\n      city: '赤峰市',\n      text: '宁城县',\n      value: '150429'\n    },\n    {\n      city: '赤峰市',\n      text: '敖汉旗',\n      value: '150430'\n    }\n  ],\n  '150500': [\n    {\n      city: '通辽市',\n      text: '市辖区',\n      value: '150501'\n    },\n    {\n      city: '通辽市',\n      text: '科尔沁区',\n      value: '150502'\n    },\n    {\n      city: '通辽市',\n      text: '科尔沁左翼中旗',\n      value: '150521'\n    },\n    {\n      city: '通辽市',\n      text: '科尔沁左翼后旗',\n      value: '150522'\n    },\n    {\n      city: '通辽市',\n      text: '开鲁县',\n      value: '150523'\n    },\n    {\n      city: '通辽市',\n      text: '库伦旗',\n      value: '150524'\n    },\n    {\n      city: '通辽市',\n      text: '奈曼旗',\n      value: '150525'\n    },\n    {\n      city: '通辽市',\n      text: '扎鲁特旗',\n      value: '150526'\n    },\n    {\n      city: '通辽市',\n      text: '霍林郭勒市',\n      value: '150581'\n    }\n  ],\n  '150600': [\n    {\n      city: '鄂尔多斯市',\n      text: '市辖区',\n      value: '150601'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '东胜区',\n      value: '150602'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '康巴什区',\n      value: '150603'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '达拉特旗',\n      value: '150621'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '准格尔旗',\n      value: '150622'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '鄂托克前旗',\n      value: '150623'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '鄂托克旗',\n      value: '150624'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '杭锦旗',\n      value: '150625'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '乌审旗',\n      value: '150626'\n    },\n    {\n      city: '鄂尔多斯市',\n      text: '伊金霍洛旗',\n      value: '150627'\n    }\n  ],\n  '150700': [\n    {\n      city: '呼伦贝尔市',\n      text: '市辖区',\n      value: '150701'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '海拉尔区',\n      value: '150702'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '扎赉诺尔区',\n      value: '150703'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '阿荣旗',\n      value: '150721'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '莫力达瓦达斡尔族自治旗',\n      value: '150722'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '鄂伦春自治旗',\n      value: '150723'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '鄂温克族自治旗',\n      value: '150724'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '陈巴尔虎旗',\n      value: '150725'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '新巴尔虎左旗',\n      value: '150726'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '新巴尔虎右旗',\n      value: '150727'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '满洲里市',\n      value: '150781'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '牙克石市',\n      value: '150782'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '扎兰屯市',\n      value: '150783'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '额尔古纳市',\n      value: '150784'\n    },\n    {\n      city: '呼伦贝尔市',\n      text: '根河市',\n      value: '150785'\n    }\n  ],\n  '150800': [\n    {\n      city: '巴彦淖尔市',\n      text: '市辖区',\n      value: '150801'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '临河区',\n      value: '150802'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '五原县',\n      value: '150821'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '磴口县',\n      value: '150822'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '乌拉特前旗',\n      value: '150823'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '乌拉特中旗',\n      value: '150824'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '乌拉特后旗',\n      value: '150825'\n    },\n    {\n      city: '巴彦淖尔市',\n      text: '杭锦后旗',\n      value: '150826'\n    }\n  ],\n  '150900': [\n    {\n      city: '乌兰察布市',\n      text: '市辖区',\n      value: '150901'\n    },\n    {\n      city: '乌兰察布市',\n      text: '集宁区',\n      value: '150902'\n    },\n    {\n      city: '乌兰察布市',\n      text: '卓资县',\n      value: '150921'\n    },\n    {\n      city: '乌兰察布市',\n      text: '化德县',\n      value: '150922'\n    },\n    {\n      city: '乌兰察布市',\n      text: '商都县',\n      value: '150923'\n    },\n    {\n      city: '乌兰察布市',\n      text: '兴和县',\n      value: '150924'\n    },\n    {\n      city: '乌兰察布市',\n      text: '凉城县',\n      value: '150925'\n    },\n    {\n      city: '乌兰察布市',\n      text: '察哈尔右翼前旗',\n      value: '150926'\n    },\n    {\n      city: '乌兰察布市',\n      text: '察哈尔右翼中旗',\n      value: '150927'\n    },\n    {\n      city: '乌兰察布市',\n      text: '察哈尔右翼后旗',\n      value: '150928'\n    },\n    {\n      city: '乌兰察布市',\n      text: '四子王旗',\n      value: '150929'\n    },\n    {\n      city: '乌兰察布市',\n      text: '丰镇市',\n      value: '150981'\n    }\n  ],\n  '152200': [\n    {\n      city: '兴安盟',\n      text: '乌兰浩特市',\n      value: '152201'\n    },\n    {\n      city: '兴安盟',\n      text: '阿尔山市',\n      value: '152202'\n    },\n    {\n      city: '兴安盟',\n      text: '科尔沁右翼前旗',\n      value: '152221'\n    },\n    {\n      city: '兴安盟',\n      text: '科尔沁右翼中旗',\n      value: '152222'\n    },\n    {\n      city: '兴安盟',\n      text: '扎赉特旗',\n      value: '152223'\n    },\n    {\n      city: '兴安盟',\n      text: '突泉县',\n      value: '152224'\n    }\n  ],\n  '152500': [\n    {\n      city: '锡林郭勒盟',\n      text: '二连浩特市',\n      value: '152501'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '锡林浩特市',\n      value: '152502'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '阿巴嘎旗',\n      value: '152522'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '苏尼特左旗',\n      value: '152523'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '苏尼特右旗',\n      value: '152524'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '东乌珠穆沁旗',\n      value: '152525'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '西乌珠穆沁旗',\n      value: '152526'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '太仆寺旗',\n      value: '152527'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '镶黄旗',\n      value: '152528'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '正镶白旗',\n      value: '152529'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '正蓝旗',\n      value: '152530'\n    },\n    {\n      city: '锡林郭勒盟',\n      text: '多伦县',\n      value: '152531'\n    }\n  ],\n  '152900': [\n    {\n      city: '阿拉善盟',\n      text: '阿拉善左旗',\n      value: '152921'\n    },\n    {\n      city: '阿拉善盟',\n      text: '阿拉善右旗',\n      value: '152922'\n    },\n    {\n      city: '阿拉善盟',\n      text: '额济纳旗',\n      value: '152923'\n    }\n  ],\n  '210100': [\n    {\n      city: '沈阳市',\n      text: '市辖区',\n      value: '210101'\n    },\n    {\n      city: '沈阳市',\n      text: '和平区',\n      value: '210102'\n    },\n    {\n      city: '沈阳市',\n      text: '沈河区',\n      value: '210103'\n    },\n    {\n      city: '沈阳市',\n      text: '大东区',\n      value: '210104'\n    },\n    {\n      city: '沈阳市',\n      text: '皇姑区',\n      value: '210105'\n    },\n    {\n      city: '沈阳市',\n      text: '铁西区',\n      value: '210106'\n    },\n    {\n      city: '沈阳市',\n      text: '苏家屯区',\n      value: '210111'\n    },\n    {\n      city: '沈阳市',\n      text: '浑南区',\n      value: '210112'\n    },\n    {\n      city: '沈阳市',\n      text: '沈北新区',\n      value: '210113'\n    },\n    {\n      city: '沈阳市',\n      text: '于洪区',\n      value: '210114'\n    },\n    {\n      city: '沈阳市',\n      text: '辽中区',\n      value: '210115'\n    },\n    {\n      city: '沈阳市',\n      text: '康平县',\n      value: '210123'\n    },\n    {\n      city: '沈阳市',\n      text: '法库县',\n      value: '210124'\n    },\n    {\n      city: '沈阳市',\n      text: '新民市',\n      value: '210181'\n    }\n  ],\n  '210200': [\n    {\n      city: '大连市',\n      text: '市辖区',\n      value: '210201'\n    },\n    {\n      city: '大连市',\n      text: '中山区',\n      value: '210202'\n    },\n    {\n      city: '大连市',\n      text: '西岗区',\n      value: '210203'\n    },\n    {\n      city: '大连市',\n      text: '沙河口区',\n      value: '210204'\n    },\n    {\n      city: '大连市',\n      text: '甘井子区',\n      value: '210211'\n    },\n    {\n      city: '大连市',\n      text: '旅顺口区',\n      value: '210212'\n    },\n    {\n      city: '大连市',\n      text: '金州区',\n      value: '210213'\n    },\n    {\n      city: '大连市',\n      text: '普兰店区',\n      value: '210214'\n    },\n    {\n      city: '大连市',\n      text: '长海县',\n      value: '210224'\n    },\n    {\n      city: '大连市',\n      text: '瓦房店市',\n      value: '210281'\n    },\n    {\n      city: '大连市',\n      text: '庄河市',\n      value: '210283'\n    }\n  ],\n  '210300': [\n    {\n      city: '鞍山市',\n      text: '市辖区',\n      value: '210301'\n    },\n    {\n      city: '鞍山市',\n      text: '铁东区',\n      value: '210302'\n    },\n    {\n      city: '鞍山市',\n      text: '铁西区',\n      value: '210303'\n    },\n    {\n      city: '鞍山市',\n      text: '立山区',\n      value: '210304'\n    },\n    {\n      city: '鞍山市',\n      text: '千山区',\n      value: '210311'\n    },\n    {\n      city: '鞍山市',\n      text: '台安县',\n      value: '210321'\n    },\n    {\n      city: '鞍山市',\n      text: '岫岩满族自治县',\n      value: '210323'\n    },\n    {\n      city: '鞍山市',\n      text: '海城市',\n      value: '210381'\n    }\n  ],\n  '210400': [\n    {\n      city: '抚顺市',\n      text: '市辖区',\n      value: '210401'\n    },\n    {\n      city: '抚顺市',\n      text: '新抚区',\n      value: '210402'\n    },\n    {\n      city: '抚顺市',\n      text: '东洲区',\n      value: '210403'\n    },\n    {\n      city: '抚顺市',\n      text: '望花区',\n      value: '210404'\n    },\n    {\n      city: '抚顺市',\n      text: '顺城区',\n      value: '210411'\n    },\n    {\n      city: '抚顺市',\n      text: '抚顺县',\n      value: '210421'\n    },\n    {\n      city: '抚顺市',\n      text: '新宾满族自治县',\n      value: '210422'\n    },\n    {\n      city: '抚顺市',\n      text: '清原满族自治县',\n      value: '210423'\n    }\n  ],\n  '210500': [\n    {\n      city: '本溪市',\n      text: '市辖区',\n      value: '210501'\n    },\n    {\n      city: '本溪市',\n      text: '平山区',\n      value: '210502'\n    },\n    {\n      city: '本溪市',\n      text: '溪湖区',\n      value: '210503'\n    },\n    {\n      city: '本溪市',\n      text: '明山区',\n      value: '210504'\n    },\n    {\n      city: '本溪市',\n      text: '南芬区',\n      value: '210505'\n    },\n    {\n      city: '本溪市',\n      text: '本溪满族自治县',\n      value: '210521'\n    },\n    {\n      city: '本溪市',\n      text: '桓仁满族自治县',\n      value: '210522'\n    }\n  ],\n  '210600': [\n    {\n      city: '丹东市',\n      text: '市辖区',\n      value: '210601'\n    },\n    {\n      city: '丹东市',\n      text: '元宝区',\n      value: '210602'\n    },\n    {\n      city: '丹东市',\n      text: '振兴区',\n      value: '210603'\n    },\n    {\n      city: '丹东市',\n      text: '振安区',\n      value: '210604'\n    },\n    {\n      city: '丹东市',\n      text: '宽甸满族自治县',\n      value: '210624'\n    },\n    {\n      city: '丹东市',\n      text: '东港市',\n      value: '210681'\n    },\n    {\n      city: '丹东市',\n      text: '凤城市',\n      value: '210682'\n    }\n  ],\n  '210700': [\n    {\n      city: '锦州市',\n      text: '市辖区',\n      value: '210701'\n    },\n    {\n      city: '锦州市',\n      text: '古塔区',\n      value: '210702'\n    },\n    {\n      city: '锦州市',\n      text: '凌河区',\n      value: '210703'\n    },\n    {\n      city: '锦州市',\n      text: '太和区',\n      value: '210711'\n    },\n    {\n      city: '锦州市',\n      text: '黑山县',\n      value: '210726'\n    },\n    {\n      city: '锦州市',\n      text: '义县',\n      value: '210727'\n    },\n    {\n      city: '锦州市',\n      text: '凌海市',\n      value: '210781'\n    },\n    {\n      city: '锦州市',\n      text: '北镇市',\n      value: '210782'\n    }\n  ],\n  '210800': [\n    {\n      city: '营口市',\n      text: '市辖区',\n      value: '210801'\n    },\n    {\n      city: '营口市',\n      text: '站前区',\n      value: '210802'\n    },\n    {\n      city: '营口市',\n      text: '西市区',\n      value: '210803'\n    },\n    {\n      city: '营口市',\n      text: '鲅鱼圈区',\n      value: '210804'\n    },\n    {\n      city: '营口市',\n      text: '老边区',\n      value: '210811'\n    },\n    {\n      city: '营口市',\n      text: '盖州市',\n      value: '210881'\n    },\n    {\n      city: '营口市',\n      text: '大石桥市',\n      value: '210882'\n    }\n  ],\n  '210900': [\n    {\n      city: '阜新市',\n      text: '市辖区',\n      value: '210901'\n    },\n    {\n      city: '阜新市',\n      text: '海州区',\n      value: '210902'\n    },\n    {\n      city: '阜新市',\n      text: '新邱区',\n      value: '210903'\n    },\n    {\n      city: '阜新市',\n      text: '太平区',\n      value: '210904'\n    },\n    {\n      city: '阜新市',\n      text: '清河门区',\n      value: '210905'\n    },\n    {\n      city: '阜新市',\n      text: '细河区',\n      value: '210911'\n    },\n    {\n      city: '阜新市',\n      text: '阜新蒙古族自治县',\n      value: '210921'\n    },\n    {\n      city: '阜新市',\n      text: '彰武县',\n      value: '210922'\n    }\n  ],\n  '211000': [\n    {\n      city: '辽阳市',\n      text: '市辖区',\n      value: '211001'\n    },\n    {\n      city: '辽阳市',\n      text: '白塔区',\n      value: '211002'\n    },\n    {\n      city: '辽阳市',\n      text: '文圣区',\n      value: '211003'\n    },\n    {\n      city: '辽阳市',\n      text: '宏伟区',\n      value: '211004'\n    },\n    {\n      city: '辽阳市',\n      text: '弓长岭区',\n      value: '211005'\n    },\n    {\n      city: '辽阳市',\n      text: '太子河区',\n      value: '211011'\n    },\n    {\n      city: '辽阳市',\n      text: '辽阳县',\n      value: '211021'\n    },\n    {\n      city: '辽阳市',\n      text: '灯塔市',\n      value: '211081'\n    }\n  ],\n  '211100': [\n    {\n      city: '盘锦市',\n      text: '市辖区',\n      value: '211101'\n    },\n    {\n      city: '盘锦市',\n      text: '双台子区',\n      value: '211102'\n    },\n    {\n      city: '盘锦市',\n      text: '兴隆台区',\n      value: '211103'\n    },\n    {\n      city: '盘锦市',\n      text: '大洼区',\n      value: '211104'\n    },\n    {\n      city: '盘锦市',\n      text: '盘山县',\n      value: '211122'\n    }\n  ],\n  '211200': [\n    {\n      city: '铁岭市',\n      text: '市辖区',\n      value: '211201'\n    },\n    {\n      city: '铁岭市',\n      text: '银州区',\n      value: '211202'\n    },\n    {\n      city: '铁岭市',\n      text: '清河区',\n      value: '211204'\n    },\n    {\n      city: '铁岭市',\n      text: '铁岭县',\n      value: '211221'\n    },\n    {\n      city: '铁岭市',\n      text: '西丰县',\n      value: '211223'\n    },\n    {\n      city: '铁岭市',\n      text: '昌图县',\n      value: '211224'\n    },\n    {\n      city: '铁岭市',\n      text: '调兵山市',\n      value: '211281'\n    },\n    {\n      city: '铁岭市',\n      text: '开原市',\n      value: '211282'\n    }\n  ],\n  '211300': [\n    {\n      city: '朝阳市',\n      text: '市辖区',\n      value: '211301'\n    },\n    {\n      city: '朝阳市',\n      text: '双塔区',\n      value: '211302'\n    },\n    {\n      city: '朝阳市',\n      text: '龙城区',\n      value: '211303'\n    },\n    {\n      city: '朝阳市',\n      text: '朝阳县',\n      value: '211321'\n    },\n    {\n      city: '朝阳市',\n      text: '建平县',\n      value: '211322'\n    },\n    {\n      city: '朝阳市',\n      text: '喀喇沁左翼蒙古族自治县',\n      value: '211324'\n    },\n    {\n      city: '朝阳市',\n      text: '北票市',\n      value: '211381'\n    },\n    {\n      city: '朝阳市',\n      text: '凌源市',\n      value: '211382'\n    }\n  ],\n  '211400': [\n    {\n      city: '葫芦岛市',\n      text: '市辖区',\n      value: '211401'\n    },\n    {\n      city: '葫芦岛市',\n      text: '连山区',\n      value: '211402'\n    },\n    {\n      city: '葫芦岛市',\n      text: '龙港区',\n      value: '211403'\n    },\n    {\n      city: '葫芦岛市',\n      text: '南票区',\n      value: '211404'\n    },\n    {\n      city: '葫芦岛市',\n      text: '绥中县',\n      value: '211421'\n    },\n    {\n      city: '葫芦岛市',\n      text: '建昌县',\n      value: '211422'\n    },\n    {\n      city: '葫芦岛市',\n      text: '兴城市',\n      value: '211481'\n    }\n  ],\n  '220100': [\n    {\n      city: '长春市',\n      text: '市辖区',\n      value: '220101'\n    },\n    {\n      city: '长春市',\n      text: '南关区',\n      value: '220102'\n    },\n    {\n      city: '长春市',\n      text: '宽城区',\n      value: '220103'\n    },\n    {\n      city: '长春市',\n      text: '朝阳区',\n      value: '220104'\n    },\n    {\n      city: '长春市',\n      text: '二道区',\n      value: '220105'\n    },\n    {\n      city: '长春市',\n      text: '绿园区',\n      value: '220106'\n    },\n    {\n      city: '长春市',\n      text: '双阳区',\n      value: '220112'\n    },\n    {\n      city: '长春市',\n      text: '九台区',\n      value: '220113'\n    },\n    {\n      city: '长春市',\n      text: '农安县',\n      value: '220122'\n    },\n    {\n      city: '长春市',\n      text: '榆树市',\n      value: '220182'\n    },\n    {\n      city: '长春市',\n      text: '德惠市',\n      value: '220183'\n    }\n  ],\n  '220200': [\n    {\n      city: '吉林市',\n      text: '市辖区',\n      value: '220201'\n    },\n    {\n      city: '吉林市',\n      text: '昌邑区',\n      value: '220202'\n    },\n    {\n      city: '吉林市',\n      text: '龙潭区',\n      value: '220203'\n    },\n    {\n      city: '吉林市',\n      text: '船营区',\n      value: '220204'\n    },\n    {\n      city: '吉林市',\n      text: '丰满区',\n      value: '220211'\n    },\n    {\n      city: '吉林市',\n      text: '永吉县',\n      value: '220221'\n    },\n    {\n      city: '吉林市',\n      text: '蛟河市',\n      value: '220281'\n    },\n    {\n      city: '吉林市',\n      text: '桦甸市',\n      value: '220282'\n    },\n    {\n      city: '吉林市',\n      text: '舒兰市',\n      value: '220283'\n    },\n    {\n      city: '吉林市',\n      text: '磐石市',\n      value: '220284'\n    }\n  ],\n  '220300': [\n    {\n      city: '四平市',\n      text: '市辖区',\n      value: '220301'\n    },\n    {\n      city: '四平市',\n      text: '铁西区',\n      value: '220302'\n    },\n    {\n      city: '四平市',\n      text: '铁东区',\n      value: '220303'\n    },\n    {\n      city: '四平市',\n      text: '梨树县',\n      value: '220322'\n    },\n    {\n      city: '四平市',\n      text: '伊通满族自治县',\n      value: '220323'\n    },\n    {\n      city: '四平市',\n      text: '公主岭市',\n      value: '220381'\n    },\n    {\n      city: '四平市',\n      text: '双辽市',\n      value: '220382'\n    }\n  ],\n  '220400': [\n    {\n      city: '辽源市',\n      text: '市辖区',\n      value: '220401'\n    },\n    {\n      city: '辽源市',\n      text: '龙山区',\n      value: '220402'\n    },\n    {\n      city: '辽源市',\n      text: '西安区',\n      value: '220403'\n    },\n    {\n      city: '辽源市',\n      text: '东丰县',\n      value: '220421'\n    },\n    {\n      city: '辽源市',\n      text: '东辽县',\n      value: '220422'\n    }\n  ],\n  '220500': [\n    {\n      city: '通化市',\n      text: '市辖区',\n      value: '220501'\n    },\n    {\n      city: '通化市',\n      text: '东昌区',\n      value: '220502'\n    },\n    {\n      city: '通化市',\n      text: '二道江区',\n      value: '220503'\n    },\n    {\n      city: '通化市',\n      text: '通化县',\n      value: '220521'\n    },\n    {\n      city: '通化市',\n      text: '辉南县',\n      value: '220523'\n    },\n    {\n      city: '通化市',\n      text: '柳河县',\n      value: '220524'\n    },\n    {\n      city: '通化市',\n      text: '梅河口市',\n      value: '220581'\n    },\n    {\n      city: '通化市',\n      text: '集安市',\n      value: '220582'\n    }\n  ],\n  '220600': [\n    {\n      city: '白山市',\n      text: '市辖区',\n      value: '220601'\n    },\n    {\n      city: '白山市',\n      text: '浑江区',\n      value: '220602'\n    },\n    {\n      city: '白山市',\n      text: '江源区',\n      value: '220605'\n    },\n    {\n      city: '白山市',\n      text: '抚松县',\n      value: '220621'\n    },\n    {\n      city: '白山市',\n      text: '靖宇县',\n      value: '220622'\n    },\n    {\n      city: '白山市',\n      text: '长白朝鲜族自治县',\n      value: '220623'\n    },\n    {\n      city: '白山市',\n      text: '临江市',\n      value: '220681'\n    }\n  ],\n  '220700': [\n    {\n      city: '松原市',\n      text: '市辖区',\n      value: '220701'\n    },\n    {\n      city: '松原市',\n      text: '宁江区',\n      value: '220702'\n    },\n    {\n      city: '松原市',\n      text: '前郭尔罗斯蒙古族自治县',\n      value: '220721'\n    },\n    {\n      city: '松原市',\n      text: '长岭县',\n      value: '220722'\n    },\n    {\n      city: '松原市',\n      text: '乾安县',\n      value: '220723'\n    },\n    {\n      city: '松原市',\n      text: '扶余市',\n      value: '220781'\n    }\n  ],\n  '220800': [\n    {\n      city: '白城市',\n      text: '市辖区',\n      value: '220801'\n    },\n    {\n      city: '白城市',\n      text: '洮北区',\n      value: '220802'\n    },\n    {\n      city: '白城市',\n      text: '镇赉县',\n      value: '220821'\n    },\n    {\n      city: '白城市',\n      text: '通榆县',\n      value: '220822'\n    },\n    {\n      city: '白城市',\n      text: '洮南市',\n      value: '220881'\n    },\n    {\n      city: '白城市',\n      text: '大安市',\n      value: '220882'\n    }\n  ],\n  '222400': [\n    {\n      city: '延边朝鲜族自治州',\n      text: '延吉市',\n      value: '222401'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '图们市',\n      value: '222402'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '敦化市',\n      value: '222403'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '珲春市',\n      value: '222404'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '龙井市',\n      value: '222405'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '和龙市',\n      value: '222406'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '汪清县',\n      value: '222424'\n    },\n    {\n      city: '延边朝鲜族自治州',\n      text: '安图县',\n      value: '222426'\n    }\n  ],\n  '230100': [\n    {\n      city: '哈尔滨市',\n      text: '市辖区',\n      value: '230101'\n    },\n    {\n      city: '哈尔滨市',\n      text: '道里区',\n      value: '230102'\n    },\n    {\n      city: '哈尔滨市',\n      text: '南岗区',\n      value: '230103'\n    },\n    {\n      city: '哈尔滨市',\n      text: '道外区',\n      value: '230104'\n    },\n    {\n      city: '哈尔滨市',\n      text: '平房区',\n      value: '230108'\n    },\n    {\n      city: '哈尔滨市',\n      text: '松北区',\n      value: '230109'\n    },\n    {\n      city: '哈尔滨市',\n      text: '香坊区',\n      value: '230110'\n    },\n    {\n      city: '哈尔滨市',\n      text: '呼兰区',\n      value: '230111'\n    },\n    {\n      city: '哈尔滨市',\n      text: '阿城区',\n      value: '230112'\n    },\n    {\n      city: '哈尔滨市',\n      text: '双城区',\n      value: '230113'\n    },\n    {\n      city: '哈尔滨市',\n      text: '依兰县',\n      value: '230123'\n    },\n    {\n      city: '哈尔滨市',\n      text: '方正县',\n      value: '230124'\n    },\n    {\n      city: '哈尔滨市',\n      text: '宾县',\n      value: '230125'\n    },\n    {\n      city: '哈尔滨市',\n      text: '巴彦县',\n      value: '230126'\n    },\n    {\n      city: '哈尔滨市',\n      text: '木兰县',\n      value: '230127'\n    },\n    {\n      city: '哈尔滨市',\n      text: '通河县',\n      value: '230128'\n    },\n    {\n      city: '哈尔滨市',\n      text: '延寿县',\n      value: '230129'\n    },\n    {\n      city: '哈尔滨市',\n      text: '尚志市',\n      value: '230183'\n    },\n    {\n      city: '哈尔滨市',\n      text: '五常市',\n      value: '230184'\n    }\n  ],\n  '230200': [\n    {\n      city: '齐齐哈尔市',\n      text: '市辖区',\n      value: '230201'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '龙沙区',\n      value: '230202'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '建华区',\n      value: '230203'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '铁锋区',\n      value: '230204'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '昂昂溪区',\n      value: '230205'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '富拉尔基区',\n      value: '230206'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '碾子山区',\n      value: '230207'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '梅里斯达斡尔族区',\n      value: '230208'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '龙江县',\n      value: '230221'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '依安县',\n      value: '230223'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '泰来县',\n      value: '230224'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '甘南县',\n      value: '230225'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '富裕县',\n      value: '230227'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '克山县',\n      value: '230229'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '克东县',\n      value: '230230'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '拜泉县',\n      value: '230231'\n    },\n    {\n      city: '齐齐哈尔市',\n      text: '讷河市',\n      value: '230281'\n    }\n  ],\n  '230300': [\n    {\n      city: '鸡西市',\n      text: '市辖区',\n      value: '230301'\n    },\n    {\n      city: '鸡西市',\n      text: '鸡冠区',\n      value: '230302'\n    },\n    {\n      city: '鸡西市',\n      text: '恒山区',\n      value: '230303'\n    },\n    {\n      city: '鸡西市',\n      text: '滴道区',\n      value: '230304'\n    },\n    {\n      city: '鸡西市',\n      text: '梨树区',\n      value: '230305'\n    },\n    {\n      city: '鸡西市',\n      text: '城子河区',\n      value: '230306'\n    },\n    {\n      city: '鸡西市',\n      text: '麻山区',\n      value: '230307'\n    },\n    {\n      city: '鸡西市',\n      text: '鸡东县',\n      value: '230321'\n    },\n    {\n      city: '鸡西市',\n      text: '虎林市',\n      value: '230381'\n    },\n    {\n      city: '鸡西市',\n      text: '密山市',\n      value: '230382'\n    }\n  ],\n  '230400': [\n    {\n      city: '鹤岗市',\n      text: '市辖区',\n      value: '230401'\n    },\n    {\n      city: '鹤岗市',\n      text: '向阳区',\n      value: '230402'\n    },\n    {\n      city: '鹤岗市',\n      text: '工农区',\n      value: '230403'\n    },\n    {\n      city: '鹤岗市',\n      text: '南山区',\n      value: '230404'\n    },\n    {\n      city: '鹤岗市',\n      text: '兴安区',\n      value: '230405'\n    },\n    {\n      city: '鹤岗市',\n      text: '东山区',\n      value: '230406'\n    },\n    {\n      city: '鹤岗市',\n      text: '兴山区',\n      value: '230407'\n    },\n    {\n      city: '鹤岗市',\n      text: '萝北县',\n      value: '230421'\n    },\n    {\n      city: '鹤岗市',\n      text: '绥滨县',\n      value: '230422'\n    }\n  ],\n  '230500': [\n    {\n      city: '双鸭山市',\n      text: '市辖区',\n      value: '230501'\n    },\n    {\n      city: '双鸭山市',\n      text: '尖山区',\n      value: '230502'\n    },\n    {\n      city: '双鸭山市',\n      text: '岭东区',\n      value: '230503'\n    },\n    {\n      city: '双鸭山市',\n      text: '四方台区',\n      value: '230505'\n    },\n    {\n      city: '双鸭山市',\n      text: '宝山区',\n      value: '230506'\n    },\n    {\n      city: '双鸭山市',\n      text: '集贤县',\n      value: '230521'\n    },\n    {\n      city: '双鸭山市',\n      text: '友谊县',\n      value: '230522'\n    },\n    {\n      city: '双鸭山市',\n      text: '宝清县',\n      value: '230523'\n    },\n    {\n      city: '双鸭山市',\n      text: '饶河县',\n      value: '230524'\n    }\n  ],\n  '230600': [\n    {\n      city: '大庆市',\n      text: '市辖区',\n      value: '230601'\n    },\n    {\n      city: '大庆市',\n      text: '萨尔图区',\n      value: '230602'\n    },\n    {\n      city: '大庆市',\n      text: '龙凤区',\n      value: '230603'\n    },\n    {\n      city: '大庆市',\n      text: '让胡路区',\n      value: '230604'\n    },\n    {\n      city: '大庆市',\n      text: '红岗区',\n      value: '230605'\n    },\n    {\n      city: '大庆市',\n      text: '大同区',\n      value: '230606'\n    },\n    {\n      city: '大庆市',\n      text: '肇州县',\n      value: '230621'\n    },\n    {\n      city: '大庆市',\n      text: '肇源县',\n      value: '230622'\n    },\n    {\n      city: '大庆市',\n      text: '林甸县',\n      value: '230623'\n    },\n    {\n      city: '大庆市',\n      text: '杜尔伯特蒙古族自治县',\n      value: '230624'\n    }\n  ],\n  '230700': [\n    {\n      city: '伊春市',\n      text: '市辖区',\n      value: '230701'\n    },\n    {\n      city: '伊春市',\n      text: '伊春区',\n      value: '230702'\n    },\n    {\n      city: '伊春市',\n      text: '南岔区',\n      value: '230703'\n    },\n    {\n      city: '伊春市',\n      text: '友好区',\n      value: '230704'\n    },\n    {\n      city: '伊春市',\n      text: '西林区',\n      value: '230705'\n    },\n    {\n      city: '伊春市',\n      text: '翠峦区',\n      value: '230706'\n    },\n    {\n      city: '伊春市',\n      text: '新青区',\n      value: '230707'\n    },\n    {\n      city: '伊春市',\n      text: '美溪区',\n      value: '230708'\n    },\n    {\n      city: '伊春市',\n      text: '金山屯区',\n      value: '230709'\n    },\n    {\n      city: '伊春市',\n      text: '五营区',\n      value: '230710'\n    },\n    {\n      city: '伊春市',\n      text: '乌马河区',\n      value: '230711'\n    },\n    {\n      city: '伊春市',\n      text: '汤旺河区',\n      value: '230712'\n    },\n    {\n      city: '伊春市',\n      text: '带岭区',\n      value: '230713'\n    },\n    {\n      city: '伊春市',\n      text: '乌伊岭区',\n      value: '230714'\n    },\n    {\n      city: '伊春市',\n      text: '红星区',\n      value: '230715'\n    },\n    {\n      city: '伊春市',\n      text: '上甘岭区',\n      value: '230716'\n    },\n    {\n      city: '伊春市',\n      text: '嘉荫县',\n      value: '230722'\n    },\n    {\n      city: '伊春市',\n      text: '铁力市',\n      value: '230781'\n    }\n  ],\n  '230800': [\n    {\n      city: '佳木斯市',\n      text: '市辖区',\n      value: '230801'\n    },\n    {\n      city: '佳木斯市',\n      text: '向阳区',\n      value: '230803'\n    },\n    {\n      city: '佳木斯市',\n      text: '前进区',\n      value: '230804'\n    },\n    {\n      city: '佳木斯市',\n      text: '东风区',\n      value: '230805'\n    },\n    {\n      city: '佳木斯市',\n      text: '郊区',\n      value: '230811'\n    },\n    {\n      city: '佳木斯市',\n      text: '桦南县',\n      value: '230822'\n    },\n    {\n      city: '佳木斯市',\n      text: '桦川县',\n      value: '230826'\n    },\n    {\n      city: '佳木斯市',\n      text: '汤原县',\n      value: '230828'\n    },\n    {\n      city: '佳木斯市',\n      text: '同江市',\n      value: '230881'\n    },\n    {\n      city: '佳木斯市',\n      text: '富锦市',\n      value: '230882'\n    },\n    {\n      city: '佳木斯市',\n      text: '抚远市',\n      value: '230883'\n    }\n  ],\n  '230900': [\n    {\n      city: '七台河市',\n      text: '市辖区',\n      value: '230901'\n    },\n    {\n      city: '七台河市',\n      text: '新兴区',\n      value: '230902'\n    },\n    {\n      city: '七台河市',\n      text: '桃山区',\n      value: '230903'\n    },\n    {\n      city: '七台河市',\n      text: '茄子河区',\n      value: '230904'\n    },\n    {\n      city: '七台河市',\n      text: '勃利县',\n      value: '230921'\n    }\n  ],\n  '231000': [\n    {\n      city: '牡丹江市',\n      text: '市辖区',\n      value: '231001'\n    },\n    {\n      city: '牡丹江市',\n      text: '东安区',\n      value: '231002'\n    },\n    {\n      city: '牡丹江市',\n      text: '阳明区',\n      value: '231003'\n    },\n    {\n      city: '牡丹江市',\n      text: '爱民区',\n      value: '231004'\n    },\n    {\n      city: '牡丹江市',\n      text: '西安区',\n      value: '231005'\n    },\n    {\n      city: '牡丹江市',\n      text: '林口县',\n      value: '231025'\n    },\n    {\n      city: '牡丹江市',\n      text: '绥芬河市',\n      value: '231081'\n    },\n    {\n      city: '牡丹江市',\n      text: '海林市',\n      value: '231083'\n    },\n    {\n      city: '牡丹江市',\n      text: '宁安市',\n      value: '231084'\n    },\n    {\n      city: '牡丹江市',\n      text: '穆棱市',\n      value: '231085'\n    },\n    {\n      city: '牡丹江市',\n      text: '东宁市',\n      value: '231086'\n    }\n  ],\n  '231100': [\n    {\n      city: '黑河市',\n      text: '市辖区',\n      value: '231101'\n    },\n    {\n      city: '黑河市',\n      text: '爱辉区',\n      value: '231102'\n    },\n    {\n      city: '黑河市',\n      text: '嫩江县',\n      value: '231121'\n    },\n    {\n      city: '黑河市',\n      text: '逊克县',\n      value: '231123'\n    },\n    {\n      city: '黑河市',\n      text: '孙吴县',\n      value: '231124'\n    },\n    {\n      city: '黑河市',\n      text: '北安市',\n      value: '231181'\n    },\n    {\n      city: '黑河市',\n      text: '五大连池市',\n      value: '231182'\n    }\n  ],\n  '231200': [\n    {\n      city: '绥化市',\n      text: '市辖区',\n      value: '231201'\n    },\n    {\n      city: '绥化市',\n      text: '北林区',\n      value: '231202'\n    },\n    {\n      city: '绥化市',\n      text: '望奎县',\n      value: '231221'\n    },\n    {\n      city: '绥化市',\n      text: '兰西县',\n      value: '231222'\n    },\n    {\n      city: '绥化市',\n      text: '青冈县',\n      value: '231223'\n    },\n    {\n      city: '绥化市',\n      text: '庆安县',\n      value: '231224'\n    },\n    {\n      city: '绥化市',\n      text: '明水县',\n      value: '231225'\n    },\n    {\n      city: '绥化市',\n      text: '绥棱县',\n      value: '231226'\n    },\n    {\n      city: '绥化市',\n      text: '安达市',\n      value: '231281'\n    },\n    {\n      city: '绥化市',\n      text: '肇东市',\n      value: '231282'\n    },\n    {\n      city: '绥化市',\n      text: '海伦市',\n      value: '231283'\n    }\n  ],\n  '232700': [\n    {\n      city: '大兴安岭地区',\n      text: '呼玛县',\n      value: '232721'\n    },\n    {\n      city: '大兴安岭地区',\n      text: '塔河县',\n      value: '232722'\n    },\n    {\n      city: '大兴安岭地区',\n      text: '漠河县',\n      value: '232723'\n    }\n  ],\n  '310100': [\n    {\n      city: '市辖区',\n      text: '黄浦区',\n      value: '310101'\n    },\n    {\n      city: '市辖区',\n      text: '徐汇区',\n      value: '310104'\n    },\n    {\n      city: '市辖区',\n      text: '长宁区',\n      value: '310105'\n    },\n    {\n      city: '市辖区',\n      text: '静安区',\n      value: '310106'\n    },\n    {\n      city: '市辖区',\n      text: '普陀区',\n      value: '310107'\n    },\n    {\n      city: '市辖区',\n      text: '虹口区',\n      value: '310109'\n    },\n    {\n      city: '市辖区',\n      text: '杨浦区',\n      value: '310110'\n    },\n    {\n      city: '市辖区',\n      text: '闵行区',\n      value: '310112'\n    },\n    {\n      city: '市辖区',\n      text: '宝山区',\n      value: '310113'\n    },\n    {\n      city: '市辖区',\n      text: '嘉定区',\n      value: '310114'\n    },\n    {\n      city: '市辖区',\n      text: '浦东新区',\n      value: '310115'\n    },\n    {\n      city: '市辖区',\n      text: '金山区',\n      value: '310116'\n    },\n    {\n      city: '市辖区',\n      text: '松江区',\n      value: '310117'\n    },\n    {\n      city: '市辖区',\n      text: '青浦区',\n      value: '310118'\n    },\n    {\n      city: '市辖区',\n      text: '奉贤区',\n      value: '310120'\n    },\n    {\n      city: '市辖区',\n      text: '崇明区',\n      value: '310151'\n    }\n  ],\n  '320100': [\n    {\n      city: '南京市',\n      text: '市辖区',\n      value: '320101'\n    },\n    {\n      city: '南京市',\n      text: '玄武区',\n      value: '320102'\n    },\n    {\n      city: '南京市',\n      text: '秦淮区',\n      value: '320104'\n    },\n    {\n      city: '南京市',\n      text: '建邺区',\n      value: '320105'\n    },\n    {\n      city: '南京市',\n      text: '鼓楼区',\n      value: '320106'\n    },\n    {\n      city: '南京市',\n      text: '浦口区',\n      value: '320111'\n    },\n    {\n      city: '南京市',\n      text: '栖霞区',\n      value: '320113'\n    },\n    {\n      city: '南京市',\n      text: '雨花台区',\n      value: '320114'\n    },\n    {\n      city: '南京市',\n      text: '江宁区',\n      value: '320115'\n    },\n    {\n      city: '南京市',\n      text: '六合区',\n      value: '320116'\n    },\n    {\n      city: '南京市',\n      text: '溧水区',\n      value: '320117'\n    },\n    {\n      city: '南京市',\n      text: '高淳区',\n      value: '320118'\n    }\n  ],\n  '320200': [\n    {\n      city: '无锡市',\n      text: '市辖区',\n      value: '320201'\n    },\n    {\n      city: '无锡市',\n      text: '锡山区',\n      value: '320205'\n    },\n    {\n      city: '无锡市',\n      text: '惠山区',\n      value: '320206'\n    },\n    {\n      city: '无锡市',\n      text: '滨湖区',\n      value: '320211'\n    },\n    {\n      city: '无锡市',\n      text: '梁溪区',\n      value: '320213'\n    },\n    {\n      city: '无锡市',\n      text: '新吴区',\n      value: '320214'\n    },\n    {\n      city: '无锡市',\n      text: '江阴市',\n      value: '320281'\n    },\n    {\n      city: '无锡市',\n      text: '宜兴市',\n      value: '320282'\n    }\n  ],\n  '320300': [\n    {\n      city: '徐州市',\n      text: '市辖区',\n      value: '320301'\n    },\n    {\n      city: '徐州市',\n      text: '鼓楼区',\n      value: '320302'\n    },\n    {\n      city: '徐州市',\n      text: '云龙区',\n      value: '320303'\n    },\n    {\n      city: '徐州市',\n      text: '贾汪区',\n      value: '320305'\n    },\n    {\n      city: '徐州市',\n      text: '泉山区',\n      value: '320311'\n    },\n    {\n      city: '徐州市',\n      text: '铜山区',\n      value: '320312'\n    },\n    {\n      city: '徐州市',\n      text: '丰县',\n      value: '320321'\n    },\n    {\n      city: '徐州市',\n      text: '沛县',\n      value: '320322'\n    },\n    {\n      city: '徐州市',\n      text: '睢宁县',\n      value: '320324'\n    },\n    {\n      city: '徐州市',\n      text: '新沂市',\n      value: '320381'\n    },\n    {\n      city: '徐州市',\n      text: '邳州市',\n      value: '320382'\n    }\n  ],\n  '320400': [\n    {\n      city: '常州市',\n      text: '市辖区',\n      value: '320401'\n    },\n    {\n      city: '常州市',\n      text: '天宁区',\n      value: '320402'\n    },\n    {\n      city: '常州市',\n      text: '钟楼区',\n      value: '320404'\n    },\n    {\n      city: '常州市',\n      text: '新北区',\n      value: '320411'\n    },\n    {\n      city: '常州市',\n      text: '武进区',\n      value: '320412'\n    },\n    {\n      city: '常州市',\n      text: '金坛区',\n      value: '320413'\n    },\n    {\n      city: '常州市',\n      text: '溧阳市',\n      value: '320481'\n    }\n  ],\n  '320500': [\n    {\n      city: '苏州市',\n      text: '市辖区',\n      value: '320501'\n    },\n    {\n      city: '苏州市',\n      text: '虎丘区',\n      value: '320505'\n    },\n    {\n      city: '苏州市',\n      text: '吴中区',\n      value: '320506'\n    },\n    {\n      city: '苏州市',\n      text: '相城区',\n      value: '320507'\n    },\n    {\n      city: '苏州市',\n      text: '姑苏区',\n      value: '320508'\n    },\n    {\n      city: '苏州市',\n      text: '吴江区',\n      value: '320509'\n    },\n    {\n      city: '苏州市',\n      text: '常熟市',\n      value: '320581'\n    },\n    {\n      city: '苏州市',\n      text: '张家港市',\n      value: '320582'\n    },\n    {\n      city: '苏州市',\n      text: '昆山市',\n      value: '320583'\n    },\n    {\n      city: '苏州市',\n      text: '太仓市',\n      value: '320585'\n    }\n  ],\n  '320600': [\n    {\n      city: '南通市',\n      text: '市辖区',\n      value: '320601'\n    },\n    {\n      city: '南通市',\n      text: '崇川区',\n      value: '320602'\n    },\n    {\n      city: '南通市',\n      text: '港闸区',\n      value: '320611'\n    },\n    {\n      city: '南通市',\n      text: '通州区',\n      value: '320612'\n    },\n    {\n      city: '南通市',\n      text: '海安县',\n      value: '320621'\n    },\n    {\n      city: '南通市',\n      text: '如东县',\n      value: '320623'\n    },\n    {\n      city: '南通市',\n      text: '启东市',\n      value: '320681'\n    },\n    {\n      city: '南通市',\n      text: '如皋市',\n      value: '320682'\n    },\n    {\n      city: '南通市',\n      text: '海门市',\n      value: '320684'\n    }\n  ],\n  '320700': [\n    {\n      city: '连云港市',\n      text: '市辖区',\n      value: '320701'\n    },\n    {\n      city: '连云港市',\n      text: '连云区',\n      value: '320703'\n    },\n    {\n      city: '连云港市',\n      text: '海州区',\n      value: '320706'\n    },\n    {\n      city: '连云港市',\n      text: '赣榆区',\n      value: '320707'\n    },\n    {\n      city: '连云港市',\n      text: '东海县',\n      value: '320722'\n    },\n    {\n      city: '连云港市',\n      text: '灌云县',\n      value: '320723'\n    },\n    {\n      city: '连云港市',\n      text: '灌南县',\n      value: '320724'\n    }\n  ],\n  '320800': [\n    {\n      city: '淮安市',\n      text: '市辖区',\n      value: '320801'\n    },\n    {\n      city: '淮安市',\n      text: '淮安区',\n      value: '320803'\n    },\n    {\n      city: '淮安市',\n      text: '淮阴区',\n      value: '320804'\n    },\n    {\n      city: '淮安市',\n      text: '清江浦区',\n      value: '320812'\n    },\n    {\n      city: '淮安市',\n      text: '洪泽区',\n      value: '320813'\n    },\n    {\n      city: '淮安市',\n      text: '涟水县',\n      value: '320826'\n    },\n    {\n      city: '淮安市',\n      text: '盱眙县',\n      value: '320830'\n    },\n    {\n      city: '淮安市',\n      text: '金湖县',\n      value: '320831'\n    }\n  ],\n  '320900': [\n    {\n      city: '盐城市',\n      text: '市辖区',\n      value: '320901'\n    },\n    {\n      city: '盐城市',\n      text: '亭湖区',\n      value: '320902'\n    },\n    {\n      city: '盐城市',\n      text: '盐都区',\n      value: '320903'\n    },\n    {\n      city: '盐城市',\n      text: '大丰区',\n      value: '320904'\n    },\n    {\n      city: '盐城市',\n      text: '响水县',\n      value: '320921'\n    },\n    {\n      city: '盐城市',\n      text: '滨海县',\n      value: '320922'\n    },\n    {\n      city: '盐城市',\n      text: '阜宁县',\n      value: '320923'\n    },\n    {\n      city: '盐城市',\n      text: '射阳县',\n      value: '320924'\n    },\n    {\n      city: '盐城市',\n      text: '建湖县',\n      value: '320925'\n    },\n    {\n      city: '盐城市',\n      text: '东台市',\n      value: '320981'\n    }\n  ],\n  '321000': [\n    {\n      city: '扬州市',\n      text: '市辖区',\n      value: '321001'\n    },\n    {\n      city: '扬州市',\n      text: '广陵区',\n      value: '321002'\n    },\n    {\n      city: '扬州市',\n      text: '邗江区',\n      value: '321003'\n    },\n    {\n      city: '扬州市',\n      text: '江都区',\n      value: '321012'\n    },\n    {\n      city: '扬州市',\n      text: '宝应县',\n      value: '321023'\n    },\n    {\n      city: '扬州市',\n      text: '仪征市',\n      value: '321081'\n    },\n    {\n      city: '扬州市',\n      text: '高邮市',\n      value: '321084'\n    }\n  ],\n  '321100': [\n    {\n      city: '镇江市',\n      text: '市辖区',\n      value: '321101'\n    },\n    {\n      city: '镇江市',\n      text: '京口区',\n      value: '321102'\n    },\n    {\n      city: '镇江市',\n      text: '润州区',\n      value: '321111'\n    },\n    {\n      city: '镇江市',\n      text: '丹徒区',\n      value: '321112'\n    },\n    {\n      city: '镇江市',\n      text: '丹阳市',\n      value: '321181'\n    },\n    {\n      city: '镇江市',\n      text: '扬中市',\n      value: '321182'\n    },\n    {\n      city: '镇江市',\n      text: '句容市',\n      value: '321183'\n    }\n  ],\n  '321200': [\n    {\n      city: '泰州市',\n      text: '市辖区',\n      value: '321201'\n    },\n    {\n      city: '泰州市',\n      text: '海陵区',\n      value: '321202'\n    },\n    {\n      city: '泰州市',\n      text: '高港区',\n      value: '321203'\n    },\n    {\n      city: '泰州市',\n      text: '姜堰区',\n      value: '321204'\n    },\n    {\n      city: '泰州市',\n      text: '兴化市',\n      value: '321281'\n    },\n    {\n      city: '泰州市',\n      text: '靖江市',\n      value: '321282'\n    },\n    {\n      city: '泰州市',\n      text: '泰兴市',\n      value: '321283'\n    }\n  ],\n  '321300': [\n    {\n      city: '宿迁市',\n      text: '市辖区',\n      value: '321301'\n    },\n    {\n      city: '宿迁市',\n      text: '宿城区',\n      value: '321302'\n    },\n    {\n      city: '宿迁市',\n      text: '宿豫区',\n      value: '321311'\n    },\n    {\n      city: '宿迁市',\n      text: '沭阳县',\n      value: '321322'\n    },\n    {\n      city: '宿迁市',\n      text: '泗阳县',\n      value: '321323'\n    },\n    {\n      city: '宿迁市',\n      text: '泗洪县',\n      value: '321324'\n    }\n  ],\n  '330100': [\n    {\n      city: '杭州市',\n      text: '市辖区',\n      value: '330101'\n    },\n    {\n      city: '杭州市',\n      text: '上城区',\n      value: '330102'\n    },\n    {\n      city: '杭州市',\n      text: '下城区',\n      value: '330103'\n    },\n    {\n      city: '杭州市',\n      text: '江干区',\n      value: '330104'\n    },\n    {\n      city: '杭州市',\n      text: '拱墅区',\n      value: '330105'\n    },\n    {\n      city: '杭州市',\n      text: '西湖区',\n      value: '330106'\n    },\n    {\n      city: '杭州市',\n      text: '滨江区',\n      value: '330108'\n    },\n    {\n      city: '杭州市',\n      text: '萧山区',\n      value: '330109'\n    },\n    {\n      city: '杭州市',\n      text: '余杭区',\n      value: '330110'\n    },\n    {\n      city: '杭州市',\n      text: '富阳区',\n      value: '330111'\n    },\n    {\n      city: '杭州市',\n      text: '桐庐县',\n      value: '330122'\n    },\n    {\n      city: '杭州市',\n      text: '淳安县',\n      value: '330127'\n    },\n    {\n      city: '杭州市',\n      text: '建德市',\n      value: '330182'\n    },\n    {\n      city: '杭州市',\n      text: '临安市',\n      value: '330185'\n    }\n  ],\n  '330200': [\n    {\n      city: '宁波市',\n      text: '市辖区',\n      value: '330201'\n    },\n    {\n      city: '宁波市',\n      text: '海曙区',\n      value: '330203'\n    },\n    {\n      city: '宁波市',\n      text: '江东区',\n      value: '330204'\n    },\n    {\n      city: '宁波市',\n      text: '江北区',\n      value: '330205'\n    },\n    {\n      city: '宁波市',\n      text: '北仑区',\n      value: '330206'\n    },\n    {\n      city: '宁波市',\n      text: '镇海区',\n      value: '330211'\n    },\n    {\n      city: '宁波市',\n      text: '鄞州区',\n      value: '330212'\n    },\n    {\n      city: '宁波市',\n      text: '象山县',\n      value: '330225'\n    },\n    {\n      city: '宁波市',\n      text: '宁海县',\n      value: '330226'\n    },\n    {\n      city: '宁波市',\n      text: '余姚市',\n      value: '330281'\n    },\n    {\n      city: '宁波市',\n      text: '慈溪市',\n      value: '330282'\n    },\n    {\n      city: '宁波市',\n      text: '奉化市',\n      value: '330283'\n    }\n  ],\n  '330300': [\n    {\n      city: '温州市',\n      text: '市辖区',\n      value: '330301'\n    },\n    {\n      city: '温州市',\n      text: '鹿城区',\n      value: '330302'\n    },\n    {\n      city: '温州市',\n      text: '龙湾区',\n      value: '330303'\n    },\n    {\n      city: '温州市',\n      text: '瓯海区',\n      value: '330304'\n    },\n    {\n      city: '温州市',\n      text: '洞头区',\n      value: '330305'\n    },\n    {\n      city: '温州市',\n      text: '永嘉县',\n      value: '330324'\n    },\n    {\n      city: '温州市',\n      text: '平阳县',\n      value: '330326'\n    },\n    {\n      city: '温州市',\n      text: '苍南县',\n      value: '330327'\n    },\n    {\n      city: '温州市',\n      text: '文成县',\n      value: '330328'\n    },\n    {\n      city: '温州市',\n      text: '泰顺县',\n      value: '330329'\n    },\n    {\n      city: '温州市',\n      text: '瑞安市',\n      value: '330381'\n    },\n    {\n      city: '温州市',\n      text: '乐清市',\n      value: '330382'\n    }\n  ],\n  '330400': [\n    {\n      city: '嘉兴市',\n      text: '市辖区',\n      value: '330401'\n    },\n    {\n      city: '嘉兴市',\n      text: '南湖区',\n      value: '330402'\n    },\n    {\n      city: '嘉兴市',\n      text: '秀洲区',\n      value: '330411'\n    },\n    {\n      city: '嘉兴市',\n      text: '嘉善县',\n      value: '330421'\n    },\n    {\n      city: '嘉兴市',\n      text: '海盐县',\n      value: '330424'\n    },\n    {\n      city: '嘉兴市',\n      text: '海宁市',\n      value: '330481'\n    },\n    {\n      city: '嘉兴市',\n      text: '平湖市',\n      value: '330482'\n    },\n    {\n      city: '嘉兴市',\n      text: '桐乡市',\n      value: '330483'\n    }\n  ],\n  '330500': [\n    {\n      city: '湖州市',\n      text: '市辖区',\n      value: '330501'\n    },\n    {\n      city: '湖州市',\n      text: '吴兴区',\n      value: '330502'\n    },\n    {\n      city: '湖州市',\n      text: '南浔区',\n      value: '330503'\n    },\n    {\n      city: '湖州市',\n      text: '德清县',\n      value: '330521'\n    },\n    {\n      city: '湖州市',\n      text: '长兴县',\n      value: '330522'\n    },\n    {\n      city: '湖州市',\n      text: '安吉县',\n      value: '330523'\n    }\n  ],\n  '330600': [\n    {\n      city: '绍兴市',\n      text: '市辖区',\n      value: '330601'\n    },\n    {\n      city: '绍兴市',\n      text: '越城区',\n      value: '330602'\n    },\n    {\n      city: '绍兴市',\n      text: '柯桥区',\n      value: '330603'\n    },\n    {\n      city: '绍兴市',\n      text: '上虞区',\n      value: '330604'\n    },\n    {\n      city: '绍兴市',\n      text: '新昌县',\n      value: '330624'\n    },\n    {\n      city: '绍兴市',\n      text: '诸暨市',\n      value: '330681'\n    },\n    {\n      city: '绍兴市',\n      text: '嵊州市',\n      value: '330683'\n    }\n  ],\n  '330700': [\n    {\n      city: '金华市',\n      text: '市辖区',\n      value: '330701'\n    },\n    {\n      city: '金华市',\n      text: '婺城区',\n      value: '330702'\n    },\n    {\n      city: '金华市',\n      text: '金东区',\n      value: '330703'\n    },\n    {\n      city: '金华市',\n      text: '武义县',\n      value: '330723'\n    },\n    {\n      city: '金华市',\n      text: '浦江县',\n      value: '330726'\n    },\n    {\n      city: '金华市',\n      text: '磐安县',\n      value: '330727'\n    },\n    {\n      city: '金华市',\n      text: '兰溪市',\n      value: '330781'\n    },\n    {\n      city: '金华市',\n      text: '义乌市',\n      value: '330782'\n    },\n    {\n      city: '金华市',\n      text: '东阳市',\n      value: '330783'\n    },\n    {\n      city: '金华市',\n      text: '永康市',\n      value: '330784'\n    }\n  ],\n  '330800': [\n    {\n      city: '衢州市',\n      text: '市辖区',\n      value: '330801'\n    },\n    {\n      city: '衢州市',\n      text: '柯城区',\n      value: '330802'\n    },\n    {\n      city: '衢州市',\n      text: '衢江区',\n      value: '330803'\n    },\n    {\n      city: '衢州市',\n      text: '常山县',\n      value: '330822'\n    },\n    {\n      city: '衢州市',\n      text: '开化县',\n      value: '330824'\n    },\n    {\n      city: '衢州市',\n      text: '龙游县',\n      value: '330825'\n    },\n    {\n      city: '衢州市',\n      text: '江山市',\n      value: '330881'\n    }\n  ],\n  '330900': [\n    {\n      city: '舟山市',\n      text: '市辖区',\n      value: '330901'\n    },\n    {\n      city: '舟山市',\n      text: '定海区',\n      value: '330902'\n    },\n    {\n      city: '舟山市',\n      text: '普陀区',\n      value: '330903'\n    },\n    {\n      city: '舟山市',\n      text: '岱山县',\n      value: '330921'\n    },\n    {\n      city: '舟山市',\n      text: '嵊泗县',\n      value: '330922'\n    }\n  ],\n  '331000': [\n    {\n      city: '台州市',\n      text: '市辖区',\n      value: '331001'\n    },\n    {\n      city: '台州市',\n      text: '椒江区',\n      value: '331002'\n    },\n    {\n      city: '台州市',\n      text: '黄岩区',\n      value: '331003'\n    },\n    {\n      city: '台州市',\n      text: '路桥区',\n      value: '331004'\n    },\n    {\n      city: '台州市',\n      text: '玉环县',\n      value: '331021'\n    },\n    {\n      city: '台州市',\n      text: '三门县',\n      value: '331022'\n    },\n    {\n      city: '台州市',\n      text: '天台县',\n      value: '331023'\n    },\n    {\n      city: '台州市',\n      text: '仙居县',\n      value: '331024'\n    },\n    {\n      city: '台州市',\n      text: '温岭市',\n      value: '331081'\n    },\n    {\n      city: '台州市',\n      text: '临海市',\n      value: '331082'\n    }\n  ],\n  '331100': [\n    {\n      city: '丽水市',\n      text: '市辖区',\n      value: '331101'\n    },\n    {\n      city: '丽水市',\n      text: '莲都区',\n      value: '331102'\n    },\n    {\n      city: '丽水市',\n      text: '青田县',\n      value: '331121'\n    },\n    {\n      city: '丽水市',\n      text: '缙云县',\n      value: '331122'\n    },\n    {\n      city: '丽水市',\n      text: '遂昌县',\n      value: '331123'\n    },\n    {\n      city: '丽水市',\n      text: '松阳县',\n      value: '331124'\n    },\n    {\n      city: '丽水市',\n      text: '云和县',\n      value: '331125'\n    },\n    {\n      city: '丽水市',\n      text: '庆元县',\n      value: '331126'\n    },\n    {\n      city: '丽水市',\n      text: '景宁畲族自治县',\n      value: '331127'\n    },\n    {\n      city: '丽水市',\n      text: '龙泉市',\n      value: '331181'\n    }\n  ],\n  '340100': [\n    {\n      city: '合肥市',\n      text: '市辖区',\n      value: '340101'\n    },\n    {\n      city: '合肥市',\n      text: '瑶海区',\n      value: '340102'\n    },\n    {\n      city: '合肥市',\n      text: '庐阳区',\n      value: '340103'\n    },\n    {\n      city: '合肥市',\n      text: '蜀山区',\n      value: '340104'\n    },\n    {\n      city: '合肥市',\n      text: '包河区',\n      value: '340111'\n    },\n    {\n      city: '合肥市',\n      text: '长丰县',\n      value: '340121'\n    },\n    {\n      city: '合肥市',\n      text: '肥东县',\n      value: '340122'\n    },\n    {\n      city: '合肥市',\n      text: '肥西县',\n      value: '340123'\n    },\n    {\n      city: '合肥市',\n      text: '庐江县',\n      value: '340124'\n    },\n    {\n      city: '合肥市',\n      text: '巢湖市',\n      value: '340181'\n    }\n  ],\n  '340200': [\n    {\n      city: '芜湖市',\n      text: '市辖区',\n      value: '340201'\n    },\n    {\n      city: '芜湖市',\n      text: '镜湖区',\n      value: '340202'\n    },\n    {\n      city: '芜湖市',\n      text: '弋江区',\n      value: '340203'\n    },\n    {\n      city: '芜湖市',\n      text: '鸠江区',\n      value: '340207'\n    },\n    {\n      city: '芜湖市',\n      text: '三山区',\n      value: '340208'\n    },\n    {\n      city: '芜湖市',\n      text: '芜湖县',\n      value: '340221'\n    },\n    {\n      city: '芜湖市',\n      text: '繁昌县',\n      value: '340222'\n    },\n    {\n      city: '芜湖市',\n      text: '南陵县',\n      value: '340223'\n    },\n    {\n      city: '芜湖市',\n      text: '无为县',\n      value: '340225'\n    }\n  ],\n  '340300': [\n    {\n      city: '蚌埠市',\n      text: '市辖区',\n      value: '340301'\n    },\n    {\n      city: '蚌埠市',\n      text: '龙子湖区',\n      value: '340302'\n    },\n    {\n      city: '蚌埠市',\n      text: '蚌山区',\n      value: '340303'\n    },\n    {\n      city: '蚌埠市',\n      text: '禹会区',\n      value: '340304'\n    },\n    {\n      city: '蚌埠市',\n      text: '淮上区',\n      value: '340311'\n    },\n    {\n      city: '蚌埠市',\n      text: '怀远县',\n      value: '340321'\n    },\n    {\n      city: '蚌埠市',\n      text: '五河县',\n      value: '340322'\n    },\n    {\n      city: '蚌埠市',\n      text: '固镇县',\n      value: '340323'\n    }\n  ],\n  '340400': [\n    {\n      city: '淮南市',\n      text: '市辖区',\n      value: '340401'\n    },\n    {\n      city: '淮南市',\n      text: '大通区',\n      value: '340402'\n    },\n    {\n      city: '淮南市',\n      text: '田家庵区',\n      value: '340403'\n    },\n    {\n      city: '淮南市',\n      text: '谢家集区',\n      value: '340404'\n    },\n    {\n      city: '淮南市',\n      text: '八公山区',\n      value: '340405'\n    },\n    {\n      city: '淮南市',\n      text: '潘集区',\n      value: '340406'\n    },\n    {\n      city: '淮南市',\n      text: '凤台县',\n      value: '340421'\n    },\n    {\n      city: '淮南市',\n      text: '寿县',\n      value: '340422'\n    }\n  ],\n  '340500': [\n    {\n      city: '马鞍山市',\n      text: '市辖区',\n      value: '340501'\n    },\n    {\n      city: '马鞍山市',\n      text: '花山区',\n      value: '340503'\n    },\n    {\n      city: '马鞍山市',\n      text: '雨山区',\n      value: '340504'\n    },\n    {\n      city: '马鞍山市',\n      text: '博望区',\n      value: '340506'\n    },\n    {\n      city: '马鞍山市',\n      text: '当涂县',\n      value: '340521'\n    },\n    {\n      city: '马鞍山市',\n      text: '含山县',\n      value: '340522'\n    },\n    {\n      city: '马鞍山市',\n      text: '和县',\n      value: '340523'\n    }\n  ],\n  '340600': [\n    {\n      city: '淮北市',\n      text: '市辖区',\n      value: '340601'\n    },\n    {\n      city: '淮北市',\n      text: '杜集区',\n      value: '340602'\n    },\n    {\n      city: '淮北市',\n      text: '相山区',\n      value: '340603'\n    },\n    {\n      city: '淮北市',\n      text: '烈山区',\n      value: '340604'\n    },\n    {\n      city: '淮北市',\n      text: '濉溪县',\n      value: '340621'\n    }\n  ],\n  '340700': [\n    {\n      city: '铜陵市',\n      text: '市辖区',\n      value: '340701'\n    },\n    {\n      city: '铜陵市',\n      text: '铜官区',\n      value: '340705'\n    },\n    {\n      city: '铜陵市',\n      text: '义安区',\n      value: '340706'\n    },\n    {\n      city: '铜陵市',\n      text: '郊区',\n      value: '340711'\n    },\n    {\n      city: '铜陵市',\n      text: '枞阳县',\n      value: '340722'\n    }\n  ],\n  '340800': [\n    {\n      city: '安庆市',\n      text: '市辖区',\n      value: '340801'\n    },\n    {\n      city: '安庆市',\n      text: '迎江区',\n      value: '340802'\n    },\n    {\n      city: '安庆市',\n      text: '大观区',\n      value: '340803'\n    },\n    {\n      city: '安庆市',\n      text: '宜秀区',\n      value: '340811'\n    },\n    {\n      city: '安庆市',\n      text: '怀宁县',\n      value: '340822'\n    },\n    {\n      city: '安庆市',\n      text: '潜山县',\n      value: '340824'\n    },\n    {\n      city: '安庆市',\n      text: '太湖县',\n      value: '340825'\n    },\n    {\n      city: '安庆市',\n      text: '宿松县',\n      value: '340826'\n    },\n    {\n      city: '安庆市',\n      text: '望江县',\n      value: '340827'\n    },\n    {\n      city: '安庆市',\n      text: '岳西县',\n      value: '340828'\n    },\n    {\n      city: '安庆市',\n      text: '桐城市',\n      value: '340881'\n    }\n  ],\n  '341000': [\n    {\n      city: '黄山市',\n      text: '市辖区',\n      value: '341001'\n    },\n    {\n      city: '黄山市',\n      text: '屯溪区',\n      value: '341002'\n    },\n    {\n      city: '黄山市',\n      text: '黄山区',\n      value: '341003'\n    },\n    {\n      city: '黄山市',\n      text: '徽州区',\n      value: '341004'\n    },\n    {\n      city: '黄山市',\n      text: '歙县',\n      value: '341021'\n    },\n    {\n      city: '黄山市',\n      text: '休宁县',\n      value: '341022'\n    },\n    {\n      city: '黄山市',\n      text: '黟县',\n      value: '341023'\n    },\n    {\n      city: '黄山市',\n      text: '祁门县',\n      value: '341024'\n    }\n  ],\n  '341100': [\n    {\n      city: '滁州市',\n      text: '市辖区',\n      value: '341101'\n    },\n    {\n      city: '滁州市',\n      text: '琅琊区',\n      value: '341102'\n    },\n    {\n      city: '滁州市',\n      text: '南谯区',\n      value: '341103'\n    },\n    {\n      city: '滁州市',\n      text: '来安县',\n      value: '341122'\n    },\n    {\n      city: '滁州市',\n      text: '全椒县',\n      value: '341124'\n    },\n    {\n      city: '滁州市',\n      text: '定远县',\n      value: '341125'\n    },\n    {\n      city: '滁州市',\n      text: '凤阳县',\n      value: '341126'\n    },\n    {\n      city: '滁州市',\n      text: '天长市',\n      value: '341181'\n    },\n    {\n      city: '滁州市',\n      text: '明光市',\n      value: '341182'\n    }\n  ],\n  '341200': [\n    {\n      city: '阜阳市',\n      text: '市辖区',\n      value: '341201'\n    },\n    {\n      city: '阜阳市',\n      text: '颍州区',\n      value: '341202'\n    },\n    {\n      city: '阜阳市',\n      text: '颍东区',\n      value: '341203'\n    },\n    {\n      city: '阜阳市',\n      text: '颍泉区',\n      value: '341204'\n    },\n    {\n      city: '阜阳市',\n      text: '临泉县',\n      value: '341221'\n    },\n    {\n      city: '阜阳市',\n      text: '太和县',\n      value: '341222'\n    },\n    {\n      city: '阜阳市',\n      text: '阜南县',\n      value: '341225'\n    },\n    {\n      city: '阜阳市',\n      text: '颍上县',\n      value: '341226'\n    },\n    {\n      city: '阜阳市',\n      text: '界首市',\n      value: '341282'\n    }\n  ],\n  '341300': [\n    {\n      city: '宿州市',\n      text: '市辖区',\n      value: '341301'\n    },\n    {\n      city: '宿州市',\n      text: '埇桥区',\n      value: '341302'\n    },\n    {\n      city: '宿州市',\n      text: '砀山县',\n      value: '341321'\n    },\n    {\n      city: '宿州市',\n      text: '萧县',\n      value: '341322'\n    },\n    {\n      city: '宿州市',\n      text: '灵璧县',\n      value: '341323'\n    },\n    {\n      city: '宿州市',\n      text: '泗县',\n      value: '341324'\n    }\n  ],\n  '341500': [\n    {\n      city: '六安市',\n      text: '市辖区',\n      value: '341501'\n    },\n    {\n      city: '六安市',\n      text: '金安区',\n      value: '341502'\n    },\n    {\n      city: '六安市',\n      text: '裕安区',\n      value: '341503'\n    },\n    {\n      city: '六安市',\n      text: '叶集区',\n      value: '341504'\n    },\n    {\n      city: '六安市',\n      text: '霍邱县',\n      value: '341522'\n    },\n    {\n      city: '六安市',\n      text: '舒城县',\n      value: '341523'\n    },\n    {\n      city: '六安市',\n      text: '金寨县',\n      value: '341524'\n    },\n    {\n      city: '六安市',\n      text: '霍山县',\n      value: '341525'\n    }\n  ],\n  '341600': [\n    {\n      city: '亳州市',\n      text: '市辖区',\n      value: '341601'\n    },\n    {\n      city: '亳州市',\n      text: '谯城区',\n      value: '341602'\n    },\n    {\n      city: '亳州市',\n      text: '涡阳县',\n      value: '341621'\n    },\n    {\n      city: '亳州市',\n      text: '蒙城县',\n      value: '341622'\n    },\n    {\n      city: '亳州市',\n      text: '利辛县',\n      value: '341623'\n    }\n  ],\n  '341700': [\n    {\n      city: '池州市',\n      text: '市辖区',\n      value: '341701'\n    },\n    {\n      city: '池州市',\n      text: '贵池区',\n      value: '341702'\n    },\n    {\n      city: '池州市',\n      text: '东至县',\n      value: '341721'\n    },\n    {\n      city: '池州市',\n      text: '石台县',\n      value: '341722'\n    },\n    {\n      city: '池州市',\n      text: '青阳县',\n      value: '341723'\n    }\n  ],\n  '341800': [\n    {\n      city: '宣城市',\n      text: '市辖区',\n      value: '341801'\n    },\n    {\n      city: '宣城市',\n      text: '宣州区',\n      value: '341802'\n    },\n    {\n      city: '宣城市',\n      text: '郎溪县',\n      value: '341821'\n    },\n    {\n      city: '宣城市',\n      text: '广德县',\n      value: '341822'\n    },\n    {\n      city: '宣城市',\n      text: '泾县',\n      value: '341823'\n    },\n    {\n      city: '宣城市',\n      text: '绩溪县',\n      value: '341824'\n    },\n    {\n      city: '宣城市',\n      text: '旌德县',\n      value: '341825'\n    },\n    {\n      city: '宣城市',\n      text: '宁国市',\n      value: '341881'\n    }\n  ],\n  '350100': [\n    {\n      city: '福州市',\n      text: '市辖区',\n      value: '350101'\n    },\n    {\n      city: '福州市',\n      text: '鼓楼区',\n      value: '350102'\n    },\n    {\n      city: '福州市',\n      text: '台江区',\n      value: '350103'\n    },\n    {\n      city: '福州市',\n      text: '仓山区',\n      value: '350104'\n    },\n    {\n      city: '福州市',\n      text: '马尾区',\n      value: '350105'\n    },\n    {\n      city: '福州市',\n      text: '晋安区',\n      value: '350111'\n    },\n    {\n      city: '福州市',\n      text: '闽侯县',\n      value: '350121'\n    },\n    {\n      city: '福州市',\n      text: '连江县',\n      value: '350122'\n    },\n    {\n      city: '福州市',\n      text: '罗源县',\n      value: '350123'\n    },\n    {\n      city: '福州市',\n      text: '闽清县',\n      value: '350124'\n    },\n    {\n      city: '福州市',\n      text: '永泰县',\n      value: '350125'\n    },\n    {\n      city: '福州市',\n      text: '平潭县',\n      value: '350128'\n    },\n    {\n      city: '福州市',\n      text: '福清市',\n      value: '350181'\n    },\n    {\n      city: '福州市',\n      text: '长乐市',\n      value: '350182'\n    }\n  ],\n  '350200': [\n    {\n      city: '厦门市',\n      text: '市辖区',\n      value: '350201'\n    },\n    {\n      city: '厦门市',\n      text: '思明区',\n      value: '350203'\n    },\n    {\n      city: '厦门市',\n      text: '海沧区',\n      value: '350205'\n    },\n    {\n      city: '厦门市',\n      text: '湖里区',\n      value: '350206'\n    },\n    {\n      city: '厦门市',\n      text: '集美区',\n      value: '350211'\n    },\n    {\n      city: '厦门市',\n      text: '同安区',\n      value: '350212'\n    },\n    {\n      city: '厦门市',\n      text: '翔安区',\n      value: '350213'\n    }\n  ],\n  '350300': [\n    {\n      city: '莆田市',\n      text: '市辖区',\n      value: '350301'\n    },\n    {\n      city: '莆田市',\n      text: '城厢区',\n      value: '350302'\n    },\n    {\n      city: '莆田市',\n      text: '涵江区',\n      value: '350303'\n    },\n    {\n      city: '莆田市',\n      text: '荔城区',\n      value: '350304'\n    },\n    {\n      city: '莆田市',\n      text: '秀屿区',\n      value: '350305'\n    },\n    {\n      city: '莆田市',\n      text: '仙游县',\n      value: '350322'\n    }\n  ],\n  '350400': [\n    {\n      city: '三明市',\n      text: '市辖区',\n      value: '350401'\n    },\n    {\n      city: '三明市',\n      text: '梅列区',\n      value: '350402'\n    },\n    {\n      city: '三明市',\n      text: '三元区',\n      value: '350403'\n    },\n    {\n      city: '三明市',\n      text: '明溪县',\n      value: '350421'\n    },\n    {\n      city: '三明市',\n      text: '清流县',\n      value: '350423'\n    },\n    {\n      city: '三明市',\n      text: '宁化县',\n      value: '350424'\n    },\n    {\n      city: '三明市',\n      text: '大田县',\n      value: '350425'\n    },\n    {\n      city: '三明市',\n      text: '尤溪县',\n      value: '350426'\n    },\n    {\n      city: '三明市',\n      text: '沙县',\n      value: '350427'\n    },\n    {\n      city: '三明市',\n      text: '将乐县',\n      value: '350428'\n    },\n    {\n      city: '三明市',\n      text: '泰宁县',\n      value: '350429'\n    },\n    {\n      city: '三明市',\n      text: '建宁县',\n      value: '350430'\n    },\n    {\n      city: '三明市',\n      text: '永安市',\n      value: '350481'\n    }\n  ],\n  '350500': [\n    {\n      city: '泉州市',\n      text: '市辖区',\n      value: '350501'\n    },\n    {\n      city: '泉州市',\n      text: '鲤城区',\n      value: '350502'\n    },\n    {\n      city: '泉州市',\n      text: '丰泽区',\n      value: '350503'\n    },\n    {\n      city: '泉州市',\n      text: '洛江区',\n      value: '350504'\n    },\n    {\n      city: '泉州市',\n      text: '泉港区',\n      value: '350505'\n    },\n    {\n      city: '泉州市',\n      text: '惠安县',\n      value: '350521'\n    },\n    {\n      city: '泉州市',\n      text: '安溪县',\n      value: '350524'\n    },\n    {\n      city: '泉州市',\n      text: '永春县',\n      value: '350525'\n    },\n    {\n      city: '泉州市',\n      text: '德化县',\n      value: '350526'\n    },\n    {\n      city: '泉州市',\n      text: '金门县',\n      value: '350527'\n    },\n    {\n      city: '泉州市',\n      text: '石狮市',\n      value: '350581'\n    },\n    {\n      city: '泉州市',\n      text: '晋江市',\n      value: '350582'\n    },\n    {\n      city: '泉州市',\n      text: '南安市',\n      value: '350583'\n    }\n  ],\n  '350600': [\n    {\n      city: '漳州市',\n      text: '市辖区',\n      value: '350601'\n    },\n    {\n      city: '漳州市',\n      text: '芗城区',\n      value: '350602'\n    },\n    {\n      city: '漳州市',\n      text: '龙文区',\n      value: '350603'\n    },\n    {\n      city: '漳州市',\n      text: '云霄县',\n      value: '350622'\n    },\n    {\n      city: '漳州市',\n      text: '漳浦县',\n      value: '350623'\n    },\n    {\n      city: '漳州市',\n      text: '诏安县',\n      value: '350624'\n    },\n    {\n      city: '漳州市',\n      text: '长泰县',\n      value: '350625'\n    },\n    {\n      city: '漳州市',\n      text: '东山县',\n      value: '350626'\n    },\n    {\n      city: '漳州市',\n      text: '南靖县',\n      value: '350627'\n    },\n    {\n      city: '漳州市',\n      text: '平和县',\n      value: '350628'\n    },\n    {\n      city: '漳州市',\n      text: '华安县',\n      value: '350629'\n    },\n    {\n      city: '漳州市',\n      text: '龙海市',\n      value: '350681'\n    }\n  ],\n  '350700': [\n    {\n      city: '南平市',\n      text: '市辖区',\n      value: '350701'\n    },\n    {\n      city: '南平市',\n      text: '延平区',\n      value: '350702'\n    },\n    {\n      city: '南平市',\n      text: '建阳区',\n      value: '350703'\n    },\n    {\n      city: '南平市',\n      text: '顺昌县',\n      value: '350721'\n    },\n    {\n      city: '南平市',\n      text: '浦城县',\n      value: '350722'\n    },\n    {\n      city: '南平市',\n      text: '光泽县',\n      value: '350723'\n    },\n    {\n      city: '南平市',\n      text: '松溪县',\n      value: '350724'\n    },\n    {\n      city: '南平市',\n      text: '政和县',\n      value: '350725'\n    },\n    {\n      city: '南平市',\n      text: '邵武市',\n      value: '350781'\n    },\n    {\n      city: '南平市',\n      text: '武夷山市',\n      value: '350782'\n    },\n    {\n      city: '南平市',\n      text: '建瓯市',\n      value: '350783'\n    }\n  ],\n  '350800': [\n    {\n      city: '龙岩市',\n      text: '市辖区',\n      value: '350801'\n    },\n    {\n      city: '龙岩市',\n      text: '新罗区',\n      value: '350802'\n    },\n    {\n      city: '龙岩市',\n      text: '永定区',\n      value: '350803'\n    },\n    {\n      city: '龙岩市',\n      text: '长汀县',\n      value: '350821'\n    },\n    {\n      city: '龙岩市',\n      text: '上杭县',\n      value: '350823'\n    },\n    {\n      city: '龙岩市',\n      text: '武平县',\n      value: '350824'\n    },\n    {\n      city: '龙岩市',\n      text: '连城县',\n      value: '350825'\n    },\n    {\n      city: '龙岩市',\n      text: '漳平市',\n      value: '350881'\n    }\n  ],\n  '350900': [\n    {\n      city: '宁德市',\n      text: '市辖区',\n      value: '350901'\n    },\n    {\n      city: '宁德市',\n      text: '蕉城区',\n      value: '350902'\n    },\n    {\n      city: '宁德市',\n      text: '霞浦县',\n      value: '350921'\n    },\n    {\n      city: '宁德市',\n      text: '古田县',\n      value: '350922'\n    },\n    {\n      city: '宁德市',\n      text: '屏南县',\n      value: '350923'\n    },\n    {\n      city: '宁德市',\n      text: '寿宁县',\n      value: '350924'\n    },\n    {\n      city: '宁德市',\n      text: '周宁县',\n      value: '350925'\n    },\n    {\n      city: '宁德市',\n      text: '柘荣县',\n      value: '350926'\n    },\n    {\n      city: '宁德市',\n      text: '福安市',\n      value: '350981'\n    },\n    {\n      city: '宁德市',\n      text: '福鼎市',\n      value: '350982'\n    }\n  ],\n  '360100': [\n    {\n      city: '南昌市',\n      text: '市辖区',\n      value: '360101'\n    },\n    {\n      city: '南昌市',\n      text: '东湖区',\n      value: '360102'\n    },\n    {\n      city: '南昌市',\n      text: '西湖区',\n      value: '360103'\n    },\n    {\n      city: '南昌市',\n      text: '青云谱区',\n      value: '360104'\n    },\n    {\n      city: '南昌市',\n      text: '湾里区',\n      value: '360105'\n    },\n    {\n      city: '南昌市',\n      text: '青山湖区',\n      value: '360111'\n    },\n    {\n      city: '南昌市',\n      text: '新建区',\n      value: '360112'\n    },\n    {\n      city: '南昌市',\n      text: '南昌县',\n      value: '360121'\n    },\n    {\n      city: '南昌市',\n      text: '安义县',\n      value: '360123'\n    },\n    {\n      city: '南昌市',\n      text: '进贤县',\n      value: '360124'\n    }\n  ],\n  '360200': [\n    {\n      city: '景德镇市',\n      text: '市辖区',\n      value: '360201'\n    },\n    {\n      city: '景德镇市',\n      text: '昌江区',\n      value: '360202'\n    },\n    {\n      city: '景德镇市',\n      text: '珠山区',\n      value: '360203'\n    },\n    {\n      city: '景德镇市',\n      text: '浮梁县',\n      value: '360222'\n    },\n    {\n      city: '景德镇市',\n      text: '乐平市',\n      value: '360281'\n    }\n  ],\n  '360300': [\n    {\n      city: '萍乡市',\n      text: '市辖区',\n      value: '360301'\n    },\n    {\n      city: '萍乡市',\n      text: '安源区',\n      value: '360302'\n    },\n    {\n      city: '萍乡市',\n      text: '湘东区',\n      value: '360313'\n    },\n    {\n      city: '萍乡市',\n      text: '莲花县',\n      value: '360321'\n    },\n    {\n      city: '萍乡市',\n      text: '上栗县',\n      value: '360322'\n    },\n    {\n      city: '萍乡市',\n      text: '芦溪县',\n      value: '360323'\n    }\n  ],\n  '360400': [\n    {\n      city: '九江市',\n      text: '市辖区',\n      value: '360401'\n    },\n    {\n      city: '九江市',\n      text: '濂溪区',\n      value: '360402'\n    },\n    {\n      city: '九江市',\n      text: '浔阳区',\n      value: '360403'\n    },\n    {\n      city: '九江市',\n      text: '九江县',\n      value: '360421'\n    },\n    {\n      city: '九江市',\n      text: '武宁县',\n      value: '360423'\n    },\n    {\n      city: '九江市',\n      text: '修水县',\n      value: '360424'\n    },\n    {\n      city: '九江市',\n      text: '永修县',\n      value: '360425'\n    },\n    {\n      city: '九江市',\n      text: '德安县',\n      value: '360426'\n    },\n    {\n      city: '九江市',\n      text: '都昌县',\n      value: '360428'\n    },\n    {\n      city: '九江市',\n      text: '湖口县',\n      value: '360429'\n    },\n    {\n      city: '九江市',\n      text: '彭泽县',\n      value: '360430'\n    },\n    {\n      city: '九江市',\n      text: '瑞昌市',\n      value: '360481'\n    },\n    {\n      city: '九江市',\n      text: '共青城市',\n      value: '360482'\n    },\n    {\n      city: '九江市',\n      text: '庐山市',\n      value: '360483'\n    }\n  ],\n  '360500': [\n    {\n      city: '新余市',\n      text: '市辖区',\n      value: '360501'\n    },\n    {\n      city: '新余市',\n      text: '渝水区',\n      value: '360502'\n    },\n    {\n      city: '新余市',\n      text: '分宜县',\n      value: '360521'\n    }\n  ],\n  '360600': [\n    {\n      city: '鹰潭市',\n      text: '市辖区',\n      value: '360601'\n    },\n    {\n      city: '鹰潭市',\n      text: '月湖区',\n      value: '360602'\n    },\n    {\n      city: '鹰潭市',\n      text: '余江县',\n      value: '360622'\n    },\n    {\n      city: '鹰潭市',\n      text: '贵溪市',\n      value: '360681'\n    }\n  ],\n  '360700': [\n    {\n      city: '赣州市',\n      text: '市辖区',\n      value: '360701'\n    },\n    {\n      city: '赣州市',\n      text: '章贡区',\n      value: '360702'\n    },\n    {\n      city: '赣州市',\n      text: '南康区',\n      value: '360703'\n    },\n    {\n      city: '赣州市',\n      text: '赣县',\n      value: '360721'\n    },\n    {\n      city: '赣州市',\n      text: '信丰县',\n      value: '360722'\n    },\n    {\n      city: '赣州市',\n      text: '大余县',\n      value: '360723'\n    },\n    {\n      city: '赣州市',\n      text: '上犹县',\n      value: '360724'\n    },\n    {\n      city: '赣州市',\n      text: '崇义县',\n      value: '360725'\n    },\n    {\n      city: '赣州市',\n      text: '安远县',\n      value: '360726'\n    },\n    {\n      city: '赣州市',\n      text: '龙南县',\n      value: '360727'\n    },\n    {\n      city: '赣州市',\n      text: '定南县',\n      value: '360728'\n    },\n    {\n      city: '赣州市',\n      text: '全南县',\n      value: '360729'\n    },\n    {\n      city: '赣州市',\n      text: '宁都县',\n      value: '360730'\n    },\n    {\n      city: '赣州市',\n      text: '于都县',\n      value: '360731'\n    },\n    {\n      city: '赣州市',\n      text: '兴国县',\n      value: '360732'\n    },\n    {\n      city: '赣州市',\n      text: '会昌县',\n      value: '360733'\n    },\n    {\n      city: '赣州市',\n      text: '寻乌县',\n      value: '360734'\n    },\n    {\n      city: '赣州市',\n      text: '石城县',\n      value: '360735'\n    },\n    {\n      city: '赣州市',\n      text: '瑞金市',\n      value: '360781'\n    }\n  ],\n  '360800': [\n    {\n      city: '吉安市',\n      text: '市辖区',\n      value: '360801'\n    },\n    {\n      city: '吉安市',\n      text: '吉州区',\n      value: '360802'\n    },\n    {\n      city: '吉安市',\n      text: '青原区',\n      value: '360803'\n    },\n    {\n      city: '吉安市',\n      text: '吉安县',\n      value: '360821'\n    },\n    {\n      city: '吉安市',\n      text: '吉水县',\n      value: '360822'\n    },\n    {\n      city: '吉安市',\n      text: '峡江县',\n      value: '360823'\n    },\n    {\n      city: '吉安市',\n      text: '新干县',\n      value: '360824'\n    },\n    {\n      city: '吉安市',\n      text: '永丰县',\n      value: '360825'\n    },\n    {\n      city: '吉安市',\n      text: '泰和县',\n      value: '360826'\n    },\n    {\n      city: '吉安市',\n      text: '遂川县',\n      value: '360827'\n    },\n    {\n      city: '吉安市',\n      text: '万安县',\n      value: '360828'\n    },\n    {\n      city: '吉安市',\n      text: '安福县',\n      value: '360829'\n    },\n    {\n      city: '吉安市',\n      text: '永新县',\n      value: '360830'\n    },\n    {\n      city: '吉安市',\n      text: '井冈山市',\n      value: '360881'\n    }\n  ],\n  '360900': [\n    {\n      city: '宜春市',\n      text: '市辖区',\n      value: '360901'\n    },\n    {\n      city: '宜春市',\n      text: '袁州区',\n      value: '360902'\n    },\n    {\n      city: '宜春市',\n      text: '奉新县',\n      value: '360921'\n    },\n    {\n      city: '宜春市',\n      text: '万载县',\n      value: '360922'\n    },\n    {\n      city: '宜春市',\n      text: '上高县',\n      value: '360923'\n    },\n    {\n      city: '宜春市',\n      text: '宜丰县',\n      value: '360924'\n    },\n    {\n      city: '宜春市',\n      text: '靖安县',\n      value: '360925'\n    },\n    {\n      city: '宜春市',\n      text: '铜鼓县',\n      value: '360926'\n    },\n    {\n      city: '宜春市',\n      text: '丰城市',\n      value: '360981'\n    },\n    {\n      city: '宜春市',\n      text: '樟树市',\n      value: '360982'\n    },\n    {\n      city: '宜春市',\n      text: '高安市',\n      value: '360983'\n    }\n  ],\n  '361000': [\n    {\n      city: '抚州市',\n      text: '市辖区',\n      value: '361001'\n    },\n    {\n      city: '抚州市',\n      text: '临川区',\n      value: '361002'\n    },\n    {\n      city: '抚州市',\n      text: '南城县',\n      value: '361021'\n    },\n    {\n      city: '抚州市',\n      text: '黎川县',\n      value: '361022'\n    },\n    {\n      city: '抚州市',\n      text: '南丰县',\n      value: '361023'\n    },\n    {\n      city: '抚州市',\n      text: '崇仁县',\n      value: '361024'\n    },\n    {\n      city: '抚州市',\n      text: '乐安县',\n      value: '361025'\n    },\n    {\n      city: '抚州市',\n      text: '宜黄县',\n      value: '361026'\n    },\n    {\n      city: '抚州市',\n      text: '金溪县',\n      value: '361027'\n    },\n    {\n      city: '抚州市',\n      text: '资溪县',\n      value: '361028'\n    },\n    {\n      city: '抚州市',\n      text: '东乡县',\n      value: '361029'\n    },\n    {\n      city: '抚州市',\n      text: '广昌县',\n      value: '361030'\n    }\n  ],\n  '361100': [\n    {\n      city: '上饶市',\n      text: '市辖区',\n      value: '361101'\n    },\n    {\n      city: '上饶市',\n      text: '信州区',\n      value: '361102'\n    },\n    {\n      city: '上饶市',\n      text: '广丰区',\n      value: '361103'\n    },\n    {\n      city: '上饶市',\n      text: '上饶县',\n      value: '361121'\n    },\n    {\n      city: '上饶市',\n      text: '玉山县',\n      value: '361123'\n    },\n    {\n      city: '上饶市',\n      text: '铅山县',\n      value: '361124'\n    },\n    {\n      city: '上饶市',\n      text: '横峰县',\n      value: '361125'\n    },\n    {\n      city: '上饶市',\n      text: '弋阳县',\n      value: '361126'\n    },\n    {\n      city: '上饶市',\n      text: '余干县',\n      value: '361127'\n    },\n    {\n      city: '上饶市',\n      text: '鄱阳县',\n      value: '361128'\n    },\n    {\n      city: '上饶市',\n      text: '万年县',\n      value: '361129'\n    },\n    {\n      city: '上饶市',\n      text: '婺源县',\n      value: '361130'\n    },\n    {\n      city: '上饶市',\n      text: '德兴市',\n      value: '361181'\n    }\n  ],\n  '370100': [\n    {\n      city: '济南市',\n      text: '市辖区',\n      value: '370101'\n    },\n    {\n      city: '济南市',\n      text: '历下区',\n      value: '370102'\n    },\n    {\n      city: '济南市',\n      text: '市中区',\n      value: '370103'\n    },\n    {\n      city: '济南市',\n      text: '槐荫区',\n      value: '370104'\n    },\n    {\n      city: '济南市',\n      text: '天桥区',\n      value: '370105'\n    },\n    {\n      city: '济南市',\n      text: '历城区',\n      value: '370112'\n    },\n    {\n      city: '济南市',\n      text: '长清区',\n      value: '370113'\n    },\n    {\n      city: '济南市',\n      text: '平阴县',\n      value: '370124'\n    },\n    {\n      city: '济南市',\n      text: '济阳县',\n      value: '370125'\n    },\n    {\n      city: '济南市',\n      text: '商河县',\n      value: '370126'\n    },\n    {\n      city: '济南市',\n      text: '章丘市',\n      value: '370181'\n    }\n  ],\n  '370200': [\n    {\n      city: '青岛市',\n      text: '市辖区',\n      value: '370201'\n    },\n    {\n      city: '青岛市',\n      text: '市南区',\n      value: '370202'\n    },\n    {\n      city: '青岛市',\n      text: '市北区',\n      value: '370203'\n    },\n    {\n      city: '青岛市',\n      text: '黄岛区',\n      value: '370211'\n    },\n    {\n      city: '青岛市',\n      text: '崂山区',\n      value: '370212'\n    },\n    {\n      city: '青岛市',\n      text: '李沧区',\n      value: '370213'\n    },\n    {\n      city: '青岛市',\n      text: '城阳区',\n      value: '370214'\n    },\n    {\n      city: '青岛市',\n      text: '胶州市',\n      value: '370281'\n    },\n    {\n      city: '青岛市',\n      text: '即墨市',\n      value: '370282'\n    },\n    {\n      city: '青岛市',\n      text: '平度市',\n      value: '370283'\n    },\n    {\n      city: '青岛市',\n      text: '莱西市',\n      value: '370285'\n    }\n  ],\n  '370300': [\n    {\n      city: '淄博市',\n      text: '市辖区',\n      value: '370301'\n    },\n    {\n      city: '淄博市',\n      text: '淄川区',\n      value: '370302'\n    },\n    {\n      city: '淄博市',\n      text: '张店区',\n      value: '370303'\n    },\n    {\n      city: '淄博市',\n      text: '博山区',\n      value: '370304'\n    },\n    {\n      city: '淄博市',\n      text: '临淄区',\n      value: '370305'\n    },\n    {\n      city: '淄博市',\n      text: '周村区',\n      value: '370306'\n    },\n    {\n      city: '淄博市',\n      text: '桓台县',\n      value: '370321'\n    },\n    {\n      city: '淄博市',\n      text: '高青县',\n      value: '370322'\n    },\n    {\n      city: '淄博市',\n      text: '沂源县',\n      value: '370323'\n    }\n  ],\n  '370400': [\n    {\n      city: '枣庄市',\n      text: '市辖区',\n      value: '370401'\n    },\n    {\n      city: '枣庄市',\n      text: '市中区',\n      value: '370402'\n    },\n    {\n      city: '枣庄市',\n      text: '薛城区',\n      value: '370403'\n    },\n    {\n      city: '枣庄市',\n      text: '峄城区',\n      value: '370404'\n    },\n    {\n      city: '枣庄市',\n      text: '台儿庄区',\n      value: '370405'\n    },\n    {\n      city: '枣庄市',\n      text: '山亭区',\n      value: '370406'\n    },\n    {\n      city: '枣庄市',\n      text: '滕州市',\n      value: '370481'\n    }\n  ],\n  '370500': [\n    {\n      city: '东营市',\n      text: '市辖区',\n      value: '370501'\n    },\n    {\n      city: '东营市',\n      text: '东营区',\n      value: '370502'\n    },\n    {\n      city: '东营市',\n      text: '河口区',\n      value: '370503'\n    },\n    {\n      city: '东营市',\n      text: '垦利区',\n      value: '370505'\n    },\n    {\n      city: '东营市',\n      text: '利津县',\n      value: '370522'\n    },\n    {\n      city: '东营市',\n      text: '广饶县',\n      value: '370523'\n    }\n  ],\n  '370600': [\n    {\n      city: '烟台市',\n      text: '市辖区',\n      value: '370601'\n    },\n    {\n      city: '烟台市',\n      text: '芝罘区',\n      value: '370602'\n    },\n    {\n      city: '烟台市',\n      text: '福山区',\n      value: '370611'\n    },\n    {\n      city: '烟台市',\n      text: '牟平区',\n      value: '370612'\n    },\n    {\n      city: '烟台市',\n      text: '莱山区',\n      value: '370613'\n    },\n    {\n      city: '烟台市',\n      text: '长岛县',\n      value: '370634'\n    },\n    {\n      city: '烟台市',\n      text: '龙口市',\n      value: '370681'\n    },\n    {\n      city: '烟台市',\n      text: '莱阳市',\n      value: '370682'\n    },\n    {\n      city: '烟台市',\n      text: '莱州市',\n      value: '370683'\n    },\n    {\n      city: '烟台市',\n      text: '蓬莱市',\n      value: '370684'\n    },\n    {\n      city: '烟台市',\n      text: '招远市',\n      value: '370685'\n    },\n    {\n      city: '烟台市',\n      text: '栖霞市',\n      value: '370686'\n    },\n    {\n      city: '烟台市',\n      text: '海阳市',\n      value: '370687'\n    }\n  ],\n  '370700': [\n    {\n      city: '潍坊市',\n      text: '市辖区',\n      value: '370701'\n    },\n    {\n      city: '潍坊市',\n      text: '潍城区',\n      value: '370702'\n    },\n    {\n      city: '潍坊市',\n      text: '寒亭区',\n      value: '370703'\n    },\n    {\n      city: '潍坊市',\n      text: '坊子区',\n      value: '370704'\n    },\n    {\n      city: '潍坊市',\n      text: '奎文区',\n      value: '370705'\n    },\n    {\n      city: '潍坊市',\n      text: '临朐县',\n      value: '370724'\n    },\n    {\n      city: '潍坊市',\n      text: '昌乐县',\n      value: '370725'\n    },\n    {\n      city: '潍坊市',\n      text: '青州市',\n      value: '370781'\n    },\n    {\n      city: '潍坊市',\n      text: '诸城市',\n      value: '370782'\n    },\n    {\n      city: '潍坊市',\n      text: '寿光市',\n      value: '370783'\n    },\n    {\n      city: '潍坊市',\n      text: '安丘市',\n      value: '370784'\n    },\n    {\n      city: '潍坊市',\n      text: '高密市',\n      value: '370785'\n    },\n    {\n      city: '潍坊市',\n      text: '昌邑市',\n      value: '370786'\n    }\n  ],\n  '370800': [\n    {\n      city: '济宁市',\n      text: '市辖区',\n      value: '370801'\n    },\n    {\n      city: '济宁市',\n      text: '任城区',\n      value: '370811'\n    },\n    {\n      city: '济宁市',\n      text: '兖州区',\n      value: '370812'\n    },\n    {\n      city: '济宁市',\n      text: '微山县',\n      value: '370826'\n    },\n    {\n      city: '济宁市',\n      text: '鱼台县',\n      value: '370827'\n    },\n    {\n      city: '济宁市',\n      text: '金乡县',\n      value: '370828'\n    },\n    {\n      city: '济宁市',\n      text: '嘉祥县',\n      value: '370829'\n    },\n    {\n      city: '济宁市',\n      text: '汶上县',\n      value: '370830'\n    },\n    {\n      city: '济宁市',\n      text: '泗水县',\n      value: '370831'\n    },\n    {\n      city: '济宁市',\n      text: '梁山县',\n      value: '370832'\n    },\n    {\n      city: '济宁市',\n      text: '曲阜市',\n      value: '370881'\n    },\n    {\n      city: '济宁市',\n      text: '邹城市',\n      value: '370883'\n    }\n  ],\n  '370900': [\n    {\n      city: '泰安市',\n      text: '市辖区',\n      value: '370901'\n    },\n    {\n      city: '泰安市',\n      text: '泰山区',\n      value: '370902'\n    },\n    {\n      city: '泰安市',\n      text: '岱岳区',\n      value: '370911'\n    },\n    {\n      city: '泰安市',\n      text: '宁阳县',\n      value: '370921'\n    },\n    {\n      city: '泰安市',\n      text: '东平县',\n      value: '370923'\n    },\n    {\n      city: '泰安市',\n      text: '新泰市',\n      value: '370982'\n    },\n    {\n      city: '泰安市',\n      text: '肥城市',\n      value: '370983'\n    }\n  ],\n  '371000': [\n    {\n      city: '威海市',\n      text: '市辖区',\n      value: '371001'\n    },\n    {\n      city: '威海市',\n      text: '环翠区',\n      value: '371002'\n    },\n    {\n      city: '威海市',\n      text: '文登区',\n      value: '371003'\n    },\n    {\n      city: '威海市',\n      text: '荣成市',\n      value: '371082'\n    },\n    {\n      city: '威海市',\n      text: '乳山市',\n      value: '371083'\n    }\n  ],\n  '371100': [\n    {\n      city: '日照市',\n      text: '市辖区',\n      value: '371101'\n    },\n    {\n      city: '日照市',\n      text: '东港区',\n      value: '371102'\n    },\n    {\n      city: '日照市',\n      text: '岚山区',\n      value: '371103'\n    },\n    {\n      city: '日照市',\n      text: '五莲县',\n      value: '371121'\n    },\n    {\n      city: '日照市',\n      text: '莒县',\n      value: '371122'\n    }\n  ],\n  '371200': [\n    {\n      city: '莱芜市',\n      text: '市辖区',\n      value: '371201'\n    },\n    {\n      city: '莱芜市',\n      text: '莱城区',\n      value: '371202'\n    },\n    {\n      city: '莱芜市',\n      text: '钢城区',\n      value: '371203'\n    }\n  ],\n  '371300': [\n    {\n      city: '临沂市',\n      text: '市辖区',\n      value: '371301'\n    },\n    {\n      city: '临沂市',\n      text: '兰山区',\n      value: '371302'\n    },\n    {\n      city: '临沂市',\n      text: '罗庄区',\n      value: '371311'\n    },\n    {\n      city: '临沂市',\n      text: '河东区',\n      value: '371312'\n    },\n    {\n      city: '临沂市',\n      text: '沂南县',\n      value: '371321'\n    },\n    {\n      city: '临沂市',\n      text: '郯城县',\n      value: '371322'\n    },\n    {\n      city: '临沂市',\n      text: '沂水县',\n      value: '371323'\n    },\n    {\n      city: '临沂市',\n      text: '兰陵县',\n      value: '371324'\n    },\n    {\n      city: '临沂市',\n      text: '费县',\n      value: '371325'\n    },\n    {\n      city: '临沂市',\n      text: '平邑县',\n      value: '371326'\n    },\n    {\n      city: '临沂市',\n      text: '莒南县',\n      value: '371327'\n    },\n    {\n      city: '临沂市',\n      text: '蒙阴县',\n      value: '371328'\n    },\n    {\n      city: '临沂市',\n      text: '临沭县',\n      value: '371329'\n    }\n  ],\n  '371400': [\n    {\n      city: '德州市',\n      text: '市辖区',\n      value: '371401'\n    },\n    {\n      city: '德州市',\n      text: '德城区',\n      value: '371402'\n    },\n    {\n      city: '德州市',\n      text: '陵城区',\n      value: '371403'\n    },\n    {\n      city: '德州市',\n      text: '宁津县',\n      value: '371422'\n    },\n    {\n      city: '德州市',\n      text: '庆云县',\n      value: '371423'\n    },\n    {\n      city: '德州市',\n      text: '临邑县',\n      value: '371424'\n    },\n    {\n      city: '德州市',\n      text: '齐河县',\n      value: '371425'\n    },\n    {\n      city: '德州市',\n      text: '平原县',\n      value: '371426'\n    },\n    {\n      city: '德州市',\n      text: '夏津县',\n      value: '371427'\n    },\n    {\n      city: '德州市',\n      text: '武城县',\n      value: '371428'\n    },\n    {\n      city: '德州市',\n      text: '乐陵市',\n      value: '371481'\n    },\n    {\n      city: '德州市',\n      text: '禹城市',\n      value: '371482'\n    }\n  ],\n  '371500': [\n    {\n      city: '聊城市',\n      text: '市辖区',\n      value: '371501'\n    },\n    {\n      city: '聊城市',\n      text: '东昌府区',\n      value: '371502'\n    },\n    {\n      city: '聊城市',\n      text: '阳谷县',\n      value: '371521'\n    },\n    {\n      city: '聊城市',\n      text: '莘县',\n      value: '371522'\n    },\n    {\n      city: '聊城市',\n      text: '茌平县',\n      value: '371523'\n    },\n    {\n      city: '聊城市',\n      text: '东阿县',\n      value: '371524'\n    },\n    {\n      city: '聊城市',\n      text: '冠县',\n      value: '371525'\n    },\n    {\n      city: '聊城市',\n      text: '高唐县',\n      value: '371526'\n    },\n    {\n      city: '聊城市',\n      text: '临清市',\n      value: '371581'\n    }\n  ],\n  '371600': [\n    {\n      city: '滨州市',\n      text: '市辖区',\n      value: '371601'\n    },\n    {\n      city: '滨州市',\n      text: '滨城区',\n      value: '371602'\n    },\n    {\n      city: '滨州市',\n      text: '沾化区',\n      value: '371603'\n    },\n    {\n      city: '滨州市',\n      text: '惠民县',\n      value: '371621'\n    },\n    {\n      city: '滨州市',\n      text: '阳信县',\n      value: '371622'\n    },\n    {\n      city: '滨州市',\n      text: '无棣县',\n      value: '371623'\n    },\n    {\n      city: '滨州市',\n      text: '博兴县',\n      value: '371625'\n    },\n    {\n      city: '滨州市',\n      text: '邹平县',\n      value: '371626'\n    }\n  ],\n  '371700': [\n    {\n      city: '菏泽市',\n      text: '市辖区',\n      value: '371701'\n    },\n    {\n      city: '菏泽市',\n      text: '牡丹区',\n      value: '371702'\n    },\n    {\n      city: '菏泽市',\n      text: '定陶区',\n      value: '371703'\n    },\n    {\n      city: '菏泽市',\n      text: '曹县',\n      value: '371721'\n    },\n    {\n      city: '菏泽市',\n      text: '单县',\n      value: '371722'\n    },\n    {\n      city: '菏泽市',\n      text: '成武县',\n      value: '371723'\n    },\n    {\n      city: '菏泽市',\n      text: '巨野县',\n      value: '371724'\n    },\n    {\n      city: '菏泽市',\n      text: '郓城县',\n      value: '371725'\n    },\n    {\n      city: '菏泽市',\n      text: '鄄城县',\n      value: '371726'\n    },\n    {\n      city: '菏泽市',\n      text: '东明县',\n      value: '371728'\n    }\n  ],\n  '410100': [\n    {\n      city: '郑州市',\n      text: '市辖区',\n      value: '410101'\n    },\n    {\n      city: '郑州市',\n      text: '中原区',\n      value: '410102'\n    },\n    {\n      city: '郑州市',\n      text: '二七区',\n      value: '410103'\n    },\n    {\n      city: '郑州市',\n      text: '管城回族区',\n      value: '410104'\n    },\n    {\n      city: '郑州市',\n      text: '金水区',\n      value: '410105'\n    },\n    {\n      city: '郑州市',\n      text: '上街区',\n      value: '410106'\n    },\n    {\n      city: '郑州市',\n      text: '惠济区',\n      value: '410108'\n    },\n    {\n      city: '郑州市',\n      text: '中牟县',\n      value: '410122'\n    },\n    {\n      city: '郑州市',\n      text: '巩义市',\n      value: '410181'\n    },\n    {\n      city: '郑州市',\n      text: '荥阳市',\n      value: '410182'\n    },\n    {\n      city: '郑州市',\n      text: '新密市',\n      value: '410183'\n    },\n    {\n      city: '郑州市',\n      text: '新郑市',\n      value: '410184'\n    },\n    {\n      city: '郑州市',\n      text: '登封市',\n      value: '410185'\n    }\n  ],\n  '410200': [\n    {\n      city: '开封市',\n      text: '市辖区',\n      value: '410201'\n    },\n    {\n      city: '开封市',\n      text: '龙亭区',\n      value: '410202'\n    },\n    {\n      city: '开封市',\n      text: '顺河回族区',\n      value: '410203'\n    },\n    {\n      city: '开封市',\n      text: '鼓楼区',\n      value: '410204'\n    },\n    {\n      city: '开封市',\n      text: '禹王台区',\n      value: '410205'\n    },\n    {\n      city: '开封市',\n      text: '金明区',\n      value: '410211'\n    },\n    {\n      city: '开封市',\n      text: '祥符区',\n      value: '410212'\n    },\n    {\n      city: '开封市',\n      text: '杞县',\n      value: '410221'\n    },\n    {\n      city: '开封市',\n      text: '通许县',\n      value: '410222'\n    },\n    {\n      city: '开封市',\n      text: '尉氏县',\n      value: '410223'\n    },\n    {\n      city: '开封市',\n      text: '兰考县',\n      value: '410225'\n    }\n  ],\n  '410300': [\n    {\n      city: '洛阳市',\n      text: '市辖区',\n      value: '410301'\n    },\n    {\n      city: '洛阳市',\n      text: '老城区',\n      value: '410302'\n    },\n    {\n      city: '洛阳市',\n      text: '西工区',\n      value: '410303'\n    },\n    {\n      city: '洛阳市',\n      text: '瀍河回族区',\n      value: '410304'\n    },\n    {\n      city: '洛阳市',\n      text: '涧西区',\n      value: '410305'\n    },\n    {\n      city: '洛阳市',\n      text: '吉利区',\n      value: '410306'\n    },\n    {\n      city: '洛阳市',\n      text: '洛龙区',\n      value: '410311'\n    },\n    {\n      city: '洛阳市',\n      text: '孟津县',\n      value: '410322'\n    },\n    {\n      city: '洛阳市',\n      text: '新安县',\n      value: '410323'\n    },\n    {\n      city: '洛阳市',\n      text: '栾川县',\n      value: '410324'\n    },\n    {\n      city: '洛阳市',\n      text: '嵩县',\n      value: '410325'\n    },\n    {\n      city: '洛阳市',\n      text: '汝阳县',\n      value: '410326'\n    },\n    {\n      city: '洛阳市',\n      text: '宜阳县',\n      value: '410327'\n    },\n    {\n      city: '洛阳市',\n      text: '洛宁县',\n      value: '410328'\n    },\n    {\n      city: '洛阳市',\n      text: '伊川县',\n      value: '410329'\n    },\n    {\n      city: '洛阳市',\n      text: '偃师市',\n      value: '410381'\n    }\n  ],\n  '410400': [\n    {\n      city: '平顶山市',\n      text: '市辖区',\n      value: '410401'\n    },\n    {\n      city: '平顶山市',\n      text: '新华区',\n      value: '410402'\n    },\n    {\n      city: '平顶山市',\n      text: '卫东区',\n      value: '410403'\n    },\n    {\n      city: '平顶山市',\n      text: '石龙区',\n      value: '410404'\n    },\n    {\n      city: '平顶山市',\n      text: '湛河区',\n      value: '410411'\n    },\n    {\n      city: '平顶山市',\n      text: '宝丰县',\n      value: '410421'\n    },\n    {\n      city: '平顶山市',\n      text: '叶县',\n      value: '410422'\n    },\n    {\n      city: '平顶山市',\n      text: '鲁山县',\n      value: '410423'\n    },\n    {\n      city: '平顶山市',\n      text: '郏县',\n      value: '410425'\n    },\n    {\n      city: '平顶山市',\n      text: '舞钢市',\n      value: '410481'\n    },\n    {\n      city: '平顶山市',\n      text: '汝州市',\n      value: '410482'\n    }\n  ],\n  '410500': [\n    {\n      city: '安阳市',\n      text: '市辖区',\n      value: '410501'\n    },\n    {\n      city: '安阳市',\n      text: '文峰区',\n      value: '410502'\n    },\n    {\n      city: '安阳市',\n      text: '北关区',\n      value: '410503'\n    },\n    {\n      city: '安阳市',\n      text: '殷都区',\n      value: '410505'\n    },\n    {\n      city: '安阳市',\n      text: '龙安区',\n      value: '410506'\n    },\n    {\n      city: '安阳市',\n      text: '安阳县',\n      value: '410522'\n    },\n    {\n      city: '安阳市',\n      text: '汤阴县',\n      value: '410523'\n    },\n    {\n      city: '安阳市',\n      text: '滑县',\n      value: '410526'\n    },\n    {\n      city: '安阳市',\n      text: '内黄县',\n      value: '410527'\n    },\n    {\n      city: '安阳市',\n      text: '林州市',\n      value: '410581'\n    }\n  ],\n  '410600': [\n    {\n      city: '鹤壁市',\n      text: '市辖区',\n      value: '410601'\n    },\n    {\n      city: '鹤壁市',\n      text: '鹤山区',\n      value: '410602'\n    },\n    {\n      city: '鹤壁市',\n      text: '山城区',\n      value: '410603'\n    },\n    {\n      city: '鹤壁市',\n      text: '淇滨区',\n      value: '410611'\n    },\n    {\n      city: '鹤壁市',\n      text: '浚县',\n      value: '410621'\n    },\n    {\n      city: '鹤壁市',\n      text: '淇县',\n      value: '410622'\n    }\n  ],\n  '410700': [\n    {\n      city: '新乡市',\n      text: '市辖区',\n      value: '410701'\n    },\n    {\n      city: '新乡市',\n      text: '红旗区',\n      value: '410702'\n    },\n    {\n      city: '新乡市',\n      text: '卫滨区',\n      value: '410703'\n    },\n    {\n      city: '新乡市',\n      text: '凤泉区',\n      value: '410704'\n    },\n    {\n      city: '新乡市',\n      text: '牧野区',\n      value: '410711'\n    },\n    {\n      city: '新乡市',\n      text: '新乡县',\n      value: '410721'\n    },\n    {\n      city: '新乡市',\n      text: '获嘉县',\n      value: '410724'\n    },\n    {\n      city: '新乡市',\n      text: '原阳县',\n      value: '410725'\n    },\n    {\n      city: '新乡市',\n      text: '延津县',\n      value: '410726'\n    },\n    {\n      city: '新乡市',\n      text: '封丘县',\n      value: '410727'\n    },\n    {\n      city: '新乡市',\n      text: '长垣县',\n      value: '410728'\n    },\n    {\n      city: '新乡市',\n      text: '卫辉市',\n      value: '410781'\n    },\n    {\n      city: '新乡市',\n      text: '辉县市',\n      value: '410782'\n    }\n  ],\n  '410800': [\n    {\n      city: '焦作市',\n      text: '市辖区',\n      value: '410801'\n    },\n    {\n      city: '焦作市',\n      text: '解放区',\n      value: '410802'\n    },\n    {\n      city: '焦作市',\n      text: '中站区',\n      value: '410803'\n    },\n    {\n      city: '焦作市',\n      text: '马村区',\n      value: '410804'\n    },\n    {\n      city: '焦作市',\n      text: '山阳区',\n      value: '410811'\n    },\n    {\n      city: '焦作市',\n      text: '修武县',\n      value: '410821'\n    },\n    {\n      city: '焦作市',\n      text: '博爱县',\n      value: '410822'\n    },\n    {\n      city: '焦作市',\n      text: '武陟县',\n      value: '410823'\n    },\n    {\n      city: '焦作市',\n      text: '温县',\n      value: '410825'\n    },\n    {\n      city: '焦作市',\n      text: '沁阳市',\n      value: '410882'\n    },\n    {\n      city: '焦作市',\n      text: '孟州市',\n      value: '410883'\n    }\n  ],\n  '410900': [\n    {\n      city: '濮阳市',\n      text: '市辖区',\n      value: '410901'\n    },\n    {\n      city: '濮阳市',\n      text: '华龙区',\n      value: '410902'\n    },\n    {\n      city: '濮阳市',\n      text: '清丰县',\n      value: '410922'\n    },\n    {\n      city: '濮阳市',\n      text: '南乐县',\n      value: '410923'\n    },\n    {\n      city: '濮阳市',\n      text: '范县',\n      value: '410926'\n    },\n    {\n      city: '濮阳市',\n      text: '台前县',\n      value: '410927'\n    },\n    {\n      city: '濮阳市',\n      text: '濮阳县',\n      value: '410928'\n    }\n  ],\n  '411000': [\n    {\n      city: '许昌市',\n      text: '市辖区',\n      value: '411001'\n    },\n    {\n      city: '许昌市',\n      text: '魏都区',\n      value: '411002'\n    },\n    {\n      city: '许昌市',\n      text: '许昌县',\n      value: '411023'\n    },\n    {\n      city: '许昌市',\n      text: '鄢陵县',\n      value: '411024'\n    },\n    {\n      city: '许昌市',\n      text: '襄城县',\n      value: '411025'\n    },\n    {\n      city: '许昌市',\n      text: '禹州市',\n      value: '411081'\n    },\n    {\n      city: '许昌市',\n      text: '长葛市',\n      value: '411082'\n    }\n  ],\n  '411100': [\n    {\n      city: '漯河市',\n      text: '市辖区',\n      value: '411101'\n    },\n    {\n      city: '漯河市',\n      text: '源汇区',\n      value: '411102'\n    },\n    {\n      city: '漯河市',\n      text: '郾城区',\n      value: '411103'\n    },\n    {\n      city: '漯河市',\n      text: '召陵区',\n      value: '411104'\n    },\n    {\n      city: '漯河市',\n      text: '舞阳县',\n      value: '411121'\n    },\n    {\n      city: '漯河市',\n      text: '临颍县',\n      value: '411122'\n    }\n  ],\n  '411200': [\n    {\n      city: '三门峡市',\n      text: '市辖区',\n      value: '411201'\n    },\n    {\n      city: '三门峡市',\n      text: '湖滨区',\n      value: '411202'\n    },\n    {\n      city: '三门峡市',\n      text: '陕州区',\n      value: '411203'\n    },\n    {\n      city: '三门峡市',\n      text: '渑池县',\n      value: '411221'\n    },\n    {\n      city: '三门峡市',\n      text: '卢氏县',\n      value: '411224'\n    },\n    {\n      city: '三门峡市',\n      text: '义马市',\n      value: '411281'\n    },\n    {\n      city: '三门峡市',\n      text: '灵宝市',\n      value: '411282'\n    }\n  ],\n  '411300': [\n    {\n      city: '南阳市',\n      text: '市辖区',\n      value: '411301'\n    },\n    {\n      city: '南阳市',\n      text: '宛城区',\n      value: '411302'\n    },\n    {\n      city: '南阳市',\n      text: '卧龙区',\n      value: '411303'\n    },\n    {\n      city: '南阳市',\n      text: '南召县',\n      value: '411321'\n    },\n    {\n      city: '南阳市',\n      text: '方城县',\n      value: '411322'\n    },\n    {\n      city: '南阳市',\n      text: '西峡县',\n      value: '411323'\n    },\n    {\n      city: '南阳市',\n      text: '镇平县',\n      value: '411324'\n    },\n    {\n      city: '南阳市',\n      text: '内乡县',\n      value: '411325'\n    },\n    {\n      city: '南阳市',\n      text: '淅川县',\n      value: '411326'\n    },\n    {\n      city: '南阳市',\n      text: '社旗县',\n      value: '411327'\n    },\n    {\n      city: '南阳市',\n      text: '唐河县',\n      value: '411328'\n    },\n    {\n      city: '南阳市',\n      text: '新野县',\n      value: '411329'\n    },\n    {\n      city: '南阳市',\n      text: '桐柏县',\n      value: '411330'\n    },\n    {\n      city: '南阳市',\n      text: '邓州市',\n      value: '411381'\n    }\n  ],\n  '411400': [\n    {\n      city: '商丘市',\n      text: '市辖区',\n      value: '411401'\n    },\n    {\n      city: '商丘市',\n      text: '梁园区',\n      value: '411402'\n    },\n    {\n      city: '商丘市',\n      text: '睢阳区',\n      value: '411403'\n    },\n    {\n      city: '商丘市',\n      text: '民权县',\n      value: '411421'\n    },\n    {\n      city: '商丘市',\n      text: '睢县',\n      value: '411422'\n    },\n    {\n      city: '商丘市',\n      text: '宁陵县',\n      value: '411423'\n    },\n    {\n      city: '商丘市',\n      text: '柘城县',\n      value: '411424'\n    },\n    {\n      city: '商丘市',\n      text: '虞城县',\n      value: '411425'\n    },\n    {\n      city: '商丘市',\n      text: '夏邑县',\n      value: '411426'\n    },\n    {\n      city: '商丘市',\n      text: '永城市',\n      value: '411481'\n    }\n  ],\n  '411500': [\n    {\n      city: '信阳市',\n      text: '市辖区',\n      value: '411501'\n    },\n    {\n      city: '信阳市',\n      text: '浉河区',\n      value: '411502'\n    },\n    {\n      city: '信阳市',\n      text: '平桥区',\n      value: '411503'\n    },\n    {\n      city: '信阳市',\n      text: '罗山县',\n      value: '411521'\n    },\n    {\n      city: '信阳市',\n      text: '光山县',\n      value: '411522'\n    },\n    {\n      city: '信阳市',\n      text: '新县',\n      value: '411523'\n    },\n    {\n      city: '信阳市',\n      text: '商城县',\n      value: '411524'\n    },\n    {\n      city: '信阳市',\n      text: '固始县',\n      value: '411525'\n    },\n    {\n      city: '信阳市',\n      text: '潢川县',\n      value: '411526'\n    },\n    {\n      city: '信阳市',\n      text: '淮滨县',\n      value: '411527'\n    },\n    {\n      city: '信阳市',\n      text: '息县',\n      value: '411528'\n    }\n  ],\n  '411600': [\n    {\n      city: '周口市',\n      text: '市辖区',\n      value: '411601'\n    },\n    {\n      city: '周口市',\n      text: '川汇区',\n      value: '411602'\n    },\n    {\n      city: '周口市',\n      text: '扶沟县',\n      value: '411621'\n    },\n    {\n      city: '周口市',\n      text: '西华县',\n      value: '411622'\n    },\n    {\n      city: '周口市',\n      text: '商水县',\n      value: '411623'\n    },\n    {\n      city: '周口市',\n      text: '沈丘县',\n      value: '411624'\n    },\n    {\n      city: '周口市',\n      text: '郸城县',\n      value: '411625'\n    },\n    {\n      city: '周口市',\n      text: '淮阳县',\n      value: '411626'\n    },\n    {\n      city: '周口市',\n      text: '太康县',\n      value: '411627'\n    },\n    {\n      city: '周口市',\n      text: '鹿邑县',\n      value: '411628'\n    },\n    {\n      city: '周口市',\n      text: '项城市',\n      value: '411681'\n    }\n  ],\n  '411700': [\n    {\n      city: '驻马店市',\n      text: '市辖区',\n      value: '411701'\n    },\n    {\n      city: '驻马店市',\n      text: '驿城区',\n      value: '411702'\n    },\n    {\n      city: '驻马店市',\n      text: '西平县',\n      value: '411721'\n    },\n    {\n      city: '驻马店市',\n      text: '上蔡县',\n      value: '411722'\n    },\n    {\n      city: '驻马店市',\n      text: '平舆县',\n      value: '411723'\n    },\n    {\n      city: '驻马店市',\n      text: '正阳县',\n      value: '411724'\n    },\n    {\n      city: '驻马店市',\n      text: '确山县',\n      value: '411725'\n    },\n    {\n      city: '驻马店市',\n      text: '泌阳县',\n      value: '411726'\n    },\n    {\n      city: '驻马店市',\n      text: '汝南县',\n      value: '411727'\n    },\n    {\n      city: '驻马店市',\n      text: '遂平县',\n      value: '411728'\n    },\n    {\n      city: '驻马店市',\n      text: '新蔡县',\n      value: '411729'\n    }\n  ],\n  '419000': [\n    {\n      city: '省直辖县级行政区划',\n      text: '济源市',\n      value: '419001'\n    }\n  ],\n  '420100': [\n    {\n      city: '武汉市',\n      text: '市辖区',\n      value: '420101'\n    },\n    {\n      city: '武汉市',\n      text: '江岸区',\n      value: '420102'\n    },\n    {\n      city: '武汉市',\n      text: '江汉区',\n      value: '420103'\n    },\n    {\n      city: '武汉市',\n      text: '硚口区',\n      value: '420104'\n    },\n    {\n      city: '武汉市',\n      text: '汉阳区',\n      value: '420105'\n    },\n    {\n      city: '武汉市',\n      text: '武昌区',\n      value: '420106'\n    },\n    {\n      city: '武汉市',\n      text: '青山区',\n      value: '420107'\n    },\n    {\n      city: '武汉市',\n      text: '洪山区',\n      value: '420111'\n    },\n    {\n      city: '武汉市',\n      text: '东西湖区',\n      value: '420112'\n    },\n    {\n      city: '武汉市',\n      text: '汉南区',\n      value: '420113'\n    },\n    {\n      city: '武汉市',\n      text: '蔡甸区',\n      value: '420114'\n    },\n    {\n      city: '武汉市',\n      text: '江夏区',\n      value: '420115'\n    },\n    {\n      city: '武汉市',\n      text: '黄陂区',\n      value: '420116'\n    },\n    {\n      city: '武汉市',\n      text: '新洲区',\n      value: '420117'\n    }\n  ],\n  '420200': [\n    {\n      city: '黄石市',\n      text: '市辖区',\n      value: '420201'\n    },\n    {\n      city: '黄石市',\n      text: '黄石港区',\n      value: '420202'\n    },\n    {\n      city: '黄石市',\n      text: '西塞山区',\n      value: '420203'\n    },\n    {\n      city: '黄石市',\n      text: '下陆区',\n      value: '420204'\n    },\n    {\n      city: '黄石市',\n      text: '铁山区',\n      value: '420205'\n    },\n    {\n      city: '黄石市',\n      text: '阳新县',\n      value: '420222'\n    },\n    {\n      city: '黄石市',\n      text: '大冶市',\n      value: '420281'\n    }\n  ],\n  '420300': [\n    {\n      city: '十堰市',\n      text: '市辖区',\n      value: '420301'\n    },\n    {\n      city: '十堰市',\n      text: '茅箭区',\n      value: '420302'\n    },\n    {\n      city: '十堰市',\n      text: '张湾区',\n      value: '420303'\n    },\n    {\n      city: '十堰市',\n      text: '郧阳区',\n      value: '420304'\n    },\n    {\n      city: '十堰市',\n      text: '郧西县',\n      value: '420322'\n    },\n    {\n      city: '十堰市',\n      text: '竹山县',\n      value: '420323'\n    },\n    {\n      city: '十堰市',\n      text: '竹溪县',\n      value: '420324'\n    },\n    {\n      city: '十堰市',\n      text: '房县',\n      value: '420325'\n    },\n    {\n      city: '十堰市',\n      text: '丹江口市',\n      value: '420381'\n    }\n  ],\n  '420500': [\n    {\n      city: '宜昌市',\n      text: '市辖区',\n      value: '420501'\n    },\n    {\n      city: '宜昌市',\n      text: '西陵区',\n      value: '420502'\n    },\n    {\n      city: '宜昌市',\n      text: '伍家岗区',\n      value: '420503'\n    },\n    {\n      city: '宜昌市',\n      text: '点军区',\n      value: '420504'\n    },\n    {\n      city: '宜昌市',\n      text: '猇亭区',\n      value: '420505'\n    },\n    {\n      city: '宜昌市',\n      text: '夷陵区',\n      value: '420506'\n    },\n    {\n      city: '宜昌市',\n      text: '远安县',\n      value: '420525'\n    },\n    {\n      city: '宜昌市',\n      text: '兴山县',\n      value: '420526'\n    },\n    {\n      city: '宜昌市',\n      text: '秭归县',\n      value: '420527'\n    },\n    {\n      city: '宜昌市',\n      text: '长阳土家族自治县',\n      value: '420528'\n    },\n    {\n      city: '宜昌市',\n      text: '五峰土家族自治县',\n      value: '420529'\n    },\n    {\n      city: '宜昌市',\n      text: '宜都市',\n      value: '420581'\n    },\n    {\n      city: '宜昌市',\n      text: '当阳市',\n      value: '420582'\n    },\n    {\n      city: '宜昌市',\n      text: '枝江市',\n      value: '420583'\n    }\n  ],\n  '420600': [\n    {\n      city: '襄阳市',\n      text: '市辖区',\n      value: '420601'\n    },\n    {\n      city: '襄阳市',\n      text: '襄城区',\n      value: '420602'\n    },\n    {\n      city: '襄阳市',\n      text: '樊城区',\n      value: '420606'\n    },\n    {\n      city: '襄阳市',\n      text: '襄州区',\n      value: '420607'\n    },\n    {\n      city: '襄阳市',\n      text: '南漳县',\n      value: '420624'\n    },\n    {\n      city: '襄阳市',\n      text: '谷城县',\n      value: '420625'\n    },\n    {\n      city: '襄阳市',\n      text: '保康县',\n      value: '420626'\n    },\n    {\n      city: '襄阳市',\n      text: '老河口市',\n      value: '420682'\n    },\n    {\n      city: '襄阳市',\n      text: '枣阳市',\n      value: '420683'\n    },\n    {\n      city: '襄阳市',\n      text: '宜城市',\n      value: '420684'\n    }\n  ],\n  '420700': [\n    {\n      city: '鄂州市',\n      text: '市辖区',\n      value: '420701'\n    },\n    {\n      city: '鄂州市',\n      text: '梁子湖区',\n      value: '420702'\n    },\n    {\n      city: '鄂州市',\n      text: '华容区',\n      value: '420703'\n    },\n    {\n      city: '鄂州市',\n      text: '鄂城区',\n      value: '420704'\n    }\n  ],\n  '420800': [\n    {\n      city: '荆门市',\n      text: '市辖区',\n      value: '420801'\n    },\n    {\n      city: '荆门市',\n      text: '东宝区',\n      value: '420802'\n    },\n    {\n      city: '荆门市',\n      text: '掇刀区',\n      value: '420804'\n    },\n    {\n      city: '荆门市',\n      text: '京山县',\n      value: '420821'\n    },\n    {\n      city: '荆门市',\n      text: '沙洋县',\n      value: '420822'\n    },\n    {\n      city: '荆门市',\n      text: '钟祥市',\n      value: '420881'\n    }\n  ],\n  '420900': [\n    {\n      city: '孝感市',\n      text: '市辖区',\n      value: '420901'\n    },\n    {\n      city: '孝感市',\n      text: '孝南区',\n      value: '420902'\n    },\n    {\n      city: '孝感市',\n      text: '孝昌县',\n      value: '420921'\n    },\n    {\n      city: '孝感市',\n      text: '大悟县',\n      value: '420922'\n    },\n    {\n      city: '孝感市',\n      text: '云梦县',\n      value: '420923'\n    },\n    {\n      city: '孝感市',\n      text: '应城市',\n      value: '420981'\n    },\n    {\n      city: '孝感市',\n      text: '安陆市',\n      value: '420982'\n    },\n    {\n      city: '孝感市',\n      text: '汉川市',\n      value: '420984'\n    }\n  ],\n  '421000': [\n    {\n      city: '荆州市',\n      text: '市辖区',\n      value: '421001'\n    },\n    {\n      city: '荆州市',\n      text: '沙市区',\n      value: '421002'\n    },\n    {\n      city: '荆州市',\n      text: '荆州区',\n      value: '421003'\n    },\n    {\n      city: '荆州市',\n      text: '公安县',\n      value: '421022'\n    },\n    {\n      city: '荆州市',\n      text: '监利县',\n      value: '421023'\n    },\n    {\n      city: '荆州市',\n      text: '江陵县',\n      value: '421024'\n    },\n    {\n      city: '荆州市',\n      text: '石首市',\n      value: '421081'\n    },\n    {\n      city: '荆州市',\n      text: '洪湖市',\n      value: '421083'\n    },\n    {\n      city: '荆州市',\n      text: '松滋市',\n      value: '421087'\n    }\n  ],\n  '421100': [\n    {\n      city: '黄冈市',\n      text: '市辖区',\n      value: '421101'\n    },\n    {\n      city: '黄冈市',\n      text: '黄州区',\n      value: '421102'\n    },\n    {\n      city: '黄冈市',\n      text: '团风县',\n      value: '421121'\n    },\n    {\n      city: '黄冈市',\n      text: '红安县',\n      value: '421122'\n    },\n    {\n      city: '黄冈市',\n      text: '罗田县',\n      value: '421123'\n    },\n    {\n      city: '黄冈市',\n      text: '英山县',\n      value: '421124'\n    },\n    {\n      city: '黄冈市',\n      text: '浠水县',\n      value: '421125'\n    },\n    {\n      city: '黄冈市',\n      text: '蕲春县',\n      value: '421126'\n    },\n    {\n      city: '黄冈市',\n      text: '黄梅县',\n      value: '421127'\n    },\n    {\n      city: '黄冈市',\n      text: '麻城市',\n      value: '421181'\n    },\n    {\n      city: '黄冈市',\n      text: '武穴市',\n      value: '421182'\n    }\n  ],\n  '421200': [\n    {\n      city: '咸宁市',\n      text: '市辖区',\n      value: '421201'\n    },\n    {\n      city: '咸宁市',\n      text: '咸安区',\n      value: '421202'\n    },\n    {\n      city: '咸宁市',\n      text: '嘉鱼县',\n      value: '421221'\n    },\n    {\n      city: '咸宁市',\n      text: '通城县',\n      value: '421222'\n    },\n    {\n      city: '咸宁市',\n      text: '崇阳县',\n      value: '421223'\n    },\n    {\n      city: '咸宁市',\n      text: '通山县',\n      value: '421224'\n    },\n    {\n      city: '咸宁市',\n      text: '赤壁市',\n      value: '421281'\n    }\n  ],\n  '421300': [\n    {\n      city: '随州市',\n      text: '市辖区',\n      value: '421301'\n    },\n    {\n      city: '随州市',\n      text: '曾都区',\n      value: '421303'\n    },\n    {\n      city: '随州市',\n      text: '随县',\n      value: '421321'\n    },\n    {\n      city: '随州市',\n      text: '广水市',\n      value: '421381'\n    }\n  ],\n  '422800': [\n    {\n      city: '恩施土家族苗族自治州',\n      text: '恩施市',\n      value: '422801'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '利川市',\n      value: '422802'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '建始县',\n      value: '422822'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '巴东县',\n      value: '422823'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '宣恩县',\n      value: '422825'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '咸丰县',\n      value: '422826'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '来凤县',\n      value: '422827'\n    },\n    {\n      city: '恩施土家族苗族自治州',\n      text: '鹤峰县',\n      value: '422828'\n    }\n  ],\n  '429000': [\n    {\n      city: '省直辖县级行政区划',\n      text: '仙桃市',\n      value: '429004'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '潜江市',\n      value: '429005'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '天门市',\n      value: '429006'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '神农架林区',\n      value: '429021'\n    }\n  ],\n  '430100': [\n    {\n      city: '长沙市',\n      text: '市辖区',\n      value: '430101'\n    },\n    {\n      city: '长沙市',\n      text: '芙蓉区',\n      value: '430102'\n    },\n    {\n      city: '长沙市',\n      text: '天心区',\n      value: '430103'\n    },\n    {\n      city: '长沙市',\n      text: '岳麓区',\n      value: '430104'\n    },\n    {\n      city: '长沙市',\n      text: '开福区',\n      value: '430105'\n    },\n    {\n      city: '长沙市',\n      text: '雨花区',\n      value: '430111'\n    },\n    {\n      city: '长沙市',\n      text: '望城区',\n      value: '430112'\n    },\n    {\n      city: '长沙市',\n      text: '长沙县',\n      value: '430121'\n    },\n    {\n      city: '长沙市',\n      text: '宁乡县',\n      value: '430124'\n    },\n    {\n      city: '长沙市',\n      text: '浏阳市',\n      value: '430181'\n    }\n  ],\n  '430200': [\n    {\n      city: '株洲市',\n      text: '市辖区',\n      value: '430201'\n    },\n    {\n      city: '株洲市',\n      text: '荷塘区',\n      value: '430202'\n    },\n    {\n      city: '株洲市',\n      text: '芦淞区',\n      value: '430203'\n    },\n    {\n      city: '株洲市',\n      text: '石峰区',\n      value: '430204'\n    },\n    {\n      city: '株洲市',\n      text: '天元区',\n      value: '430211'\n    },\n    {\n      city: '株洲市',\n      text: '株洲县',\n      value: '430221'\n    },\n    {\n      city: '株洲市',\n      text: '攸县',\n      value: '430223'\n    },\n    {\n      city: '株洲市',\n      text: '茶陵县',\n      value: '430224'\n    },\n    {\n      city: '株洲市',\n      text: '炎陵县',\n      value: '430225'\n    },\n    {\n      city: '株洲市',\n      text: '醴陵市',\n      value: '430281'\n    }\n  ],\n  '430300': [\n    {\n      city: '湘潭市',\n      text: '市辖区',\n      value: '430301'\n    },\n    {\n      city: '湘潭市',\n      text: '雨湖区',\n      value: '430302'\n    },\n    {\n      city: '湘潭市',\n      text: '岳塘区',\n      value: '430304'\n    },\n    {\n      city: '湘潭市',\n      text: '湘潭县',\n      value: '430321'\n    },\n    {\n      city: '湘潭市',\n      text: '湘乡市',\n      value: '430381'\n    },\n    {\n      city: '湘潭市',\n      text: '韶山市',\n      value: '430382'\n    }\n  ],\n  '430400': [\n    {\n      city: '衡阳市',\n      text: '市辖区',\n      value: '430401'\n    },\n    {\n      city: '衡阳市',\n      text: '珠晖区',\n      value: '430405'\n    },\n    {\n      city: '衡阳市',\n      text: '雁峰区',\n      value: '430406'\n    },\n    {\n      city: '衡阳市',\n      text: '石鼓区',\n      value: '430407'\n    },\n    {\n      city: '衡阳市',\n      text: '蒸湘区',\n      value: '430408'\n    },\n    {\n      city: '衡阳市',\n      text: '南岳区',\n      value: '430412'\n    },\n    {\n      city: '衡阳市',\n      text: '衡阳县',\n      value: '430421'\n    },\n    {\n      city: '衡阳市',\n      text: '衡南县',\n      value: '430422'\n    },\n    {\n      city: '衡阳市',\n      text: '衡山县',\n      value: '430423'\n    },\n    {\n      city: '衡阳市',\n      text: '衡东县',\n      value: '430424'\n    },\n    {\n      city: '衡阳市',\n      text: '祁东县',\n      value: '430426'\n    },\n    {\n      city: '衡阳市',\n      text: '耒阳市',\n      value: '430481'\n    },\n    {\n      city: '衡阳市',\n      text: '常宁市',\n      value: '430482'\n    }\n  ],\n  '430500': [\n    {\n      city: '邵阳市',\n      text: '市辖区',\n      value: '430501'\n    },\n    {\n      city: '邵阳市',\n      text: '双清区',\n      value: '430502'\n    },\n    {\n      city: '邵阳市',\n      text: '大祥区',\n      value: '430503'\n    },\n    {\n      city: '邵阳市',\n      text: '北塔区',\n      value: '430511'\n    },\n    {\n      city: '邵阳市',\n      text: '邵东县',\n      value: '430521'\n    },\n    {\n      city: '邵阳市',\n      text: '新邵县',\n      value: '430522'\n    },\n    {\n      city: '邵阳市',\n      text: '邵阳县',\n      value: '430523'\n    },\n    {\n      city: '邵阳市',\n      text: '隆回县',\n      value: '430524'\n    },\n    {\n      city: '邵阳市',\n      text: '洞口县',\n      value: '430525'\n    },\n    {\n      city: '邵阳市',\n      text: '绥宁县',\n      value: '430527'\n    },\n    {\n      city: '邵阳市',\n      text: '新宁县',\n      value: '430528'\n    },\n    {\n      city: '邵阳市',\n      text: '城步苗族自治县',\n      value: '430529'\n    },\n    {\n      city: '邵阳市',\n      text: '武冈市',\n      value: '430581'\n    }\n  ],\n  '430600': [\n    {\n      city: '岳阳市',\n      text: '市辖区',\n      value: '430601'\n    },\n    {\n      city: '岳阳市',\n      text: '岳阳楼区',\n      value: '430602'\n    },\n    {\n      city: '岳阳市',\n      text: '云溪区',\n      value: '430603'\n    },\n    {\n      city: '岳阳市',\n      text: '君山区',\n      value: '430611'\n    },\n    {\n      city: '岳阳市',\n      text: '岳阳县',\n      value: '430621'\n    },\n    {\n      city: '岳阳市',\n      text: '华容县',\n      value: '430623'\n    },\n    {\n      city: '岳阳市',\n      text: '湘阴县',\n      value: '430624'\n    },\n    {\n      city: '岳阳市',\n      text: '平江县',\n      value: '430626'\n    },\n    {\n      city: '岳阳市',\n      text: '汨罗市',\n      value: '430681'\n    },\n    {\n      city: '岳阳市',\n      text: '临湘市',\n      value: '430682'\n    }\n  ],\n  '430700': [\n    {\n      city: '常德市',\n      text: '市辖区',\n      value: '430701'\n    },\n    {\n      city: '常德市',\n      text: '武陵区',\n      value: '430702'\n    },\n    {\n      city: '常德市',\n      text: '鼎城区',\n      value: '430703'\n    },\n    {\n      city: '常德市',\n      text: '安乡县',\n      value: '430721'\n    },\n    {\n      city: '常德市',\n      text: '汉寿县',\n      value: '430722'\n    },\n    {\n      city: '常德市',\n      text: '澧县',\n      value: '430723'\n    },\n    {\n      city: '常德市',\n      text: '临澧县',\n      value: '430724'\n    },\n    {\n      city: '常德市',\n      text: '桃源县',\n      value: '430725'\n    },\n    {\n      city: '常德市',\n      text: '石门县',\n      value: '430726'\n    },\n    {\n      city: '常德市',\n      text: '津市市',\n      value: '430781'\n    }\n  ],\n  '430800': [\n    {\n      city: '张家界市',\n      text: '市辖区',\n      value: '430801'\n    },\n    {\n      city: '张家界市',\n      text: '永定区',\n      value: '430802'\n    },\n    {\n      city: '张家界市',\n      text: '武陵源区',\n      value: '430811'\n    },\n    {\n      city: '张家界市',\n      text: '慈利县',\n      value: '430821'\n    },\n    {\n      city: '张家界市',\n      text: '桑植县',\n      value: '430822'\n    }\n  ],\n  '430900': [\n    {\n      city: '益阳市',\n      text: '市辖区',\n      value: '430901'\n    },\n    {\n      city: '益阳市',\n      text: '资阳区',\n      value: '430902'\n    },\n    {\n      city: '益阳市',\n      text: '赫山区',\n      value: '430903'\n    },\n    {\n      city: '益阳市',\n      text: '南县',\n      value: '430921'\n    },\n    {\n      city: '益阳市',\n      text: '桃江县',\n      value: '430922'\n    },\n    {\n      city: '益阳市',\n      text: '安化县',\n      value: '430923'\n    },\n    {\n      city: '益阳市',\n      text: '沅江市',\n      value: '430981'\n    }\n  ],\n  '431000': [\n    {\n      city: '郴州市',\n      text: '市辖区',\n      value: '431001'\n    },\n    {\n      city: '郴州市',\n      text: '北湖区',\n      value: '431002'\n    },\n    {\n      city: '郴州市',\n      text: '苏仙区',\n      value: '431003'\n    },\n    {\n      city: '郴州市',\n      text: '桂阳县',\n      value: '431021'\n    },\n    {\n      city: '郴州市',\n      text: '宜章县',\n      value: '431022'\n    },\n    {\n      city: '郴州市',\n      text: '永兴县',\n      value: '431023'\n    },\n    {\n      city: '郴州市',\n      text: '嘉禾县',\n      value: '431024'\n    },\n    {\n      city: '郴州市',\n      text: '临武县',\n      value: '431025'\n    },\n    {\n      city: '郴州市',\n      text: '汝城县',\n      value: '431026'\n    },\n    {\n      city: '郴州市',\n      text: '桂东县',\n      value: '431027'\n    },\n    {\n      city: '郴州市',\n      text: '安仁县',\n      value: '431028'\n    },\n    {\n      city: '郴州市',\n      text: '资兴市',\n      value: '431081'\n    }\n  ],\n  '431100': [\n    {\n      city: '永州市',\n      text: '市辖区',\n      value: '431101'\n    },\n    {\n      city: '永州市',\n      text: '零陵区',\n      value: '431102'\n    },\n    {\n      city: '永州市',\n      text: '冷水滩区',\n      value: '431103'\n    },\n    {\n      city: '永州市',\n      text: '祁阳县',\n      value: '431121'\n    },\n    {\n      city: '永州市',\n      text: '东安县',\n      value: '431122'\n    },\n    {\n      city: '永州市',\n      text: '双牌县',\n      value: '431123'\n    },\n    {\n      city: '永州市',\n      text: '道县',\n      value: '431124'\n    },\n    {\n      city: '永州市',\n      text: '江永县',\n      value: '431125'\n    },\n    {\n      city: '永州市',\n      text: '宁远县',\n      value: '431126'\n    },\n    {\n      city: '永州市',\n      text: '蓝山县',\n      value: '431127'\n    },\n    {\n      city: '永州市',\n      text: '新田县',\n      value: '431128'\n    },\n    {\n      city: '永州市',\n      text: '江华瑶族自治县',\n      value: '431129'\n    }\n  ],\n  '431200': [\n    {\n      city: '怀化市',\n      text: '市辖区',\n      value: '431201'\n    },\n    {\n      city: '怀化市',\n      text: '鹤城区',\n      value: '431202'\n    },\n    {\n      city: '怀化市',\n      text: '中方县',\n      value: '431221'\n    },\n    {\n      city: '怀化市',\n      text: '沅陵县',\n      value: '431222'\n    },\n    {\n      city: '怀化市',\n      text: '辰溪县',\n      value: '431223'\n    },\n    {\n      city: '怀化市',\n      text: '溆浦县',\n      value: '431224'\n    },\n    {\n      city: '怀化市',\n      text: '会同县',\n      value: '431225'\n    },\n    {\n      city: '怀化市',\n      text: '麻阳苗族自治县',\n      value: '431226'\n    },\n    {\n      city: '怀化市',\n      text: '新晃侗族自治县',\n      value: '431227'\n    },\n    {\n      city: '怀化市',\n      text: '芷江侗族自治县',\n      value: '431228'\n    },\n    {\n      city: '怀化市',\n      text: '靖州苗族侗族自治县',\n      value: '431229'\n    },\n    {\n      city: '怀化市',\n      text: '通道侗族自治县',\n      value: '431230'\n    },\n    {\n      city: '怀化市',\n      text: '洪江市',\n      value: '431281'\n    }\n  ],\n  '431300': [\n    {\n      city: '娄底市',\n      text: '市辖区',\n      value: '431301'\n    },\n    {\n      city: '娄底市',\n      text: '娄星区',\n      value: '431302'\n    },\n    {\n      city: '娄底市',\n      text: '双峰县',\n      value: '431321'\n    },\n    {\n      city: '娄底市',\n      text: '新化县',\n      value: '431322'\n    },\n    {\n      city: '娄底市',\n      text: '冷水江市',\n      value: '431381'\n    },\n    {\n      city: '娄底市',\n      text: '涟源市',\n      value: '431382'\n    }\n  ],\n  '433100': [\n    {\n      city: '湘西土家族苗族自治州',\n      text: '吉首市',\n      value: '433101'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '泸溪县',\n      value: '433122'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '凤凰县',\n      value: '433123'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '花垣县',\n      value: '433124'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '保靖县',\n      value: '433125'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '古丈县',\n      value: '433126'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '永顺县',\n      value: '433127'\n    },\n    {\n      city: '湘西土家族苗族自治州',\n      text: '龙山县',\n      value: '433130'\n    }\n  ],\n  '440100': [\n    {\n      city: '广州市',\n      text: '市辖区',\n      value: '440101'\n    },\n    {\n      city: '广州市',\n      text: '荔湾区',\n      value: '440103'\n    },\n    {\n      city: '广州市',\n      text: '越秀区',\n      value: '440104'\n    },\n    {\n      city: '广州市',\n      text: '海珠区',\n      value: '440105'\n    },\n    {\n      city: '广州市',\n      text: '天河区',\n      value: '440106'\n    },\n    {\n      city: '广州市',\n      text: '白云区',\n      value: '440111'\n    },\n    {\n      city: '广州市',\n      text: '黄埔区',\n      value: '440112'\n    },\n    {\n      city: '广州市',\n      text: '番禺区',\n      value: '440113'\n    },\n    {\n      city: '广州市',\n      text: '花都区',\n      value: '440114'\n    },\n    {\n      city: '广州市',\n      text: '南沙区',\n      value: '440115'\n    },\n    {\n      city: '广州市',\n      text: '从化区',\n      value: '440117'\n    },\n    {\n      city: '广州市',\n      text: '增城区',\n      value: '440118'\n    }\n  ],\n  '440200': [\n    {\n      city: '韶关市',\n      text: '市辖区',\n      value: '440201'\n    },\n    {\n      city: '韶关市',\n      text: '武江区',\n      value: '440203'\n    },\n    {\n      city: '韶关市',\n      text: '浈江区',\n      value: '440204'\n    },\n    {\n      city: '韶关市',\n      text: '曲江区',\n      value: '440205'\n    },\n    {\n      city: '韶关市',\n      text: '始兴县',\n      value: '440222'\n    },\n    {\n      city: '韶关市',\n      text: '仁化县',\n      value: '440224'\n    },\n    {\n      city: '韶关市',\n      text: '翁源县',\n      value: '440229'\n    },\n    {\n      city: '韶关市',\n      text: '乳源瑶族自治县',\n      value: '440232'\n    },\n    {\n      city: '韶关市',\n      text: '新丰县',\n      value: '440233'\n    },\n    {\n      city: '韶关市',\n      text: '乐昌市',\n      value: '440281'\n    },\n    {\n      city: '韶关市',\n      text: '南雄市',\n      value: '440282'\n    }\n  ],\n  '440300': [\n    {\n      city: '深圳市',\n      text: '市辖区',\n      value: '440301'\n    },\n    {\n      city: '深圳市',\n      text: '罗湖区',\n      value: '440303'\n    },\n    {\n      city: '深圳市',\n      text: '福田区',\n      value: '440304'\n    },\n    {\n      city: '深圳市',\n      text: '南山区',\n      value: '440305'\n    },\n    {\n      city: '深圳市',\n      text: '宝安区',\n      value: '440306'\n    },\n    {\n      city: '深圳市',\n      text: '龙岗区',\n      value: '440307'\n    },\n    {\n      city: '深圳市',\n      text: '盐田区',\n      value: '440308'\n    }\n  ],\n  '440400': [\n    {\n      city: '珠海市',\n      text: '市辖区',\n      value: '440401'\n    },\n    {\n      city: '珠海市',\n      text: '香洲区',\n      value: '440402'\n    },\n    {\n      city: '珠海市',\n      text: '斗门区',\n      value: '440403'\n    },\n    {\n      city: '珠海市',\n      text: '金湾区',\n      value: '440404'\n    }\n  ],\n  '440500': [\n    {\n      city: '汕头市',\n      text: '市辖区',\n      value: '440501'\n    },\n    {\n      city: '汕头市',\n      text: '龙湖区',\n      value: '440507'\n    },\n    {\n      city: '汕头市',\n      text: '金平区',\n      value: '440511'\n    },\n    {\n      city: '汕头市',\n      text: '濠江区',\n      value: '440512'\n    },\n    {\n      city: '汕头市',\n      text: '潮阳区',\n      value: '440513'\n    },\n    {\n      city: '汕头市',\n      text: '潮南区',\n      value: '440514'\n    },\n    {\n      city: '汕头市',\n      text: '澄海区',\n      value: '440515'\n    },\n    {\n      city: '汕头市',\n      text: '南澳县',\n      value: '440523'\n    }\n  ],\n  '440600': [\n    {\n      city: '佛山市',\n      text: '市辖区',\n      value: '440601'\n    },\n    {\n      city: '佛山市',\n      text: '禅城区',\n      value: '440604'\n    },\n    {\n      city: '佛山市',\n      text: '南海区',\n      value: '440605'\n    },\n    {\n      city: '佛山市',\n      text: '顺德区',\n      value: '440606'\n    },\n    {\n      city: '佛山市',\n      text: '三水区',\n      value: '440607'\n    },\n    {\n      city: '佛山市',\n      text: '高明区',\n      value: '440608'\n    }\n  ],\n  '440700': [\n    {\n      city: '江门市',\n      text: '市辖区',\n      value: '440701'\n    },\n    {\n      city: '江门市',\n      text: '蓬江区',\n      value: '440703'\n    },\n    {\n      city: '江门市',\n      text: '江海区',\n      value: '440704'\n    },\n    {\n      city: '江门市',\n      text: '新会区',\n      value: '440705'\n    },\n    {\n      city: '江门市',\n      text: '台山市',\n      value: '440781'\n    },\n    {\n      city: '江门市',\n      text: '开平市',\n      value: '440783'\n    },\n    {\n      city: '江门市',\n      text: '鹤山市',\n      value: '440784'\n    },\n    {\n      city: '江门市',\n      text: '恩平市',\n      value: '440785'\n    }\n  ],\n  '440800': [\n    {\n      city: '湛江市',\n      text: '市辖区',\n      value: '440801'\n    },\n    {\n      city: '湛江市',\n      text: '赤坎区',\n      value: '440802'\n    },\n    {\n      city: '湛江市',\n      text: '霞山区',\n      value: '440803'\n    },\n    {\n      city: '湛江市',\n      text: '坡头区',\n      value: '440804'\n    },\n    {\n      city: '湛江市',\n      text: '麻章区',\n      value: '440811'\n    },\n    {\n      city: '湛江市',\n      text: '遂溪县',\n      value: '440823'\n    },\n    {\n      city: '湛江市',\n      text: '徐闻县',\n      value: '440825'\n    },\n    {\n      city: '湛江市',\n      text: '廉江市',\n      value: '440881'\n    },\n    {\n      city: '湛江市',\n      text: '雷州市',\n      value: '440882'\n    },\n    {\n      city: '湛江市',\n      text: '吴川市',\n      value: '440883'\n    }\n  ],\n  '440900': [\n    {\n      city: '茂名市',\n      text: '市辖区',\n      value: '440901'\n    },\n    {\n      city: '茂名市',\n      text: '茂南区',\n      value: '440902'\n    },\n    {\n      city: '茂名市',\n      text: '电白区',\n      value: '440904'\n    },\n    {\n      city: '茂名市',\n      text: '高州市',\n      value: '440981'\n    },\n    {\n      city: '茂名市',\n      text: '化州市',\n      value: '440982'\n    },\n    {\n      city: '茂名市',\n      text: '信宜市',\n      value: '440983'\n    }\n  ],\n  '441200': [\n    {\n      city: '肇庆市',\n      text: '市辖区',\n      value: '441201'\n    },\n    {\n      city: '肇庆市',\n      text: '端州区',\n      value: '441202'\n    },\n    {\n      city: '肇庆市',\n      text: '鼎湖区',\n      value: '441203'\n    },\n    {\n      city: '肇庆市',\n      text: '高要区',\n      value: '441204'\n    },\n    {\n      city: '肇庆市',\n      text: '广宁县',\n      value: '441223'\n    },\n    {\n      city: '肇庆市',\n      text: '怀集县',\n      value: '441224'\n    },\n    {\n      city: '肇庆市',\n      text: '封开县',\n      value: '441225'\n    },\n    {\n      city: '肇庆市',\n      text: '德庆县',\n      value: '441226'\n    },\n    {\n      city: '肇庆市',\n      text: '四会市',\n      value: '441284'\n    }\n  ],\n  '441300': [\n    {\n      city: '惠州市',\n      text: '市辖区',\n      value: '441301'\n    },\n    {\n      city: '惠州市',\n      text: '惠城区',\n      value: '441302'\n    },\n    {\n      city: '惠州市',\n      text: '惠阳区',\n      value: '441303'\n    },\n    {\n      city: '惠州市',\n      text: '博罗县',\n      value: '441322'\n    },\n    {\n      city: '惠州市',\n      text: '惠东县',\n      value: '441323'\n    },\n    {\n      city: '惠州市',\n      text: '龙门县',\n      value: '441324'\n    }\n  ],\n  '441400': [\n    {\n      city: '梅州市',\n      text: '市辖区',\n      value: '441401'\n    },\n    {\n      city: '梅州市',\n      text: '梅江区',\n      value: '441402'\n    },\n    {\n      city: '梅州市',\n      text: '梅县区',\n      value: '441403'\n    },\n    {\n      city: '梅州市',\n      text: '大埔县',\n      value: '441422'\n    },\n    {\n      city: '梅州市',\n      text: '丰顺县',\n      value: '441423'\n    },\n    {\n      city: '梅州市',\n      text: '五华县',\n      value: '441424'\n    },\n    {\n      city: '梅州市',\n      text: '平远县',\n      value: '441426'\n    },\n    {\n      city: '梅州市',\n      text: '蕉岭县',\n      value: '441427'\n    },\n    {\n      city: '梅州市',\n      text: '兴宁市',\n      value: '441481'\n    }\n  ],\n  '441500': [\n    {\n      city: '汕尾市',\n      text: '市辖区',\n      value: '441501'\n    },\n    {\n      city: '汕尾市',\n      text: '城区',\n      value: '441502'\n    },\n    {\n      city: '汕尾市',\n      text: '海丰县',\n      value: '441521'\n    },\n    {\n      city: '汕尾市',\n      text: '陆河县',\n      value: '441523'\n    },\n    {\n      city: '汕尾市',\n      text: '陆丰市',\n      value: '441581'\n    }\n  ],\n  '441600': [\n    {\n      city: '河源市',\n      text: '市辖区',\n      value: '441601'\n    },\n    {\n      city: '河源市',\n      text: '源城区',\n      value: '441602'\n    },\n    {\n      city: '河源市',\n      text: '紫金县',\n      value: '441621'\n    },\n    {\n      city: '河源市',\n      text: '龙川县',\n      value: '441622'\n    },\n    {\n      city: '河源市',\n      text: '连平县',\n      value: '441623'\n    },\n    {\n      city: '河源市',\n      text: '和平县',\n      value: '441624'\n    },\n    {\n      city: '河源市',\n      text: '东源县',\n      value: '441625'\n    }\n  ],\n  '441700': [\n    {\n      city: '阳江市',\n      text: '市辖区',\n      value: '441701'\n    },\n    {\n      city: '阳江市',\n      text: '江城区',\n      value: '441702'\n    },\n    {\n      city: '阳江市',\n      text: '阳东区',\n      value: '441704'\n    },\n    {\n      city: '阳江市',\n      text: '阳西县',\n      value: '441721'\n    },\n    {\n      city: '阳江市',\n      text: '阳春市',\n      value: '441781'\n    }\n  ],\n  '441800': [\n    {\n      city: '清远市',\n      text: '市辖区',\n      value: '441801'\n    },\n    {\n      city: '清远市',\n      text: '清城区',\n      value: '441802'\n    },\n    {\n      city: '清远市',\n      text: '清新区',\n      value: '441803'\n    },\n    {\n      city: '清远市',\n      text: '佛冈县',\n      value: '441821'\n    },\n    {\n      city: '清远市',\n      text: '阳山县',\n      value: '441823'\n    },\n    {\n      city: '清远市',\n      text: '连山壮族瑶族自治县',\n      value: '441825'\n    },\n    {\n      city: '清远市',\n      text: '连南瑶族自治县',\n      value: '441826'\n    },\n    {\n      city: '清远市',\n      text: '英德市',\n      value: '441881'\n    },\n    {\n      city: '清远市',\n      text: '连州市',\n      value: '441882'\n    }\n  ],\n  '441900': [],\n  '442000': [],\n  '445100': [\n    {\n      city: '潮州市',\n      text: '市辖区',\n      value: '445101'\n    },\n    {\n      city: '潮州市',\n      text: '湘桥区',\n      value: '445102'\n    },\n    {\n      city: '潮州市',\n      text: '潮安区',\n      value: '445103'\n    },\n    {\n      city: '潮州市',\n      text: '饶平县',\n      value: '445122'\n    }\n  ],\n  '445200': [\n    {\n      city: '揭阳市',\n      text: '市辖区',\n      value: '445201'\n    },\n    {\n      city: '揭阳市',\n      text: '榕城区',\n      value: '445202'\n    },\n    {\n      city: '揭阳市',\n      text: '揭东区',\n      value: '445203'\n    },\n    {\n      city: '揭阳市',\n      text: '揭西县',\n      value: '445222'\n    },\n    {\n      city: '揭阳市',\n      text: '惠来县',\n      value: '445224'\n    },\n    {\n      city: '揭阳市',\n      text: '普宁市',\n      value: '445281'\n    }\n  ],\n  '445300': [\n    {\n      city: '云浮市',\n      text: '市辖区',\n      value: '445301'\n    },\n    {\n      city: '云浮市',\n      text: '云城区',\n      value: '445302'\n    },\n    {\n      city: '云浮市',\n      text: '云安区',\n      value: '445303'\n    },\n    {\n      city: '云浮市',\n      text: '新兴县',\n      value: '445321'\n    },\n    {\n      city: '云浮市',\n      text: '郁南县',\n      value: '445322'\n    },\n    {\n      city: '云浮市',\n      text: '罗定市',\n      value: '445381'\n    }\n  ],\n  '450100': [\n    {\n      city: '南宁市',\n      text: '市辖区',\n      value: '450101'\n    },\n    {\n      city: '南宁市',\n      text: '兴宁区',\n      value: '450102'\n    },\n    {\n      city: '南宁市',\n      text: '青秀区',\n      value: '450103'\n    },\n    {\n      city: '南宁市',\n      text: '江南区',\n      value: '450105'\n    },\n    {\n      city: '南宁市',\n      text: '西乡塘区',\n      value: '450107'\n    },\n    {\n      city: '南宁市',\n      text: '良庆区',\n      value: '450108'\n    },\n    {\n      city: '南宁市',\n      text: '邕宁区',\n      value: '450109'\n    },\n    {\n      city: '南宁市',\n      text: '武鸣区',\n      value: '450110'\n    },\n    {\n      city: '南宁市',\n      text: '隆安县',\n      value: '450123'\n    },\n    {\n      city: '南宁市',\n      text: '马山县',\n      value: '450124'\n    },\n    {\n      city: '南宁市',\n      text: '上林县',\n      value: '450125'\n    },\n    {\n      city: '南宁市',\n      text: '宾阳县',\n      value: '450126'\n    },\n    {\n      city: '南宁市',\n      text: '横县',\n      value: '450127'\n    }\n  ],\n  '450200': [\n    {\n      city: '柳州市',\n      text: '市辖区',\n      value: '450201'\n    },\n    {\n      city: '柳州市',\n      text: '城中区',\n      value: '450202'\n    },\n    {\n      city: '柳州市',\n      text: '鱼峰区',\n      value: '450203'\n    },\n    {\n      city: '柳州市',\n      text: '柳南区',\n      value: '450204'\n    },\n    {\n      city: '柳州市',\n      text: '柳北区',\n      value: '450205'\n    },\n    {\n      city: '柳州市',\n      text: '柳江区',\n      value: '450206'\n    },\n    {\n      city: '柳州市',\n      text: '柳城县',\n      value: '450222'\n    },\n    {\n      city: '柳州市',\n      text: '鹿寨县',\n      value: '450223'\n    },\n    {\n      city: '柳州市',\n      text: '融安县',\n      value: '450224'\n    },\n    {\n      city: '柳州市',\n      text: '融水苗族自治县',\n      value: '450225'\n    },\n    {\n      city: '柳州市',\n      text: '三江侗族自治县',\n      value: '450226'\n    }\n  ],\n  '450300': [\n    {\n      city: '桂林市',\n      text: '市辖区',\n      value: '450301'\n    },\n    {\n      city: '桂林市',\n      text: '秀峰区',\n      value: '450302'\n    },\n    {\n      city: '桂林市',\n      text: '叠彩区',\n      value: '450303'\n    },\n    {\n      city: '桂林市',\n      text: '象山区',\n      value: '450304'\n    },\n    {\n      city: '桂林市',\n      text: '七星区',\n      value: '450305'\n    },\n    {\n      city: '桂林市',\n      text: '雁山区',\n      value: '450311'\n    },\n    {\n      city: '桂林市',\n      text: '临桂区',\n      value: '450312'\n    },\n    {\n      city: '桂林市',\n      text: '阳朔县',\n      value: '450321'\n    },\n    {\n      city: '桂林市',\n      text: '灵川县',\n      value: '450323'\n    },\n    {\n      city: '桂林市',\n      text: '全州县',\n      value: '450324'\n    },\n    {\n      city: '桂林市',\n      text: '兴安县',\n      value: '450325'\n    },\n    {\n      city: '桂林市',\n      text: '永福县',\n      value: '450326'\n    },\n    {\n      city: '桂林市',\n      text: '灌阳县',\n      value: '450327'\n    },\n    {\n      city: '桂林市',\n      text: '龙胜各族自治县',\n      value: '450328'\n    },\n    {\n      city: '桂林市',\n      text: '资源县',\n      value: '450329'\n    },\n    {\n      city: '桂林市',\n      text: '平乐县',\n      value: '450330'\n    },\n    {\n      city: '桂林市',\n      text: '荔浦县',\n      value: '450331'\n    },\n    {\n      city: '桂林市',\n      text: '恭城瑶族自治县',\n      value: '450332'\n    }\n  ],\n  '450400': [\n    {\n      city: '梧州市',\n      text: '市辖区',\n      value: '450401'\n    },\n    {\n      city: '梧州市',\n      text: '万秀区',\n      value: '450403'\n    },\n    {\n      city: '梧州市',\n      text: '长洲区',\n      value: '450405'\n    },\n    {\n      city: '梧州市',\n      text: '龙圩区',\n      value: '450406'\n    },\n    {\n      city: '梧州市',\n      text: '苍梧县',\n      value: '450421'\n    },\n    {\n      city: '梧州市',\n      text: '藤县',\n      value: '450422'\n    },\n    {\n      city: '梧州市',\n      text: '蒙山县',\n      value: '450423'\n    },\n    {\n      city: '梧州市',\n      text: '岑溪市',\n      value: '450481'\n    }\n  ],\n  '450500': [\n    {\n      city: '北海市',\n      text: '市辖区',\n      value: '450501'\n    },\n    {\n      city: '北海市',\n      text: '海城区',\n      value: '450502'\n    },\n    {\n      city: '北海市',\n      text: '银海区',\n      value: '450503'\n    },\n    {\n      city: '北海市',\n      text: '铁山港区',\n      value: '450512'\n    },\n    {\n      city: '北海市',\n      text: '合浦县',\n      value: '450521'\n    }\n  ],\n  '450600': [\n    {\n      city: '防城港市',\n      text: '市辖区',\n      value: '450601'\n    },\n    {\n      city: '防城港市',\n      text: '港口区',\n      value: '450602'\n    },\n    {\n      city: '防城港市',\n      text: '防城区',\n      value: '450603'\n    },\n    {\n      city: '防城港市',\n      text: '上思县',\n      value: '450621'\n    },\n    {\n      city: '防城港市',\n      text: '东兴市',\n      value: '450681'\n    }\n  ],\n  '450700': [\n    {\n      city: '钦州市',\n      text: '市辖区',\n      value: '450701'\n    },\n    {\n      city: '钦州市',\n      text: '钦南区',\n      value: '450702'\n    },\n    {\n      city: '钦州市',\n      text: '钦北区',\n      value: '450703'\n    },\n    {\n      city: '钦州市',\n      text: '灵山县',\n      value: '450721'\n    },\n    {\n      city: '钦州市',\n      text: '浦北县',\n      value: '450722'\n    }\n  ],\n  '450800': [\n    {\n      city: '贵港市',\n      text: '市辖区',\n      value: '450801'\n    },\n    {\n      city: '贵港市',\n      text: '港北区',\n      value: '450802'\n    },\n    {\n      city: '贵港市',\n      text: '港南区',\n      value: '450803'\n    },\n    {\n      city: '贵港市',\n      text: '覃塘区',\n      value: '450804'\n    },\n    {\n      city: '贵港市',\n      text: '平南县',\n      value: '450821'\n    },\n    {\n      city: '贵港市',\n      text: '桂平市',\n      value: '450881'\n    }\n  ],\n  '450900': [\n    {\n      city: '玉林市',\n      text: '市辖区',\n      value: '450901'\n    },\n    {\n      city: '玉林市',\n      text: '玉州区',\n      value: '450902'\n    },\n    {\n      city: '玉林市',\n      text: '福绵区',\n      value: '450903'\n    },\n    {\n      city: '玉林市',\n      text: '容县',\n      value: '450921'\n    },\n    {\n      city: '玉林市',\n      text: '陆川县',\n      value: '450922'\n    },\n    {\n      city: '玉林市',\n      text: '博白县',\n      value: '450923'\n    },\n    {\n      city: '玉林市',\n      text: '兴业县',\n      value: '450924'\n    },\n    {\n      city: '玉林市',\n      text: '北流市',\n      value: '450981'\n    }\n  ],\n  '451000': [\n    {\n      city: '百色市',\n      text: '市辖区',\n      value: '451001'\n    },\n    {\n      city: '百色市',\n      text: '右江区',\n      value: '451002'\n    },\n    {\n      city: '百色市',\n      text: '田阳县',\n      value: '451021'\n    },\n    {\n      city: '百色市',\n      text: '田东县',\n      value: '451022'\n    },\n    {\n      city: '百色市',\n      text: '平果县',\n      value: '451023'\n    },\n    {\n      city: '百色市',\n      text: '德保县',\n      value: '451024'\n    },\n    {\n      city: '百色市',\n      text: '那坡县',\n      value: '451026'\n    },\n    {\n      city: '百色市',\n      text: '凌云县',\n      value: '451027'\n    },\n    {\n      city: '百色市',\n      text: '乐业县',\n      value: '451028'\n    },\n    {\n      city: '百色市',\n      text: '田林县',\n      value: '451029'\n    },\n    {\n      city: '百色市',\n      text: '西林县',\n      value: '451030'\n    },\n    {\n      city: '百色市',\n      text: '隆林各族自治县',\n      value: '451031'\n    },\n    {\n      city: '百色市',\n      text: '靖西市',\n      value: '451081'\n    }\n  ],\n  '451100': [\n    {\n      city: '贺州市',\n      text: '市辖区',\n      value: '451101'\n    },\n    {\n      city: '贺州市',\n      text: '八步区',\n      value: '451102'\n    },\n    {\n      city: '贺州市',\n      text: '平桂区',\n      value: '451103'\n    },\n    {\n      city: '贺州市',\n      text: '昭平县',\n      value: '451121'\n    },\n    {\n      city: '贺州市',\n      text: '钟山县',\n      value: '451122'\n    },\n    {\n      city: '贺州市',\n      text: '富川瑶族自治县',\n      value: '451123'\n    }\n  ],\n  '451200': [\n    {\n      city: '河池市',\n      text: '市辖区',\n      value: '451201'\n    },\n    {\n      city: '河池市',\n      text: '金城江区',\n      value: '451202'\n    },\n    {\n      city: '河池市',\n      text: '南丹县',\n      value: '451221'\n    },\n    {\n      city: '河池市',\n      text: '天峨县',\n      value: '451222'\n    },\n    {\n      city: '河池市',\n      text: '凤山县',\n      value: '451223'\n    },\n    {\n      city: '河池市',\n      text: '东兰县',\n      value: '451224'\n    },\n    {\n      city: '河池市',\n      text: '罗城仫佬族自治县',\n      value: '451225'\n    },\n    {\n      city: '河池市',\n      text: '环江毛南族自治县',\n      value: '451226'\n    },\n    {\n      city: '河池市',\n      text: '巴马瑶族自治县',\n      value: '451227'\n    },\n    {\n      city: '河池市',\n      text: '都安瑶族自治县',\n      value: '451228'\n    },\n    {\n      city: '河池市',\n      text: '大化瑶族自治县',\n      value: '451229'\n    },\n    {\n      city: '河池市',\n      text: '宜州市',\n      value: '451281'\n    }\n  ],\n  '451300': [\n    {\n      city: '来宾市',\n      text: '市辖区',\n      value: '451301'\n    },\n    {\n      city: '来宾市',\n      text: '兴宾区',\n      value: '451302'\n    },\n    {\n      city: '来宾市',\n      text: '忻城县',\n      value: '451321'\n    },\n    {\n      city: '来宾市',\n      text: '象州县',\n      value: '451322'\n    },\n    {\n      city: '来宾市',\n      text: '武宣县',\n      value: '451323'\n    },\n    {\n      city: '来宾市',\n      text: '金秀瑶族自治县',\n      value: '451324'\n    },\n    {\n      city: '来宾市',\n      text: '合山市',\n      value: '451381'\n    }\n  ],\n  '451400': [\n    {\n      city: '崇左市',\n      text: '市辖区',\n      value: '451401'\n    },\n    {\n      city: '崇左市',\n      text: '江州区',\n      value: '451402'\n    },\n    {\n      city: '崇左市',\n      text: '扶绥县',\n      value: '451421'\n    },\n    {\n      city: '崇左市',\n      text: '宁明县',\n      value: '451422'\n    },\n    {\n      city: '崇左市',\n      text: '龙州县',\n      value: '451423'\n    },\n    {\n      city: '崇左市',\n      text: '大新县',\n      value: '451424'\n    },\n    {\n      city: '崇左市',\n      text: '天等县',\n      value: '451425'\n    },\n    {\n      city: '崇左市',\n      text: '凭祥市',\n      value: '451481'\n    }\n  ],\n  '460100': [\n    {\n      city: '海口市',\n      text: '市辖区',\n      value: '460101'\n    },\n    {\n      city: '海口市',\n      text: '秀英区',\n      value: '460105'\n    },\n    {\n      city: '海口市',\n      text: '龙华区',\n      value: '460106'\n    },\n    {\n      city: '海口市',\n      text: '琼山区',\n      value: '460107'\n    },\n    {\n      city: '海口市',\n      text: '美兰区',\n      value: '460108'\n    }\n  ],\n  '460200': [\n    {\n      city: '三亚市',\n      text: '市辖区',\n      value: '460201'\n    },\n    {\n      city: '三亚市',\n      text: '海棠区',\n      value: '460202'\n    },\n    {\n      city: '三亚市',\n      text: '吉阳区',\n      value: '460203'\n    },\n    {\n      city: '三亚市',\n      text: '天涯区',\n      value: '460204'\n    },\n    {\n      city: '三亚市',\n      text: '崖州区',\n      value: '460205'\n    }\n  ],\n  '460300': [],\n  '460400': [],\n  '469000': [\n    {\n      city: '省直辖县级行政区划',\n      text: '五指山市',\n      value: '469001'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '琼海市',\n      value: '469002'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '文昌市',\n      value: '469005'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '万宁市',\n      value: '469006'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '东方市',\n      value: '469007'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '定安县',\n      value: '469021'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '屯昌县',\n      value: '469022'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '澄迈县',\n      value: '469023'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '临高县',\n      value: '469024'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '白沙黎族自治县',\n      value: '469025'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '昌江黎族自治县',\n      value: '469026'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '乐东黎族自治县',\n      value: '469027'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '陵水黎族自治县',\n      value: '469028'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '保亭黎族苗族自治县',\n      value: '469029'\n    },\n    {\n      city: '省直辖县级行政区划',\n      text: '琼中黎族苗族自治县',\n      value: '469030'\n    }\n  ],\n  '500100': [\n    {\n      city: '市辖区',\n      text: '万州区',\n      value: '500101'\n    },\n    {\n      city: '市辖区',\n      text: '涪陵区',\n      value: '500102'\n    },\n    {\n      city: '市辖区',\n      text: '渝中区',\n      value: '500103'\n    },\n    {\n      city: '市辖区',\n      text: '大渡口区',\n      value: '500104'\n    },\n    {\n      city: '市辖区',\n      text: '江北区',\n      value: '500105'\n    },\n    {\n      city: '市辖区',\n      text: '沙坪坝区',\n      value: '500106'\n    },\n    {\n      city: '市辖区',\n      text: '九龙坡区',\n      value: '500107'\n    },\n    {\n      city: '市辖区',\n      text: '南岸区',\n      value: '500108'\n    },\n    {\n      city: '市辖区',\n      text: '北碚区',\n      value: '500109'\n    },\n    {\n      city: '市辖区',\n      text: '綦江区',\n      value: '500110'\n    },\n    {\n      city: '市辖区',\n      text: '大足区',\n      value: '500111'\n    },\n    {\n      city: '市辖区',\n      text: '渝北区',\n      value: '500112'\n    },\n    {\n      city: '市辖区',\n      text: '巴南区',\n      value: '500113'\n    },\n    {\n      city: '市辖区',\n      text: '黔江区',\n      value: '500114'\n    },\n    {\n      city: '市辖区',\n      text: '长寿区',\n      value: '500115'\n    },\n    {\n      city: '市辖区',\n      text: '江津区',\n      value: '500116'\n    },\n    {\n      city: '市辖区',\n      text: '合川区',\n      value: '500117'\n    },\n    {\n      city: '市辖区',\n      text: '永川区',\n      value: '500118'\n    },\n    {\n      city: '市辖区',\n      text: '南川区',\n      value: '500119'\n    },\n    {\n      city: '市辖区',\n      text: '璧山区',\n      value: '500120'\n    },\n    {\n      city: '市辖区',\n      text: '铜梁区',\n      value: '500151'\n    },\n    {\n      city: '市辖区',\n      text: '潼南区',\n      value: '500152'\n    },\n    {\n      city: '市辖区',\n      text: '荣昌区',\n      value: '500153'\n    },\n    {\n      city: '市辖区',\n      text: '开州区',\n      value: '500154'\n    }\n  ],\n  '500200': [\n    {\n      city: '县',\n      text: '梁平县',\n      value: '500228'\n    },\n    {\n      city: '县',\n      text: '城口县',\n      value: '500229'\n    },\n    {\n      city: '县',\n      text: '丰都县',\n      value: '500230'\n    },\n    {\n      city: '县',\n      text: '垫江县',\n      value: '500231'\n    },\n    {\n      city: '县',\n      text: '武隆县',\n      value: '500232'\n    },\n    {\n      city: '县',\n      text: '忠县',\n      value: '500233'\n    },\n    {\n      city: '县',\n      text: '云阳县',\n      value: '500235'\n    },\n    {\n      city: '县',\n      text: '奉节县',\n      value: '500236'\n    },\n    {\n      city: '县',\n      text: '巫山县',\n      value: '500237'\n    },\n    {\n      city: '县',\n      text: '巫溪县',\n      value: '500238'\n    },\n    {\n      city: '县',\n      text: '石柱土家族自治县',\n      value: '500240'\n    },\n    {\n      city: '县',\n      text: '秀山土家族苗族自治县',\n      value: '500241'\n    },\n    {\n      city: '县',\n      text: '酉阳土家族苗族自治县',\n      value: '500242'\n    },\n    {\n      city: '县',\n      text: '彭水苗族土家族自治县',\n      value: '500243'\n    }\n  ],\n  '510100': [\n    {\n      city: '成都市',\n      text: '市辖区',\n      value: '510101'\n    },\n    {\n      city: '成都市',\n      text: '锦江区',\n      value: '510104'\n    },\n    {\n      city: '成都市',\n      text: '青羊区',\n      value: '510105'\n    },\n    {\n      city: '成都市',\n      text: '金牛区',\n      value: '510106'\n    },\n    {\n      city: '成都市',\n      text: '武侯区',\n      value: '510107'\n    },\n    {\n      city: '成都市',\n      text: '成华区',\n      value: '510108'\n    },\n    {\n      city: '成都市',\n      text: '龙泉驿区',\n      value: '510112'\n    },\n    {\n      city: '成都市',\n      text: '青白江区',\n      value: '510113'\n    },\n    {\n      city: '成都市',\n      text: '新都区',\n      value: '510114'\n    },\n    {\n      city: '成都市',\n      text: '温江区',\n      value: '510115'\n    },\n    {\n      city: '成都市',\n      text: '双流区',\n      value: '510116'\n    },\n    {\n      city: '成都市',\n      text: '金堂县',\n      value: '510121'\n    },\n    {\n      city: '成都市',\n      text: '郫县',\n      value: '510124'\n    },\n    {\n      city: '成都市',\n      text: '大邑县',\n      value: '510129'\n    },\n    {\n      city: '成都市',\n      text: '蒲江县',\n      value: '510131'\n    },\n    {\n      city: '成都市',\n      text: '新津县',\n      value: '510132'\n    },\n    {\n      city: '成都市',\n      text: '都江堰市',\n      value: '510181'\n    },\n    {\n      city: '成都市',\n      text: '彭州市',\n      value: '510182'\n    },\n    {\n      city: '成都市',\n      text: '邛崃市',\n      value: '510183'\n    },\n    {\n      city: '成都市',\n      text: '崇州市',\n      value: '510184'\n    },\n    {\n      city: '成都市',\n      text: '简阳市',\n      value: '510185'\n    }\n  ],\n  '510300': [\n    {\n      city: '自贡市',\n      text: '市辖区',\n      value: '510301'\n    },\n    {\n      city: '自贡市',\n      text: '自流井区',\n      value: '510302'\n    },\n    {\n      city: '自贡市',\n      text: '贡井区',\n      value: '510303'\n    },\n    {\n      city: '自贡市',\n      text: '大安区',\n      value: '510304'\n    },\n    {\n      city: '自贡市',\n      text: '沿滩区',\n      value: '510311'\n    },\n    {\n      city: '自贡市',\n      text: '荣县',\n      value: '510321'\n    },\n    {\n      city: '自贡市',\n      text: '富顺县',\n      value: '510322'\n    }\n  ],\n  '510400': [\n    {\n      city: '攀枝花市',\n      text: '市辖区',\n      value: '510401'\n    },\n    {\n      city: '攀枝花市',\n      text: '东区',\n      value: '510402'\n    },\n    {\n      city: '攀枝花市',\n      text: '西区',\n      value: '510403'\n    },\n    {\n      city: '攀枝花市',\n      text: '仁和区',\n      value: '510411'\n    },\n    {\n      city: '攀枝花市',\n      text: '米易县',\n      value: '510421'\n    },\n    {\n      city: '攀枝花市',\n      text: '盐边县',\n      value: '510422'\n    }\n  ],\n  '510500': [\n    {\n      city: '泸州市',\n      text: '市辖区',\n      value: '510501'\n    },\n    {\n      city: '泸州市',\n      text: '江阳区',\n      value: '510502'\n    },\n    {\n      city: '泸州市',\n      text: '纳溪区',\n      value: '510503'\n    },\n    {\n      city: '泸州市',\n      text: '龙马潭区',\n      value: '510504'\n    },\n    {\n      city: '泸州市',\n      text: '泸县',\n      value: '510521'\n    },\n    {\n      city: '泸州市',\n      text: '合江县',\n      value: '510522'\n    },\n    {\n      city: '泸州市',\n      text: '叙永县',\n      value: '510524'\n    },\n    {\n      city: '泸州市',\n      text: '古蔺县',\n      value: '510525'\n    }\n  ],\n  '510600': [\n    {\n      city: '德阳市',\n      text: '市辖区',\n      value: '510601'\n    },\n    {\n      city: '德阳市',\n      text: '旌阳区',\n      value: '510603'\n    },\n    {\n      city: '德阳市',\n      text: '中江县',\n      value: '510623'\n    },\n    {\n      city: '德阳市',\n      text: '罗江县',\n      value: '510626'\n    },\n    {\n      city: '德阳市',\n      text: '广汉市',\n      value: '510681'\n    },\n    {\n      city: '德阳市',\n      text: '什邡市',\n      value: '510682'\n    },\n    {\n      city: '德阳市',\n      text: '绵竹市',\n      value: '510683'\n    }\n  ],\n  '510700': [\n    {\n      city: '绵阳市',\n      text: '市辖区',\n      value: '510701'\n    },\n    {\n      city: '绵阳市',\n      text: '涪城区',\n      value: '510703'\n    },\n    {\n      city: '绵阳市',\n      text: '游仙区',\n      value: '510704'\n    },\n    {\n      city: '绵阳市',\n      text: '安州区',\n      value: '510705'\n    },\n    {\n      city: '绵阳市',\n      text: '三台县',\n      value: '510722'\n    },\n    {\n      city: '绵阳市',\n      text: '盐亭县',\n      value: '510723'\n    },\n    {\n      city: '绵阳市',\n      text: '梓潼县',\n      value: '510725'\n    },\n    {\n      city: '绵阳市',\n      text: '北川羌族自治县',\n      value: '510726'\n    },\n    {\n      city: '绵阳市',\n      text: '平武县',\n      value: '510727'\n    },\n    {\n      city: '绵阳市',\n      text: '江油市',\n      value: '510781'\n    }\n  ],\n  '510800': [\n    {\n      city: '广元市',\n      text: '市辖区',\n      value: '510801'\n    },\n    {\n      city: '广元市',\n      text: '利州区',\n      value: '510802'\n    },\n    {\n      city: '广元市',\n      text: '昭化区',\n      value: '510811'\n    },\n    {\n      city: '广元市',\n      text: '朝天区',\n      value: '510812'\n    },\n    {\n      city: '广元市',\n      text: '旺苍县',\n      value: '510821'\n    },\n    {\n      city: '广元市',\n      text: '青川县',\n      value: '510822'\n    },\n    {\n      city: '广元市',\n      text: '剑阁县',\n      value: '510823'\n    },\n    {\n      city: '广元市',\n      text: '苍溪县',\n      value: '510824'\n    }\n  ],\n  '510900': [\n    {\n      city: '遂宁市',\n      text: '市辖区',\n      value: '510901'\n    },\n    {\n      city: '遂宁市',\n      text: '船山区',\n      value: '510903'\n    },\n    {\n      city: '遂宁市',\n      text: '安居区',\n      value: '510904'\n    },\n    {\n      city: '遂宁市',\n      text: '蓬溪县',\n      value: '510921'\n    },\n    {\n      city: '遂宁市',\n      text: '射洪县',\n      value: '510922'\n    },\n    {\n      city: '遂宁市',\n      text: '大英县',\n      value: '510923'\n    }\n  ],\n  '511000': [\n    {\n      city: '内江市',\n      text: '市辖区',\n      value: '511001'\n    },\n    {\n      city: '内江市',\n      text: '市中区',\n      value: '511002'\n    },\n    {\n      city: '内江市',\n      text: '东兴区',\n      value: '511011'\n    },\n    {\n      city: '内江市',\n      text: '威远县',\n      value: '511024'\n    },\n    {\n      city: '内江市',\n      text: '资中县',\n      value: '511025'\n    },\n    {\n      city: '内江市',\n      text: '隆昌县',\n      value: '511028'\n    }\n  ],\n  '511100': [\n    {\n      city: '乐山市',\n      text: '市辖区',\n      value: '511101'\n    },\n    {\n      city: '乐山市',\n      text: '市中区',\n      value: '511102'\n    },\n    {\n      city: '乐山市',\n      text: '沙湾区',\n      value: '511111'\n    },\n    {\n      city: '乐山市',\n      text: '五通桥区',\n      value: '511112'\n    },\n    {\n      city: '乐山市',\n      text: '金口河区',\n      value: '511113'\n    },\n    {\n      city: '乐山市',\n      text: '犍为县',\n      value: '511123'\n    },\n    {\n      city: '乐山市',\n      text: '井研县',\n      value: '511124'\n    },\n    {\n      city: '乐山市',\n      text: '夹江县',\n      value: '511126'\n    },\n    {\n      city: '乐山市',\n      text: '沐川县',\n      value: '511129'\n    },\n    {\n      city: '乐山市',\n      text: '峨边彝族自治县',\n      value: '511132'\n    },\n    {\n      city: '乐山市',\n      text: '马边彝族自治县',\n      value: '511133'\n    },\n    {\n      city: '乐山市',\n      text: '峨眉山市',\n      value: '511181'\n    }\n  ],\n  '511300': [\n    {\n      city: '南充市',\n      text: '市辖区',\n      value: '511301'\n    },\n    {\n      city: '南充市',\n      text: '顺庆区',\n      value: '511302'\n    },\n    {\n      city: '南充市',\n      text: '高坪区',\n      value: '511303'\n    },\n    {\n      city: '南充市',\n      text: '嘉陵区',\n      value: '511304'\n    },\n    {\n      city: '南充市',\n      text: '南部县',\n      value: '511321'\n    },\n    {\n      city: '南充市',\n      text: '营山县',\n      value: '511322'\n    },\n    {\n      city: '南充市',\n      text: '蓬安县',\n      value: '511323'\n    },\n    {\n      city: '南充市',\n      text: '仪陇县',\n      value: '511324'\n    },\n    {\n      city: '南充市',\n      text: '西充县',\n      value: '511325'\n    },\n    {\n      city: '南充市',\n      text: '阆中市',\n      value: '511381'\n    }\n  ],\n  '511400': [\n    {\n      city: '眉山市',\n      text: '市辖区',\n      value: '511401'\n    },\n    {\n      city: '眉山市',\n      text: '东坡区',\n      value: '511402'\n    },\n    {\n      city: '眉山市',\n      text: '彭山区',\n      value: '511403'\n    },\n    {\n      city: '眉山市',\n      text: '仁寿县',\n      value: '511421'\n    },\n    {\n      city: '眉山市',\n      text: '洪雅县',\n      value: '511423'\n    },\n    {\n      city: '眉山市',\n      text: '丹棱县',\n      value: '511424'\n    },\n    {\n      city: '眉山市',\n      text: '青神县',\n      value: '511425'\n    }\n  ],\n  '511500': [\n    {\n      city: '宜宾市',\n      text: '市辖区',\n      value: '511501'\n    },\n    {\n      city: '宜宾市',\n      text: '翠屏区',\n      value: '511502'\n    },\n    {\n      city: '宜宾市',\n      text: '南溪区',\n      value: '511503'\n    },\n    {\n      city: '宜宾市',\n      text: '宜宾县',\n      value: '511521'\n    },\n    {\n      city: '宜宾市',\n      text: '江安县',\n      value: '511523'\n    },\n    {\n      city: '宜宾市',\n      text: '长宁县',\n      value: '511524'\n    },\n    {\n      city: '宜宾市',\n      text: '高县',\n      value: '511525'\n    },\n    {\n      city: '宜宾市',\n      text: '珙县',\n      value: '511526'\n    },\n    {\n      city: '宜宾市',\n      text: '筠连县',\n      value: '511527'\n    },\n    {\n      city: '宜宾市',\n      text: '兴文县',\n      value: '511528'\n    },\n    {\n      city: '宜宾市',\n      text: '屏山县',\n      value: '511529'\n    }\n  ],\n  '511600': [\n    {\n      city: '广安市',\n      text: '市辖区',\n      value: '511601'\n    },\n    {\n      city: '广安市',\n      text: '广安区',\n      value: '511602'\n    },\n    {\n      city: '广安市',\n      text: '前锋区',\n      value: '511603'\n    },\n    {\n      city: '广安市',\n      text: '岳池县',\n      value: '511621'\n    },\n    {\n      city: '广安市',\n      text: '武胜县',\n      value: '511622'\n    },\n    {\n      city: '广安市',\n      text: '邻水县',\n      value: '511623'\n    },\n    {\n      city: '广安市',\n      text: '华蓥市',\n      value: '511681'\n    }\n  ],\n  '511700': [\n    {\n      city: '达州市',\n      text: '市辖区',\n      value: '511701'\n    },\n    {\n      city: '达州市',\n      text: '通川区',\n      value: '511702'\n    },\n    {\n      city: '达州市',\n      text: '达川区',\n      value: '511703'\n    },\n    {\n      city: '达州市',\n      text: '宣汉县',\n      value: '511722'\n    },\n    {\n      city: '达州市',\n      text: '开江县',\n      value: '511723'\n    },\n    {\n      city: '达州市',\n      text: '大竹县',\n      value: '511724'\n    },\n    {\n      city: '达州市',\n      text: '渠县',\n      value: '511725'\n    },\n    {\n      city: '达州市',\n      text: '万源市',\n      value: '511781'\n    }\n  ],\n  '511800': [\n    {\n      city: '雅安市',\n      text: '市辖区',\n      value: '511801'\n    },\n    {\n      city: '雅安市',\n      text: '雨城区',\n      value: '511802'\n    },\n    {\n      city: '雅安市',\n      text: '名山区',\n      value: '511803'\n    },\n    {\n      city: '雅安市',\n      text: '荥经县',\n      value: '511822'\n    },\n    {\n      city: '雅安市',\n      text: '汉源县',\n      value: '511823'\n    },\n    {\n      city: '雅安市',\n      text: '石棉县',\n      value: '511824'\n    },\n    {\n      city: '雅安市',\n      text: '天全县',\n      value: '511825'\n    },\n    {\n      city: '雅安市',\n      text: '芦山县',\n      value: '511826'\n    },\n    {\n      city: '雅安市',\n      text: '宝兴县',\n      value: '511827'\n    }\n  ],\n  '511900': [\n    {\n      city: '巴中市',\n      text: '市辖区',\n      value: '511901'\n    },\n    {\n      city: '巴中市',\n      text: '巴州区',\n      value: '511902'\n    },\n    {\n      city: '巴中市',\n      text: '恩阳区',\n      value: '511903'\n    },\n    {\n      city: '巴中市',\n      text: '通江县',\n      value: '511921'\n    },\n    {\n      city: '巴中市',\n      text: '南江县',\n      value: '511922'\n    },\n    {\n      city: '巴中市',\n      text: '平昌县',\n      value: '511923'\n    }\n  ],\n  '512000': [\n    {\n      city: '资阳市',\n      text: '市辖区',\n      value: '512001'\n    },\n    {\n      city: '资阳市',\n      text: '雁江区',\n      value: '512002'\n    },\n    {\n      city: '资阳市',\n      text: '安岳县',\n      value: '512021'\n    },\n    {\n      city: '资阳市',\n      text: '乐至县',\n      value: '512022'\n    }\n  ],\n  '513200': [\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '马尔康市',\n      value: '513201'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '汶川县',\n      value: '513221'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '理县',\n      value: '513222'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '茂县',\n      value: '513223'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '松潘县',\n      value: '513224'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '九寨沟县',\n      value: '513225'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '金川县',\n      value: '513226'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '小金县',\n      value: '513227'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '黑水县',\n      value: '513228'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '壤塘县',\n      value: '513230'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '阿坝县',\n      value: '513231'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '若尔盖县',\n      value: '513232'\n    },\n    {\n      city: '阿坝藏族羌族自治州',\n      text: '红原县',\n      value: '513233'\n    }\n  ],\n  '513300': [\n    {\n      city: '甘孜藏族自治州',\n      text: '康定市',\n      value: '513301'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '泸定县',\n      value: '513322'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '丹巴县',\n      value: '513323'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '九龙县',\n      value: '513324'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '雅江县',\n      value: '513325'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '道孚县',\n      value: '513326'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '炉霍县',\n      value: '513327'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '甘孜县',\n      value: '513328'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '新龙县',\n      value: '513329'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '德格县',\n      value: '513330'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '白玉县',\n      value: '513331'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '石渠县',\n      value: '513332'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '色达县',\n      value: '513333'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '理塘县',\n      value: '513334'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '巴塘县',\n      value: '513335'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '乡城县',\n      value: '513336'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '稻城县',\n      value: '513337'\n    },\n    {\n      city: '甘孜藏族自治州',\n      text: '得荣县',\n      value: '513338'\n    }\n  ],\n  '513400': [\n    {\n      city: '凉山彝族自治州',\n      text: '西昌市',\n      value: '513401'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '木里藏族自治县',\n      value: '513422'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '盐源县',\n      value: '513423'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '德昌县',\n      value: '513424'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '会理县',\n      value: '513425'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '会东县',\n      value: '513426'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '宁南县',\n      value: '513427'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '普格县',\n      value: '513428'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '布拖县',\n      value: '513429'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '金阳县',\n      value: '513430'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '昭觉县',\n      value: '513431'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '喜德县',\n      value: '513432'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '冕宁县',\n      value: '513433'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '越西县',\n      value: '513434'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '甘洛县',\n      value: '513435'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '美姑县',\n      value: '513436'\n    },\n    {\n      city: '凉山彝族自治州',\n      text: '雷波县',\n      value: '513437'\n    }\n  ],\n  '520100': [\n    {\n      city: '贵阳市',\n      text: '市辖区',\n      value: '520101'\n    },\n    {\n      city: '贵阳市',\n      text: '南明区',\n      value: '520102'\n    },\n    {\n      city: '贵阳市',\n      text: '云岩区',\n      value: '520103'\n    },\n    {\n      city: '贵阳市',\n      text: '花溪区',\n      value: '520111'\n    },\n    {\n      city: '贵阳市',\n      text: '乌当区',\n      value: '520112'\n    },\n    {\n      city: '贵阳市',\n      text: '白云区',\n      value: '520113'\n    },\n    {\n      city: '贵阳市',\n      text: '观山湖区',\n      value: '520115'\n    },\n    {\n      city: '贵阳市',\n      text: '开阳县',\n      value: '520121'\n    },\n    {\n      city: '贵阳市',\n      text: '息烽县',\n      value: '520122'\n    },\n    {\n      city: '贵阳市',\n      text: '修文县',\n      value: '520123'\n    },\n    {\n      city: '贵阳市',\n      text: '清镇市',\n      value: '520181'\n    }\n  ],\n  '520200': [\n    {\n      city: '六盘水市',\n      text: '钟山区',\n      value: '520201'\n    },\n    {\n      city: '六盘水市',\n      text: '六枝特区',\n      value: '520203'\n    },\n    {\n      city: '六盘水市',\n      text: '水城县',\n      value: '520221'\n    },\n    {\n      city: '六盘水市',\n      text: '盘县',\n      value: '520222'\n    }\n  ],\n  '520300': [\n    {\n      city: '遵义市',\n      text: '市辖区',\n      value: '520301'\n    },\n    {\n      city: '遵义市',\n      text: '红花岗区',\n      value: '520302'\n    },\n    {\n      city: '遵义市',\n      text: '汇川区',\n      value: '520303'\n    },\n    {\n      city: '遵义市',\n      text: '播州区',\n      value: '520304'\n    },\n    {\n      city: '遵义市',\n      text: '桐梓县',\n      value: '520322'\n    },\n    {\n      city: '遵义市',\n      text: '绥阳县',\n      value: '520323'\n    },\n    {\n      city: '遵义市',\n      text: '正安县',\n      value: '520324'\n    },\n    {\n      city: '遵义市',\n      text: '道真仡佬族苗族自治县',\n      value: '520325'\n    },\n    {\n      city: '遵义市',\n      text: '务川仡佬族苗族自治县',\n      value: '520326'\n    },\n    {\n      city: '遵义市',\n      text: '凤冈县',\n      value: '520327'\n    },\n    {\n      city: '遵义市',\n      text: '湄潭县',\n      value: '520328'\n    },\n    {\n      city: '遵义市',\n      text: '余庆县',\n      value: '520329'\n    },\n    {\n      city: '遵义市',\n      text: '习水县',\n      value: '520330'\n    },\n    {\n      city: '遵义市',\n      text: '赤水市',\n      value: '520381'\n    },\n    {\n      city: '遵义市',\n      text: '仁怀市',\n      value: '520382'\n    }\n  ],\n  '520400': [\n    {\n      city: '安顺市',\n      text: '市辖区',\n      value: '520401'\n    },\n    {\n      city: '安顺市',\n      text: '西秀区',\n      value: '520402'\n    },\n    {\n      city: '安顺市',\n      text: '平坝区',\n      value: '520403'\n    },\n    {\n      city: '安顺市',\n      text: '普定县',\n      value: '520422'\n    },\n    {\n      city: '安顺市',\n      text: '镇宁布依族苗族自治县',\n      value: '520423'\n    },\n    {\n      city: '安顺市',\n      text: '关岭布依族苗族自治县',\n      value: '520424'\n    },\n    {\n      city: '安顺市',\n      text: '紫云苗族布依族自治县',\n      value: '520425'\n    }\n  ],\n  '520500': [\n    {\n      city: '毕节市',\n      text: '市辖区',\n      value: '520501'\n    },\n    {\n      city: '毕节市',\n      text: '七星关区',\n      value: '520502'\n    },\n    {\n      city: '毕节市',\n      text: '大方县',\n      value: '520521'\n    },\n    {\n      city: '毕节市',\n      text: '黔西县',\n      value: '520522'\n    },\n    {\n      city: '毕节市',\n      text: '金沙县',\n      value: '520523'\n    },\n    {\n      city: '毕节市',\n      text: '织金县',\n      value: '520524'\n    },\n    {\n      city: '毕节市',\n      text: '纳雍县',\n      value: '520525'\n    },\n    {\n      city: '毕节市',\n      text: '威宁彝族回族苗族自治县',\n      value: '520526'\n    },\n    {\n      city: '毕节市',\n      text: '赫章县',\n      value: '520527'\n    }\n  ],\n  '520600': [\n    {\n      city: '铜仁市',\n      text: '市辖区',\n      value: '520601'\n    },\n    {\n      city: '铜仁市',\n      text: '碧江区',\n      value: '520602'\n    },\n    {\n      city: '铜仁市',\n      text: '万山区',\n      value: '520603'\n    },\n    {\n      city: '铜仁市',\n      text: '江口县',\n      value: '520621'\n    },\n    {\n      city: '铜仁市',\n      text: '玉屏侗族自治县',\n      value: '520622'\n    },\n    {\n      city: '铜仁市',\n      text: '石阡县',\n      value: '520623'\n    },\n    {\n      city: '铜仁市',\n      text: '思南县',\n      value: '520624'\n    },\n    {\n      city: '铜仁市',\n      text: '印江土家族苗族自治县',\n      value: '520625'\n    },\n    {\n      city: '铜仁市',\n      text: '德江县',\n      value: '520626'\n    },\n    {\n      city: '铜仁市',\n      text: '沿河土家族自治县',\n      value: '520627'\n    },\n    {\n      city: '铜仁市',\n      text: '松桃苗族自治县',\n      value: '520628'\n    }\n  ],\n  '522300': [\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '兴义市',\n      value: '522301'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '兴仁县',\n      value: '522322'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '普安县',\n      value: '522323'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '晴隆县',\n      value: '522324'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '贞丰县',\n      value: '522325'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '望谟县',\n      value: '522326'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '册亨县',\n      value: '522327'\n    },\n    {\n      city: '黔西南布依族苗族自治州',\n      text: '安龙县',\n      value: '522328'\n    }\n  ],\n  '522600': [\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '凯里市',\n      value: '522601'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '黄平县',\n      value: '522622'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '施秉县',\n      value: '522623'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '三穗县',\n      value: '522624'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '镇远县',\n      value: '522625'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '岑巩县',\n      value: '522626'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '天柱县',\n      value: '522627'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '锦屏县',\n      value: '522628'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '剑河县',\n      value: '522629'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '台江县',\n      value: '522630'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '黎平县',\n      value: '522631'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '榕江县',\n      value: '522632'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '从江县',\n      value: '522633'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '雷山县',\n      value: '522634'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '麻江县',\n      value: '522635'\n    },\n    {\n      city: '黔东南苗族侗族自治州',\n      text: '丹寨县',\n      value: '522636'\n    }\n  ],\n  '522700': [\n    {\n      city: '黔南布依族苗族自治州',\n      text: '都匀市',\n      value: '522701'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '福泉市',\n      value: '522702'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '荔波县',\n      value: '522722'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '贵定县',\n      value: '522723'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '瓮安县',\n      value: '522725'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '独山县',\n      value: '522726'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '平塘县',\n      value: '522727'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '罗甸县',\n      value: '522728'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '长顺县',\n      value: '522729'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '龙里县',\n      value: '522730'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '惠水县',\n      value: '522731'\n    },\n    {\n      city: '黔南布依族苗族自治州',\n      text: '三都水族自治县',\n      value: '522732'\n    }\n  ],\n  '530100': [\n    {\n      city: '昆明市',\n      text: '市辖区',\n      value: '530101'\n    },\n    {\n      city: '昆明市',\n      text: '五华区',\n      value: '530102'\n    },\n    {\n      city: '昆明市',\n      text: '盘龙区',\n      value: '530103'\n    },\n    {\n      city: '昆明市',\n      text: '官渡区',\n      value: '530111'\n    },\n    {\n      city: '昆明市',\n      text: '西山区',\n      value: '530112'\n    },\n    {\n      city: '昆明市',\n      text: '东川区',\n      value: '530113'\n    },\n    {\n      city: '昆明市',\n      text: '呈贡区',\n      value: '530114'\n    },\n    {\n      city: '昆明市',\n      text: '晋宁县',\n      value: '530122'\n    },\n    {\n      city: '昆明市',\n      text: '富民县',\n      value: '530124'\n    },\n    {\n      city: '昆明市',\n      text: '宜良县',\n      value: '530125'\n    },\n    {\n      city: '昆明市',\n      text: '石林彝族自治县',\n      value: '530126'\n    },\n    {\n      city: '昆明市',\n      text: '嵩明县',\n      value: '530127'\n    },\n    {\n      city: '昆明市',\n      text: '禄劝彝族苗族自治县',\n      value: '530128'\n    },\n    {\n      city: '昆明市',\n      text: '寻甸回族彝族自治县',\n      value: '530129'\n    },\n    {\n      city: '昆明市',\n      text: '安宁市',\n      value: '530181'\n    }\n  ],\n  '530300': [\n    {\n      city: '曲靖市',\n      text: '市辖区',\n      value: '530301'\n    },\n    {\n      city: '曲靖市',\n      text: '麒麟区',\n      value: '530302'\n    },\n    {\n      city: '曲靖市',\n      text: '沾益区',\n      value: '530303'\n    },\n    {\n      city: '曲靖市',\n      text: '马龙县',\n      value: '530321'\n    },\n    {\n      city: '曲靖市',\n      text: '陆良县',\n      value: '530322'\n    },\n    {\n      city: '曲靖市',\n      text: '师宗县',\n      value: '530323'\n    },\n    {\n      city: '曲靖市',\n      text: '罗平县',\n      value: '530324'\n    },\n    {\n      city: '曲靖市',\n      text: '富源县',\n      value: '530325'\n    },\n    {\n      city: '曲靖市',\n      text: '会泽县',\n      value: '530326'\n    },\n    {\n      city: '曲靖市',\n      text: '宣威市',\n      value: '530381'\n    }\n  ],\n  '530400': [\n    {\n      city: '玉溪市',\n      text: '市辖区',\n      value: '530401'\n    },\n    {\n      city: '玉溪市',\n      text: '红塔区',\n      value: '530402'\n    },\n    {\n      city: '玉溪市',\n      text: '江川区',\n      value: '530403'\n    },\n    {\n      city: '玉溪市',\n      text: '澄江县',\n      value: '530422'\n    },\n    {\n      city: '玉溪市',\n      text: '通海县',\n      value: '530423'\n    },\n    {\n      city: '玉溪市',\n      text: '华宁县',\n      value: '530424'\n    },\n    {\n      city: '玉溪市',\n      text: '易门县',\n      value: '530425'\n    },\n    {\n      city: '玉溪市',\n      text: '峨山彝族自治县',\n      value: '530426'\n    },\n    {\n      city: '玉溪市',\n      text: '新平彝族傣族自治县',\n      value: '530427'\n    },\n    {\n      city: '玉溪市',\n      text: '元江哈尼族彝族傣族自治县',\n      value: '530428'\n    }\n  ],\n  '530500': [\n    {\n      city: '保山市',\n      text: '市辖区',\n      value: '530501'\n    },\n    {\n      city: '保山市',\n      text: '隆阳区',\n      value: '530502'\n    },\n    {\n      city: '保山市',\n      text: '施甸县',\n      value: '530521'\n    },\n    {\n      city: '保山市',\n      text: '龙陵县',\n      value: '530523'\n    },\n    {\n      city: '保山市',\n      text: '昌宁县',\n      value: '530524'\n    },\n    {\n      city: '保山市',\n      text: '腾冲市',\n      value: '530581'\n    }\n  ],\n  '530600': [\n    {\n      city: '昭通市',\n      text: '市辖区',\n      value: '530601'\n    },\n    {\n      city: '昭通市',\n      text: '昭阳区',\n      value: '530602'\n    },\n    {\n      city: '昭通市',\n      text: '鲁甸县',\n      value: '530621'\n    },\n    {\n      city: '昭通市',\n      text: '巧家县',\n      value: '530622'\n    },\n    {\n      city: '昭通市',\n      text: '盐津县',\n      value: '530623'\n    },\n    {\n      city: '昭通市',\n      text: '大关县',\n      value: '530624'\n    },\n    {\n      city: '昭通市',\n      text: '永善县',\n      value: '530625'\n    },\n    {\n      city: '昭通市',\n      text: '绥江县',\n      value: '530626'\n    },\n    {\n      city: '昭通市',\n      text: '镇雄县',\n      value: '530627'\n    },\n    {\n      city: '昭通市',\n      text: '彝良县',\n      value: '530628'\n    },\n    {\n      city: '昭通市',\n      text: '威信县',\n      value: '530629'\n    },\n    {\n      city: '昭通市',\n      text: '水富县',\n      value: '530630'\n    }\n  ],\n  '530700': [\n    {\n      city: '丽江市',\n      text: '市辖区',\n      value: '530701'\n    },\n    {\n      city: '丽江市',\n      text: '古城区',\n      value: '530702'\n    },\n    {\n      city: '丽江市',\n      text: '玉龙纳西族自治县',\n      value: '530721'\n    },\n    {\n      city: '丽江市',\n      text: '永胜县',\n      value: '530722'\n    },\n    {\n      city: '丽江市',\n      text: '华坪县',\n      value: '530723'\n    },\n    {\n      city: '丽江市',\n      text: '宁蒗彝族自治县',\n      value: '530724'\n    }\n  ],\n  '530800': [\n    {\n      city: '普洱市',\n      text: '市辖区',\n      value: '530801'\n    },\n    {\n      city: '普洱市',\n      text: '思茅区',\n      value: '530802'\n    },\n    {\n      city: '普洱市',\n      text: '宁洱哈尼族彝族自治县',\n      value: '530821'\n    },\n    {\n      city: '普洱市',\n      text: '墨江哈尼族自治县',\n      value: '530822'\n    },\n    {\n      city: '普洱市',\n      text: '景东彝族自治县',\n      value: '530823'\n    },\n    {\n      city: '普洱市',\n      text: '景谷傣族彝族自治县',\n      value: '530824'\n    },\n    {\n      city: '普洱市',\n      text: '镇沅彝族哈尼族拉祜族自治县',\n      value: '530825'\n    },\n    {\n      city: '普洱市',\n      text: '江城哈尼族彝族自治县',\n      value: '530826'\n    },\n    {\n      city: '普洱市',\n      text: '孟连傣族拉祜族佤族自治县',\n      value: '530827'\n    },\n    {\n      city: '普洱市',\n      text: '澜沧拉祜族自治县',\n      value: '530828'\n    },\n    {\n      city: '普洱市',\n      text: '西盟佤族自治县',\n      value: '530829'\n    }\n  ],\n  '530900': [\n    {\n      city: '临沧市',\n      text: '市辖区',\n      value: '530901'\n    },\n    {\n      city: '临沧市',\n      text: '临翔区',\n      value: '530902'\n    },\n    {\n      city: '临沧市',\n      text: '凤庆县',\n      value: '530921'\n    },\n    {\n      city: '临沧市',\n      text: '云县',\n      value: '530922'\n    },\n    {\n      city: '临沧市',\n      text: '永德县',\n      value: '530923'\n    },\n    {\n      city: '临沧市',\n      text: '镇康县',\n      value: '530924'\n    },\n    {\n      city: '临沧市',\n      text: '双江拉祜族佤族布朗族傣族自治县',\n      value: '530925'\n    },\n    {\n      city: '临沧市',\n      text: '耿马傣族佤族自治县',\n      value: '530926'\n    },\n    {\n      city: '临沧市',\n      text: '沧源佤族自治县',\n      value: '530927'\n    }\n  ],\n  '532300': [\n    {\n      city: '楚雄彝族自治州',\n      text: '楚雄市',\n      value: '532301'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '双柏县',\n      value: '532322'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '牟定县',\n      value: '532323'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '南华县',\n      value: '532324'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '姚安县',\n      value: '532325'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '大姚县',\n      value: '532326'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '永仁县',\n      value: '532327'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '元谋县',\n      value: '532328'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '武定县',\n      value: '532329'\n    },\n    {\n      city: '楚雄彝族自治州',\n      text: '禄丰县',\n      value: '532331'\n    }\n  ],\n  '532500': [\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '个旧市',\n      value: '532501'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '开远市',\n      value: '532502'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '蒙自市',\n      value: '532503'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '弥勒市',\n      value: '532504'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '屏边苗族自治县',\n      value: '532523'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '建水县',\n      value: '532524'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '石屏县',\n      value: '532525'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '泸西县',\n      value: '532527'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '元阳县',\n      value: '532528'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '红河县',\n      value: '532529'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '金平苗族瑶族傣族自治县',\n      value: '532530'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '绿春县',\n      value: '532531'\n    },\n    {\n      city: '红河哈尼族彝族自治州',\n      text: '河口瑶族自治县',\n      value: '532532'\n    }\n  ],\n  '532600': [\n    {\n      city: '文山壮族苗族自治州',\n      text: '文山市',\n      value: '532601'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '砚山县',\n      value: '532622'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '西畴县',\n      value: '532623'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '麻栗坡县',\n      value: '532624'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '马关县',\n      value: '532625'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '丘北县',\n      value: '532626'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '广南县',\n      value: '532627'\n    },\n    {\n      city: '文山壮族苗族自治州',\n      text: '富宁县',\n      value: '532628'\n    }\n  ],\n  '532800': [\n    {\n      city: '西双版纳傣族自治州',\n      text: '景洪市',\n      value: '532801'\n    },\n    {\n      city: '西双版纳傣族自治州',\n      text: '勐海县',\n      value: '532822'\n    },\n    {\n      city: '西双版纳傣族自治州',\n      text: '勐腊县',\n      value: '532823'\n    }\n  ],\n  '532900': [\n    {\n      city: '大理白族自治州',\n      text: '大理市',\n      value: '532901'\n    },\n    {\n      city: '大理白族自治州',\n      text: '漾濞彝族自治县',\n      value: '532922'\n    },\n    {\n      city: '大理白族自治州',\n      text: '祥云县',\n      value: '532923'\n    },\n    {\n      city: '大理白族自治州',\n      text: '宾川县',\n      value: '532924'\n    },\n    {\n      city: '大理白族自治州',\n      text: '弥渡县',\n      value: '532925'\n    },\n    {\n      city: '大理白族自治州',\n      text: '南涧彝族自治县',\n      value: '532926'\n    },\n    {\n      city: '大理白族自治州',\n      text: '巍山彝族回族自治县',\n      value: '532927'\n    },\n    {\n      city: '大理白族自治州',\n      text: '永平县',\n      value: '532928'\n    },\n    {\n      city: '大理白族自治州',\n      text: '云龙县',\n      value: '532929'\n    },\n    {\n      city: '大理白族自治州',\n      text: '洱源县',\n      value: '532930'\n    },\n    {\n      city: '大理白族自治州',\n      text: '剑川县',\n      value: '532931'\n    },\n    {\n      city: '大理白族自治州',\n      text: '鹤庆县',\n      value: '532932'\n    }\n  ],\n  '533100': [\n    {\n      city: '德宏傣族景颇族自治州',\n      text: '瑞丽市',\n      value: '533102'\n    },\n    {\n      city: '德宏傣族景颇族自治州',\n      text: '芒市',\n      value: '533103'\n    },\n    {\n      city: '德宏傣族景颇族自治州',\n      text: '梁河县',\n      value: '533122'\n    },\n    {\n      city: '德宏傣族景颇族自治州',\n      text: '盈江县',\n      value: '533123'\n    },\n    {\n      city: '德宏傣族景颇族自治州',\n      text: '陇川县',\n      value: '533124'\n    }\n  ],\n  '533300': [\n    {\n      city: '怒江傈僳族自治州',\n      text: '泸水市',\n      value: '533301'\n    },\n    {\n      city: '怒江傈僳族自治州',\n      text: '福贡县',\n      value: '533323'\n    },\n    {\n      city: '怒江傈僳族自治州',\n      text: '贡山独龙族怒族自治县',\n      value: '533324'\n    },\n    {\n      city: '怒江傈僳族自治州',\n      text: '兰坪白族普米族自治县',\n      value: '533325'\n    }\n  ],\n  '533400': [\n    {\n      city: '迪庆藏族自治州',\n      text: '香格里拉市',\n      value: '533401'\n    },\n    {\n      city: '迪庆藏族自治州',\n      text: '德钦县',\n      value: '533422'\n    },\n    {\n      city: '迪庆藏族自治州',\n      text: '维西傈僳族自治县',\n      value: '533423'\n    }\n  ],\n  '540100': [\n    {\n      city: '拉萨市',\n      text: '市辖区',\n      value: '540101'\n    },\n    {\n      city: '拉萨市',\n      text: '城关区',\n      value: '540102'\n    },\n    {\n      city: '拉萨市',\n      text: '堆龙德庆区',\n      value: '540103'\n    },\n    {\n      city: '拉萨市',\n      text: '林周县',\n      value: '540121'\n    },\n    {\n      city: '拉萨市',\n      text: '当雄县',\n      value: '540122'\n    },\n    {\n      city: '拉萨市',\n      text: '尼木县',\n      value: '540123'\n    },\n    {\n      city: '拉萨市',\n      text: '曲水县',\n      value: '540124'\n    },\n    {\n      city: '拉萨市',\n      text: '达孜县',\n      value: '540126'\n    },\n    {\n      city: '拉萨市',\n      text: '墨竹工卡县',\n      value: '540127'\n    }\n  ],\n  '540200': [\n    {\n      city: '日喀则市',\n      text: '桑珠孜区',\n      value: '540202'\n    },\n    {\n      city: '日喀则市',\n      text: '南木林县',\n      value: '540221'\n    },\n    {\n      city: '日喀则市',\n      text: '江孜县',\n      value: '540222'\n    },\n    {\n      city: '日喀则市',\n      text: '定日县',\n      value: '540223'\n    },\n    {\n      city: '日喀则市',\n      text: '萨迦县',\n      value: '540224'\n    },\n    {\n      city: '日喀则市',\n      text: '拉孜县',\n      value: '540225'\n    },\n    {\n      city: '日喀则市',\n      text: '昂仁县',\n      value: '540226'\n    },\n    {\n      city: '日喀则市',\n      text: '谢通门县',\n      value: '540227'\n    },\n    {\n      city: '日喀则市',\n      text: '白朗县',\n      value: '540228'\n    },\n    {\n      city: '日喀则市',\n      text: '仁布县',\n      value: '540229'\n    },\n    {\n      city: '日喀则市',\n      text: '康马县',\n      value: '540230'\n    },\n    {\n      city: '日喀则市',\n      text: '定结县',\n      value: '540231'\n    },\n    {\n      city: '日喀则市',\n      text: '仲巴县',\n      value: '540232'\n    },\n    {\n      city: '日喀则市',\n      text: '亚东县',\n      value: '540233'\n    },\n    {\n      city: '日喀则市',\n      text: '吉隆县',\n      value: '540234'\n    },\n    {\n      city: '日喀则市',\n      text: '聂拉木县',\n      value: '540235'\n    },\n    {\n      city: '日喀则市',\n      text: '萨嘎县',\n      value: '540236'\n    },\n    {\n      city: '日喀则市',\n      text: '岗巴县',\n      value: '540237'\n    }\n  ],\n  '540300': [\n    {\n      city: '昌都市',\n      text: '卡若区',\n      value: '540302'\n    },\n    {\n      city: '昌都市',\n      text: '江达县',\n      value: '540321'\n    },\n    {\n      city: '昌都市',\n      text: '贡觉县',\n      value: '540322'\n    },\n    {\n      city: '昌都市',\n      text: '类乌齐县',\n      value: '540323'\n    },\n    {\n      city: '昌都市',\n      text: '丁青县',\n      value: '540324'\n    },\n    {\n      city: '昌都市',\n      text: '察雅县',\n      value: '540325'\n    },\n    {\n      city: '昌都市',\n      text: '八宿县',\n      value: '540326'\n    },\n    {\n      city: '昌都市',\n      text: '左贡县',\n      value: '540327'\n    },\n    {\n      city: '昌都市',\n      text: '芒康县',\n      value: '540328'\n    },\n    {\n      city: '昌都市',\n      text: '洛隆县',\n      value: '540329'\n    },\n    {\n      city: '昌都市',\n      text: '边坝县',\n      value: '540330'\n    }\n  ],\n  '540400': [\n    {\n      city: '林芝市',\n      text: '巴宜区',\n      value: '540402'\n    },\n    {\n      city: '林芝市',\n      text: '工布江达县',\n      value: '540421'\n    },\n    {\n      city: '林芝市',\n      text: '米林县',\n      value: '540422'\n    },\n    {\n      city: '林芝市',\n      text: '墨脱县',\n      value: '540423'\n    },\n    {\n      city: '林芝市',\n      text: '波密县',\n      value: '540424'\n    },\n    {\n      city: '林芝市',\n      text: '察隅县',\n      value: '540425'\n    },\n    {\n      city: '林芝市',\n      text: '朗县',\n      value: '540426'\n    }\n  ],\n  '540500': [\n    {\n      city: '山南市',\n      text: '市辖区',\n      value: '540501'\n    },\n    {\n      city: '山南市',\n      text: '乃东区',\n      value: '540502'\n    },\n    {\n      city: '山南市',\n      text: '扎囊县',\n      value: '540521'\n    },\n    {\n      city: '山南市',\n      text: '贡嘎县',\n      value: '540522'\n    },\n    {\n      city: '山南市',\n      text: '桑日县',\n      value: '540523'\n    },\n    {\n      city: '山南市',\n      text: '琼结县',\n      value: '540524'\n    },\n    {\n      city: '山南市',\n      text: '曲松县',\n      value: '540525'\n    },\n    {\n      city: '山南市',\n      text: '措美县',\n      value: '540526'\n    },\n    {\n      city: '山南市',\n      text: '洛扎县',\n      value: '540527'\n    },\n    {\n      city: '山南市',\n      text: '加查县',\n      value: '540528'\n    },\n    {\n      city: '山南市',\n      text: '隆子县',\n      value: '540529'\n    },\n    {\n      city: '山南市',\n      text: '错那县',\n      value: '540530'\n    },\n    {\n      city: '山南市',\n      text: '浪卡子县',\n      value: '540531'\n    }\n  ],\n  '542400': [\n    {\n      city: '那曲地区',\n      text: '那曲县',\n      value: '542421'\n    },\n    {\n      city: '那曲地区',\n      text: '嘉黎县',\n      value: '542422'\n    },\n    {\n      city: '那曲地区',\n      text: '比如县',\n      value: '542423'\n    },\n    {\n      city: '那曲地区',\n      text: '聂荣县',\n      value: '542424'\n    },\n    {\n      city: '那曲地区',\n      text: '安多县',\n      value: '542425'\n    },\n    {\n      city: '那曲地区',\n      text: '申扎县',\n      value: '542426'\n    },\n    {\n      city: '那曲地区',\n      text: '索县',\n      value: '542427'\n    },\n    {\n      city: '那曲地区',\n      text: '班戈县',\n      value: '542428'\n    },\n    {\n      city: '那曲地区',\n      text: '巴青县',\n      value: '542429'\n    },\n    {\n      city: '那曲地区',\n      text: '尼玛县',\n      value: '542430'\n    },\n    {\n      city: '那曲地区',\n      text: '双湖县',\n      value: '542431'\n    }\n  ],\n  '542500': [\n    {\n      city: '阿里地区',\n      text: '普兰县',\n      value: '542521'\n    },\n    {\n      city: '阿里地区',\n      text: '札达县',\n      value: '542522'\n    },\n    {\n      city: '阿里地区',\n      text: '噶尔县',\n      value: '542523'\n    },\n    {\n      city: '阿里地区',\n      text: '日土县',\n      value: '542524'\n    },\n    {\n      city: '阿里地区',\n      text: '革吉县',\n      value: '542525'\n    },\n    {\n      city: '阿里地区',\n      text: '改则县',\n      value: '542526'\n    },\n    {\n      city: '阿里地区',\n      text: '措勤县',\n      value: '542527'\n    }\n  ],\n  '610100': [\n    {\n      city: '西安市',\n      text: '市辖区',\n      value: '610101'\n    },\n    {\n      city: '西安市',\n      text: '新城区',\n      value: '610102'\n    },\n    {\n      city: '西安市',\n      text: '碑林区',\n      value: '610103'\n    },\n    {\n      city: '西安市',\n      text: '莲湖区',\n      value: '610104'\n    },\n    {\n      city: '西安市',\n      text: '灞桥区',\n      value: '610111'\n    },\n    {\n      city: '西安市',\n      text: '未央区',\n      value: '610112'\n    },\n    {\n      city: '西安市',\n      text: '雁塔区',\n      value: '610113'\n    },\n    {\n      city: '西安市',\n      text: '阎良区',\n      value: '610114'\n    },\n    {\n      city: '西安市',\n      text: '临潼区',\n      value: '610115'\n    },\n    {\n      city: '西安市',\n      text: '长安区',\n      value: '610116'\n    },\n    {\n      city: '西安市',\n      text: '高陵区',\n      value: '610117'\n    },\n    {\n      city: '西安市',\n      text: '蓝田县',\n      value: '610122'\n    },\n    {\n      city: '西安市',\n      text: '周至县',\n      value: '610124'\n    },\n    {\n      city: '西安市',\n      text: '户县',\n      value: '610125'\n    }\n  ],\n  '610200': [\n    {\n      city: '铜川市',\n      text: '市辖区',\n      value: '610201'\n    },\n    {\n      city: '铜川市',\n      text: '王益区',\n      value: '610202'\n    },\n    {\n      city: '铜川市',\n      text: '印台区',\n      value: '610203'\n    },\n    {\n      city: '铜川市',\n      text: '耀州区',\n      value: '610204'\n    },\n    {\n      city: '铜川市',\n      text: '宜君县',\n      value: '610222'\n    }\n  ],\n  '610300': [\n    {\n      city: '宝鸡市',\n      text: '市辖区',\n      value: '610301'\n    },\n    {\n      city: '宝鸡市',\n      text: '渭滨区',\n      value: '610302'\n    },\n    {\n      city: '宝鸡市',\n      text: '金台区',\n      value: '610303'\n    },\n    {\n      city: '宝鸡市',\n      text: '陈仓区',\n      value: '610304'\n    },\n    {\n      city: '宝鸡市',\n      text: '凤翔县',\n      value: '610322'\n    },\n    {\n      city: '宝鸡市',\n      text: '岐山县',\n      value: '610323'\n    },\n    {\n      city: '宝鸡市',\n      text: '扶风县',\n      value: '610324'\n    },\n    {\n      city: '宝鸡市',\n      text: '眉县',\n      value: '610326'\n    },\n    {\n      city: '宝鸡市',\n      text: '陇县',\n      value: '610327'\n    },\n    {\n      city: '宝鸡市',\n      text: '千阳县',\n      value: '610328'\n    },\n    {\n      city: '宝鸡市',\n      text: '麟游县',\n      value: '610329'\n    },\n    {\n      city: '宝鸡市',\n      text: '凤县',\n      value: '610330'\n    },\n    {\n      city: '宝鸡市',\n      text: '太白县',\n      value: '610331'\n    }\n  ],\n  '610400': [\n    {\n      city: '咸阳市',\n      text: '市辖区',\n      value: '610401'\n    },\n    {\n      city: '咸阳市',\n      text: '秦都区',\n      value: '610402'\n    },\n    {\n      city: '咸阳市',\n      text: '杨陵区',\n      value: '610403'\n    },\n    {\n      city: '咸阳市',\n      text: '渭城区',\n      value: '610404'\n    },\n    {\n      city: '咸阳市',\n      text: '三原县',\n      value: '610422'\n    },\n    {\n      city: '咸阳市',\n      text: '泾阳县',\n      value: '610423'\n    },\n    {\n      city: '咸阳市',\n      text: '乾县',\n      value: '610424'\n    },\n    {\n      city: '咸阳市',\n      text: '礼泉县',\n      value: '610425'\n    },\n    {\n      city: '咸阳市',\n      text: '永寿县',\n      value: '610426'\n    },\n    {\n      city: '咸阳市',\n      text: '彬县',\n      value: '610427'\n    },\n    {\n      city: '咸阳市',\n      text: '长武县',\n      value: '610428'\n    },\n    {\n      city: '咸阳市',\n      text: '旬邑县',\n      value: '610429'\n    },\n    {\n      city: '咸阳市',\n      text: '淳化县',\n      value: '610430'\n    },\n    {\n      city: '咸阳市',\n      text: '武功县',\n      value: '610431'\n    },\n    {\n      city: '咸阳市',\n      text: '兴平市',\n      value: '610481'\n    }\n  ],\n  '610500': [\n    {\n      city: '渭南市',\n      text: '市辖区',\n      value: '610501'\n    },\n    {\n      city: '渭南市',\n      text: '临渭区',\n      value: '610502'\n    },\n    {\n      city: '渭南市',\n      text: '华州区',\n      value: '610503'\n    },\n    {\n      city: '渭南市',\n      text: '潼关县',\n      value: '610522'\n    },\n    {\n      city: '渭南市',\n      text: '大荔县',\n      value: '610523'\n    },\n    {\n      city: '渭南市',\n      text: '合阳县',\n      value: '610524'\n    },\n    {\n      city: '渭南市',\n      text: '澄城县',\n      value: '610525'\n    },\n    {\n      city: '渭南市',\n      text: '蒲城县',\n      value: '610526'\n    },\n    {\n      city: '渭南市',\n      text: '白水县',\n      value: '610527'\n    },\n    {\n      city: '渭南市',\n      text: '富平县',\n      value: '610528'\n    },\n    {\n      city: '渭南市',\n      text: '韩城市',\n      value: '610581'\n    },\n    {\n      city: '渭南市',\n      text: '华阴市',\n      value: '610582'\n    }\n  ],\n  '610600': [\n    {\n      city: '延安市',\n      text: '市辖区',\n      value: '610601'\n    },\n    {\n      city: '延安市',\n      text: '宝塔区',\n      value: '610602'\n    },\n    {\n      city: '延安市',\n      text: '安塞区',\n      value: '610603'\n    },\n    {\n      city: '延安市',\n      text: '延长县',\n      value: '610621'\n    },\n    {\n      city: '延安市',\n      text: '延川县',\n      value: '610622'\n    },\n    {\n      city: '延安市',\n      text: '子长县',\n      value: '610623'\n    },\n    {\n      city: '延安市',\n      text: '志丹县',\n      value: '610625'\n    },\n    {\n      city: '延安市',\n      text: '吴起县',\n      value: '610626'\n    },\n    {\n      city: '延安市',\n      text: '甘泉县',\n      value: '610627'\n    },\n    {\n      city: '延安市',\n      text: '富县',\n      value: '610628'\n    },\n    {\n      city: '延安市',\n      text: '洛川县',\n      value: '610629'\n    },\n    {\n      city: '延安市',\n      text: '宜川县',\n      value: '610630'\n    },\n    {\n      city: '延安市',\n      text: '黄龙县',\n      value: '610631'\n    },\n    {\n      city: '延安市',\n      text: '黄陵县',\n      value: '610632'\n    }\n  ],\n  '610700': [\n    {\n      city: '汉中市',\n      text: '市辖区',\n      value: '610701'\n    },\n    {\n      city: '汉中市',\n      text: '汉台区',\n      value: '610702'\n    },\n    {\n      city: '汉中市',\n      text: '南郑县',\n      value: '610721'\n    },\n    {\n      city: '汉中市',\n      text: '城固县',\n      value: '610722'\n    },\n    {\n      city: '汉中市',\n      text: '洋县',\n      value: '610723'\n    },\n    {\n      city: '汉中市',\n      text: '西乡县',\n      value: '610724'\n    },\n    {\n      city: '汉中市',\n      text: '勉县',\n      value: '610725'\n    },\n    {\n      city: '汉中市',\n      text: '宁强县',\n      value: '610726'\n    },\n    {\n      city: '汉中市',\n      text: '略阳县',\n      value: '610727'\n    },\n    {\n      city: '汉中市',\n      text: '镇巴县',\n      value: '610728'\n    },\n    {\n      city: '汉中市',\n      text: '留坝县',\n      value: '610729'\n    },\n    {\n      city: '汉中市',\n      text: '佛坪县',\n      value: '610730'\n    }\n  ],\n  '610800': [\n    {\n      city: '榆林市',\n      text: '市辖区',\n      value: '610801'\n    },\n    {\n      city: '榆林市',\n      text: '榆阳区',\n      value: '610802'\n    },\n    {\n      city: '榆林市',\n      text: '横山区',\n      value: '610803'\n    },\n    {\n      city: '榆林市',\n      text: '神木县',\n      value: '610821'\n    },\n    {\n      city: '榆林市',\n      text: '府谷县',\n      value: '610822'\n    },\n    {\n      city: '榆林市',\n      text: '靖边县',\n      value: '610824'\n    },\n    {\n      city: '榆林市',\n      text: '定边县',\n      value: '610825'\n    },\n    {\n      city: '榆林市',\n      text: '绥德县',\n      value: '610826'\n    },\n    {\n      city: '榆林市',\n      text: '米脂县',\n      value: '610827'\n    },\n    {\n      city: '榆林市',\n      text: '佳县',\n      value: '610828'\n    },\n    {\n      city: '榆林市',\n      text: '吴堡县',\n      value: '610829'\n    },\n    {\n      city: '榆林市',\n      text: '清涧县',\n      value: '610830'\n    },\n    {\n      city: '榆林市',\n      text: '子洲县',\n      value: '610831'\n    }\n  ],\n  '610900': [\n    {\n      city: '安康市',\n      text: '市辖区',\n      value: '610901'\n    },\n    {\n      city: '安康市',\n      text: '汉滨区',\n      value: '610902'\n    },\n    {\n      city: '安康市',\n      text: '汉阴县',\n      value: '610921'\n    },\n    {\n      city: '安康市',\n      text: '石泉县',\n      value: '610922'\n    },\n    {\n      city: '安康市',\n      text: '宁陕县',\n      value: '610923'\n    },\n    {\n      city: '安康市',\n      text: '紫阳县',\n      value: '610924'\n    },\n    {\n      city: '安康市',\n      text: '岚皋县',\n      value: '610925'\n    },\n    {\n      city: '安康市',\n      text: '平利县',\n      value: '610926'\n    },\n    {\n      city: '安康市',\n      text: '镇坪县',\n      value: '610927'\n    },\n    {\n      city: '安康市',\n      text: '旬阳县',\n      value: '610928'\n    },\n    {\n      city: '安康市',\n      text: '白河县',\n      value: '610929'\n    }\n  ],\n  '611000': [\n    {\n      city: '商洛市',\n      text: '市辖区',\n      value: '611001'\n    },\n    {\n      city: '商洛市',\n      text: '商州区',\n      value: '611002'\n    },\n    {\n      city: '商洛市',\n      text: '洛南县',\n      value: '611021'\n    },\n    {\n      city: '商洛市',\n      text: '丹凤县',\n      value: '611022'\n    },\n    {\n      city: '商洛市',\n      text: '商南县',\n      value: '611023'\n    },\n    {\n      city: '商洛市',\n      text: '山阳县',\n      value: '611024'\n    },\n    {\n      city: '商洛市',\n      text: '镇安县',\n      value: '611025'\n    },\n    {\n      city: '商洛市',\n      text: '柞水县',\n      value: '611026'\n    }\n  ],\n  '620100': [\n    {\n      city: '兰州市',\n      text: '市辖区',\n      value: '620101'\n    },\n    {\n      city: '兰州市',\n      text: '城关区',\n      value: '620102'\n    },\n    {\n      city: '兰州市',\n      text: '七里河区',\n      value: '620103'\n    },\n    {\n      city: '兰州市',\n      text: '西固区',\n      value: '620104'\n    },\n    {\n      city: '兰州市',\n      text: '安宁区',\n      value: '620105'\n    },\n    {\n      city: '兰州市',\n      text: '红古区',\n      value: '620111'\n    },\n    {\n      city: '兰州市',\n      text: '永登县',\n      value: '620121'\n    },\n    {\n      city: '兰州市',\n      text: '皋兰县',\n      value: '620122'\n    },\n    {\n      city: '兰州市',\n      text: '榆中县',\n      value: '620123'\n    }\n  ],\n  '620200': [\n    {\n      city: '嘉峪关市',\n      text: '市辖区',\n      value: '620201'\n    }\n  ],\n  '620300': [\n    {\n      city: '金昌市',\n      text: '市辖区',\n      value: '620301'\n    },\n    {\n      city: '金昌市',\n      text: '金川区',\n      value: '620302'\n    },\n    {\n      city: '金昌市',\n      text: '永昌县',\n      value: '620321'\n    }\n  ],\n  '620400': [\n    {\n      city: '白银市',\n      text: '市辖区',\n      value: '620401'\n    },\n    {\n      city: '白银市',\n      text: '白银区',\n      value: '620402'\n    },\n    {\n      city: '白银市',\n      text: '平川区',\n      value: '620403'\n    },\n    {\n      city: '白银市',\n      text: '靖远县',\n      value: '620421'\n    },\n    {\n      city: '白银市',\n      text: '会宁县',\n      value: '620422'\n    },\n    {\n      city: '白银市',\n      text: '景泰县',\n      value: '620423'\n    }\n  ],\n  '620500': [\n    {\n      city: '天水市',\n      text: '市辖区',\n      value: '620501'\n    },\n    {\n      city: '天水市',\n      text: '秦州区',\n      value: '620502'\n    },\n    {\n      city: '天水市',\n      text: '麦积区',\n      value: '620503'\n    },\n    {\n      city: '天水市',\n      text: '清水县',\n      value: '620521'\n    },\n    {\n      city: '天水市',\n      text: '秦安县',\n      value: '620522'\n    },\n    {\n      city: '天水市',\n      text: '甘谷县',\n      value: '620523'\n    },\n    {\n      city: '天水市',\n      text: '武山县',\n      value: '620524'\n    },\n    {\n      city: '天水市',\n      text: '张家川回族自治县',\n      value: '620525'\n    }\n  ],\n  '620600': [\n    {\n      city: '武威市',\n      text: '市辖区',\n      value: '620601'\n    },\n    {\n      city: '武威市',\n      text: '凉州区',\n      value: '620602'\n    },\n    {\n      city: '武威市',\n      text: '民勤县',\n      value: '620621'\n    },\n    {\n      city: '武威市',\n      text: '古浪县',\n      value: '620622'\n    },\n    {\n      city: '武威市',\n      text: '天祝藏族自治县',\n      value: '620623'\n    }\n  ],\n  '620700': [\n    {\n      city: '张掖市',\n      text: '市辖区',\n      value: '620701'\n    },\n    {\n      city: '张掖市',\n      text: '甘州区',\n      value: '620702'\n    },\n    {\n      city: '张掖市',\n      text: '肃南裕固族自治县',\n      value: '620721'\n    },\n    {\n      city: '张掖市',\n      text: '民乐县',\n      value: '620722'\n    },\n    {\n      city: '张掖市',\n      text: '临泽县',\n      value: '620723'\n    },\n    {\n      city: '张掖市',\n      text: '高台县',\n      value: '620724'\n    },\n    {\n      city: '张掖市',\n      text: '山丹县',\n      value: '620725'\n    }\n  ],\n  '620800': [\n    {\n      city: '平凉市',\n      text: '市辖区',\n      value: '620801'\n    },\n    {\n      city: '平凉市',\n      text: '崆峒区',\n      value: '620802'\n    },\n    {\n      city: '平凉市',\n      text: '泾川县',\n      value: '620821'\n    },\n    {\n      city: '平凉市',\n      text: '灵台县',\n      value: '620822'\n    },\n    {\n      city: '平凉市',\n      text: '崇信县',\n      value: '620823'\n    },\n    {\n      city: '平凉市',\n      text: '华亭县',\n      value: '620824'\n    },\n    {\n      city: '平凉市',\n      text: '庄浪县',\n      value: '620825'\n    },\n    {\n      city: '平凉市',\n      text: '静宁县',\n      value: '620826'\n    }\n  ],\n  '620900': [\n    {\n      city: '酒泉市',\n      text: '市辖区',\n      value: '620901'\n    },\n    {\n      city: '酒泉市',\n      text: '肃州区',\n      value: '620902'\n    },\n    {\n      city: '酒泉市',\n      text: '金塔县',\n      value: '620921'\n    },\n    {\n      city: '酒泉市',\n      text: '瓜州县',\n      value: '620922'\n    },\n    {\n      city: '酒泉市',\n      text: '肃北蒙古族自治县',\n      value: '620923'\n    },\n    {\n      city: '酒泉市',\n      text: '阿克塞哈萨克族自治县',\n      value: '620924'\n    },\n    {\n      city: '酒泉市',\n      text: '玉门市',\n      value: '620981'\n    },\n    {\n      city: '酒泉市',\n      text: '敦煌市',\n      value: '620982'\n    }\n  ],\n  '621000': [\n    {\n      city: '庆阳市',\n      text: '市辖区',\n      value: '621001'\n    },\n    {\n      city: '庆阳市',\n      text: '西峰区',\n      value: '621002'\n    },\n    {\n      city: '庆阳市',\n      text: '庆城县',\n      value: '621021'\n    },\n    {\n      city: '庆阳市',\n      text: '环县',\n      value: '621022'\n    },\n    {\n      city: '庆阳市',\n      text: '华池县',\n      value: '621023'\n    },\n    {\n      city: '庆阳市',\n      text: '合水县',\n      value: '621024'\n    },\n    {\n      city: '庆阳市',\n      text: '正宁县',\n      value: '621025'\n    },\n    {\n      city: '庆阳市',\n      text: '宁县',\n      value: '621026'\n    },\n    {\n      city: '庆阳市',\n      text: '镇原县',\n      value: '621027'\n    }\n  ],\n  '621100': [\n    {\n      city: '定西市',\n      text: '市辖区',\n      value: '621101'\n    },\n    {\n      city: '定西市',\n      text: '安定区',\n      value: '621102'\n    },\n    {\n      city: '定西市',\n      text: '通渭县',\n      value: '621121'\n    },\n    {\n      city: '定西市',\n      text: '陇西县',\n      value: '621122'\n    },\n    {\n      city: '定西市',\n      text: '渭源县',\n      value: '621123'\n    },\n    {\n      city: '定西市',\n      text: '临洮县',\n      value: '621124'\n    },\n    {\n      city: '定西市',\n      text: '漳县',\n      value: '621125'\n    },\n    {\n      city: '定西市',\n      text: '岷县',\n      value: '621126'\n    }\n  ],\n  '621200': [\n    {\n      city: '陇南市',\n      text: '市辖区',\n      value: '621201'\n    },\n    {\n      city: '陇南市',\n      text: '武都区',\n      value: '621202'\n    },\n    {\n      city: '陇南市',\n      text: '成县',\n      value: '621221'\n    },\n    {\n      city: '陇南市',\n      text: '文县',\n      value: '621222'\n    },\n    {\n      city: '陇南市',\n      text: '宕昌县',\n      value: '621223'\n    },\n    {\n      city: '陇南市',\n      text: '康县',\n      value: '621224'\n    },\n    {\n      city: '陇南市',\n      text: '西和县',\n      value: '621225'\n    },\n    {\n      city: '陇南市',\n      text: '礼县',\n      value: '621226'\n    },\n    {\n      city: '陇南市',\n      text: '徽县',\n      value: '621227'\n    },\n    {\n      city: '陇南市',\n      text: '两当县',\n      value: '621228'\n    }\n  ],\n  '622900': [\n    {\n      city: '临夏回族自治州',\n      text: '临夏市',\n      value: '622901'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '临夏县',\n      value: '622921'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '康乐县',\n      value: '622922'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '永靖县',\n      value: '622923'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '广河县',\n      value: '622924'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '和政县',\n      value: '622925'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '东乡族自治县',\n      value: '622926'\n    },\n    {\n      city: '临夏回族自治州',\n      text: '积石山保安族东乡族撒拉族自治县',\n      value: '622927'\n    }\n  ],\n  '623000': [\n    {\n      city: '甘南藏族自治州',\n      text: '合作市',\n      value: '623001'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '临潭县',\n      value: '623021'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '卓尼县',\n      value: '623022'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '舟曲县',\n      value: '623023'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '迭部县',\n      value: '623024'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '玛曲县',\n      value: '623025'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '碌曲县',\n      value: '623026'\n    },\n    {\n      city: '甘南藏族自治州',\n      text: '夏河县',\n      value: '623027'\n    }\n  ],\n  '630100': [\n    {\n      city: '西宁市',\n      text: '市辖区',\n      value: '630101'\n    },\n    {\n      city: '西宁市',\n      text: '城东区',\n      value: '630102'\n    },\n    {\n      city: '西宁市',\n      text: '城中区',\n      value: '630103'\n    },\n    {\n      city: '西宁市',\n      text: '城西区',\n      value: '630104'\n    },\n    {\n      city: '西宁市',\n      text: '城北区',\n      value: '630105'\n    },\n    {\n      city: '西宁市',\n      text: '大通回族土族自治县',\n      value: '630121'\n    },\n    {\n      city: '西宁市',\n      text: '湟中县',\n      value: '630122'\n    },\n    {\n      city: '西宁市',\n      text: '湟源县',\n      value: '630123'\n    }\n  ],\n  '630200': [\n    {\n      city: '海东市',\n      text: '乐都区',\n      value: '630202'\n    },\n    {\n      city: '海东市',\n      text: '平安区',\n      value: '630203'\n    },\n    {\n      city: '海东市',\n      text: '民和回族土族自治县',\n      value: '630222'\n    },\n    {\n      city: '海东市',\n      text: '互助土族自治县',\n      value: '630223'\n    },\n    {\n      city: '海东市',\n      text: '化隆回族自治县',\n      value: '630224'\n    },\n    {\n      city: '海东市',\n      text: '循化撒拉族自治县',\n      value: '630225'\n    }\n  ],\n  '632200': [\n    {\n      city: '海北藏族自治州',\n      text: '门源回族自治县',\n      value: '632221'\n    },\n    {\n      city: '海北藏族自治州',\n      text: '祁连县',\n      value: '632222'\n    },\n    {\n      city: '海北藏族自治州',\n      text: '海晏县',\n      value: '632223'\n    },\n    {\n      city: '海北藏族自治州',\n      text: '刚察县',\n      value: '632224'\n    }\n  ],\n  '632300': [\n    {\n      city: '黄南藏族自治州',\n      text: '同仁县',\n      value: '632321'\n    },\n    {\n      city: '黄南藏族自治州',\n      text: '尖扎县',\n      value: '632322'\n    },\n    {\n      city: '黄南藏族自治州',\n      text: '泽库县',\n      value: '632323'\n    },\n    {\n      city: '黄南藏族自治州',\n      text: '河南蒙古族自治县',\n      value: '632324'\n    }\n  ],\n  '632500': [\n    {\n      city: '海南藏族自治州',\n      text: '共和县',\n      value: '632521'\n    },\n    {\n      city: '海南藏族自治州',\n      text: '同德县',\n      value: '632522'\n    },\n    {\n      city: '海南藏族自治州',\n      text: '贵德县',\n      value: '632523'\n    },\n    {\n      city: '海南藏族自治州',\n      text: '兴海县',\n      value: '632524'\n    },\n    {\n      city: '海南藏族自治州',\n      text: '贵南县',\n      value: '632525'\n    }\n  ],\n  '632600': [\n    {\n      city: '果洛藏族自治州',\n      text: '玛沁县',\n      value: '632621'\n    },\n    {\n      city: '果洛藏族自治州',\n      text: '班玛县',\n      value: '632622'\n    },\n    {\n      city: '果洛藏族自治州',\n      text: '甘德县',\n      value: '632623'\n    },\n    {\n      city: '果洛藏族自治州',\n      text: '达日县',\n      value: '632624'\n    },\n    {\n      city: '果洛藏族自治州',\n      text: '久治县',\n      value: '632625'\n    },\n    {\n      city: '果洛藏族自治州',\n      text: '玛多县',\n      value: '632626'\n    }\n  ],\n  '632700': [\n    {\n      city: '玉树藏族自治州',\n      text: '玉树市',\n      value: '632701'\n    },\n    {\n      city: '玉树藏族自治州',\n      text: '杂多县',\n      value: '632722'\n    },\n    {\n      city: '玉树藏族自治州',\n      text: '称多县',\n      value: '632723'\n    },\n    {\n      city: '玉树藏族自治州',\n      text: '治多县',\n      value: '632724'\n    },\n    {\n      city: '玉树藏族自治州',\n      text: '囊谦县',\n      value: '632725'\n    },\n    {\n      city: '玉树藏族自治州',\n      text: '曲麻莱县',\n      value: '632726'\n    }\n  ],\n  '632800': [\n    {\n      city: '海西蒙古族藏族自治州',\n      text: '格尔木市',\n      value: '632801'\n    },\n    {\n      city: '海西蒙古族藏族自治州',\n      text: '德令哈市',\n      value: '632802'\n    },\n    {\n      city: '海西蒙古族藏族自治州',\n      text: '乌兰县',\n      value: '632821'\n    },\n    {\n      city: '海西蒙古族藏族自治州',\n      text: '都兰县',\n      value: '632822'\n    },\n    {\n      city: '海西蒙古族藏族自治州',\n      text: '天峻县',\n      value: '632823'\n    }\n  ],\n  '640100': [\n    {\n      city: '银川市',\n      text: '市辖区',\n      value: '640101'\n    },\n    {\n      city: '银川市',\n      text: '兴庆区',\n      value: '640104'\n    },\n    {\n      city: '银川市',\n      text: '西夏区',\n      value: '640105'\n    },\n    {\n      city: '银川市',\n      text: '金凤区',\n      value: '640106'\n    },\n    {\n      city: '银川市',\n      text: '永宁县',\n      value: '640121'\n    },\n    {\n      city: '银川市',\n      text: '贺兰县',\n      value: '640122'\n    },\n    {\n      city: '银川市',\n      text: '灵武市',\n      value: '640181'\n    }\n  ],\n  '640200': [\n    {\n      city: '石嘴山市',\n      text: '市辖区',\n      value: '640201'\n    },\n    {\n      city: '石嘴山市',\n      text: '大武口区',\n      value: '640202'\n    },\n    {\n      city: '石嘴山市',\n      text: '惠农区',\n      value: '640205'\n    },\n    {\n      city: '石嘴山市',\n      text: '平罗县',\n      value: '640221'\n    }\n  ],\n  '640300': [\n    {\n      city: '吴忠市',\n      text: '市辖区',\n      value: '640301'\n    },\n    {\n      city: '吴忠市',\n      text: '利通区',\n      value: '640302'\n    },\n    {\n      city: '吴忠市',\n      text: '红寺堡区',\n      value: '640303'\n    },\n    {\n      city: '吴忠市',\n      text: '盐池县',\n      value: '640323'\n    },\n    {\n      city: '吴忠市',\n      text: '同心县',\n      value: '640324'\n    },\n    {\n      city: '吴忠市',\n      text: '青铜峡市',\n      value: '640381'\n    }\n  ],\n  '640400': [\n    {\n      city: '固原市',\n      text: '市辖区',\n      value: '640401'\n    },\n    {\n      city: '固原市',\n      text: '原州区',\n      value: '640402'\n    },\n    {\n      city: '固原市',\n      text: '西吉县',\n      value: '640422'\n    },\n    {\n      city: '固原市',\n      text: '隆德县',\n      value: '640423'\n    },\n    {\n      city: '固原市',\n      text: '泾源县',\n      value: '640424'\n    },\n    {\n      city: '固原市',\n      text: '彭阳县',\n      value: '640425'\n    }\n  ],\n  '640500': [\n    {\n      city: '中卫市',\n      text: '市辖区',\n      value: '640501'\n    },\n    {\n      city: '中卫市',\n      text: '沙坡头区',\n      value: '640502'\n    },\n    {\n      city: '中卫市',\n      text: '中宁县',\n      value: '640521'\n    },\n    {\n      city: '中卫市',\n      text: '海原县',\n      value: '640522'\n    }\n  ],\n  '650100': [\n    {\n      city: '乌鲁木齐市',\n      text: '市辖区',\n      value: '650101'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '天山区',\n      value: '650102'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '沙依巴克区',\n      value: '650103'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '新市区',\n      value: '650104'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '水磨沟区',\n      value: '650105'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '头屯河区',\n      value: '650106'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '达坂城区',\n      value: '650107'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '米东区',\n      value: '650109'\n    },\n    {\n      city: '乌鲁木齐市',\n      text: '乌鲁木齐县',\n      value: '650121'\n    }\n  ],\n  '650200': [\n    {\n      city: '克拉玛依市',\n      text: '市辖区',\n      value: '650201'\n    },\n    {\n      city: '克拉玛依市',\n      text: '独山子区',\n      value: '650202'\n    },\n    {\n      city: '克拉玛依市',\n      text: '克拉玛依区',\n      value: '650203'\n    },\n    {\n      city: '克拉玛依市',\n      text: '白碱滩区',\n      value: '650204'\n    },\n    {\n      city: '克拉玛依市',\n      text: '乌尔禾区',\n      value: '650205'\n    }\n  ],\n  '650400': [\n    {\n      city: '吐鲁番市',\n      text: '高昌区',\n      value: '650402'\n    },\n    {\n      city: '吐鲁番市',\n      text: '鄯善县',\n      value: '650421'\n    },\n    {\n      city: '吐鲁番市',\n      text: '托克逊县',\n      value: '650422'\n    }\n  ],\n  '650500': [\n    {\n      city: '哈密市',\n      text: '伊州区',\n      value: '650502'\n    },\n    {\n      city: '哈密市',\n      text: '巴里坤哈萨克自治县',\n      value: '650521'\n    },\n    {\n      city: '哈密市',\n      text: '伊吾县',\n      value: '650522'\n    }\n  ],\n  '652300': [\n    {\n      city: '昌吉回族自治州',\n      text: '昌吉市',\n      value: '652301'\n    },\n    {\n      city: '昌吉回族自治州',\n      text: '阜康市',\n      value: '652302'\n    },\n    {\n      city: '昌吉回族自治州',\n      text: '呼图壁县',\n      value: '652323'\n    },\n    {\n      city: '昌吉回族自治州',\n      text: '玛纳斯县',\n      value: '652324'\n    },\n    {\n      city: '昌吉回族自治州',\n      text: '奇台县',\n      value: '652325'\n    },\n    {\n      city: '昌吉回族自治州',\n      text: '吉木萨尔县',\n      value: '652327'\n    },\n    {\n      city: '昌吉回族自治州',\n      text: '木垒哈萨克自治县',\n      value: '652328'\n    }\n  ],\n  '652700': [\n    {\n      city: '博尔塔拉蒙古自治州',\n      text: '博乐市',\n      value: '652701'\n    },\n    {\n      city: '博尔塔拉蒙古自治州',\n      text: '阿拉山口市',\n      value: '652702'\n    },\n    {\n      city: '博尔塔拉蒙古自治州',\n      text: '精河县',\n      value: '652722'\n    },\n    {\n      city: '博尔塔拉蒙古自治州',\n      text: '温泉县',\n      value: '652723'\n    }\n  ],\n  '652800': [\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '库尔勒市',\n      value: '652801'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '轮台县',\n      value: '652822'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '尉犁县',\n      value: '652823'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '若羌县',\n      value: '652824'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '且末县',\n      value: '652825'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '焉耆回族自治县',\n      value: '652826'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '和静县',\n      value: '652827'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '和硕县',\n      value: '652828'\n    },\n    {\n      city: '巴音郭楞蒙古自治州',\n      text: '博湖县',\n      value: '652829'\n    }\n  ],\n  '652900': [\n    {\n      city: '阿克苏地区',\n      text: '阿克苏市',\n      value: '652901'\n    },\n    {\n      city: '阿克苏地区',\n      text: '温宿县',\n      value: '652922'\n    },\n    {\n      city: '阿克苏地区',\n      text: '库车县',\n      value: '652923'\n    },\n    {\n      city: '阿克苏地区',\n      text: '沙雅县',\n      value: '652924'\n    },\n    {\n      city: '阿克苏地区',\n      text: '新和县',\n      value: '652925'\n    },\n    {\n      city: '阿克苏地区',\n      text: '拜城县',\n      value: '652926'\n    },\n    {\n      city: '阿克苏地区',\n      text: '乌什县',\n      value: '652927'\n    },\n    {\n      city: '阿克苏地区',\n      text: '阿瓦提县',\n      value: '652928'\n    },\n    {\n      city: '阿克苏地区',\n      text: '柯坪县',\n      value: '652929'\n    }\n  ],\n  '653000': [\n    {\n      city: '克孜勒苏柯尔克孜自治州',\n      text: '阿图什市',\n      value: '653001'\n    },\n    {\n      city: '克孜勒苏柯尔克孜自治州',\n      text: '阿克陶县',\n      value: '653022'\n    },\n    {\n      city: '克孜勒苏柯尔克孜自治州',\n      text: '阿合奇县',\n      value: '653023'\n    },\n    {\n      city: '克孜勒苏柯尔克孜自治州',\n      text: '乌恰县',\n      value: '653024'\n    }\n  ],\n  '653100': [\n    {\n      city: '喀什地区',\n      text: '喀什市',\n      value: '653101'\n    },\n    {\n      city: '喀什地区',\n      text: '疏附县',\n      value: '653121'\n    },\n    {\n      city: '喀什地区',\n      text: '疏勒县',\n      value: '653122'\n    },\n    {\n      city: '喀什地区',\n      text: '英吉沙县',\n      value: '653123'\n    },\n    {\n      city: '喀什地区',\n      text: '泽普县',\n      value: '653124'\n    },\n    {\n      city: '喀什地区',\n      text: '莎车县',\n      value: '653125'\n    },\n    {\n      city: '喀什地区',\n      text: '叶城县',\n      value: '653126'\n    },\n    {\n      city: '喀什地区',\n      text: '麦盖提县',\n      value: '653127'\n    },\n    {\n      city: '喀什地区',\n      text: '岳普湖县',\n      value: '653128'\n    },\n    {\n      city: '喀什地区',\n      text: '伽师县',\n      value: '653129'\n    },\n    {\n      city: '喀什地区',\n      text: '巴楚县',\n      value: '653130'\n    },\n    {\n      city: '喀什地区',\n      text: '塔什库尔干塔吉克自治县',\n      value: '653131'\n    }\n  ],\n  '653200': [\n    {\n      city: '和田地区',\n      text: '和田市',\n      value: '653201'\n    },\n    {\n      city: '和田地区',\n      text: '和田县',\n      value: '653221'\n    },\n    {\n      city: '和田地区',\n      text: '墨玉县',\n      value: '653222'\n    },\n    {\n      city: '和田地区',\n      text: '皮山县',\n      value: '653223'\n    },\n    {\n      city: '和田地区',\n      text: '洛浦县',\n      value: '653224'\n    },\n    {\n      city: '和田地区',\n      text: '策勒县',\n      value: '653225'\n    },\n    {\n      city: '和田地区',\n      text: '于田县',\n      value: '653226'\n    },\n    {\n      city: '和田地区',\n      text: '民丰县',\n      value: '653227'\n    }\n  ],\n  '654000': [\n    {\n      city: '伊犁哈萨克自治州',\n      text: '伊宁市',\n      value: '654002'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '奎屯市',\n      value: '654003'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '霍尔果斯市',\n      value: '654004'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '伊宁县',\n      value: '654021'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '察布查尔锡伯自治县',\n      value: '654022'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '霍城县',\n      value: '654023'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '巩留县',\n      value: '654024'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '新源县',\n      value: '654025'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '昭苏县',\n      value: '654026'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '特克斯县',\n      value: '654027'\n    },\n    {\n      city: '伊犁哈萨克自治州',\n      text: '尼勒克县',\n      value: '654028'\n    }\n  ],\n  '654200': [\n    {\n      city: '塔城地区',\n      text: '塔城市',\n      value: '654201'\n    },\n    {\n      city: '塔城地区',\n      text: '乌苏市',\n      value: '654202'\n    },\n    {\n      city: '塔城地区',\n      text: '额敏县',\n      value: '654221'\n    },\n    {\n      city: '塔城地区',\n      text: '沙湾县',\n      value: '654223'\n    },\n    {\n      city: '塔城地区',\n      text: '托里县',\n      value: '654224'\n    },\n    {\n      city: '塔城地区',\n      text: '裕民县',\n      value: '654225'\n    },\n    {\n      city: '塔城地区',\n      text: '和布克赛尔蒙古自治县',\n      value: '654226'\n    }\n  ],\n  '654300': [\n    {\n      city: '阿勒泰地区',\n      text: '阿勒泰市',\n      value: '654301'\n    },\n    {\n      city: '阿勒泰地区',\n      text: '布尔津县',\n      value: '654321'\n    },\n    {\n      city: '阿勒泰地区',\n      text: '富蕴县',\n      value: '654322'\n    },\n    {\n      city: '阿勒泰地区',\n      text: '福海县',\n      value: '654323'\n    },\n    {\n      city: '阿勒泰地区',\n      text: '哈巴河县',\n      value: '654324'\n    },\n    {\n      city: '阿勒泰地区',\n      text: '青河县',\n      value: '654325'\n    },\n    {\n      city: '阿勒泰地区',\n      text: '吉木乃县',\n      value: '654326'\n    }\n  ],\n  '659000': [\n    {\n      city: '自治区直辖县级行政区划',\n      text: '石河子市',\n      value: '659001'\n    },\n    {\n      city: '自治区直辖县级行政区划',\n      text: '阿拉尔市',\n      value: '659002'\n    },\n    {\n      city: '自治区直辖县级行政区划',\n      text: '图木舒克市',\n      value: '659003'\n    },\n    {\n      city: '自治区直辖县级行政区划',\n      text: '五家渠市',\n      value: '659004'\n    },\n    {\n      city: '自治区直辖县级行政区划',\n      text: '铁门关市',\n      value: '659006'\n    }\n  ]\n}\n"
  },
  {
    "path": "example/data/cascade.js",
    "content": "export const cascadeData = [\n  {\n    value: 'Fruit',\n    text: 'Fruit',\n    children: [\n      {\n        value: 'Apple',\n        text: 'Apple',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          }\n        ]\n      },\n      {\n        value: 'Orange',\n        text: 'Orange',\n        children: [\n          {\n            value: 3,\n            text: 'Three'\n          },\n          {\n            value: 4,\n            text: 'Four'\n          }\n        ]\n      },\n      {\n        value: 'Lemon',\n        text: 'Lemon',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          },\n          {\n            value: 4,\n            text: 'Four'\n          },\n          {\n            value: 5,\n            text: 'Five'\n          }\n        ]\n      }\n    ]\n  },\n  {\n    value: 'Drink',\n    text: 'Drink',\n    children: [\n      {\n        value: 'Coffee',\n        text: 'Coffee',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          }\n        ]\n      },\n      {\n        value: 'Tea',\n        text: 'Tea',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          },\n          {\n            value: 4,\n            text: 'Four'\n          }\n        ]\n      },\n      {\n        value: 'Juice',\n        text: 'Juice',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          }\n        ]\n      }\n    ]\n  },\n  {\n    value: 'Dessert',\n    text: 'Dessert',\n    children: [\n      {\n        value: 'Chocolate',\n        text: 'Chocolate',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          },\n          {\n            value: 4,\n            text: 'Four'\n          },\n          {\n            value: 5,\n            text: 'Five'\n          }\n        ]\n      },\n      {\n        value: 'cheese',\n        text: 'cheese',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          },\n          {\n            value: 4,\n            text: 'Four'\n          }\n        ]\n      },\n      {\n        value: 'cake',\n        text: 'cake',\n        children: [\n          {\n            value: 1,\n            text: 'One'\n          },\n          {\n            value: 2,\n            text: 'Two'\n          },\n          {\n            value: 3,\n            text: 'Three'\n          }\n        ]\n      }\n    ]\n  }\n]\n"
  },
  {
    "path": "example/data/ease.js",
    "content": "export const ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function (t) {\n      return 1 + (--t * t * t * t * t)\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function (t) {\n      return t * (2 - t)\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function (t) {\n      return 1 - (--t * t * t * t)\n    }\n  }\n}\n"
  },
  {
    "path": "example/data/goods-list.json",
    "content": "{\n  \"seller\": {\n    \"name\": \"粥品香坊（回龙观）\",\n    \"description\": \"蜂鸟专送\",\n    \"deliveryTime\": 38,\n    \"score\": 4.2,\n    \"serviceScore\": 4.1,\n    \"foodScore\": 4.3,\n    \"rankRate\": 69.2,\n    \"minPrice\": 20,\n    \"deliveryPrice\": 4,\n    \"ratingCount\": 24,\n    \"sellCount\": 90,\n    \"bulletin\": \"粥品香坊其烹饪粥料的秘方源于中国千年古法，在融和现代制作工艺，由世界烹饪大师屈浩先生领衔研发。坚守纯天然、0添加的良心品质深得消费者青睐，发展至今成为粥类的引领品牌。是2008年奥运会和2013年园博会指定餐饮服务商。\",\n    \"supports\": [\n      {\n        \"type\": 0,\n        \"description\": \"在线支付满28减5\"\n      },\n      {\n        \"type\": 1,\n        \"description\": \"VC无限橙果汁全场8折\"\n      },\n      {\n        \"type\": 2,\n        \"description\": \"单人精彩套餐\"\n      },\n      {\n        \"type\": 3,\n        \"description\": \"该商家支持发票,请下单写好发票抬头\"\n      },\n      {\n        \"type\": 4,\n        \"description\": \"已加入“外卖保”计划,食品安全保障\"\n      }\n    ],\n    \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg\",\n    \"pics\": [\n      \"http://fuss10.elemecdn.com/8/71/c5cf5715740998d5040dda6e66abfjpeg.jpeg?imageView2/1/w/180/h/180\",\n      \"http://fuss10.elemecdn.com/b/6c/75bd250e5ba69868f3b1178afbda3jpeg.jpeg?imageView2/1/w/180/h/180\",\n      \"http://fuss10.elemecdn.com/f/96/3d608c5811bc2d902fc9ab9a5baa7jpeg.jpeg?imageView2/1/w/180/h/180\",\n      \"http://fuss10.elemecdn.com/6/ad/779f8620ff49f701cd4c58f6448b6jpeg.jpeg?imageView2/1/w/180/h/180\"\n    ],\n    \"infos\": [\n      \"该商家支持发票,请下单写好发票抬头\",\n      \"品类:其他菜系,包子粥店\",\n      \"北京市昌平区回龙观西大街龙观置业大厦底商B座102单元1340\",\n      \"营业时间:10:00-20:30\"\n    ]\n  },\n  \"goods\": [\n    {\n      \"name\": \"热销榜\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"皮蛋瘦肉粥\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"咸粥\",\n          \"sellCount\": 229,\n          \"rating\": 100,\n          \"info\": \"一碗皮蛋瘦肉粥，总是我到粥店时的不二之选。香浓软滑，饱腹暖心，皮蛋的Q弹与瘦肉的滑嫩伴着粥香溢于满口，让人喝这样的一碗粥也觉得心满意足\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"很喜欢的粥\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 1,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"扁豆焖面\",\n          \"price\": 14,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 188,\n          \"rating\": 96,\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 1,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"info\": \"\",\n          \"icon\": \"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"葱花饼\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 124,\n          \"rating\": 85,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 1,\n              \"text\": \"没啥味道\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 1,\n              \"text\": \"很一般啊\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"牛肉馅饼\",\n          \"price\": 14,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 114,\n          \"rating\": 91,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 1,\n              \"text\": \"难吃不推荐\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"招牌猪肉白菜锅贴/10个\",\n          \"price\": 17,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 101,\n          \"rating\": 78,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 1,\n              \"text\": \"不脆,不好吃\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"南瓜粥\",\n          \"price\": 9,\n          \"oldPrice\": \"\",\n          \"description\": \"甜粥\",\n          \"sellCount\": 91,\n          \"rating\": 100,\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"红豆薏米美肤粥\",\n          \"price\": 12,\n          \"oldPrice\": \"\",\n          \"description\": \"甜粥\",\n          \"sellCount\": 86,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"八宝酱菜\",\n          \"price\": 4,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 84,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"红枣山药糙米粥\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 81,\n          \"rating\": 91,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"糊塌子\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 80,\n          \"rating\": 93,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"单人精彩套餐\",\n      \"type\": 2,\n      \"foods\": [\n        {\n          \"name\": \"红枣山药粥套餐\",\n          \"price\": 29,\n          \"oldPrice\": 36,\n          \"description\": \"红枣山药糙米粥,素材包,爽口莴笋丝,四川泡菜或八宝酱菜,配菜可备注\",\n          \"sellCount\": 17,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/6/72/cb844f0bb60c502c6d5c05e0bddf5jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/6/72/cb844f0bb60c502c6d5c05e0bddf5jpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"冰爽饮品限时特惠\",\n      \"type\": 1,\n      \"foods\": [\n        {\n          \"name\": \"VC无限橙果汁\",\n          \"price\": 8,\n          \"oldPrice\": 10,\n          \"description\": \"\",\n          \"sellCount\": 15,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"还可以\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"精选热菜\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"娃娃菜炖豆腐\",\n          \"price\": 17,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 43,\n          \"rating\": 92,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"菜量还可以,味道还可以\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"手撕包菜\",\n          \"price\": 16,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 29,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"香酥黄金鱼/3条\",\n          \"price\": 11,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 15,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"爽口凉菜\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"八宝酱菜\",\n          \"price\": 4,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 84,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"拍黄瓜\",\n          \"price\": 9,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 28,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"精选套餐\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"红豆薏米粥套餐\",\n          \"price\": 37,\n          \"oldPrice\": \"\",\n          \"description\": \"红豆薏米粥,三鲜干蒸烧卖,拍黄瓜\",\n          \"sellCount\": 3,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/f/49/27f26ed00c025b2200a9ccbb7e67ejpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/f/49/27f26ed00c025b2200a9ccbb7e67ejpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"皮蛋瘦肉粥套餐\",\n          \"price\": 31,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 12,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/8/96/f444a8087f0e940ef264617f9d98ajpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/8/96/f444a8087f0e940ef264617f9d98ajpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"果拼果汁\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"蜜瓜圣女萝莉杯\",\n          \"price\": 6,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 1,\n          \"rating\": \"\",\n          \"info\": \"\",\n          \"ratings\": [],\n          \"icon\": \"http://fuss10.elemecdn.com/b/5f/b3b04c259d5ec9fa52e1856ee50dajpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/b/5f/b3b04c259d5ec9fa52e1856ee50dajpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"加多宝\",\n          \"price\": 6,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 7,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/b/9f/5e6c99c593cf65229225c5661bcdejpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/b/9f/5e6c99c593cf65229225c5661bcdejpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"VC无限橙果汁\",\n          \"price\": 8,\n          \"oldPrice\": 10,\n          \"description\": \"\",\n          \"sellCount\": 15,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"还可以\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"小吃主食\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"扁豆焖面\",\n          \"price\": 14,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 188,\n          \"rating\": 96,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 1,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"葱花饼\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 124,\n          \"rating\": 85,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 1,\n              \"text\": \"没啥味道\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 1,\n              \"text\": \"很一般啊\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"牛肉馅饼\",\n          \"price\": 14,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 114,\n          \"rating\": 91,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 1,\n              \"text\": \"难吃不推荐\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"招牌猪肉白菜锅贴/10个\",\n          \"price\": 17,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 101,\n          \"rating\": 78,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 1,\n              \"text\": \"不脆,不好吃\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"糊塌子\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 80,\n          \"rating\": 93,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    },\n    {\n      \"name\": \"特色粥品\",\n      \"type\": -1,\n      \"foods\": [\n        {\n          \"name\": \"皮蛋瘦肉粥\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"咸粥\",\n          \"sellCount\": 229,\n          \"rating\": 100,\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"很喜欢的粥\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 1,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"南瓜粥\",\n          \"price\": 9,\n          \"oldPrice\": \"\",\n          \"description\": \"甜粥\",\n          \"sellCount\": 91,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"红豆薏米美肤粥\",\n          \"price\": 12,\n          \"oldPrice\": \"\",\n          \"description\": \"甜粥\",\n          \"sellCount\": 86,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"红枣山药糙米粥\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"\",\n          \"sellCount\": 81,\n          \"rating\": 91,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"鲜蔬菌菇粥\",\n          \"price\": 11,\n          \"oldPrice\": \"\",\n          \"description\": \"咸粥\",\n          \"sellCount\": 56,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/750/h/750\"\n        },\n        {\n          \"name\": \"田园蔬菜粥\",\n          \"price\": 10,\n          \"oldPrice\": \"\",\n          \"description\": \"咸粥\",\n          \"sellCount\": 33,\n          \"rating\": 100,\n          \"info\": \"\",\n          \"ratings\": [\n            {\n              \"username\": \"3******c\",\n              \"rateTime\": 1469281964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"2******3\",\n              \"rateTime\": 1469271264000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            },\n            {\n              \"username\": \"3******b\",\n              \"rateTime\": 1469261964000,\n              \"rateType\": 0,\n              \"text\": \"\",\n              \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\"\n            }\n          ],\n          \"icon\": \"http://fuss10.elemecdn.com/a/94/7371083792c19df00e546b29e344cjpeg.jpeg?imageView2/1/w/114/h/114\",\n          \"image\": \"http://fuss10.elemecdn.com/a/94/7371083792c19df00e546b29e344cjpeg.jpeg?imageView2/1/w/750/h/750\"\n        }\n      ]\n    }\n  ],\n  \"ratings\": [\n    {\n      \"username\": \"3******c\",\n      \"rateTime\": 1469281964000,\n      \"deliveryTime\": 30,\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"不错,粥很好喝,我经常吃这一家,非常赞,以后也会常来吃,强烈推荐.\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": [\n        \"南瓜粥\",\n        \"皮蛋瘦肉粥\",\n        \"扁豆焖面\",\n        \"娃娃菜炖豆腐\",\n        \"牛肉馅饼\"\n      ]\n    },\n    {\n      \"username\": \"2******3\",\n      \"rateTime\": 1469271264000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"deliveryTime\": \"\",\n      \"text\": \"服务态度不错\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": [\n        \"扁豆焖面\"\n      ]\n    },\n    {\n      \"username\": \"3******b\",\n      \"rateTime\": 1469261964000,\n      \"score\": 3,\n      \"rateType\": 1,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"1******c\",\n      \"rateTime\": 1469261864000,\n      \"deliveryTime\": 20,\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"良心店铺\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"2******d\",\n      \"rateTime\": 1469251264000,\n      \"deliveryTime\": 10,\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"9******0\",\n      \"rateTime\": 1469241964000,\n      \"deliveryTime\": 70,\n      \"score\": 1,\n      \"rateType\": 1,\n      \"text\": \"送货速度蜗牛一样\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"d******c\",\n      \"rateTime\": 1469231964000,\n      \"deliveryTime\": 30,\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"很喜欢的粥店\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"2******3\",\n      \"rateTime\": 1469221264000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"量给的还可以\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"3******8\",\n      \"rateTime\": 1469211964000,\n      \"deliveryTime\": \"\",\n      \"score\": 3,\n      \"rateType\": 1,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"a******a\",\n      \"rateTime\": 1469201964000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"孩子喜欢吃这家\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": [\n        \"南瓜粥\"\n      ]\n    },\n    {\n      \"username\": \"3******3\",\n      \"rateTime\": 1469191264000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"粥挺好吃的\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"t******b\",\n      \"rateTime\": 1469181964000,\n      \"deliveryTime\": \"\",\n      \"score\": 3,\n      \"rateType\": 1,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"f******c\",\n      \"rateTime\": 1469171964000,\n      \"deliveryTime\": 15,\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"送货速度很快\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"k******3\",\n      \"rateTime\": 1469161264000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"u******b\",\n      \"rateTime\": 1469151964000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"下雨天给快递小哥点个赞\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"s******c\",\n      \"rateTime\": 1469141964000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"好\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"z******3\",\n      \"rateTime\": 1469131264000,\n      \"deliveryTime\": \"\",\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"吃了还想再吃\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"n******b\",\n      \"rateTime\": 1469121964000,\n      \"deliveryTime\": \"\",\n      \"score\": 3,\n      \"rateType\": 1,\n      \"text\": \"发票开的不对\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"m******c\",\n      \"rateTime\": 1469111964000,\n      \"deliveryTime\": 30,\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"好吃\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"l******3\",\n      \"rateTime\": 1469101264000,\n      \"deliveryTime\": 40,\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"还不错吧\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"3******o\",\n      \"rateTime\": 1469091964000,\n      \"deliveryTime\": \"\",\n      \"score\": 2,\n      \"rateType\": 1,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"3******p\",\n      \"rateTime\": 1469081964000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"很喜欢的粥\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"o******k\",\n      \"rateTime\": 1469071264000,\n      \"deliveryTime\": \"\",\n      \"score\": 5,\n      \"rateType\": 0,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    },\n    {\n      \"username\": \"k******b\",\n      \"rateTime\": 1469061964000,\n      \"deliveryTime\": \"\",\n      \"score\": 4,\n      \"rateType\": 0,\n      \"text\": \"\",\n      \"avatar\": \"http://static.galileo.xiaojukeji.com/static/tms/default_header.png\",\n      \"recommend\": []\n    }\n  ]\n}\n"
  },
  {
    "path": "example/data/index-list.json",
    "content": "[\n  {\n    \"name\": \"★ Hot City\",\n    \"shortcut\": \"★\",\n    \"items\": [\n      {\n        \"name\": \"BEIJING\",\n        \"value\": 1\n      },\n      {\n        \"name\": \"SHANGHAI\",\n        \"value\": 2\n      }\n    ]\n  },\n  {\n    \"name\": \"A\",\n    \"items\": [\n      {\n        \"name\": \"ANSHAN\",\n        \"value\": 3\n      },\n      {\n        \"name\": \"ANQING\",\n        \"value\": 4\n      }\n    ]\n  },\n  {\n    \"name\": \"B\",\n    \"items\": [\n      {\n        \"name\": \"BEIJING\",\n        \"value\": 1\n      },\n      {\n        \"name\": \"BAYINGUOLENGZHOU\",\n        \"value\": 5\n      },\n      {\n        \"name\": \"BOERTALAZHOU\",\n        \"value\": 6\n      }\n    ]\n  },\n  {\n    \"name\": \"C\",\n    \"items\": [\n      {\n        \"name\": \"CHENGDU\",\n        \"value\": 7\n      }\n    ]\n  },\n  {\n    \"name\": \"E\",\n    \"items\": [\n      {\n        \"name\": \"EERDUOSI\",\n        \"value\": 8\n      },\n      {\n        \"name\": \"EZHOU\",\n        \"value\": 9\n      },\n      {\n        \"name\": \"ENSHIZHOU\",\n        \"value\": 10\n      }\n    ]\n  },\n  {\n    \"name\": \"F\",\n    \"items\": [\n      {\n        \"name\": \"FUZHOU\",\n        \"value\": 11\n      },\n      {\n        \"name\": \"FOSHAN\",\n        \"value\": 12\n      },\n      {\n        \"name\": \"FANGCHENGGANG\",\n        \"value\": 13\n      }\n    ]\n  },\n  {\n    \"name\": \"G\",\n    \"items\": [\n      {\n        \"name\": \"GUANGZHOU\",\n        \"value\": 14\n      },\n      {\n        \"name\": \"GUIYANG\",\n        \"value\": 15\n      }\n    ]\n  },\n  {\n    \"name\": \"H\",\n    \"items\": [\n      {\n        \"name\": \"HANGZHOU\",\n        \"value\": 16\n      },\n      {\n        \"name\": \"HETIANDIQU\",\n        \"value\": 17\n      }\n    ]\n  },\n  {\n    \"name\": \"Z\",\n    \"items\": [\n      {\n        \"name\": \"ZHENGZHOU\",\n        \"value\": 18\n      },\n      {\n        \"name\": \"ZHANGJIAKOU\",\n        \"value\": 19\n      },\n      {\n        \"name\": \"ZHANGJIAJIE\",\n        \"value\": 20\n      },\n      {\n        \"name\": \"ZHUHAI\",\n        \"value\": 21\n      },\n      {\n        \"name\": \"ZHONGSHAN\",\n        \"value\": 22\n      },\n      {\n        \"name\": \"ZIGONG\",\n        \"value\": 23\n      },\n      {\n        \"name\": \"ZIYANG\",\n        \"value\": 24\n      },\n      {\n        \"name\": \"ZHAOZHUANG\",\n        \"value\": 25\n      },\n      {\n        \"name\": \"ZHOUSHAN\",\n        \"value\": 26\n      },\n      {\n        \"name\": \"ZUNYI\",\n        \"value\": 27\n      },\n      {\n        \"name\": \"ZIBO\",\n        \"value\": 28\n      },\n      {\n        \"name\": \"ZHUZHOU\",\n        \"value\": 29\n      },\n      {\n        \"name\": \"ZHONGWEI\",\n        \"value\": 30\n      }\n    ]\n  }\n]\n"
  },
  {
    "path": "example/data/messages.js",
    "content": "/* eslint-disable */\nexport default {\n  messages: [\n    \"when you popState and actually being well, we expect it further\",\n    \"But I'm going to take care of ripping out my code in the fact that just something like that\",\n    \"And what we'll createdCallbacks than that you can still read what each one of this should go out\",\n    \"So just return Promise back and do this, the route equals\",\n    \"ah, let's do a clearRoutes it says I'm not going to do\",\n    \"At least trying new Promise\",\n    \"then, and then it's going to check what that\",\n    \"And we zoom in, then you can kind of set, except for a router\",\n    \"Now strictly today\",\n    \"I'm going to just takes an iterable as well be to add a visible\",\n    \"Anyway, so that we'll do a link\",\n    \"So what I'm going to minify this, so I'll just console\",\n    \"log data for now, just sometimes look at that\",\n    \"not then if we wanted to do position from the registerElements primed and red\",\n    \"That isn't get called\",\n    \"At all\",\n    \"No\",\n    \"Interesting that misc here\",\n    \"So what was a regular expression\",\n    \"Because once you get over doing a fancy techniques\",\n    \"And let's see\",\n    \"OK, we broke thing to do\",\n    \"Right\",\n    \"document\",\n    \"&quot; So\",\n    \"Yeah\",\n    \"which is fine\",\n    \"And that we'll do sc\",\n    \"view\",\n    \"So what you draw the line where is it\",\n    \"Where is being run\",\n    \"I think, a million times look at it and styles an iteration, ES2015 update the content for is this\",\n    \"routes equals Array\",\n    \"from\",\n    \"Hm, that might be a trade\",\n    \"off, because we're just do an animation\",\n    \"in the attached\",\n    \"Look at this push\",\n    \"pull kind of useful to have layout root here is it\",\n    \"That by default, what we going to grab the\",\n    \"Yes\",\n    \"In router, I think, would let's say, for example\",\n    \"So let's make it can be just this the hour mark on the actual contents\",\n    \"We just loads though it was the way, a nice this\",\n    \"Are you would be a little bit more pretty raw, this is a day, dude\",\n    \"Border\",\n    \"radius, that\",\n    \"And I'm going to just do that will take something else\",\n    \"And thank you might now\",\n    \"That is the next time, I'm going to come into misc\",\n    \"And somebody actually not\",\n    \"source equals home\",\n    \"But if I was sending me to resolve where we go\",\n    \"All right\",\n    \"And it makes JavaScript\",\n    \"And I have run again\",\n    \"Normally a massive, as I said, this is always, I'm going to call the different [INAUDIBLE] Hm\",\n    \"Wow\",\n    \"We have happen on screen, and the otherwise, don't want\",\n    \"Yeah, and forth in the new path\",\n    \"So we don't you use that might very wrong\",\n    \"But in a customary bug\",\n    \"Don't forget to hidden or display to none, things like a race when you are actually really long time I want to tell that is where you go\",\n    \"And that work\",\n    \"Yeah, and I'm going to do today\",\n    \"I had misc are all the create one of the performance stuff\",\n    \"But if you had lots of tea\",\n    \"Yeah\",\n    \"Now we're going to come in\",\n    \"But did working as intended it\",\n    \"So we can be able to be watching it straightforward slash\",\n    \"And that, I think that will be all the like since we are valid concept for this, the root of this called HTML5 routing, which I don't know\",\n    \"I just feels OK, but hopefully, and opacity 0, and it's just put a z\",\n    \"index of 1 on that's going to be sort of handling of attachedCallback, and we want to transform scale very well be true for them is amazing, like across from the new one that\",\n    \"You know\",\n    \"Yeah, we could see now, all being we won't do this thing today\",\n    \"And so this is a current view\",\n    \"We have a question ties in\",\n    \"Why not\",\n    \"source equals router, why not\",\n    \"And I think that we'd probably, if we've already to allow it to be the thing\",\n    \"Oh, all right, so we get it, because I have to juggle it all\",\n    \"No\",\n    \"I feel I agree\",\n    \"It would actually get it, because otherwise, we still have this\",\n    \"routes\",\n    \"keys\",\n    \"So this is a layout boundary\",\n    \"It's the cause\",\n    \"Yeah, 3 pixels\",\n    \"OK\",\n    \"So since that's true\",\n    \"And this stuff\",\n    \"And that work\",\n    \"Good point, or strict, and then the URL, changed\",\n    \"But I'm going to, let's see, what we're any\",\n    \"So the new view, think about\",\n    \"And then we've defer, why not\",\n    \"Let's fail\",\n    \"So this newView, newView is never watching is I was that\",\n    \"so that it's a compass\",\n    \"Oh\",\n    \"North, east, south, we called, all be no ES\",\n    \"anything\",\n    \"What I'm curious about your question here\",\n    \"And I'm going to say\",\n    \"so let's see\",\n    \"So let's see\",\n    \"So we'll say from this animations that we want to do this so that this point\",\n    \"So we want us to cover next week\",\n    \"We can actually\",\n    \"But that they've all been set it\",\n    \"Yeah\",\n    \"And at the top and misc here\",\n    \"But it will be run into a bit different sections\",\n    \"And I think you'd want each of there's no DOM tree reason\",\n    \"Well, yeah\",\n    \"OK, so we have a couple of click for clicks\",\n    \"And so if we see about this\",\n    \"So what I think things that I really good start\",\n    \"script tags at home, kids\",\n    \"Don't do this file to actually\",\n    \"Woo\",\n    \"I made, sir\",\n    \"So again, particular line of the\",\n    \"let's call it sc for Supercharged\",\n    \"There's no\",\n    \"It's a compass\",\n    \"Oh\",\n    \"right\",\n    \"newView, newView is the simplicity at this one anything below 2015, right\",\n    \"It broke\",\n    \"OK, let's see\",\n    \"So we're going to removeEventListener\",\n    \"You are the nicest\",\n    \"something that you know, we'll create that doesn't necessarily end up with something new to these pages\",\n    \"In router\",\n    \"And certainly, as I said, you could usually just delete the constructor but createdCallback\",\n    \"Oh, well, let link of the\",\n    \"Yes\",\n    \"If we had to do is I want us to come up writing apps, it can actually, this push\",\n    \"pull kind of data, which version of something\",\n    \"So what they can be about view or something that have a thing to do a trade\",\n    \"off because you've got memory constraints and all these function\",\n    \"So let's see if\",\n    \"oh, do we wanted to do this\",\n    \"If you're attach, what we'd want to know\",\n    \"That is important think in so that goes to control of [\",\n    \"UI \",\n    \"] transitions, particular expression\",\n    \"Right, so the otherwise, it should also work on the layout, which might because we're actually remind yourselves that I can do it\",\n    \"Yeah\",\n    \"So that, in theory, place all the content as well when that have new ideas\",\n    \"So this should be a class list, we'll create one of these, what we'll do is I want to do\",\n    \"All right, bottom, left\",\n    \"Do you have definitely\",\n    \"So when the mindset off chaining [INAUDIBLE] out of the same index HTML elements\",\n    \"Views\",\n    \"Yeah\",\n    \"So I'm going to createRoutes, wee, clearRoutes equals static\",\n    \"Let's do this, status is generally work\",\n    \"So that's why I was building the nicest\",\n    \"I'll tell you what we want to come into the panels\",\n    \"On all of ES2015 updates on the path name\",\n    \"Because it's an iterate what they see\",\n    \"I'm going to do\",\n    \"We'll do that\",\n    \"And hopefully, you're here in slash about view but we're going to be whichever view was the new view is that\",\n    \"so that the event that isn't get called, all subscribing to do today\",\n    \"And then we're just delete the JavaScript language\",\n    \"Yeah, and we need to extends HTMLElement\",\n    \"And we app where we actually uncanny valid concept for the out animation\",\n    \"duration\",\n    \"count in one tends HTML, I think, would then we've defer, why not\",\n    \"Let's see what's good on here\",\n    \"So if you say layout, for example\",\n    \"Yes, so one of its scope\",\n    \"What we want to do, I supposed to find out\",\n    \"The defer mean to your Custom Elements JavaScript says we don't have\",\n    \"We don't want to say this, so one that you click back to then dot the even though it\",\n    \"So there a createdCallback, so we never being us\",\n    \"That doesn't it\",\n    \"Right\",\n    \"All right\",\n    \"That should\",\n    \"Oh no, Array\",\n    \"from\",\n    \"Hm, it shouldNotMakeMoreOutPromises\",\n    \"And then let's do that is purely for simplicity at this\",\n    \"I don't takes too longer and I will say this\",\n    \"routes\",\n    \"because it matches the current ones will now needs to be run against that going to say const view back\",\n    \"And then what the createRoute\",\n    \"That's what I think\",\n    \"So we have to transitions, particular if branch of this, you're giving us way too much better\",\n    \"So since the layout, OK\",\n    \"I think we'll create objects anymore\",\n    \"You let us know what I'm going to do is I'm going to do is let's just find out\",\n    \"createdCallbacks\",\n    \"So if view\",\n    \"I could do if we don't want to make a nav\",\n    \"So I'm going to do that\",\n    \"Super\",\n    \"route\",\n    \"So for this, right now, all the like shouldNotMakeMoreOutPromise\",\n    \"resolve\",\n    \"Same for the power of Promise, right\",\n    \"Because why not\",\n    \"Let's give it or not\",\n    \"The defer also means that the state by selecting the view\",\n    \"No\",\n    \"Interesting\",\n    \"So the brand\",\n    \"new thing\",\n    \"So let's see, so we do that\",\n    \"All being well, we end with an actually hoping I will be remove this\",\n    \"Are you this\",\n    \"So we want to do that, actually just kind of amazing\",\n    \"You know\",\n    \"Yeah\",\n    \"which is the current view was the new one that's a layout\",\n    \"I don't you ask the question ties in it is when it's like a progressive to deal with, with contain strict\",\n    \"now here\",\n    \"And I'm going to us\",\n    \"So onChanged\",\n    \"Yeah\",\n    \"Because of the this\",\n    \"is\",\n    \"the\",\n    \"active\",\n    \"view\",\n    \"And we are building the routes equals this\",\n    \"But when the view first time we create that isn't it\",\n    \"Right\",\n    \"Yeah, that is amazing\",\n    \"And I think, a more bugs\",\n    \"Yeah, I want it to updating to do that I have new view, and some Promise, we can actually can do here\",\n    \"This is Paul\",\n    \"Hi\",\n    \"This time I write bugs, don't like this is actual lifecycle called ES6\",\n    \"ES2016 was doing that's why I wanted to say\",\n    \"currentView will be fast because\",\n    \"You know what, in the back to the current view\",\n    \"And then we'll say return\",\n    \"One of the panels\",\n    \"OK\",\n    \"Come of that stuff out\",\n    \"Should that the evaluation from 100\",\n    \"no, should add that kind of got allowing that back out, right\",\n    \"newView, newView, what we're kind of got these views that you, very wrong\",\n    \"But if you about using there\",\n    \"Because the nav has disappear ago, it was the keyword for all the regular expression and execution of a router\",\n    \"Now you know, over that, in there\",\n    \"Let's do that there we already got ourselves some of the way to go\",\n    \"And it matches the new one for that\",\n    \"Yeah\",\n    \"And certain time gaps, think it's an animating to put a route for some reason\",\n    \"view\",\n    \"Figure out things simplicity at this point\",\n    \"So what we're being a little bit of a pickle over right now we've deep\",\n    \"linked that could want it to be that\",\n    \"So let's just feels very interactions back in so this\",\n    \"newView\",\n    \"Yeah\",\n    \"And apparent, what we'd want each one of all the debugger standard one\",\n    \"So this way, it should add the visible\",\n    \"And we're pretty raw, there will be find out notionally, the code, it's fine, it's fail\",\n    \"So the question\",\n    \"Yeah, so we could see now them to makes Jav\"\n  ]\n}\n\n\n"
  },
  {
    "path": "example/data/picker.js",
    "content": "const column1 = [\n  {\n    text: '剧毒',\n    value: '剧毒'\n  }, {\n    text: '蚂蚁',\n    value: '蚂蚁'\n  },\n  {\n    text: '幽鬼',\n    value: '幽鬼'\n  },\n  {\n    text: '主宰',\n    value: '主宰'\n  },\n  {\n    text: '卡尔',\n    value: '卡尔'\n  },\n  {\n    text: '宙斯',\n    value: '宙斯'\n  },\n  {\n    text: '巫医',\n    value: '巫医'\n  }, {\n    text: '巫妖',\n    value: '巫妖'\n  },\n  {\n    text: '神谕者',\n    value: '神谕者'\n  },\n  {\n    text: '撼地神牛',\n    value: '神谕者'\n  },\n  {\n    text: '蓝胖子',\n    value: '蓝胖子'\n  },\n  {\n    text: '水晶室女',\n    value: '水晶室女'\n  },\n  {\n    text: '莉娜',\n    value: '莉娜'\n  },\n  {\n    text: '斯拉克',\n    value: '斯拉克'\n  },\n  {\n    text: '斯拉达',\n    value: '斯拉达'\n  }\n]\n\nconst column2 = [\n  {\n    text: '输出',\n    value: '输出'\n  }, {\n    text: '控制',\n    value: '控制'\n  },\n  {\n    text: '核心',\n    value: '核心'\n  },\n  {\n    text: '爆发',\n    value: '爆发'\n  },\n  {\n    text: '辅助',\n    value: '辅助'\n  },\n  {\n    text: '打野',\n    value: '打野'\n  },\n  {\n    text: '逃生',\n    value: '逃生'\n  }, {\n    text: '先手',\n    value: '先手'\n  }\n]\n\nconst column3 = [\n  {\n    text: '梅肯',\n    value: '梅肯'\n  }, {\n    text: '秘法鞋',\n    value: '秘法鞋'\n  },\n  {\n    text: '假腿',\n    value: '假腿'\n  },\n  {\n    text: '飞鞋',\n    value: '飞鞋'\n  },\n  {\n    text: '辉耀',\n    value: '辉耀'\n  },\n  {\n    text: '金箍棒',\n    value: '金箍棒'\n  }\n]\n\nconst expressData = [\n  {\n    text: '顺丰',\n    value: '顺丰'\n  },\n  {\n    text: '中通',\n    value: '中通'\n  },\n  {\n    text: '圆通',\n    value: '圆通'\n  }\n]\n\nexport {\n  column1,\n  column2,\n  column3,\n  expressData\n}\n"
  },
  {
    "path": "example/data/singer.json",
    "content": "[\n  {\n    \"name\": \"热门\",\n    \"items\": [\n      {\n        \"value\": \"002J4UUk29y8BY\",\n        \"name\": \"薛之谦\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002J4UUk29y8BY.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0025NhlN2yWrP4\",\n        \"name\": \"周杰伦\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000025NhlN2yWrP4.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004AlfUb0cVkN1\",\n        \"name\": \"BIGBANG (빅뱅)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004AlfUb0cVkN1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003Nz2So3XXYek\",\n        \"name\": \"陈奕迅\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003Nz2So3XXYek.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001BLpXF2DyJe2\",\n        \"name\": \"林俊杰\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001BLpXF2DyJe2.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0020PeOh4ZaCw1\",\n        \"name\": \"Alan Walker (艾伦·沃克)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000020PeOh4ZaCw1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000aHmbL2aPXWH\",\n        \"name\": \"李荣浩\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000aHmbL2aPXWH.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000zmpju02bEBm\",\n        \"name\": \"TFBOYS\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000zmpju02bEBm.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001JuGrt372YIQ\",\n        \"name\": \"Maroon 5 (魔力红乐团)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001JuGrt372YIQ.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000CK5xN3yZDJt\",\n        \"name\": \"许嵩\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000CK5xN3yZDJt.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"A\",\n    \"items\": [\n      {\n        \"value\": \"0020PeOh4ZaCw1\",\n        \"name\": \"Alan Walker (艾伦·沃克)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000020PeOh4ZaCw1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003ArN8Z0WpjTz\",\n        \"name\": \"A-Lin\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003ArN8Z0WpjTz.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003CoxJh1zFPpx\",\n        \"name\": \"Adele (阿黛尔)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003CoxJh1zFPpx.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"B\",\n    \"items\": [\n      {\n        \"value\": \"004AlfUb0cVkN1\",\n        \"name\": \"BIGBANG (빅뱅)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004AlfUb0cVkN1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002pUZT93gF4Cu\",\n        \"name\": \"BEYOND\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002pUZT93gF4Cu.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003LaMHm42u7qS\",\n        \"name\": \"本兮\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003LaMHm42u7qS.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003DBAjk2MMfhR\",\n        \"name\": \"BLACKPINK\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003DBAjk2MMfhR.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"C\",\n    \"items\": [\n      {\n        \"value\": \"003Nz2So3XXYek\",\n        \"name\": \"陈奕迅\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003Nz2So3XXYek.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004DFS271osAwp\",\n        \"name\": \"陈小春\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004DFS271osAwp.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000jnR7q3pCzYG\",\n        \"name\": \"Charlie Puth (查理·普斯)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000jnR7q3pCzYG.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004EyqQS2hMS6V\",\n        \"name\": \"陈翔\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004EyqQS2hMS6V.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000hNnWC3kko2c\",\n        \"name\": \"蔡健雅\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000hNnWC3kko2c.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"E\",\n    \"items\": [\n      {\n        \"value\": \"000yDAjj2TE9j8\",\n        \"name\": \"Eminem (艾米纳姆)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000yDAjj2TE9j8.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"F\",\n    \"items\": [\n      {\n        \"value\": \"003CKb192ggBqi\",\n        \"name\": \"Fall Out Boy (打倒男孩)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003CKb192ggBqi.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003vyG9q2klWs4\",\n        \"name\": \"范玮琪\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003vyG9q2klWs4.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"G\",\n    \"items\": [\n      {\n        \"value\": \"001fNHEf1SFEFN\",\n        \"name\": \"G.E.M. 邓紫棋\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001fNHEf1SFEFN.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000t2qd13dLpae\",\n        \"name\": \"G-DRAGON (权志龙)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000t2qd13dLpae.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002OfR3n1vx75j\",\n        \"name\": \"葛林\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002OfR3n1vx75j.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0043Zxw10txf5O\",\n        \"name\": \"郭静\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000043Zxw10txf5O.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"H\",\n    \"items\": [\n      {\n        \"value\": \"002Vcz8F2hpBQj\",\n        \"name\": \"华晨宇\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002Vcz8F2hpBQj.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002mze3U0NYXOM\",\n        \"name\": \"胡夏\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002mze3U0NYXOM.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004QoDUs3jfOC6\",\n        \"name\": \"韩安旭\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004QoDUs3jfOC6.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"J\",\n    \"items\": [\n      {\n        \"value\": \"002DYpxl3hW3EP\",\n        \"name\": \"Justin Bieber (贾斯汀·比伯)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002DYpxl3hW3EP.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004YXxql1sSr2o\",\n        \"name\": \"金志文\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004YXxql1sSr2o.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0023ni2j3F9CpN\",\n        \"name\": \"Jam\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000023ni2j3F9CpN.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001m7JoC1IVL44\",\n        \"name\": \"金南玲\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001m7JoC1IVL44.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"K\",\n    \"items\": [\n      {\n        \"value\": \"002Sm9iK4RIsCr\",\n        \"name\": \"筷子兄弟\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002Sm9iK4RIsCr.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"L\",\n    \"items\": [\n      {\n        \"value\": \"001BLpXF2DyJe2\",\n        \"name\": \"林俊杰\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001BLpXF2DyJe2.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000aHmbL2aPXWH\",\n        \"name\": \"李荣浩\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000aHmbL2aPXWH.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001SqkF53OEhdO\",\n        \"name\": \"鹿晗\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001SqkF53OEhdO.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001f0VyZ1hmWZ1\",\n        \"name\": \"林宥嘉\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001f0VyZ1hmWZ1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002xpOdd4Dh6pu\",\n        \"name\": \"李易峰\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002xpOdd4Dh6pu.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002ZOuVm3Qn20Y\",\n        \"name\": \"李宇春\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002ZOuVm3Qn20Y.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002seUhN1Akj7J\",\n        \"name\": \"李圣杰\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002seUhN1Akj7J.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003bQEFA3KrvLI\",\n        \"name\": \"刘瑞琦\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003bQEFA3KrvLI.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003aQYLo2x8izP\",\n        \"name\": \"刘德华\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003aQYLo2x8izP.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003nS2v740Lxcw\",\n        \"name\": \"李克勤\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003nS2v740Lxcw.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"M\",\n    \"items\": [\n      {\n        \"value\": \"001JuGrt372YIQ\",\n        \"name\": \"Maroon 5 (魔力红乐团)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001JuGrt372YIQ.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0035kILA0ydw3j\",\n        \"name\": \"MC天佑\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000035kILA0ydw3j.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000WbpKa3WokLD\",\n        \"name\": \"MC魏小然\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000WbpKa3WokLD.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000cISVf2QqLc6\",\n        \"name\": \"莫文蔚\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000cISVf2QqLc6.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003wWQBU0fHBcj\",\n        \"name\": \"马旭东\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003wWQBU0fHBcj.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003rJfMG3PPqWd\",\n        \"name\": \"萌萌哒天团\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003rJfMG3PPqWd.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"N\",\n    \"items\": [\n      {\n        \"value\": \"003LCFXH0eodXv\",\n        \"name\": \"那英\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003LCFXH0eodXv.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003ZQQb64D5317\",\n        \"name\": \"南征北战\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003ZQQb64D5317.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0012bj8d36Xkw1\",\n        \"name\": \"牛奶咖啡\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000012bj8d36Xkw1.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"O\",\n    \"items\": [\n      {\n        \"value\": \"002a1DuK4evNsR\",\n        \"name\": \"Owl City (猫头鹰之城)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002a1DuK4evNsR.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001FXn5P0kkWfV\",\n        \"name\": \"One Direction (单向组合)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001FXn5P0kkWfV.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"P\",\n    \"items\": [\n      {\n        \"value\": \"000mLAT42CFWNa\",\n        \"name\": \"朴树\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000mLAT42CFWNa.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003vSrlp0ujV6o\",\n        \"name\": \"鹏泊\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003vSrlp0ujV6o.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"Q\",\n    \"items\": [\n      {\n        \"value\": \"0030RkE50nmpWC\",\n        \"name\": \"曲婉婷\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000030RkE50nmpWC.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0020IaUo4Vgsjk\",\n        \"name\": \"齐一\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000020IaUo4Vgsjk.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000H4xDG3heHtr\",\n        \"name\": \"齐晨\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000H4xDG3heHtr.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"R\",\n    \"items\": [\n      {\n        \"value\": \"000f1b6W1wzyRN\",\n        \"name\": \"RADWIMPS (ラッドウィンプス)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000f1b6W1wzyRN.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002MiBdR19HQWx\",\n        \"name\": \"Rihanna (蕾哈娜)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002MiBdR19HQWx.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"S\",\n    \"items\": [\n      {\n        \"value\": \"000Q4W691sMvLG\",\n        \"name\": \"苏打绿\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000Q4W691sMvLG.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001oXbjs29oPul\",\n        \"name\": \"孙子涵\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001oXbjs29oPul.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004KKLWZ4320g1\",\n        \"name\": \"宋冬野\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004KKLWZ4320g1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001pWERg3vFgg8\",\n        \"name\": \"孙燕姿\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001pWERg3vFgg8.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001t94rh4OpQn0\",\n        \"name\": \"双笙\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001t94rh4OpQn0.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"T\",\n    \"items\": [\n      {\n        \"value\": \"000zmpju02bEBm\",\n        \"name\": \"TFBOYS\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000zmpju02bEBm.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001ByAsv3XCdgm\",\n        \"name\": \"田馥甄\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001ByAsv3XCdgm.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004ABIFV1EZUAj\",\n        \"name\": \"The Chainsmokers (烟民二人组)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004ABIFV1EZUAj.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000ndQx82fsq8Z\",\n        \"name\": \"Tez Cadey\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000ndQx82fsq8Z.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001Yxpxc0OaUUX\",\n        \"name\": \"逃跑计划\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001Yxpxc0OaUUX.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000QG95i2rHlOf\",\n        \"name\": \"谭晶\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000QG95i2rHlOf.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"W\",\n    \"items\": [\n      {\n        \"value\": \"001JDzPT3JdvqK\",\n        \"name\": \"王力宏\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001JDzPT3JdvqK.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002yeznU3VAVEV\",\n        \"name\": \"吴亦凡\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002yeznU3VAVEV.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001z2JmX09LLgL\",\n        \"name\": \"汪苏泷\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001z2JmX09LLgL.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000GDDuQ3sGQiT\",\n        \"name\": \"王菲\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000GDDuQ3sGQiT.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000CQ06r24Naco\",\n        \"name\": \"Wiz Khalifa (维兹·卡利法)\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000CQ06r24Naco.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001adLDR1SS40P\",\n        \"name\": \"汪峰\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001adLDR1SS40P.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001WcO2V0TLCv3\",\n        \"name\": \"威仔\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001WcO2V0TLCv3.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"X\",\n    \"items\": [\n      {\n        \"value\": \"002J4UUk29y8BY\",\n        \"name\": \"薛之谦\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002J4UUk29y8BY.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000CK5xN3yZDJt\",\n        \"name\": \"许嵩\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000CK5xN3yZDJt.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004bsIDK0awMOv\",\n        \"name\": \"萧敬腾\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004bsIDK0awMOv.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"00235pCx2tYjlq\",\n        \"name\": \"许巍\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M00000235pCx2tYjlq.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004aRKga0CXIPm\",\n        \"name\": \"徐良\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004aRKga0CXIPm.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001oNMzI3WznzG\",\n        \"name\": \"夏婉安\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001oNMzI3WznzG.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002LZVMH0zc8F4\",\n        \"name\": \"徐佳莹\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002LZVMH0zc8F4.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"Y\",\n    \"items\": [\n      {\n        \"value\": \"003tMm0y0TuewY\",\n        \"name\": \"杨宗纬\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003tMm0y0TuewY.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004coWV04C5FCV\",\n        \"name\": \"杨洋\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004coWV04C5FCV.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004FtTNW2b0tJi\",\n        \"name\": \"雨宗林\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004FtTNW2b0tJi.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"001IoTZp19YMDG\",\n        \"name\": \"易烊千玺\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000001IoTZp19YMDG.jpg?max_age=2592000\"\n      }\n    ]\n  },\n  {\n    \"name\": \"Z\",\n    \"items\": [\n      {\n        \"value\": \"0025NhlN2yWrP4\",\n        \"name\": \"周杰伦\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000025NhlN2yWrP4.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002azErJ0UcDN6\",\n        \"name\": \"张杰\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002azErJ0UcDN6.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003Cn3Yh16q1MO\",\n        \"name\": \"庄心妍\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003Cn3Yh16q1MO.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0003ZpE43ypssl\",\n        \"name\": \"张碧晨\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000003ZpE43ypssl.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004Be55m1SJaLk\",\n        \"name\": \"张学友\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004Be55m1SJaLk.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000aw4WC2EQYTv\",\n        \"name\": \"张靓颖\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000aw4WC2EQYTv.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003JGrNQ3RjelA\",\n        \"name\": \"张惠妹\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003JGrNQ3RjelA.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004NMZuf2BLjg8\",\n        \"name\": \"周传雄\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004NMZuf2BLjg8.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0000mFvh1jtLcz\",\n        \"name\": \"张信哲\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000000mFvh1jtLcz.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0044wQXL0ElWF1\",\n        \"name\": \"张宇\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000044wQXL0ElWF1.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"004eaDNU1nfRO0\",\n        \"name\": \"张磊\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000004eaDNU1nfRO0.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"002raUWw3PXdkT\",\n        \"name\": \"张韶涵\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000002raUWw3PXdkT.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"0042kZuh1dgLre\",\n        \"name\": \"周二珂\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M0000042kZuh1dgLre.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"003AfDK34H82GU\",\n        \"name\": \"张敬轩\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000003AfDK34H82GU.jpg?max_age=2592000\"\n      },\n      {\n        \"value\": \"000SJp6n49rDgl\",\n        \"name\": \"张赫宣\",\n        \"avatar\": \"https://y.gtimg.cn/music/photo_new/T001R300x300M000000SJp6n49rDgl.jpg?max_age=2592000\"\n      }\n    ]\n  }\n]\n"
  },
  {
    "path": "example/data/swipe.js",
    "content": "export const defaultData = [{\n  item: {\n    text: '测试1',\n    value: 1\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试2',\n    value: 2\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试3',\n    value: 3\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 4\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 5\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 6\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 7\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 8\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 9\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 10\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 11\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 12\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 13\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 14\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 15\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 16\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 17\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 18\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 19\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 20\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 21\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 22\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 23\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}, {\n  item: {\n    text: '测试',\n    value: 24\n  },\n  btns: [\n    {\n      action: 'clear',\n      text: '不再关注',\n      color: '#c8c7cd'\n    },\n    {\n      action: 'delete',\n      text: '删除',\n      color: '#ff3a32'\n    }\n  ]\n}]\n\nexport const customData = [\n  {\n    item: {\n      id: '3646653877',\n      name: '还不是因为你长得不好看',\n      desc: '伤感：歌词再狠，也抵不过现实伤人',\n      imgurl: 'http://p.qpic.cn/music_cover/MhQ4bJBPt3Yt5icXyBGNhyPJnE9O51CqaN72iaDgvFmDKaia12UFhU5uQ/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '1789676645',\n      name: '秋水浮萍任飘渺',\n      desc: '『武侠配乐』快意恩仇江湖情',\n      imgurl: 'http://p.qpic.cn/music_cover/8KfvDey9cibtZ5xkWxRic6vhXgdPic3wnB7reibI4pdPQBCP8u57uqcjsQ/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '3649034125',\n      name: '念葳蕊',\n      desc: '江海迦：热恋后哼一首歌为自己悲悯的歌',\n      imgurl: 'http://p.qpic.cn/music_cover/jXFicBvicUcfIWSoCNT1OrbAoHG2fqqnrJVnGV4iaLCapWUpCKqbmAicJg/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '2977781451',\n      name: '风少',\n      desc: '午后甜点：静听浓情爵士，于悠然中尽享',\n      imgurl: 'http://p.qpic.cn/music_cover/llTQ9l2AeicK2OLIORnsUdtbhlNRGF89NBDI6SoBxEIzhAlrmV1SmGg/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '2691498608',\n      name: '虛榮少女',\n      desc: '感性强盗｜强势洗榜的那些韩国抒情音乐',\n      imgurl: 'http://p.qpic.cn/music_cover/icLTHicH8iakBFAJbiazGT3DnywHfOoiaVzdZWJ4pVcDdoVCqlU5hLx8K7A/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '3703029362',\n      name: '哔咯独角兽',\n      desc: '温情摇滚｜安抚夜色弥漫时落寞的心',\n      imgurl: 'http://p.qpic.cn/music_cover/0yiaX8d9LSmnROyId1RsUUwklzSKKp7RSanBAJ89We5I4kMwdnH5yeg/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '3606666961',\n      name: '毕业雨季',\n      desc: '小资情调：何为亏欠文艺青年心中的体面',\n      imgurl: 'http://p.qpic.cn/music_cover/SXTicaprnQbfAyiaibTsguPlPQK4ZBwicp09O22qKwnTJaO10kp2le37Ww/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '3604823742',\n      name: '冷门单曲酱',\n      desc: '放假挤火车回家：等车时的轻快曲',\n      imgurl: 'http://p.qpic.cn/music_cover/lricrZ3ca62ybvZbWYjtYa9d3Biab7MTiaJhX9owcjdkv5HMxDEunm7tg/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '1746389460',\n      name: '私に闻いて风i',\n      desc: '追忆续篇：少女漫中关于邂逅他的故事',\n      imgurl: 'http://p.qpic.cn/music_cover/qH8rLHHhL8O8Iibm56uPzJy4mNzibugoib19FAujo6GdTXAAvhicw7Js0Q/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '1746020155',\n      name: '同位',\n      desc: '优雅的音乐贵族 大提琴',\n      imgurl: 'http://p.qpic.cn/music_cover/e4us58fDgLVdxdbgmSUdTADM7Sl88AfGK3qQqibxmqpqRnmSGHaFaEQ/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '2949232733',\n      name: '香草拿铁',\n      desc: '超级碗中场秀嘉宾歌曲集',\n      imgurl: 'http://p.qpic.cn/music_cover/V34Wl85ZuJRskg3Ds3R8yyddp8gI2icb7wXicN8ZEzJZP0icnwHyzNzhQ/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '3691421503',\n      name: 'L岺',\n      desc: '寒假赖床指南:吸猫！吸猫！吸猫！',\n      imgurl: 'http://p.qpic.cn/music_cover/Ay2w92PeiaO57pZWMwecv6SEWibhUAoWKzkmWgbtcfCsibQYt8bZtq2PA/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  },\n  {\n    item: {\n      id: '2072789141',\n      name: 'D.Va',\n      desc: '中国风电音：敢问上天，是否有仙？',\n      imgurl: 'http://p.qpic.cn/music_cover/QlZibnBVmII60BjTttickJO9MTQDoTRFvboeks5LDkOJHNEjao8f9t6Q/600?n=1'\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }\n]\n"
  },
  {
    "path": "example/data/tab-bar.js",
    "content": "export const FOLLOWERS_DATA = [{\n  name: '嵇智',\n  avatar: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=',\n  postTime: 1,\n  question: '你可以左右滑动内容区域',\n  answers: 445,\n  followers: 1366\n}, {\n  name: '嵇智',\n  avatar: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=',\n  postTime: 2,\n  question: '你可以左右滑动内容区域',\n  answers: 67,\n  followers: 18\n}, {\n  name: '嵇智',\n  avatar: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=',\n  postTime: 3,\n  question: '你可以左右滑动内容区域',\n  answers: 110,\n  followers: 1827\n}, {\n  name: '嵇智',\n  avatar: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=',\n  postTime: 3,\n  question: '你可以左右滑动内容区域',\n  answers: 8,\n  followers: 200\n}, {\n  name: '嵇智',\n  avatar: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAyADIDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAgGBwMFCQIE/8QAMhAAAgIBAwMCBAYCAQUAAAAAAQIDBAUGERIAByEIEwkUIjEVFiMyQVFhcXIKQlKR0v/EABsBAAICAwEAAAAAAAAAAAAAAAYHAwUCBAgJ/8QAMxEAAQMCAwUGBQQDAAAAAAAAAQIDEQQhAAUxBhIiQVETNGFxgaEHQnKx0TM2c8GCkrP/2gAMAwEAAhEDEQA/AOib9v48PH3V0zHqzT96RKd+7jNOW8tJ78bB3aGH8NSpWjr12MvAyRiUyMwJlJbrnnqetkcTpbIY3HYuKnRpai5WYrNppXkje6eNeOUJ+osbJGG3A5Jwc+SenZ9OXc3DP6kcXFmtQ4pKmrdM0LVmpWkwdaSw8VZA5Za809qyxlqttzldVO6rJJx3Ky+rBML2r765TRvvwyRWswJpAlCNPelZpPfWYudgeBK+B+5h9nbpRfECkdpX6cq8Y9PToox01xLXjt8uLgXG4fD5kkEifQes4pzTuq4MdrG1Tp16mN+ZD2rtWOX3FhiiVCrseHI8XlKBV5fSygghCBOdejHQL+WsrN4S0ohf5jZFYJIImIYFSSOKEHYDn/Sgmge63cjSHbTv7a0dk9M6i0zncjjqtvFZG4oMVv3XlBG5OzIyhDuFKt9tyPBsjUWaGfyMeYytwMtmzVkniijMZXjFG5chj9X71+3nw39bhd5/srnOWU9PXVdOttp5JLalJISuLK3TpwmxEyLSLiVpVVJplOtrUCRFjyBk6WieUDW4NsZ8XpCjgdaHTctNIDakJqOZ+Xy3uMXAUljz2ICDfY+NvuPF96OxMOq0xwzUop2quTjFsK6qkI5NsCTsCo3ZvJA3G5/kdVBb7cZDXj6d1dRyMPGrY9udUycgmaRkY8DtvsVZBxBXj5H1fZurS9O2j9Kav1DVu6wwb2kpZFKcq5SQzqYBM+z8JS6seAUbbADz/fgLeYy911t558pINwlMmZ6lSRB87dOseTU9O0/Klx2hkJCTcWOthafvbTFZYXvFpfHYapj5M/WRoK0cbI4XdSqgbHd99/H89HWWq+arVo66VcABGgUC1X/VAA2+vx+7+/8APR1ZON5OHCIXr1T+MSOIow4RKtegxKI/UBpzStvQJxVXXtS3Li5YcNDlMHjIvdR7Mzxif5Gi68W9wlfZaNTGd+XLk3X0as7P90vUz3Mzut+5eeraSx0GesZLCW8rmjTnrwTKzPX24kujNK7cDsN/H2Hissx2ox2Cp6m7wdoe5KwwT6njo4fNagvi4sNawJHCi3DM5Ey+2yE2BCxYrzKcwOs1n4dPfDWHcbC6V7p+pXBUjl8ZLkK9nV9mERinIWiLpIrKkgDI+yndlKg+OQ39Ec02K+GOa5I26/XofeTukocWaYSU8QSSkkgAwYUSegIgxZzm22LdctpunLLEkBSR2pUJgbwTw31AIF4udcKfZqac9cfrJwi2u9Gaj0PoDDXqXcLUmogsEGEweLWPlbqCOWRSsh+leShvcsDw24CpL6g++Hd3UXcjO/ln1MauzGmWylw6ee/lJq8j49ZitZpoImEUUjRhCyJuFYH/AAeus/ro+FXF6aPh+5PFelzWeH7hZHu73pwmA1PqDAWxJ78ZimsR0UMZKRqbSRMw8K3uxDyQoHPX1z/Cj9Ynpm7izaKXtLZzUmIpRR5l9PzLc+WnkjEpgEcZL/QpA5KGUnfY9Du1OY5Mql3XHWxTJUEsp3+AuboLjjaVBKjvaSoaDkTGC6kSwinZW+CXVglalpAUASd1BOggXgdegw2fwpML66MZ2Rz792KzzYEacbUOhzqaeazkmljj5qyVwQ5rFJOY9xkJA3UMrgiT/Di9Yfqm7y+onU/p8tN+dKWLy1wVMziaUVWWJFsrG00Tp44su30kt9xtsRyHj4Mnqk+IEmGy3bXvxp2tPpLTtCulHI6501IMrWlG0cNUOxT3IRH7jcplcqI1USJuo6absb2k7Zen31AjUmgqljHZbW2o5JprcVpjE/NWleFdhtDX2DKFG3hlG5365k2hzbYnK83qmKqkQ9UOJkbiQQLCOKZQqOJRTe8mcXVfUbINNIDLaiv5ja5MiAQYSNOU+ZwuOb7sdx6+auV4NFV5US1IqSyc+TgMQCfq+56OrPyvaPTtzKWbkd+mqy2HdVN8jYFidtv46OhR1ukDih2fM8j+cALtNXB1UE6nDEagyj6a1B3J0jpCnhtPtVxr3cZlfw6cX8hVhtx8ZLEzyzT34WgeYCxBMrQbuGgRuI6inr0yq4jtb2N70DH27wv6fsads46nlI53sxxspcmwjFpUAaU+6m5PuAnfmQZbhcLmtQanw2XoSPTxGZ0mMdcyCH5SF7y0ZcfyDE8J7RkrF0lgDWUIMciPE0bLAvVxj/x34d3bvUWircV6bSfeY4mxYFQV+cd6rNK0ghT3UWJ5DBIF3ZSGXbjuEXoPbSkNVkS+W6QcMBL/AGLLih0PtofQ3w3vwm9L4TTvZbO9sCVt0KmrK2bp07Ck8Kl+uakKfUTuB8uWB/x/HS0fEdwOpcR6tspqS5Ot2rfo43Lmu6xgwRR4dYpOLMu/6kqkn/Q3O3jqffBq7yLqPudrfStnIQGSrpGpZix8NsSmOHHX5W5ePGzfO7DbcAqV38dbD4uscGktcYjLpDG34pp9akFQQIZJRVyEvhXYj7K8KlRuxUE/9pIVe0CH6zYNnfuUkTzsCUz74186ZFbRJWVEDhUbeF7efL2OFt7M6bsZq8w1HROKFkH5d6dZjK3BRxUkLsCoRl5EDcnYffzv62hD+dtPtT1Lnqy/mITVDXkB4SBSSSrI24+sg7lUDADwSN8GN13j8jSx8dbCZVqMkUZfKw49mgkJaT30MYHujYsn1lABv+7wxG90tqahnczRhwVom0t+CGHIAlIkJdVkflvsT+jI/wD4+VO/nfpMsM19GsVXZmCTBIBSRpAJBEjoZ8tAaMZfS0TKVI4zeD18B7x1trzWHUmqK0Wor8SxZBgt2UBkyDhTs58jjHtt/rx/XR1ptSYfVMOor8VbB5N41uyiN45ZirKHOxH+NujpzrzFkLIhH+qfxjNxynDhlCdemHD0RBDBqDtCIYVQDUNxQFUDYfN35Nv9e5DE/wDyiQ/dQRVvq+yOQw3w2O4EeIvTVVGuYmC1pTGARmWjB+nbyIwE/wCI2+3jo6Onfn/cn/XFsO5H6f6xXP8A0wWRyFv1vdxktX5pQO1GSQCSUtsvzdE8fP8AG5J2/s9dI/ikxRfmvQ1j219wRZVQ+3kA249xv/XR0dKPar9oveaf+iMWTvcKX6WvuMc5e6OZzFLuc+Kp5WzFVXH1wtaKdljACxbAKDt1MNf2LGD0dLqjCzvTyccKMmRqsY51PE+RIuzD/wB9HR0BbOfqOfxj7YpWO9/4J/vGxj7h6/Eaga5zAAA2Aycv/wBdHR0dMsaYMBpj/9k=',\n  postTime: 3,\n  question: '你可以左右滑动内容区域',\n  answers: 7,\n  followers: 29\n}]\n\nexport const RECOMMEND_DATA = [{\n  question: '你可以左右滑动内容区域。',\n  content: '你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域',\n  answers: 21,\n  followers: 2910\n}, {\n  question: '男生如何看待胖胖的女孩子？',\n  content: '你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。你可以左右滑动内容区域。然后出现如下对话: 他这么认真但是我真的严肃不起来，甚至有点想笑，莫名戳中萌点 (๑^o^๑) ———————————————————跑题啦，跑题啦，但是忍不住想说一下',\n  answers: 398,\n  followers: 10009\n}, {\n  question: '你最喜欢的句子是？',\n  content: '1.无论走到哪儿，都没有必要那么着急，这条路很长，你不用这么快走完，你也不用担心，害怕，不要被眼前暂时的幻想迷住了眼睛，只管放心下来，踏踏实实地大胆迈步走，心立得住，身体才不会倾倒。我告诉你我喜欢你，并不是一定要和你在一起，只是希望今后的你。',\n  answers: 88,\n  followers: 1726\n}, {\n  question: '如何看待《权力的游戏》中的「泰温·兰尼斯特」？',\n  content: '让楼上那些吹捧泰温的去维斯特洛种几天地，就知道泰温大人有多伟大了。“俺开了……以前俺开了……以前俺开了家酒馆，大人，在榭尔，就在石桥旁边。大家都说俺酿的麦酒是颈泽以南最好的，大人，请您见谅。可是大人，现在全都没了。他们进来喝饱以后又把剩下…',\n  answers: 62,\n  followers: 3940\n}]\n\nexport const HOT_DATA = [{\n  sequence: '01',\n  label: '置顶',\n  question: '了不起的新时代：世界竞争中的中国奇迹'\n}, {\n  sequence: '02',\n  label: '4017万热度',\n  question: '男性怎样不算「幼稚」？'\n}, {\n  sequence: '03',\n  label: '587万热度',\n  question: '有哪些视频让你突然感到恋爱了？'\n}, {\n  sequence: '04',\n  label: '530万热度',\n  question: '相亲见到前女友是一种怎样的体验？'\n}, {\n  sequence: '05',\n  label: '536万热度',\n  question: '哪个瞬间你觉得你的宠物爱上了你？'\n}, {\n  sequence: '06',\n  label: '380万热度',\n  question: '如果把四大名著的故事连成一串，会怎么样？'\n}, {\n  sequence: '07',\n  label: '317万热度',\n  question: '唱歌跑调的原因到底是什么？'\n}, {\n  sequence: '08',\n  label: '280万热度',\n  question: '高考之后，人生转弯'\n}]\n\nexport const ALL_HEROES = [\n  { name: '猩红收割者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/29473e97-8253-498c-a893-b3605596c142.jpg' },\n  { name: '无极剑圣', avatar: 'https://dpubstatic.udache.com/static/dpubimg/82866ed8-6285-4a56-b62a-455716a4a848.jpg' },\n  { name: '雪原双子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c69a3408-e28e-420f-b4e6-4ff911cbd809.jpg' },\n  { name: '牛头酋长', avatar: 'https://dpubstatic.udache.com/static/dpubimg/8a02642c-57eb-496f-b8c8-ffc638fe1277.jpg' },\n  { name: '祖安怒兽', avatar: 'https://dpubstatic.udache.com/static/dpubimg/52e450c7-c213-4864-bb31-1a2d25b16875.jpg' },\n  { name: '正义巨像', avatar: 'https://dpubstatic.udache.com/static/dpubimg/0007eb00-4d1f-47f2-aed2-51e005668429.jpg' },\n  { name: '卡牌大师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/64bd809e-b39e-4365-bbf9-31171f8145ea.jpg' },\n  { name: '狂战士', avatar: 'https://dpubstatic.udache.com/static/dpubimg/2cc4bae7-4ab6-49f0-a336-6a12e42f8e4a.jpg' },\n  { name: '麦林炮手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/e89109b5-bb2e-4922-ab62-0e2dff556a0c.jpg' },\n  { name: '众星之子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f55ca358-a6e7-40d7-a749-265a5e5c6ca6.jpg' },\n  { name: '亡灵战神', avatar: 'https://dpubstatic.udache.com/static/dpubimg/a252aa07-4c52-4b75-9be6-e7da029552d8.jpg' },\n  { name: '德邦总管', avatar: 'https://dpubstatic.udache.com/static/dpubimg/53da0bba-5485-4976-98db-28ef8257256a.jpg' },\n  { name: '战争女神', avatar: 'https://dpubstatic.udache.com/static/dpubimg/832df15a-bacb-4bc9-b21a-0c1f41203447.jpg' },\n  { name: '正义天使', avatar: 'https://dpubstatic.udache.com/static/dpubimg/49cef9ff-1200-4874-b9f6-70ef8f847cec.jpg' },\n  { name: '黑暗之女', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f9f35675-5f1f-4e67-96cb-f020bcd7eaac.jpg' },\n  { name: '远古恐惧', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9b32bdd0-f624-4087-b4a1-c3e825c2e907.jpg' },\n  { name: '诡术妖姬', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f1a015df-8b18-4a27-adf1-53cb91899b06.jpg' },\n  { name: '无畏战车', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f02bbc35-6496-4cd2-8614-b3e718f53978.jpg' },\n  { name: '符文法师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/70bb2156-d66a-411f-b9b7-a5346333887f.jpg' },\n  { name: '迅捷斥候', avatar: 'https://dpubstatic.udache.com/static/dpubimg/b99bcb11-132a-4b18-9595-674eda2ea137.jpg' }\n]\nexport const MAGE_HEROES = [\n  { name: '冰晶凤凰', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f8c9857a-f6ea-4865-a414-8ee6e1bf186e.jpg' },\n  { name: '卡牌大师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/64bd809e-b39e-4365-bbf9-31171f8145ea.jpg' },\n  { name: '诡术妖姬', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f1a015df-8b18-4a27-adf1-53cb91899b06.jpg' },\n  { name: '虚空恐惧', avatar: 'https://dpubstatic.udache.com/static/dpubimg/1b658934-f385-4647-9d90-f4138690fb8c.jpg' },\n  { name: '正义巨像', avatar: 'https://dpubstatic.udache.com/static/dpubimg/0007eb00-4d1f-47f2-aed2-51e005668429.jpg' },\n  { name: '远古恐惧', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9b32bdd0-f624-4087-b4a1-c3e825c2e907.jpg' },\n  { name: '猩红收割者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/29473e97-8253-498c-a893-b3605596c142.jpg' },\n  { name: '众星之子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f55ca358-a6e7-40d7-a749-265a5e5c6ca6.jpg' },\n  { name: '风暴之怒', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c6d639d2-27c4-49d7-87d7-5695deb956bc.jpg' },\n  { name: '符文法师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/70bb2156-d66a-411f-b9b7-a5346333887f.jpg' },\n  { name: '天启者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/2eb7c0ea-3391-467b-bfba-702c17bc06b1.jpg' },\n  { name: '琴瑟仙女', avatar: 'https://dpubstatic.udache.com/static/dpubimg/dc22f287-beb0-45a9-992b-0dfaf1ba086c.jpg' },\n  { name: '黑暗之女', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f9f35675-5f1f-4e67-96cb-f020bcd7eaac.jpg' },\n  { name: '死亡颂唱者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/50af2556-81aa-453e-9c61-6a1f2a32d48f.jpg' },\n  { name: '堕落天使', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f554b63a-5a5a-40ba-8b42-9dac62de27c5.jpg' },\n  { name: '时光守护者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/4e01bc3f-42bc-4f82-8fc2-38fb83b9ce1b.jpg' },\n  { name: '邪恶小法师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f57ade05-20db-46ad-a8cd-c0a27e8b1a60.jpg' },\n  { name: '痛苦之拥', avatar: 'https://dpubstatic.udache.com/static/dpubimg/1b283500-d518-4648-9cea-074954a66f37.jpg' },\n  { name: '殇之木乃伊', avatar: 'https://dpubstatic.udache.com/static/dpubimg/aeed76f4-bf64-44b1-9be3-1ff9286f7893.jpg' },\n  { name: '虚空行者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/21725197-c177-4f4c-8839-025f3e9e0d69.jpg' }\n]\nexport const FIGHTER_HEROES = [\n  { name: '正义天使', avatar: 'https://dpubstatic.udache.com/static/dpubimg/49cef9ff-1200-4874-b9f6-70ef8f847cec.jpg' },\n  { name: '无畏战车', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f02bbc35-6496-4cd2-8614-b3e718f53978.jpg' },\n  { name: '蛮族之王', avatar: 'https://dpubstatic.udache.com/static/dpubimg/94faba51-193e-4ab2-9ac2-bdfd16ed6c85.jpg' },\n  { name: '德邦总管', avatar: 'https://dpubstatic.udache.com/static/dpubimg/53da0bba-5485-4976-98db-28ef8257256a.jpg' },\n  { name: '诺克萨斯统领', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c2507aa8-270b-4e95-99ec-95d6b6cb1181.jpg' },\n  { name: '符文法师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/70bb2156-d66a-411f-b9b7-a5346333887f.jpg' },\n  { name: '亡灵战神', avatar: 'https://dpubstatic.udache.com/static/dpubimg/a252aa07-4c52-4b75-9be6-e7da029552d8.jpg' },\n  { name: '狂战士', avatar: 'https://dpubstatic.udache.com/static/dpubimg/2cc4bae7-4ab6-49f0-a336-6a12e42f8e4a.jpg' },\n  { name: '海洋之灾', avatar: 'https://dpubstatic.udache.com/static/dpubimg/418468cf-3a68-4737-b17d-ad46a77c25af.jpg' },\n  { name: '祖安狂人', avatar: 'https://dpubstatic.udache.com/static/dpubimg/78dc424a-f2a0-4922-9eff-60b96f6f30b4.jpg' },\n  { name: '雪原双子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c69a3408-e28e-420f-b4e6-4ff911cbd809.jpg' },\n  { name: '无极剑圣', avatar: 'https://dpubstatic.udache.com/static/dpubimg/82866ed8-6285-4a56-b62a-455716a4a848.jpg' },\n  { name: '刀锋舞者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/46d1d308-a516-45ce-81e6-e3f19e48e5ba.jpg' },\n  { name: '巨魔之王', avatar: 'https://dpubstatic.udache.com/static/dpubimg/85463a90-aabc-4b72-b800-d3073f5ead08.jpg' },\n  { name: '瓦洛兰之盾', avatar: 'https://dpubstatic.udache.com/static/dpubimg/62824f25-e006-440d-a903-2d2bc7244726.jpg' },\n  { name: '披甲龙龟', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f55593dd-d50e-4254-b843-fd451977bb35.jpg' },\n  { name: '祖安怒兽', avatar: 'https://dpubstatic.udache.com/static/dpubimg/52e450c7-c213-4864-bb31-1a2d25b16875.jpg' },\n  { name: '武器大师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/cc1d2374-1830-436f-abc8-a502341f54a0.jpg' },\n  { name: '蒸汽机器人', avatar: 'https://dpubstatic.udache.com/static/dpubimg/cc90502e-d588-437c-99bd-57903a64e9b9.jpg' },\n  { name: '炼金术士', avatar: 'https://dpubstatic.udache.com/static/dpubimg/ef3dd5a6-a077-4f9e-ac93-c0cf6fa2cd5e.jpg' }\n]\nexport const TANK_HEROES = [\n  { name: '正义巨像', avatar: 'https://dpubstatic.udache.com/static/dpubimg/0007eb00-4d1f-47f2-aed2-51e005668429.jpg' },\n  { name: '德玛西亚皇子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/3bb5e805-1b0e-4450-b672-c201ff6183a9.jpg' },\n  { name: '雪原双子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c69a3408-e28e-420f-b4e6-4ff911cbd809.jpg' },\n  { name: '牛头酋长', avatar: 'https://dpubstatic.udache.com/static/dpubimg/8a02642c-57eb-496f-b8c8-ffc638fe1277.jpg' },\n  { name: '水晶先锋', avatar: 'https://dpubstatic.udache.com/static/dpubimg/770c98b2-523c-4a5a-9d63-3c77d333dc91.jpg' },\n  { name: '狂战士', avatar: 'https://dpubstatic.udache.com/static/dpubimg/2cc4bae7-4ab6-49f0-a336-6a12e42f8e4a.jpg' },\n  { name: '炼金术士', avatar: 'https://dpubstatic.udache.com/static/dpubimg/ef3dd5a6-a077-4f9e-ac93-c0cf6fa2cd5e.jpg' },\n  { name: '披甲龙龟', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f55593dd-d50e-4254-b843-fd451977bb35.jpg' },\n  { name: '祖安狂人', avatar: 'https://dpubstatic.udache.com/static/dpubimg/78dc424a-f2a0-4922-9eff-60b96f6f30b4.jpg' },\n  { name: '扭曲树精', avatar: 'https://dpubstatic.udache.com/static/dpubimg/d7583963-a931-4ac1-8790-226d482f5434.jpg' },\n  { name: '虚空恐惧', avatar: 'https://dpubstatic.udache.com/static/dpubimg/1b658934-f385-4647-9d90-f4138690fb8c.jpg' },\n  { name: '荒漠屠夫', avatar: 'https://dpubstatic.udache.com/static/dpubimg/3a6ec2ed-66dc-4b10-bf6c-5b3093ed4d1f.jpg' },\n  { name: '蒸汽机器人', avatar: 'https://dpubstatic.udache.com/static/dpubimg/cc90502e-d588-437c-99bd-57903a64e9b9.jpg' },\n  { name: '亡灵战神', avatar: 'https://dpubstatic.udache.com/static/dpubimg/a252aa07-4c52-4b75-9be6-e7da029552d8.jpg' },\n  { name: '殇之木乃伊', avatar: 'https://dpubstatic.udache.com/static/dpubimg/aeed76f4-bf64-44b1-9be3-1ff9286f7893.jpg' },\n  { name: '祖安怒兽', avatar: 'https://dpubstatic.udache.com/static/dpubimg/52e450c7-c213-4864-bb31-1a2d25b16875.jpg' },\n  { name: '熔岩巨兽', avatar: 'https://dpubstatic.udache.com/static/dpubimg/b7525041-ae43-4e6a-8b57-2fb20fd95cd2.jpg' },\n  { name: '无畏战车', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f02bbc35-6496-4cd2-8614-b3e718f53978.jpg' },\n  { name: '齐天大圣', avatar: 'https://dpubstatic.udache.com/static/dpubimg/57e2ee1a-1824-4669-b8f8-831beac89b20.jpg' },\n  { name: '巨魔之王', avatar: 'https://dpubstatic.udache.com/static/dpubimg/85463a90-aabc-4b72-b800-d3073f5ead08.jpg' }\n]\nexport const ASSASSIN_HEROES = [\n  { name: '迅捷斥候', avatar: 'https://dpubstatic.udache.com/static/dpubimg/b99bcb11-132a-4b18-9595-674eda2ea137.jpg' },\n  { name: '不祥之刃', avatar: 'https://dpubstatic.udache.com/static/dpubimg/d1c8a5e1-4753-4cf3-ab05-abf0ebbc99e6.jpg' },\n  { name: '诡术妖姬', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f1a015df-8b18-4a27-adf1-53cb91899b06.jpg' },\n  { name: '德邦总管', avatar: 'https://dpubstatic.udache.com/static/dpubimg/53da0bba-5485-4976-98db-28ef8257256a.jpg' },\n  { name: '虚空先知', avatar: 'https://dpubstatic.udache.com/static/dpubimg/6b058b7a-02fb-490d-9203-952bc2433789.jpg' },\n  { name: '麦林炮手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/e89109b5-bb2e-4922-ab62-0e2dff556a0c.jpg' },\n  { name: '暗夜猎手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9751fc11-0f98-4528-80f6-f84d34c9be1b.jpg' },\n  { name: '永恒梦魇', avatar: 'https://dpubstatic.udache.com/static/dpubimg/1c58a713-c4fe-406f-9d5b-9b66c6ba2624.jpg' },\n  { name: '蛮族之王', avatar: 'https://dpubstatic.udache.com/static/dpubimg/94faba51-193e-4ab2-9ac2-bdfd16ed6c85.jpg' },\n  { name: '无极剑圣', avatar: 'https://dpubstatic.udache.com/static/dpubimg/82866ed8-6285-4a56-b62a-455716a4a848.jpg' },\n  { name: '虚空行者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/21725197-c177-4f4c-8839-025f3e9e0d69.jpg' },\n  { name: '瘟疫之源', avatar: 'https://dpubstatic.udache.com/static/dpubimg/d0e54f98-0e08-47af-a706-1e994ee11673.jpg' },\n  { name: '痛苦之拥', avatar: 'https://dpubstatic.udache.com/static/dpubimg/1b283500-d518-4648-9cea-074954a66f37.jpg' },\n  { name: '离群之刺', avatar: 'https://dpubstatic.udache.com/static/dpubimg/7c96be06-2868-4973-888c-ecb6d8353d1a.jpg' },\n  { name: '刀锋舞者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/46d1d308-a516-45ce-81e6-e3f19e48e5ba.jpg' },\n  { name: '不屈之枪', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c111a9ba-3b69-4afc-8adb-6383e89a488b.jpg' },\n  { name: '盲僧', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9098319d-78d2-44ad-9829-a3814eeb7913.jpg' },\n  { name: '武器大师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/cc1d2374-1830-436f-abc8-a502341f54a0.jpg' },\n  { name: '恶魔小丑', avatar: 'https://dpubstatic.udache.com/static/dpubimg/dccf4d8c-33bb-4b97-97c9-6659c4401785.jpg' },\n  { name: '狂野女猎手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/171ec928-98db-40af-9a32-10c57d949b13.jpg' }\n]\nexport const SUPPORT_HEROES = [\n  { name: '牛头酋长', avatar: 'https://dpubstatic.udache.com/static/dpubimg/8a02642c-57eb-496f-b8c8-ffc638fe1277.jpg' },\n  { name: '大发明家', avatar: 'https://dpubstatic.udache.com/static/dpubimg/81711ecd-a986-47c2-906b-97a74dcf6967.jpg' },\n  { name: '堕落天使', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f554b63a-5a5a-40ba-8b42-9dac62de27c5.jpg' },\n  { name: '发条魔灵', avatar: 'https://dpubstatic.udache.com/static/dpubimg/81f7e648-a5e6-4da2-aeaa-0691ef4b5eed.jpg' },\n  { name: '蒸汽机器人', avatar: 'https://dpubstatic.udache.com/static/dpubimg/cc90502e-d588-437c-99bd-57903a64e9b9.jpg' },\n  { name: '风暴之怒', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c6d639d2-27c4-49d7-87d7-5695deb956bc.jpg' },\n  { name: '曙光女神', avatar: 'https://dpubstatic.udache.com/static/dpubimg/54f4d286-c5d5-4dee-b2b7-364e5a0737a8.jpg' },\n  { name: '正义天使', avatar: 'https://dpubstatic.udache.com/static/dpubimg/49cef9ff-1200-4874-b9f6-70ef8f847cec.jpg' },\n  { name: '光辉女郎', avatar: 'https://dpubstatic.udache.com/static/dpubimg/49ab6e2f-d1d7-467e-ae35-ea07f15ea243.jpg' },\n  { name: '仙灵女巫', avatar: 'https://dpubstatic.udache.com/static/dpubimg/0b853a5c-5145-4379-b56a-d95676d4a4ab.jpg' },\n  { name: '暮光星灵', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9f1c463a-55ce-410c-bc4a-a5b2c5fa4c16.jpg' },\n  { name: '琴瑟仙女', avatar: 'https://dpubstatic.udache.com/static/dpubimg/dc22f287-beb0-45a9-992b-0dfaf1ba086c.jpg' },\n  { name: '寒冰射手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/5b30ccd1-2815-471c-86ac-90a8eaf5e1cb.jpg' },\n  { name: '冰晶凤凰', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f8c9857a-f6ea-4865-a414-8ee6e1bf186e.jpg' },\n  { name: '暗黑元首', avatar: 'https://dpubstatic.udache.com/static/dpubimg/0f415582-6820-440d-afe5-69dc4b83874b.jpg' },\n  { name: '天启者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/2eb7c0ea-3391-467b-bfba-702c17bc06b1.jpg' },\n  { name: '众星之子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/f55ca358-a6e7-40d7-a749-265a5e5c6ca6.jpg' },\n  { name: '远古恐惧', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9b32bdd0-f624-4087-b4a1-c3e825c2e907.jpg' },\n  { name: '瓦洛兰之盾', avatar: 'https://dpubstatic.udache.com/static/dpubimg/62824f25-e006-440d-a903-2d2bc7244726.jpg' },\n  { name: '时光守护者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/4e01bc3f-42bc-4f82-8fc2-38fb83b9ce1b.jpg' }\n]\nexport const MARKSMAN_HEROES = [\n  { name: '未来守护者', avatar: 'https://dpubstatic.udache.com/static/dpubimg/a47a8774-9886-4486-90dd-d119555752f4.jpg' },\n  { name: '寒冰射手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/5b30ccd1-2815-471c-86ac-90a8eaf5e1cb.jpg' },\n  { name: '永猎双子', avatar: 'https://dpubstatic.udache.com/static/dpubimg/e85f3ec8-01f5-462e-87e3-00b9aa49271a.jpg' },\n  { name: '法外狂徒', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c8b674c9-102b-431d-96fc-ac565e51d1e6.jpg' },\n  { name: '狂暴之心', avatar: 'https://dpubstatic.udache.com/static/dpubimg/66bd37a9-5439-40f0-b847-2a54c99ebcd4.jpg' },\n  { name: '瘟疫之源', avatar: 'https://dpubstatic.udache.com/static/dpubimg/d0e54f98-0e08-47af-a706-1e994ee11673.jpg' },\n  { name: '赏金猎人', avatar: 'https://dpubstatic.udache.com/static/dpubimg/bff19bde-3439-459d-9d7f-6f6c46274b7a.jpg' },\n  { name: '暗夜猎手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/9751fc11-0f98-4528-80f6-f84d34c9be1b.jpg' },\n  { name: '戏命师', avatar: 'https://dpubstatic.udache.com/static/dpubimg/eb9c8392-1557-4ea8-a58b-287d210e48f1.jpg' },\n  { name: '虚空之女', avatar: 'https://dpubstatic.udache.com/static/dpubimg/3e025f46-076a-4c0f-b176-f5362abf74a5.jpg' },\n  { name: '惩戒之箭', avatar: 'https://dpubstatic.udache.com/static/dpubimg/2decda4f-ca77-409c-b69e-1e6cc5cfe6b9.jpg' },\n  { name: '麦林炮手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/e89109b5-bb2e-4922-ab62-0e2dff556a0c.jpg' },\n  { name: '皮城女警', avatar: 'https://dpubstatic.udache.com/static/dpubimg/ffb72a29-bfd2-4100-bb21-a69888775863.jpg' },\n  { name: '德玛西亚之翼', avatar: 'https://dpubstatic.udache.com/static/dpubimg/b78db556-8700-47af-b3a4-6f386ab08258.jpg' },\n  { name: '迅捷斥候', avatar: 'https://dpubstatic.udache.com/static/dpubimg/b99bcb11-132a-4b18-9595-674eda2ea137.jpg' },\n  { name: '探险家', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c5fc7cf3-4569-44bc-8543-f8b37c4d2bb6.jpg' },\n  { name: '战争女神', avatar: 'https://dpubstatic.udache.com/static/dpubimg/832df15a-bacb-4bc9-b21a-0c1f41203447.jpg' },\n  { name: '荣耀行刑官', avatar: 'https://dpubstatic.udache.com/static/dpubimg/551a7edc-6ca1-4f64-b097-87bad5f53b3d.jpg' },\n  { name: '深渊巨口', avatar: 'https://dpubstatic.udache.com/static/dpubimg/c0d35caf-2dd6-427f-8215-725700b57296.jpg' },\n  { name: '英勇投弹手', avatar: 'https://dpubstatic.udache.com/static/dpubimg/5f8dfef6-69de-4533-82fa-3fa2fce87588.jpg' }\n]\n"
  },
  {
    "path": "example/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"UTF-8\">\n  <title>cube-ui lib</title>\n  <meta name=\"viewport\"\n        content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover\">\n  <link rel=\"shortcut icon\" type=\"images/x-icon\" href=\"//webapp.didistatic.com/static/webapp/shield/Cube-UI_logo.ico\">\n</head>\n<body>\n  <div id=\"app\"></div>\n</body>\n</html>\n"
  },
  {
    "path": "example/main.js",
    "content": "// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Cube from '../src/index'\nimport App from './App.vue'\nimport router from './router'\nimport FastClick from 'fastclick'\nimport VueLazyload from 'vue-lazyload'\n\n/* eslint-disable no-unused-vars */\n// import vConsole from 'vconsole'\n\nwindow.Promise = window.Promise || Promise\n\nFastClick.attach(document.body) //  hack the active pseudo-classes failure caused by -webkit-overflow-scrolling touch\n\nVue.use(Cube)\nVue.use(VueRouter)\nVue.use(VueLazyload)\n\n/* eslint-disable no-new */\nnew Vue({\n  router,\n  render(createElement) {\n    return createElement(App)\n  }\n}).$mount('#app')\n"
  },
  {
    "path": "example/modules/image.js",
    "content": "// clone https://github.com/Tencent/weui.js/blob/master/src/uploader/image.js\n// updated by cube-ui\n\n/*\n* Tencent is pleased to support the open source community by making WeUI.js available.\n*\n* Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved.\n*\n* Licensed under the MIT License (the \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n*       http://opensource.org/licenses/MIT\n*\n* Unless required by applicable law or agreed to in writing, software distributed under the License is\n* distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\n* either express or implied. See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/**\n * 检查图片是否有被压扁，如果有，返回比率\n * ref to http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios\n */\nfunction detectVerticalSquash(img) {\n    // 拍照在IOS7或以下的机型会出现照片被压扁的bug\n    var data;\n    var ih = img.naturalHeight;\n    var canvas = document.createElement('canvas');\n    canvas.width = 1;\n    canvas.height = ih;\n    var ctx = canvas.getContext('2d');\n    ctx.drawImage(img, 0, 0);\n    try {\n        data = ctx.getImageData(0, 0, 1, ih).data;\n    } catch (err) {\n        console.log('Cannot check verticalSquash: CORS?');\n        return 1;\n    }\n    var sy = 0;\n    var ey = ih;\n    var py = ih;\n    while (py > sy) {\n        var alpha = data[(py - 1) * 4 + 3];\n        if (alpha === 0) {\n            ey = py;\n        } else {\n            sy = py;\n        }\n        py = (ey + sy) >> 1; // py = parseInt((ey + sy) / 2)\n    }\n    var ratio = (py / ih);\n    return (ratio === 0) ? 1 : ratio;\n}\n\n/**\n * dataURI to blob, ref to https://gist.github.com/fupslot/5015897\n * @param dataURI\n */\nfunction dataURItoBuffer(dataURI){\n    var byteString = atob(dataURI.split(',')[1]);\n    var buffer = new ArrayBuffer(byteString.length);\n    var view = new Uint8Array(buffer);\n    for (var i = 0; i < byteString.length; i++) {\n        view[i] = byteString.charCodeAt(i);\n    }\n    return buffer;\n}\nfunction dataURItoBlob(dataURI) {\n    var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n    var buffer = dataURItoBuffer(dataURI);\n    return new Blob([buffer], {type: mimeString});\n}\n\n/**\n * 获取图片的orientation\n * ref to http://stackoverflow.com/questions/7584794/accessing-jpeg-exif-rotation-data-in-javascript-on-the-client-side\n */\nfunction getOrientation(buffer){\n    var view = new DataView(buffer);\n    if (view.getUint16(0, false) != 0xFFD8) return -2;\n    var length = view.byteLength, offset = 2;\n    while (offset < length) {\n        var marker = view.getUint16(offset, false);\n        offset += 2;\n        if (marker == 0xFFE1) {\n            if (view.getUint32(offset += 2, false) != 0x45786966) return -1;\n            var little = view.getUint16(offset += 6, false) == 0x4949;\n            offset += view.getUint32(offset + 4, little);\n            var tags = view.getUint16(offset, little);\n            offset += 2;\n            for (var i = 0; i < tags; i++)\n                if (view.getUint16(offset + (i * 12), little) == 0x0112)\n                    return view.getUint16(offset + (i * 12) + 8, little);\n        }\n        else if ((marker & 0xFF00) != 0xFF00) break;\n        else offset += view.getUint16(offset, false);\n    }\n    return -1;\n}\n\n/**\n * 修正拍照时图片的方向\n * ref to http://stackoverflow.com/questions/19463126/how-to-draw-photo-with-correct-orientation-in-canvas-after-capture-photo-by-usin\n */\nfunction orientationHelper(canvas, ctx, orientation) {\n    const w = canvas.width, h = canvas.height;\n    if(orientation > 4){\n        canvas.width = h;\n        canvas.height = w;\n    }\n    switch (orientation) {\n        case 2:\n            ctx.translate(w, 0);\n            ctx.scale(-1, 1);\n            break;\n        case 3:\n            ctx.translate(w, h);\n            ctx.rotate(Math.PI);\n            break;\n        case 4:\n            ctx.translate(0, h);\n            ctx.scale(1, -1);\n            break;\n        case 5:\n            ctx.rotate(0.5 * Math.PI);\n            ctx.scale(1, -1);\n            break;\n        case 6:\n            ctx.rotate(0.5 * Math.PI);\n            ctx.translate(0, -h);\n            break;\n        case 7:\n            ctx.rotate(0.5 * Math.PI);\n            ctx.translate(w, -h);\n            ctx.scale(-1, 1);\n            break;\n        case 8:\n            ctx.rotate(-0.5 * Math.PI);\n            ctx.translate(-w, 0);\n            break;\n    }\n}\n\n/**\n * 压缩图片\n */\nfunction compress(file, options, callback) {\n    const reader = new FileReader();\n    reader.onload = function (evt) {\n        if(options.compress === false){\n            // 不启用压缩 & base64上传 的分支，不做任何处理，直接返回文件的base64编码\n            file.base64 = evt.target.result;\n            callback(file);\n            return;\n        }\n\n        // 启用压缩的分支\n        const img = new Image();\n        img.onload = function () {\n            const ratio = detectVerticalSquash(img);\n            const orientation = getOrientation(dataURItoBuffer(img.src));\n            const canvas = document.createElement('canvas');\n            const ctx = canvas.getContext('2d');\n\n            const maxW = options.compress.width;\n            const maxH = options.compress.height;\n            let w = img.width;\n            let h = img.height;\n            let dataURL;\n\n            if(w < h && h > maxH){\n                w = parseInt(maxH * img.width / img.height);\n                h = maxH;\n            }else if(w >= h && w > maxW){\n                h = parseInt(maxW * img.height / img.width);\n                w = maxW;\n            }\n\n            canvas.width = w;\n            canvas.height = h;\n\n            if(orientation > 0){\n                orientationHelper(canvas, ctx, orientation);\n            }\n            ctx.drawImage(img, 0, 0, w, h / ratio);\n\n            if(/image\\/jpeg/.test(file.type) || /image\\/jpg/.test(file.type)){\n                dataURL = canvas.toDataURL('image/jpeg', options.compress.quality);\n            }else{\n                dataURL =  canvas.toDataURL(file.type);\n            }\n\n            if(options.type == 'file'){\n                if(/;base64,null/.test(dataURL) || /;base64,$/.test(dataURL)){\n                    // 压缩出错，以文件方式上传的，采用原文件上传\n                    console.warn('Compress fail, dataURL is ' + dataURL + '. Next will use origin file to upload.');\n                    callback(file);\n                }else{\n                    let blob = dataURItoBlob(dataURL);\n                    blob.id = file.id;\n                    blob.name = file.name;\n                    blob.lastModified = file.lastModified;\n                    blob.lastModifiedDate = file.lastModifiedDate;\n                    callback(blob);\n                }\n            }else{\n                if(/;base64,null/.test(dataURL) || /;base64,$/.test(dataURL)){\n                    // 压缩失败，以base64上传的，直接报错不上传\n                    options.onError(file, new Error('Compress fail, dataURL is ' + dataURL + '.'));\n                    callback();\n                }else{\n                    file.base64 = dataURL;\n                    callback(file);\n                }\n            }\n        };\n        img.src = evt.target.result;\n    };\n    reader.readAsDataURL(file);\n}\n\nexport default compress;\n"
  },
  {
    "path": "example/pages/action-sheet.vue",
    "content": "<template>\n  <cube-page type=\"action-sheet-view\" title=\"ActionSheet（操作列表）\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showDefault\">ActionSheet</cube-button>\n        <cube-button @click=\"showActive\">ActionSheet - active</cube-button>\n        <cube-button @click=\"showPickerStyle\">ActionSheet - picker style</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n\n  export default {\n    methods: {\n      showDefault() {\n        this.actionSheet = this.$createActionSheet({\n          title: '我是标题~~~',\n          data: [\n            {\n              content: '<em>align - center</em>',\n              class: 'cube-foo'\n            },\n            {\n              content: 'align - left',\n              align: 'left'\n            },\n            {\n              content: 'align - right',\n              align: 'right'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          }\n        })\n        this.actionSheet.show()\n      },\n      showActive() {\n        this.actionSheet = this.$createActionSheet({\n          title: '我是标题~~~',\n          active: 0,\n          data: [\n            {\n              content: '舒适型'\n            },\n            {\n              content: '七座商务'\n            },\n            {\n              content: '豪华型'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              txt: `Clicked canceled`,\n              type: 'warn',\n              time: 1000\n            }).show()\n          }\n        })\n        this.actionSheet.show()\n      },\n      showPickerStyle() {\n        this.actionSheet = this.$createActionSheet({\n          title: '我是标题~~~',\n          pickerStyle: true,\n          data: [\n            {\n              content: '舒适型'\n            },\n            {\n              content: '七座商务'\n            },\n            {\n              content: '豪华型'\n            }\n          ],\n          onSelect: (item, index) => {\n            this.$createToast({\n              txt: `Clicked ${item.content}`,\n              type: 'correct',\n              time: 1000\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              txt: `Clicked canceled`,\n              type: 'warn',\n              time: 1000\n            }).show()\n          }\n        })\n        this.actionSheet.show()\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/button.vue",
    "content": "<template>\n  <cube-page type=\"button-view\" title=\"Button\">\n    <div slot=\"content\">\n      <form action=\"/\">\n        <cube-button-group>\n          <cube-button>Button</cube-button>\n          <cube-button type=\"submit\">Submit Button</cube-button>\n        </cube-button-group>\n        <cube-button-group>\n          <cube-button :active=\"true\">Active Button</cube-button>\n          <cube-button :disabled=\"true\">Disabled Button</cube-button>\n        </cube-button-group>\n        <cube-button-group>\n          <cube-button icon=\"cubeic-right\">Button With Icon</cube-button>\n        </cube-button-group>\n        <cube-button-group>\n          <cube-button :light=\"true\">Light Button</cube-button>\n          <cube-button :inline=\"true\">Inline Button</cube-button>\n          <cube-button :outline=\"true\">Outline Button</cube-button>\n          <cube-button :primary=\"true\">Primary Button</cube-button>\n        </cube-button-group>\n        <div>\n          <cube-checkbox-group v-model=\"buttonStyle\" :horizontal=\"true\">\n            <cube-checkbox label=\"inline\">Inline</cube-checkbox>\n            <cube-checkbox label=\"outline\">Outline</cube-checkbox>\n            <cube-checkbox label=\"primary\">Primary</cube-checkbox>\n          </cube-checkbox-group>\n          <cube-button-group>\n            <cube-button :inline=\"inlineStyle\" :outline=\"outlineStyle\" :primary=\"primaryStyle\">Demo Button</cube-button>\n          </cube-button-group>\n        </div>\n      </form>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import CubePage from '../components/cube-page.vue'\n  export default {\n    data() {\n      return {\n        buttonStyle: ['inline', 'outline', 'primary']\n      }\n    },\n    computed: {\n      inlineStyle() {\n        return this.buttonStyle.indexOf('inline') >= 0\n      },\n      outlineStyle() {\n        return this.buttonStyle.indexOf('outline') >= 0\n      },\n      primaryStyle() {\n        return this.buttonStyle.indexOf('primary') >= 0\n      }\n    },\n    components: {\n      CubeButtonGroup,\n      CubePage\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/cascade-picker.vue",
    "content": "<template>\n  <cube-page type=\"picker-view\" title=\"Cascade Picker\" desc=\"\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showCascadePicker\">Cascade Picker</cube-button>\n        <cube-button @click=\"showAddressPicker\">Address Picker</cube-button>\n        <cube-button @click=\"showSetDataPicker\">Set Data</cube-button>\n        <cube-button @click=\"showAsyncPicker\">Async Load Data</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script>\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import { provinceList, cityList, areaList } from 'example/data/area'\n  import { cascadeData } from 'example/data/cascade'\n\n  const asyncProvinceList = provinceList.slice()\n  const asyncCityList = JSON.parse(JSON.stringify(cityList))\n  const asyncAreaList = JSON.parse(JSON.stringify(areaList))\n\n  const addressData = provinceList\n  addressData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n\n  const asyncData = asyncProvinceList\n  const asyncSelectedIndex = [0, 0, 0]\n  asyncData[0].children = asyncCityList[asyncData[0].value]\n  asyncData[0].children[0].children = asyncAreaList[asyncData[0].children[0].value]\n\n  export default {\n    mounted() {\n      this.cascadePicker = this.$createCascadePicker({\n        title: 'Cascade Picker',\n        data: cascadeData,\n        selectedIndex: [0, 1, 0],\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n\n      this.addressPicker = this.$createCascadePicker({\n        title: 'City Picker',\n        data: addressData,\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n\n      this.setDataPicker = this.$createCascadePicker({\n        title: 'Set Data',\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle\n      })\n\n      this.asyncPicker = this.$createCascadePicker({\n        title: 'Async Load Data',\n        async: true,\n        data: asyncData,\n        selectedIndex: asyncSelectedIndex.slice(),\n        onSelect: this.selectHandle,\n        onCancel: this.cancelHandle,\n        onChange: this.asyncChangeHandle\n      })\n    },\n    methods: {\n      showCascadePicker() {\n        this.cascadePicker.show()\n      },\n      showAddressPicker() {\n        this.addressPicker.show()\n      },\n      showSetDataPicker() {\n        // setData when the picker is invisible.\n        this.setDataPicker.setData(cascadeData)\n\n        this.setDataPicker.show()\n        setTimeout(() => {\n          // setData when the picker is visible.\n          this.setDataPicker.setData(addressData, [1, 1, 0])\n        }, 1000)\n      },\n      showAsyncPicker() {\n        this.asyncPicker.show()\n      },\n      asyncChangeHandle(i, newIndex) {\n        if (newIndex !== asyncSelectedIndex[i]) {\n          asyncSelectedIndex[i] = newIndex\n          // If the first two column is changed, request the data for rest columns.\n          if (i < 2) {\n            // Mock async load.\n            setTimeout(() => {\n              if (i === 0) {\n                const current = asyncData[newIndex]\n                current.children = current.children || asyncCityList[current.value]\n                current.children[0].children = current.children[0].children || asyncAreaList[current.children[0].value]\n                asyncSelectedIndex[1] = 0\n                asyncSelectedIndex[2] = 0\n              }\n\n              if (i === 1) {\n                const current = asyncData[asyncSelectedIndex[0]].children[newIndex]\n                current.children = current.children || asyncAreaList[current.value]\n                asyncSelectedIndex[2] = 0\n              }\n              this.asyncPicker.setData(asyncData, asyncSelectedIndex)\n            }, 500)\n          }\n        }\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/checkbox-group.vue",
    "content": "<template>\n  <cube-page type=\"checkbox-group-view\" title=\"CheckboxGroup\">\n    <template slot=\"content\">\n      <cube-checkbox-group v-model=\"checkList\" :options=\"options\" />\n      <p>checkList value : {{checkList}}</p>\n      <br>\n      <cube-checkbox-group v-model=\"checkList\" :options=\"options\" :horizontal=\"true\" position=\"right\" shape=\"square\" :hollow-style=\"true\" />\n      <br>\n      <cube-checkbox-group v-model=\"checkList\">\n        <cube-checkbox option=\"1\"><i>Checkbox 1</i></cube-checkbox>\n        <cube-checkbox option=\"2\"><i>Checkbox 2</i></cube-checkbox>\n        <cube-checkbox :option=\"{value: '3', disabled: true}\"><i>Disabled Checkbox</i></cube-checkbox>\n        <cube-checkbox :option=\"{value: '4', disabled: true}\"><i>Disabled & Checked Checkbox</i></cube-checkbox>\n      </cube-checkbox-group>\n      <br>\n      <cube-input placeholder=\"Input column number\" v-model=\"colNum\">\n        <div slot=\"prepend\" style=\"paddingLeft: 10px\"> Column number:</div>\n      </cube-input>\n      <cube-checkbox-group v-model=\"colCheckList\" :options=\"colOptions\" :col-num=\"Math.floor(colNum)\" />\n      <br>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        checkList: ['1', '4'],\n        options: [\n          '1',\n          '2',\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          },\n          {\n            label: '4',\n            value: '4',\n            disabled: true\n          }\n        ],\n        colOptions: ['1', '2', '3', '4', '5', '6', '7', '8'],\n        colNum: 3,\n        colCheckList: []\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .checkbox-group-view\n    .content\n      >\n        *\n          margin: 10px 0\n</style>\n"
  },
  {
    "path": "example/pages/checkbox.vue",
    "content": "<template>\n  <cube-page type=\"checkbox-view\" title=\"Checkbox\">\n    <template slot=\"content\">\n      <cube-checkbox v-model=\"checked\">Checkbox</cube-checkbox>\n      <p>checked value: {{checked}}</p>\n      <cube-checkbox v-model=\"checked\" position=\"right\" shape=\"square\" :hollow-style=\"true\">Styled Checkbox</cube-checkbox>\n      <br><br>\n      <cube-checkbox v-model=\"checked2\" :option=\"optionValue\"></cube-checkbox>\n      <p>checked value (with option) : {{checked2}}</p>\n      <cube-checkbox v-model=\"checked2\" :option=\"{disabled: true}\" :hollow-style=\"true\">\n        Disabled Checkbox\n      </cube-checkbox>\n      <br><br>\n      <cube-checkbox class=\"with-click\" v-model=\"checked2\">\n        Agree <a href=\"javascript:;\" @click.stop>《xxx》</a>\n      </cube-checkbox>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        checked: true,\n        checked2: 'optionValue',\n        optionValue: {\n          label: 'Option Checkbox',\n          value: 'optionValue',\n          disabled: false\n        }\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .checkbox-view\n    .content\n      >\n        *\n          margin: 10px 0\n    .cube-checkbox\n      background-color: #fff\n    .with-click\n      .cube-checkbox-label\n        a\n          position: relative\n          z-index: 1\n</style>\n"
  },
  {
    "path": "example/pages/checker.vue",
    "content": "<template>\n  <cube-page type=\"checker-view\" title=\"Checker\">\n    <template slot=\"content\">\n      <p>default usage</p>\n      <br>\n      <cube-checker\n        v-model=\"checkboxCheckerList\"\n        :options=\"checkboxOptions\" />\n      <br>\n      <p>checker value : {{checkboxCheckerList}}</p>\n      <br><br>\n\n      <p>type: radio</p>\n      <br>\n      <cube-checker\n        v-model=\"checkerValue\"\n        :options=\"radioOptions\"\n        type=\"radio\" />\n      <br>\n      <p>checker value : {{checkerValue}}</p>\n      <br><br>\n\n      <p>use slot</p>\n      <br>\n      <cube-checker\n        v-model=\"checkerValue\"\n        :options=\"radioOptions\"\n        type=\"radio\">\n        <cube-checker-item\n          v-for=\"item in radioOptions\"\n          :key=\"item.value\"\n          :option=\"item\">\n          <span class=\"orange\"><i class=\"cubeic-alert\"></i>{{item.text}}</span>\n        </cube-checker-item>\n      </cube-checker>\n      <br>\n      <p>checker value : {{checkerValue}}</p>\n      <br><br>\n\n      <p>set min and max</p>\n      <br>\n      <cube-checker\n        v-model=\"defaultCheckerList\"\n        :options=\"checkboxOptions\"\n        :min=\"1\"\n        :max=\"2\"/>\n      <br>\n      <p>checker value : {{defaultCheckerList}}  (min: 1 max: 2)</p>\n      <br><br>\n\n      <p>set disabled</p>\n      <br>\n      <cube-checker\n        v-model=\"disabledCheckerList\"\n        :options=\"disabledCheckerOptions\"/>\n      <br>\n      <p>checker value : {{disabledCheckerList}}</p>\n      <br><br>\n\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        checkerValue: '',\n        radioOptions: [\n          {\n            value: 0,\n            text: 'AAAAA'\n          },\n          {\n            value: 1,\n            text: 'BBBBB'\n          }\n        ],\n        checkboxCheckerList: [],\n        checkboxOptions: [\n          {\n            value: 1,\n            text: 'red'\n          },\n          {\n            value: 2,\n            text: 'yellow'\n          },\n          {\n            value: 3,\n            text: 'blue'\n          },\n          {\n            value: 4,\n            text: 'green'\n          }\n        ],\n        defaultCheckerList: [3],\n        disabledCheckerOptions: [\n          {\n            value: 1,\n            text: 'first',\n            disabled: true\n          },\n          {\n            value: 2,\n            text: 'second',\n            disabled: true\n          },\n          {\n            value: 3,\n            text: 'third'\n          }\n        ],\n        disabledCheckerList: [2]\n      }\n    },\n    components: {\n      CubePage\n    },\n    methods: {\n      radioClick(value) {\n        console.log(value)\n        this.radioCheckerList = [value]\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .checker-group-view\n    .content\n      >\n        *\n          margin: 10px 0\n  .checker-item\n    display: inline-block\n    vertical-align: top\n    text-align: center\n    padding: 8px 10px\n    margin-right: 10px\n    color: #fff\n    border-radius: 4px\n    position: relative\n    background: #fc9153\n    &:active\n      background: #e8864c\n  .orange\n    font-weight: 700\n    color: #ff8000\n</style>\n"
  },
  {
    "path": "example/pages/date-picker.vue",
    "content": "<template>\n  <cube-page type=\"picker-view\" title=\"Date Picker\" desc=\"\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showDatePicker\">Date Picker</cube-button>\n        <cube-button @click=\"showChangeOrderPicker\">Date Picker(Change order)</cube-button>\n        <cube-button @click=\"showTimePicker\">Time Picker</cube-button>\n        <cube-button @click=\"showDateTimePicker\">Date Time Picker</cube-button>\n        <cube-button @click=\"showFormatPicker\">Use format</cube-button>\n        <cube-button @click=\"showUpdatePropsPicker\">Use $updateProps</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script>\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n\n  export default {\n    methods: {\n      showDatePicker() {\n        if (!this.datePicker) {\n          this.datePicker = this.$createDatePicker({\n            title: 'Date Picker',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle,\n            onChange: () => {\n              console.log('change')\n            }\n          })\n        }\n\n        this.datePicker.show()\n      },\n      showTimePicker() {\n        if (!this.timePicker) {\n          this.timePicker = this.$createDatePicker({\n            title: 'Time Picker',\n            min: [8, 0, 0],\n            max: [20, 59, 59],\n            value: new Date(),\n            startColumn: 'hour',\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.timePicker.show()\n      },\n      showDateTimePicker() {\n        if (!this.dateTimePicker) {\n          this.dateTimePicker = this.$createDatePicker({\n            title: 'Date Time Picker',\n            min: new Date(2008, 7, 8, 8, 0, 0),\n            max: new Date(2020, 9, 20, 20, 59, 59),\n            value: new Date(),\n            columnCount: 6,\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.dateTimePicker.show()\n      },\n      showFormatPicker() {\n        if (!this.formatPicker) {\n          this.formatPicker = this.$createDatePicker({\n            title: 'Use format',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            format: {\n              year: 'YY年',\n              month: 'MM月',\n              date: '第 D 日'\n            },\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.formatPicker.show()\n      },\n      showUpdatePropsPicker() {\n        if (!this.updatePropsPicker) {\n          this.updatePropsPicker = this.$createDatePicker({\n            title: 'Use $updateProps',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.updatePropsPicker.show()\n        setTimeout(() => {\n          this.updatePropsPicker.$updateProps({\n            title: 'updated',\n            value: new Date(2010, 9, 1)\n          })\n        }, 1000)\n      },\n      showChangeOrderPicker() {\n        if (!this.changeOrderPicker) {\n          this.changeOrderPicker = this.$createDatePicker({\n            title: 'Date Picker',\n            min: new Date(2008, 7, 8),\n            max: new Date(2020, 9, 20),\n            value: new Date(),\n            columnOrder: ['date', 'month', 'year'],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n\n        this.changeOrderPicker.show()\n      },\n      selectHandle(date, selectedVal, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/dialog.vue",
    "content": "<template>\n  <cube-page type=\"dialog-view\" title=\"Dialog\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showAlert\">Dialog - alert</cube-button>\n        <cube-button @click=\"showPrompt\">Dialog - prompt</cube-button>\n        <cube-button @click=\"showBtn\">Dialog - btn</cube-button>\n        <cube-button @click=\"showClose\">Dialog - show close</cube-button>\n        <cube-button @click=\"showSlot\">Dialog - slot</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    methods: {\n      showAlert() {\n        this.dialog = this.$createDialog({\n          type: 'alert',\n          title: '我是标题',\n          content: '我是内容',\n          icon: 'cubeic-alert'\n        })\n        this.dialog.show()\n      },\n      showPrompt() {\n        this.dialog = this.$createDialog({\n          type: 'prompt',\n          title: '我是标题',\n          prompt: {\n            placeholder: '请输入'\n          },\n          onConfirm: (e, promptValue) => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: `Prompt value: ${promptValue || ''}`\n            }).show()\n          }\n        })\n        this.dialog.show()\n      },\n      showBtn() {\n        this.dialog = this.$createDialog({\n          type: 'confirm',\n          icon: 'cubeic-alert',\n          title: '我是标题',\n          content: '我是内容',\n          confirmBtn: {\n            text: '确定按钮',\n            active: true,\n            disabled: false,\n            href: 'javascript:;'\n          },\n          cancelBtn: {\n            text: '取消按钮',\n            active: false,\n            disabled: false,\n            href: 'javascript:;'\n          },\n          onConfirm: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击确认按钮'\n            }).show()\n          },\n          onCancel: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击取消按钮'\n            }).show()\n          }\n        })\n        this.dialog.show()\n      },\n      showClose() {\n        this.dialog = this.$createDialog({\n          type: 'alert',\n          icon: 'cubeic-alert',\n          showClose: true,\n          title: '标题',\n          onClose: () => {\n            this.$createToast({\n              type: 'warn',\n              time: 1000,\n              txt: '点击关闭按钮'\n            }).show()\n          }\n        })\n        this.dialog.show()\n      },\n      showSlot() {\n        this.dialog = this.$createDialog({\n          type: 'alert',\n          confirmBtn: {\n            text: '我知道了',\n            active: true\n          }\n        }, (createElement) => {\n          return [\n            createElement('div', {\n              'class': {\n                'my-title': true\n              },\n              slot: 'title'\n            }, [\n              createElement('div', {\n                'class': {\n                  'my-title-img': true\n                }\n              }),\n              createElement('p', '附近车少,优选出租车将来接您')\n            ]),\n            createElement('p', {\n              'class': {\n                'my-content': true\n              },\n              slot: 'content'\n            }, '价格仍按快车计算')\n          ]\n        })\n        this.dialog.show()\n      }\n    },\n    components: {\n      CubeButtonGroup,\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .my-title-img\n    height: 120px\n    margin-bottom: 16px\n    background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhYAAADwCAMAAABrG91XAAAC+lBMVEXz9fnz9Pr29v/y9PoAAADy9Pnk5+7/tFH////x8/iWlpnf39/v8vfV2eHj5u3x8fHw8vjO0tvx9Pnk5ORWVlba3eVZWVr/4Gri5ew6Ojo8PDzm5uYtLi7w8fbu8PaysrIsLS3h5OsvLzDf4+oxMTLn6fA9PT1bW1ve4ej3xsP/riXN0tswMDHZ3eXs7/Tc3+f+/v7c3NxYWFjX2+Pj5ezq7fPo6/L8/Pw7OzsjSXfn1b74+Pr6+vpMTEzt7e3r6+z/gDXw8PArLCwyMjPv8PTp6eri4uJSUlJAQEDg4+vc4Ofb3+a+vr//05j09fnt7vDm5eXOzs9oaGhUVFVDQ0NJSUnU1NW0tLZGRkUqKiq6urxQUFD29/n19fWmp6rv7+//7NLR0dLKysuYmJro6Oja2trX19ff397ExMT/6MnHx8j/1Jv//fj/xHbr7vScnJ7/wW7/t1jk4+Pd3d2/wML/+fP/8Nr/1p8oKCj5+fz/9ef/47z/uV3xaiGrrK6kpKf/2KSioqSRkZOEhIX/yH7/+Oz/8uG3t7n/zYj/v2f7u2X/vWLy6d/4zsz/3bCfn6H/z496env/4bivr7H/26uKi4x/gIH4229hYWH+t0Dl2Mf4eS11dXWljGvu5Nb52Nbp2cP/5cL+y4TntnXi2tDCxczAn3Pv1XL3u2vt28P/4LNicY3BtIZAXYLOvoAtT3r/4nXrt3Rvb3CwlG//fjPx7ebv3sjpza3/7qnty5+gnZX/05Gtoo3/5orMp3WZhWmBclxtYlP2cCft397wwb6+qaz52avLtZm5qo5seI30woGfkn79rHrjtHbyum/7jUDyqzTy5+fh3dfv4sv/9cn33Lb6zbT2uLT7wZ3wx5J3fpLuyon52IjeyXn67+7c3uP74+H15dT24cT51sTQyL/m0rmOj5n/6pbfsnX4wXSNemH+mVn8mUDju7yWpbj/8bfZtbfGqrLNsbGDhpbxlZDSq3VcVEr+qUn4sjrt4rjxyanjxZrtenNhWE3FMZ3eAAAABXRSTlPmpxztAEuvwscAACDOSURBVHja7NVBSgNhDIDRaTU/FFx4AWfXrbv2WHP/pdhUaWwERSyUeW+TA+QjmR63myng07TZPk7bh4DiYTttAr7YTD4IV1RBRxbIAlkgC2RBJQsasqAhCxqyoCELGrKgIQsasqAhCxqyoCELGrKgIQsasqAhCxqyoCELGrKgIYt/Mr++BGey+HAcx+BMFkkWhSySLApZJFkUskiyKGSRZFHIIsmikEWSRSGLJItCFkkWhSySLApZJFkUskiyKGSRZFHIIsmikEWSRSGLJItCFkkWhSwi9idjjPdxCCJkETEuOBknsvgmi+dljjWTRZvF69jHmq08i3lZxqX9suwiZHGTLJ5/YRe3tB9XniJkcYssduPnbruOeciisfYsjrLorDyLpyGLzv1mMY+TQ/zFQRatu83ijZ07SG0chsI4vsqjgUiUgEGrgngEtMlowEm6mQvYhp6gZ+j9lyPZceJpPZaHWB67+v4Lv8alq/xontM6OxZ1ZvNAewKL3tbKYkdTsPgAi/5WymJHk7A4gEV/62SxPTzK4vnF9UG9fdTfO1xedpt0WyELp+JRFi80oh+bdFshizOBRdzmZJF1k0RkMp+qmhNZVoLFYpqNhRTdPItS+DivhxLiCBaLCSzAoqfZWJDt5lkU1qeMP5bSWjM7C10UUhaFJndQ1ObPgEXsFrxy5kJoLUROVoiK2pQQAixiBxYrLGkWxlp1stYQW8vUJq0twSJ2C2aBlbM/sACLnhZwgapvF6hZkMX54juQT9bR5bz5524sTrKJ6kObfwQWsZvwfYvDNP/NhZUzEFiARU8zsiDuRi7FPqmbwaxnZ1FVlVJVZYmrylCbrKoMLGL3+Mo5/ufHLRpYOQOBBVj0BBZg0VPiLLBy9jcnC9XtfkLeB1gspjVcoEZjkeW5VnmekclzQ22nPD+CRewWzAK7RX9gARY9fbeV83Ae1wUshvpuLMZmwGKoRFnIDCyGSpQFH8FiqERZZGAxWKIsBFgMliYLBovh0mRxBIvhkmQhBVgMlyQLAxaBkmRxvLEwZXlSZWmIy5KpTbozYBG7pbGQwrHAH9aHWhELI4TQ1/uG2E3tpulM6WZJIzJgEWplLLjDgjssyuuTaWlExzuLgllKZk2KWVGbO8NgEbuJWBTWWuUZuKk9AzcLN6WbfJvBPB+snIFWxEJqreXAJDdPFK4Ei2ArYjHVi0gOFsHSY6EFWARLj0UJFuHSY5GDRbjkWGjRZcHNBSqTYta4QL21QBaX3ZeeyaWNMcpN1ZnaTfnHDGWdCbydFWqBLOKWg8WI/ut9IvbThyQdKXpagMWIFnj7UNQqsBhTaiwEWIxpRhZUdKuhFD6p/VG7B4piV0RgsR3bZk0ltXJmk7H49DS/vde9bca0BiIpsZBiChb3J3XbtN//err2+rb/S19/ZywaR0os+HEW22Z4C80XvtenWz/fwy8jtZGNb7k2frNzZrFtFGEAfrKzu1kcyyNkS5GDELJUgwi2SG0VWwmRmjxAME4eGily0ibNXSCQtkShNE2B0nIkBVqoShERFVIRR1shLnG80HJJSLSACiqnhAAh7kPifOD/598d7zqOk6w3PpJ+Xs9uDyUP8+1/jHe8krQ4P08tZBo9OABcDLLCQDynFuQEXelKlKIZhdPiQiP0BAWCI52WtOSkHGJdC5o8cEEMFDF0K64jcgUMMAHQL/lIbpRg0FhBDepFlrXQpfBwJWR98IgMMnaxxl1bwYscAUPXgp81KXAotZixgrS41LIWfPI8uheyeAO82nzlYsHBO+HPMXcmRjOEHjiQGp5SM6Poi98F08J1nmUtNCHICTpknGnV7Y6TFQYvNsxRX4AcqkoXZIf4Ufij8V1CYqycknOVNS1keutTiIMbDjG98eiei808OTtYqAgpofKRvEI8FDAwbpSMFCtJi8staCGk4LHCw8UgK1Q4VBVn/PDFmbyiZsMNcDlg5GLQQWbw41y0KCyUQxavhZACfUDc/KWCFDjPKkLVpplrslqhn2jAsKHqapBx+LtKJJWsGC1WZdECn+jxweC8aNUqwx5U/Bv6NkfwIS2Fm16kAwzEHVm0+E6dhd+fYQke+OO4HBQySkiMFaOFyCELf5bTIIVHmz91Lcxmoz7VONx718GDB0+dOnUQ+OvUqb/gdM+97gz8gMqZZYdML8JTKmLYq4WnNjL37WrEhetbdMXHq1x4vy4hrkuNXDX//9dGF+Grc7nguPDEzAn19Am1Rk3EoiFJsFNRsCVZpyg90pyEQtFoPBZLJOQMQWSVQhFkklIRw1Ytap3ZKY11i0XgIiVwEFL4wIvRqalg8vSMUCKLFjD18aqqGBAHotFQdkXGUzKJQekIrTCK4SmaGPZrEXEuDy1ICjiMUvjwajQYDE59PiUR8VTnF5esqq+vb+jr7+/tra5ONjePMmAg3MzSJKurm5oa6tdXdXbGokY14gk3xB2CehuZxOC9yXKJFpF5FhmNuDCr8KsLr8bxfN+ll17mLAmEFKSFzyWk8NWt/RK9CIakeGd9U5L99MyaNWue+amSNQ/09Xe39gwPtnTsHmZsM2jR397R0TI43NPava7PYEmyqb4qFkqrEUvo2QT7VhJDdlDT6ih8wLBfi1rncoGkIIQU4Ect3OszQeB0L2OVrYNPrSGe+UYxsIWxcJixVsXEyN4dXfvaO7YMr6tENxo703EjGkvU6M0JrpxqvSofCiyG/Vp4nMsBvahIOwEZhKRYPc5v76lg8MybfVu6FIVbQV4oBrrZaHgzY8PKXOyd6GgdADWq4obHNETXijVG8ZsSm7RYHsHCmD8EdVyKQIzKifoTZz71el9VgGNrBO8ogo3NrDk8wNigkpOdu3sqWW9jLP1cl6g/SYyi1J72axFxljuZRUWdJgXkEGcixKVogOTwidfrPQITe5aMyPSii4EWkChalPnYODEIZoiYEXUYxZCLIob9WjiXAYaiwkdVBZeizk9S1DPW3aW87AWehhxy7Jc3jq05dvYpcxrp0LTYrSyAjRf0M9bUqZWg4zKJ4Yazlkio9izjaOEsbzKLCtF+1PluiPL0X5Vkle0KcBS0OPCy8s7vweCv3/wYDGI7ckzR6YFqFDuPdmVhTHQzVl0V1VYz3CpAUrhFU1Ko2vOcFtmlSHtRJ/yIUJCPQfPRM6IgLx8ALz5Tzv4aJJ4yabFZ02JCWShdrYwlGzUxYnq7yhfbAcojhZDinBa5Kk1RVCCBlMQRoYLCBfA2BAriHWMS2cto2YJBq7IoMaqrQlpTQmKIkCG61aUPGedKzrkrTe6EVmnKNFXRBqgq9iqICBdHNoIRH/FoAS3J74rGBYyWLRishy9WjE69KaEP1sxNCR1AAcywUYsbnGWJK+vyFTgBRcXaqMRJVbPRlo0KIcLF0ZOgxUnU4uTZdCMyyGjZgo0oi6NrHWMNcWO36jY3JegGhQxxsh37tXA7yw6oJWZJUecUy1dxiWhkrI9SgiFcAKjFR0FkhyLoZ7RswUCjRbKvnyWrpLmaEpFIxP4S++2wX4tyCxdcCXLCIIWhqIhJRLRJ1JoZ4eKfoMZvho5zVOtPK5XFs3F3JWsISbOaEngT1JmgGmk37JeDtLCNgLM8cBnNgLfwwVBUOEKSSCDN7bMnEMPFp8HgH//9AVq8YWg3GRiBWvQpVhgZZk30m6kpMYjh1jOJ2HskzohdativhRyYcx5KA5dLXJEShljh41LwosLFiwqRQPp3KLN52gsEEbMWHUzrT9cp1mhh6yWdUMIghvioRNZsECc422oGaWEjq50lSoYQQgmRPzQpXKjFapRCJJBhKhKyhovZWrTqT1u0KhbpZlTTiKYk/TgGvhD0QWxmtX9nGmlhJ+rqUssk2YSgSCGcIC9QCiQSk3Q6q1nlBQqQNVwgb/2SUVsM8GWLUShHFIvso3AhxHD4a0gMVEMzw2PenUZq2CYGaWEzsmoPtfkIFqlRsfcn6FKc/QBd86PGX2PAb3hEZj2kgp1zlodHvMCRN8CKk/8e1SPKTqYvWwwqFtnJeiUT4w7Vn/bClE9EUrF1lwlpUbJELJeUNQ5CfA+FbNxlbtpDik/4y/rz/UYp4k0wtzjducNF8MVP+FI40c70ZYsWxSI7WLVkJhQjn93khkpb2rgchIcO+x7PKGktHBFrGQOtIAH4WQhBoz646aB9H24uRYKkEAlkn4Lc/myOcHHASzytcIaZvmzRYT2JJCXCLIaeSXAgKUgM03qXTV6UthZuayVEIHuAQBcI6vi07WHw4vgdUcM8YALRVrvb2m7PES4Q+kQV6WfasgVrVyzSkaGFaEr8lEtE2CA5cDQ9Mm6HF6WthSOwGCNETVmbTQjaPYpCCCnozkOgEpHHJY5IIGK1+5G2Z5WsQLgQUBoZYfqyBdunWKQnqxbikxJhBh5iY5omBnmRPyWuRWReJUxCuOjsF7FBG8TXDog37QIVgcLPiwpBZ5JtnlB0bm9re1DJxmdeI6/yxSyxG2Bi0UucI3t37ujqmuij2iKrGGoNhAy02LTFRN9kopnhyT9clLUW5IQwQnjhNwthjhIiBAMUJ1S/O2WUIlTPWOuIIritre0RJQtHvSaO4FoUaTEK445sM09TPzGxr719d0fLlsFhvl+gvy88ACYJGqQ5CUXHcVca9VJCDu65KD0d+fckJa5FYF4nyAUcxOiqNZUQ4owRgt5CCYwTcizjK9F62ahWL4os0nZbztKCeBuXooAw16L9Aph5nHqYeT71mytH2YKojkvzESI93KC0roZMoBXLvbZQc0vhMi1W4kBEKDiIt5BBw0+H351ImXcNUgLBj0tNPNjWdr+SyatUaR44cERvRj5tbeX3PPSniyYJO896e2HvWUND47xWmINHKuFIVxzkRd5ppLS1yJlDuA+khIC2gLlqsmUMgoSQE7HxTCFEAukZyUz4D91/O7/1BwfTQb/5/Wa6+//2EscfZZzmTC2S1TDlTTjlsC1xfWNjFdAJpGCbKu1SDUnWEXrIKkBt+PKuLVbnenJGeCGEENQ50QtNCLdZCMccQogEwvq0ue+nhJ+TZHXyAy/x2vMw5VVAbzjZmUppMw6/qlCEEtiv8rYcjvwoYS1qArkjhcEJ3EuO4MnH35Eagwx4DRkjMTtjzE4gguT8N/ktH7702nEv8e11kkZlOCUVlNCGj898NXTn1pBDtau+KK4Wcm0kYGl12/CUto90cNahED54Az48RIoJ3OBPYP85P/GF3OT8n3aREYKXQkKtcLNUYN597krOu7jsaUu4KKoW1h/nctGLwAsuBeHz8QNlQSHitobxz2dgw/qMMEJYIQl6w+ulAhN6T/Nird6QlHFtIQesW2GgDl9oAx0+nkickVo5ZX9e3zozFUS8GfxsmKKBzVGp0NxyiLR4lC96Ap48s0iRtCAr8tdClBUYIfg5sHqtI7ZEExPaOkNeeNMcf+3blz40lidhZu1nX7d11y133rxhw9Bj2x54cnr//snJyTFgE3DNHGzSGBt793WuxRlqUT2YRcpUi4glH7TRuEeUrkGIa/2J8aUt/ENfghZTU8Hj3IafP7x513VSBg3hemkeQACY/6HHHpjeP3bNfXvuuP7Gu269qSI/DvF48bGqh4tyXeWssWYFHRQl9K+owZoytbRCiHAx9WUIJ1aak2S402gAjwBD2x6YngQDDoMB99xasRT8uf05XnMCshvXwMu0E4lYrjXxEO1owA8ZowTAFIAZYNv74Wk9BNwDIaBgHMI08j23AqTId02rWFp4rFphXtB0hKSCohUAQ3j/75/cpM2/MQI8HgYZisB7PFz46Sv7gPxa1GJp4be+q5zjxH40Ym+goLIPph1ve63ymxzb9Mp9ezD6Q/jPOeFCC3CkGGzH6uJe8iJvK4qlRY3FYGH89lRH3v3mnRD1pyd50l9QyC9lLQ5tBy2+wsV+yiJl2YnUWl3ahLOPWyFCRWdqcSFh181DT07ed8eN91QsBQ+H764oCj9guPhYNWYR62KUW7TQKk3oPrSqItrXklxYaLh5aHrTnutnybBctKjY/jq2In635kVZdiKqxWAhiEmceE/LYDR3dLhlwwNje24sRCFIWjxRURwOQdH5vZ++QRyzSDl2Io6A1dLCx+144Y5tfPGgu6VlYM74sGHb2GHwoaBcUTQtfoBw8Z5f98Ih59OiFk2LGywEC0ohfG3zcEXF9ZBGGlpatsSlWezaMH3N9cUp/b4Of1dRJLZDuDitAuKDEcsUb/HbYoNKpcX/7J19bBNlGMD/qu3ZmhvlXHI3us1ZDxOnsedXo7bNVkYbM6Pr17o1OjcYTBQBmYYoEdlUPlyEiSwLAkFxBPwPCBqj4UMTNRow0ZhoTDR+JUb/1v9MfJ73uXvbrre2t3WObv052y0r8PTp7573ed9r7/0EsvA4DBAbOjsHp1WId60JsYi0eBOazl9ZtcBBZE5WLJwWHutaIKTFE1AsQILlUCzu46cR33rx7YKGcsuVP06cPXLhyNnzx/+f4v6+7wv7nDl5/DwL+sQfV7ZYGEWgXHznaqQpKlhRhTMR4DbLYwhf3Vy+nRWL+4Y6O9fh2uOzzz+40SR/e89flMNhLwPu00cuFz7oqtNiy+ULaS+P2itfPL+3/FHk4788FZmiohYLhcda20mlghWLb+32Pbc77oMhpHOMjDDh+EUvJLcVaGlpRSDN6tmCHF9dWuw9q3oxaB41qnHxeLmjyMdfjXn4Qmc1zkQYT91kaRbC312x2W5/w/EIWvGbfQaOX8L0tgAriBZMMxyGR+ZXjA98P8xBiiMgAQrBgwZQ50unyzqN+pXdvrkvO0WtwpmIjuBqtMBtjbcBT/0CKdh/dMPQ0NBvJ2fI7594yLHsNjc381vMcVg9b58nSIvv7bPlvBL2mgYNZlwo1+bdfIqKWsxWjKv3nd/5ZC9G4Tq3x16C4wnKbzPSvgKy2oIpbiYxvBdzU3zVaLH3opekgEAh6pbWcCt7ArrNieP28vg0p7lY9FqgF2RF32Z7CU5QfiG97eFoQFqJ1EeSagvmGFOcvmKfL773fWCfFVfSoDJKAcjpjMai1jJpGXVmNp8os2c9Z3hRlTMRS+iXosTPiX1qL8ERL8svZDMaQSEYTI1AuJlSrPCx+mrR4rSi17d2b1rLi1pK4JNBL87ay+JbWrmYy3pWdWhBV68VBBdY4dpcjhWY36hGySUoyRkQA1Msz5cXP8xOi9MyBd3ckqwviLo+3cKC9h6xl8N+fnK9Kieo5SNQa0HXMyo5glAtDkeM9EqRSCQuGWIkVrAUR+dpdesL3/uzGUFUXWVF0qPW4hi1pkctyVAvyh1HXsKeE1j0WlBnQa1Fm70ol3Ur/FQqpEBCVRVFUdVoOqKxFGdamRf/8CXyymuxZcv27a++umfz5s0bN2586aW3d+/ev//DB+Gd+y+++MYbr732+uvPP//WW48//thjjz377CuvPPfcWFqvFUkWtBZJJihoNRGI6zaTF+X0nXv03sK2+LWgq+OhFsHi7XyUrIiy/MbTKiYXwW+iATr0vOhF+IK9BPkv70sFL++7BS/vyy8/86OvwfqbBWNhZsWKAEatZRI8aHQjEWFRJ5kXib1lRE1azOUkatVogR0U6y3G7MX4M5y1QguoiqpwVJVSDF5gvfB6P8t7eR/Pf3mfefJJx2x4ZBZaNHm9rFYwK6Q0RspBnZMS9yL8p700faSFsBS0cLvpqnJFtbhMCZZZfhNMivSZkQO9u3aOrmQ5VgOY4QgdeaKj8txn/VNlYoINIe04gmgZciIyvqm7t2nNeIAFHWU2J0DmsoaRtqWihZDV4md7Ef6BBDc3eyW0IqoA0gvLQ20iEOxIjUYxxcnskXetA6i4Fk87LDLCKly7yqxAlf2Hh9YGRSS4tjemAOSFjDL/ay/FRteS08JVVIs/wuywC6xEK1TI5pq1bSAFAvfB1KSi6PVCxiNPnYdycb/l6xiIKqtwXmyIMyhFZDjEoxbFjqYAqBKN4+DXgl5cLrnMuaR6C5yMgBa/2GfmEh9CNGw2k51BkYM5bpjAepEBL+KsXOxwVJx7fE6HNXaSy0lskdGK2NY+MS/sVD22yxp4kW6GhfxL9hKM8ZMiS0ELmokU0+IkJRg79wB2FV1GfjkdB/HIkyDDUSwXmsOx8FpIXjz3EUaXEypY8bBIZG1eDV7Q4NeKMp8sNT9dKstZAK1bwHHwbbGVLLQCi4WE047eoFhAxxlFZRmOs0nqVkfF8Vn8Owf1fpNmTkp8vcjhXqRwThWhctFSak1rNysWS0gLXM8qpsUl6iwgwUk47A4GRROc2NtL1F20enc6Ks5Wn8MS+1ixWKFB1FEIbUObWEjbLly/AJk1lPlSCS3osr7uan13lhXcAoJPeOaWcztr6FmC4bALPC2a0Na2Q1FZ15nEDJ9xVJz1Pmsfl455MWqF+k3/eEg0oyMG5SJuyLy9nInIEjiDKtiMTZjqXJ49M55uwslpuwxWYIJHglwF57rBtaLBw1AuomwUgQwnHBXH6bP2gWmVjyFpiLpfNAgNpnzZetepT6HSKPPpUr0FWTGHU6hVowXc6FdpnvHE+t942PUkcAyBhn6dqLO6twkYCOqOBEchw3HIMDy6xdvnqDSrffc7LBBk/VBPnErcZIeo098NQXfzJ9EApuMoksETwH/bi/Eq1FT9SkmL/91Z1FzgysW5e2fgczwF2ROo17SEokhGgp+G/CJDos4uRVVwjirDWezWwYZK41z/cIMF1rFi0Y6nTLEf6jOsaCIML4LjILMGvXQ7aPH5vcX4nX98aEm8aQ9XtLBcuI45zfkID7ueDGgRhYXCkFF+m3QGRWKroihYj9V2KBfrnAtMqhVlDusjX7dIrDWC7g7qk5FNispqHLanHzmL8Q1dzNdWve/8toAAYuht51GnOV+iFtviWr2kZI+7jiaDDfoo0pBQ1CQceFE88PqdC0wXG/lQiwBEPSASKR61TyS6ocbhCngrRP2lswjH8AxBFX98yAq00yd72x7w3nqnGRfQim2SpkmK3z+ia/E0T/CwcSQmFTWNWvRAuehyLjAD0CajFhpo4ecdZxePOiUSw1DjMhB1uL25uZgWh4KsB6PGYtFPUHm5qEOOHnvHxIwv23tAi3g9asGrBS/HvLmAaqGQFpDhha8WWCy4Fl0F1WJQr3G9fkVFLVog6hm1WH/o1EMugbBV50eTrUHqczFcrlVjR987dexQrh4foRXbMlQtxoMi0ds0rXtz+v1KUtPq1R7I8ML3Fs1Y47y6FrsMdXlvEdK12OdXFFzVb4eoP3cW8PWhY6e+GfPUGVK4q/NKe1YhM2ijSn2DLiRPj896tgEBTZKifnllh2FBE9HZZvSgoEUAtAhvAy22OhcY3wqscT2apkVw6DOCHGgijFElOAFa4Pi4DaL+rECIc8Ze7HXZrSOq+VNl5YLPEJ4peYH/kxecOs/Yod+6kQnQIu2X/T5RZ7CbdRYhkeg7CFpE4GXY9Ciw2rnArMYoduyYhFdc9csxQ+Y28qKLL3PG/f6opNXHdsAud/c6Ge8cO/Xe0XPZDctoWx0qFVV7zW/rCDZjE1jaUZqbUcdODekJGZYkKeCX5U1tfL1wXVe/UzRYG5H9Khx3MfoTQecC44Ex0e0+CDIn/LIymF2N7e9KZddmB2S/PwlR78OoDzEh+lwcvo0d7W9Y7fuJWEHgXlCHAf/pNZP2AjUSco0GXoAWkQbRjLYDsuxPS5I2IhCrOpavBpwLxUMC0q2RzKNB0YzQYdAiA1FPCQg+ZSoQvFBQQrJOCNV57SzrCPSFT9vwAmoGQGLwhEyAFmkZykWfaMLDEdAiAg/Z4Ca98jYz8+TQyFi1apXHs2oGHnqI3QJ4Q3R04C0niIRC7LaADoBp4b6zHkJSZTmaMnV5CIyJwiMmG6la6ha4qP3OOTD0vZMX+YaXBV64qWRQzaBiQYMBT4i7E9IXwTSanaMOTYAwCXhETKCJDcsq98LjmgONeXjycHE8jbkbH/Od8w9CTEmIbXK5WIgTXJYD8Ig1VCsBF+3bSGaTJzwDi3wLOxMv0Ar6Yrjzb3GF3OaK6RkODBZ4Edwn68XiBX1iU0cVme9N/f9A/w69om5WAPslIArRjXeI02mIyVgsgJ9yR1EUA3DRD+6cHCzyfVBNvaAFPHYHt4hAR75xxrAb8hfHDEf6+6bVijWKftjF7qIRGAEr+G6p1qkrjskfIP/07ogvMuDYl/GjF9PqRZsTrVDQ5ZGcUsnJ7pbM7jBLi33X5JnEQAPytCAv3LRIfhiHERVymW4KiVn6nOMykJaAXrJCn/HyfZVLvsxCCVxlAEYwKxh8X3QfdhcBGZhMBXML3EAcKxy6PHknxMzXb9xcCuMnPSu2Rb/HurkXZAa9pwCheoFS0AOuW4lHniIDsaEOPceh1ZtY0hNx+OWoMd8lNXhJFixjtXpkyz6JgXaSz49KbPADoqODoT6qFKHUhEpWoMu8WKIZlAL4npfLbArmStVpkTUD1eCwrPDf7ZKoXiDx0QMDqf7hTYcTMpJGK2I3Cdkpry3v2KsrgVAR6nKKP1kBt6MSLbkAamyktyvVtWtkUkYUZsWIjR8S9OQFhJ473dkqJUU1akGFkhAILozOTgmIkwgcnt9JX2GbgqW4XNwmCBYgB2nUoy8Wz12HJSATlacTjUjAhMd4hgLd6ti4GPSrSlCdWpgmIO/nTZJJiv3pOLMiZSNIDLKCivLccZcBb4a4ERT8neAFkFTlXNSAhEzclX3a0/sqnoFKUb1alOAFicRIq4YT0WRcQs78lJtFoxq72Q+Vo4QV1BRMbxHvHpWQeADWwQklEaCoRzy2Yq++YKsoVarFXdeUZComEZFMIBkIZOIScfDma65idtZLZEYmgFFHJGLlgWvK5G5bJahOLW5YVgZdI/VSAbED+Q+65Rb+XXksqxA5fxnecYbHpUImppaVzR22ClCVWgjXlZehqZFJKY8zj9JLYKrG/EMylPq3d41rUi71o73LrNBomztVqYXt1rJfhhcOxjS9Do+vGS758LKomCEz6rxvwvA5Nrqja5k1bBWgOrVw3Xh9+dwxMNzbObXs+uriuqnh3uGp6663ygO32SpAdWpRowg1LWoY1LSoYUJNixom1LSoYUJNixom1LSoYUJNixom1LT4r106JAAAAGAY1L/1C0xfQQYIWhC0IGhB0IKgBUELghYELQhaELQgaMHDAGGDZSKaQRUzAAAAAElFTkSuQmCC\") no-repeat center\n    background-size: 100%\n  .my-content\n    text-align: center\n</style>\n"
  },
  {
    "path": "example/pages/drawer/custom.vue",
    "content": "<template>\n  <cube-page type=\"drawer-def\" title=\"Drawer\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-button @click=\"showDrawer\">Show Drawer</cube-button>\n        <cube-drawer\n          ref=\"drawer\"\n          :data=\"data\"\n          :selected-index=\"selectedIndex\"\n          @change=\"changeHandler\"\n          @select=\"selectHandler\"\n          @cancel=\"cancelHandler\">\n          <span slot=\"title\">{{province.text}}</span>\n          <cube-drawer-panel\n            v-for=\"(panel, index) in data\"\n            :key=\"index\"\n            :index=\"index\"\n            :data=\"panel\"\n          >\n            <cube-drawer-item v-for=\"(item, i) in panel\" :item=\"item\" :key=\"i\" :index=\"i\">\n              <i class=\"cubeic-round-border\"></i>\n              <span>{{item.text}}</span>\n            </cube-drawer-item>\n          </cube-drawer-panel>\n        </cube-drawer>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import { provinceList, cityList, areaList } from '../../data/area'\n\n  export default {\n    data() {\n      return {\n        province: {},\n        selectedIndex: [],\n        data: [\n          [],\n          []\n        ]\n      }\n    },\n    methods: {\n      showDrawer() {\n        const randomIndex = Math.round(Math.random() * provinceList.length)\n        const randomProvince = provinceList[randomIndex]\n        this.province = randomProvince\n        this.$refs.drawer.refill(0, cityList[randomProvince.value])\n        this.$refs.drawer.show()\n      },\n      changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\n        setTimeout(() => {\n          // city change, get area data\n          const data = areaList[item.value]\n          this.$refs.drawer.refill(index + 1, data)\n        }, 200)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        console.log('cancel')\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n    .cube-drawer-item_active\n      color: #fc9153\n      background-color: transparent\n</style>\n"
  },
  {
    "path": "example/pages/drawer/default.vue",
    "content": "<template>\n  <cube-page type=\"drawer-def\" title=\"Drawer\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-button @click=\"showDrawer\">Show Drawer</cube-button>\n        <cube-drawer\n          ref=\"drawer\"\n          title=\"请选择\"\n          :data=\"data\"\n          :selected-index=\"selectedIndex\"\n          @change=\"changeHandler\"\n          @select=\"selectHandler\"\n          @cancel=\"cancelHandler\"></cube-drawer>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import { provinceList, cityList, areaList } from '../../data/area'\n\n  export default {\n    data() {\n      return {\n        selectedIndex: [],\n        data: [\n          provinceList,\n          [],\n          []\n        ]\n      }\n    },\n    methods: {\n      showDrawer() {\n        this.$refs.drawer.show()\n      },\n      changeHandler(index, item, selectedVal, selectedIndex, selectedText) {\n        // fake request\n        setTimeout(() => {\n          let data\n          if (index === 0) {\n            // procince change, get city data\n            data = cityList[item.value]\n          } else {\n            // city change, get area data\n            data = areaList[item.value]\n          }\n          this.$refs.drawer.refill(index + 1, data)\n        }, 200)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        console.log('cancel')\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n</style>\n"
  },
  {
    "path": "example/pages/drawer/index.vue",
    "content": "<template>\n  <cube-page type=\"drawer\" title=\"Drawer\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('custom')\">Custom</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/drawer/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/form/classic.vue",
    "content": "<template>\n  <cube-page type=\"form-def\" title=\"Form 表单\">\n    <div slot=\"content\">\n      <cube-form\n        :model=\"model\"\n        :schema=\"schema\"\n        :immediate-validate=\"false\"\n        :options=\"options\"\n        @validate=\"validateHandler\"\n        @submit=\"submitHandler\"\n        @reset=\"resetHandler\"></cube-form>\n      <json-view title=\"model\" :data=\"model\" />\n      <json-view title=\"validity\" :data=\"validity\" />\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import CubeButtonGroup from '../../components/cube-button-group.vue'\n  import JsonView from '../../components/json-view.vue'\n\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          checkboxValue: false,\n          checkboxGroupValue: [],\n          inputValue: '',\n          radioValue: '',\n          rateValue: 0,\n          selectValue: 2018,\n          switchValue: true,\n          textareaValue: '',\n          uploadValue: []\n        },\n        schema: {\n          groups: [\n            {\n              legend: '基础',\n              fields: [\n                {\n                  type: 'checkbox',\n                  modelKey: 'checkboxValue',\n                  label: 'Checkbox',\n                  props: {\n                    option: {\n                      label: 'Checkbox',\n                      value: true\n                    }\n                  },\n                  rules: {\n                    required: true\n                  },\n                  messages: {\n                    required: 'Please check this field'\n                  }\n                },\n                {\n                  type: 'checkbox-group',\n                  modelKey: 'checkboxGroupValue',\n                  label: 'CheckboxGroup',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'input',\n                  modelKey: 'inputValue',\n                  label: 'Input',\n                  props: {\n                    placeholder: '请输入'\n                  },\n                  rules: {\n                    required: true\n                  },\n                  // validating when blur\n                  trigger: 'blur'\n                },\n                {\n                  type: 'radio-group',\n                  modelKey: 'radioValue',\n                  label: 'Radio',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'select',\n                  modelKey: 'selectValue',\n                  label: 'Select',\n                  props: {\n                    options: [2015, 2016, 2017, 2018, 2019, 2020]\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'switch',\n                  modelKey: 'switchValue',\n                  label: 'Switch',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'textarea',\n                  modelKey: 'textareaValue',\n                  label: 'Textarea',\n                  rules: {\n                    required: true\n                  },\n                  // debounce validate\n                  // if set to true, the default debounce time will be 200(ms)\n                  debounce: 100\n                }\n              ]\n            },\n            {\n              legend: '高级',\n              fields: [\n                {\n                  type: 'rate',\n                  modelKey: 'rateValue',\n                  label: 'Rate',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'upload',\n                  modelKey: 'uploadValue',\n                  label: 'Upload',\n                  rules: {\n                    required: true,\n                    uploaded: (val, config) => {\n                      return Promise.all(val.map((file, i) => {\n                        return new Promise((resolve, reject) => {\n                          if (file.uploadedUrl) {\n                            return resolve()\n                          }\n                          // fake request\n                          setTimeout(() => {\n                            if (i % 2) {\n                              reject(new Error())\n                            } else {\n                              file.uploadedUrl = 'uploaded/url'\n                              resolve()\n                            }\n                          }, 1000)\n                        })\n                      })).then(() => {\n                        return true\n                      })\n                    }\n                  },\n                  messages: {\n                    uploaded: '上传失败'\n                  }\n                }\n              ]\n            },\n            {\n              fields: [\n                {\n                  type: 'submit',\n                  label: 'Submit'\n                },\n                {\n                  type: 'reset',\n                  label: 'Reset'\n                }\n              ]\n            }\n          ]\n        },\n        options: {\n          scrollToInvalidField: true,\n          layout: 'classic' // standard fresh\n        }\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        e.preventDefault()\n        console.log('submit', e)\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      resetHandler(e) {\n        console.log('reset', e)\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      JsonView\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/form/custom.vue",
    "content": "<template>\n  <cube-page type=\"form-custom\" title=\"Form 表单\">\n    <div slot=\"content\">\n      <cube-form :model=\"model\" @validate=\"validateHandler\" @submit=\"submitHandler\">\n        <cube-form-group>\n          <cube-form-item :field=\"fields[0]\"></cube-form-item>\n          <cube-form-item :field=\"fields[1]\"></cube-form-item>\n          <cube-form-item :field=\"fields[2]\">\n            <cube-button @click=\"showDatePicker\">{{model.dateValue || 'Please select'}}</cube-button>\n            <date-picker ref=\"datePicker\" :min=\"[2008, 8, 8]\" :max=\"[2020, 10, 20]\" @select=\"dateSelectHandler\"></date-picker>\n          </cube-form-item>\n        </cube-form-group>\n        <cube-form-group>\n          <cube-button type=\"submit\">Submit</cube-button>\n        </cube-form-group>\n      </cube-form>\n      <json-view title=\"model\" :data=\"model\" />\n      <json-view title=\"validity\" :data=\"validity\" />\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import DatePicker from 'example/components/date-picker.vue'\n  import JsonView from '../../components/json-view.vue'\n  import { provinceList, cityList, areaList } from 'example/data/area'\n\n  const cityData = provinceList\n  cityData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n  const PCA = {\n    props: {\n      value: {\n        type: Array,\n        default() {\n          return []\n        }\n      }\n    },\n    data() {\n      return {\n        selected: []\n      }\n    },\n    render(createElement) {\n      return createElement('cube-button', {\n        on: {\n          click: this.showPicker\n        }\n      }, this.selected.length ? this.selected.join(' ') : 'placeholder')\n    },\n    mounted() {\n      this.picker = this.$createCascadePicker({\n        title: 'PCA Select',\n        data: cityData,\n        selectedIndex: this.value,\n        onSelect: this.selectHandler\n      })\n    },\n    methods: {\n      showPicker() {\n        this.picker.show()\n      },\n      selectHandler(selectedVal, selectedIndex, selectedTxt) {\n        this.selected = selectedTxt\n        this.$emit('input', selectedVal)\n      }\n    }\n  }\n\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          inputValue: '',\n          pcaValue: [],\n          dateValue: ''\n        },\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: '请输入'\n            },\n            rules: {\n              required: true\n            }\n          },\n          {\n            component: PCA,\n            modelKey: 'pcaValue',\n            label: 'PCASelect',\n            rules: {\n              required: true\n            },\n            messages: {\n              required: '请选择'\n            }\n          },\n          {\n            modelKey: 'dateValue',\n            label: 'Date',\n            rules: {\n              required: true\n            }\n          }\n        ]\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        console.log('submit')\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      showDatePicker() {\n        this.$refs.datePicker.show()\n      },\n      dateSelectHandler(selectedVal) {\n        this.model.dateValue = new Date(selectedVal[0], selectedVal[1] - 1, selectedVal[2]).toDateString()\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      DatePicker,\n      JsonView\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .form-custom\n    .cube-form-item\n      .cube-btn\n        padding-left: 0\n        padding-right: 0\n        text-align: left\n        color: inherit\n        background: none\n        border: none\n</style>\n"
  },
  {
    "path": "example/pages/form/default.vue",
    "content": "<template>\n  <cube-page type=\"form-def\" title=\"Form 表单\">\n    <div slot=\"content\">\n      <cube-form\n        :model=\"model\"\n        :schema=\"schema\"\n        :immediate-validate=\"false\"\n        :options=\"options\"\n        @validate=\"validateHandler\"\n        @submit=\"submitHandler\"\n        @reset=\"resetHandler\"></cube-form>\n      <json-view title=\"model\" :data=\"model\" />\n      <json-view title=\"validity\" :data=\"validity\" />\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import CubeButtonGroup from '../../components/cube-button-group.vue'\n  import JsonView from '../../components/json-view.vue'\n\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          checkboxValue: false,\n          checkboxGroupValue: [],\n          inputValue: '',\n          radioValue: '',\n          rateValue: 0,\n          selectValue: 2018,\n          switchValue: true,\n          textareaValue: '',\n          uploadValue: []\n        },\n        schema: {\n          groups: [\n            {\n              legend: '基础',\n              fields: [\n                {\n                  type: 'checkbox',\n                  modelKey: 'checkboxValue',\n                  label: 'Checkbox',\n                  props: {\n                    option: {\n                      label: 'Checkbox',\n                      value: true\n                    }\n                  },\n                  rules: {\n                    required: true\n                  },\n                  messages: {\n                    required: 'Please check this field'\n                  }\n                },\n                {\n                  type: 'checkbox-group',\n                  modelKey: 'checkboxGroupValue',\n                  label: 'CheckboxGroup',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'input',\n                  modelKey: 'inputValue',\n                  label: 'Input',\n                  props: {\n                    placeholder: '请输入'\n                  },\n                  rules: {\n                    required: true\n                  },\n                  // validating when blur\n                  trigger: 'blur'\n                },\n                {\n                  type: 'radio-group',\n                  modelKey: 'radioValue',\n                  label: 'Radio',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'select',\n                  modelKey: 'selectValue',\n                  label: 'Select',\n                  props: {\n                    options: [2015, 2016, 2017, 2018, 2019, 2020]\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'switch',\n                  modelKey: 'switchValue',\n                  label: 'Switch',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'textarea',\n                  modelKey: 'textareaValue',\n                  label: 'Textarea',\n                  rules: {\n                    required: true\n                  },\n                  // debounce validate\n                  // if set to true, the default debounce time will be 200(ms)\n                  debounce: 100\n                }\n              ]\n            },\n            {\n              legend: '高级',\n              fields: [\n                {\n                  type: 'rate',\n                  modelKey: 'rateValue',\n                  label: 'Rate',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'upload',\n                  modelKey: 'uploadValue',\n                  label: 'Upload',\n                  events: {\n                    'file-removed': (...args) => {\n                      console.log('file removed', args)\n                    }\n                  },\n                  rules: {\n                    required: true,\n                    uploaded: (val, config) => {\n                      return Promise.all(val.map((file, i) => {\n                        return new Promise((resolve, reject) => {\n                          if (file.uploadedUrl) {\n                            return resolve()\n                          }\n                          // fake request\n                          setTimeout(() => {\n                            if (i % 2) {\n                              reject(new Error())\n                            } else {\n                              file.uploadedUrl = 'uploaded/url'\n                              resolve()\n                            }\n                          }, 1000)\n                        })\n                      })).then(() => {\n                        return true\n                      })\n                    }\n                  },\n                  messages: {\n                    uploaded: '上传失败'\n                  }\n                }\n              ]\n            },\n            {\n              fields: [\n                {\n                  type: 'submit',\n                  label: 'Submit'\n                },\n                {\n                  type: 'reset',\n                  label: 'Reset'\n                }\n              ]\n            }\n          ]\n        },\n        options: {\n          scrollToInvalidField: true,\n          layout: 'standard' // classic fresh\n        }\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        e.preventDefault()\n        console.log('submit', e)\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      resetHandler(e) {\n        console.log('reset', e)\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      JsonView\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/form/fresh.vue",
    "content": "<template>\n  <cube-page type=\"form-def\" title=\"Form 表单\">\n    <div slot=\"content\">\n      <cube-form\n        :model=\"model\"\n        :schema=\"schema\"\n        :immediate-validate=\"false\"\n        :options=\"options\"\n        @validate=\"validateHandler\"\n        @submit=\"submitHandler\"\n        @reset=\"resetHandler\"></cube-form>\n      <json-view title=\"model\" :data=\"model\" />\n      <json-view title=\"validity\" :data=\"validity\" />\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import CubeButtonGroup from '../../components/cube-button-group.vue'\n  import JsonView from '../../components/json-view.vue'\n\n  export default {\n    data() {\n      return {\n        validity: {},\n        valid: undefined,\n        model: {\n          checkboxValue: false,\n          checkboxGroupValue: [],\n          inputValue: '',\n          radioValue: '',\n          rateValue: 0,\n          selectValue: 2018,\n          switchValue: true,\n          textareaValue: '',\n          uploadValue: []\n        },\n        schema: {\n          groups: [\n            {\n              legend: '基础',\n              fields: [\n                {\n                  type: 'checkbox',\n                  modelKey: 'checkboxValue',\n                  label: 'Checkbox',\n                  props: {\n                    option: {\n                      label: 'Checkbox',\n                      value: true\n                    }\n                  },\n                  rules: {\n                    required: true\n                  },\n                  messages: {\n                    required: 'Please check this field'\n                  }\n                },\n                {\n                  type: 'checkbox-group',\n                  modelKey: 'checkboxGroupValue',\n                  label: 'CheckboxGroup',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'input',\n                  modelKey: 'inputValue',\n                  label: 'Input',\n                  props: {\n                    placeholder: '请输入'\n                  },\n                  rules: {\n                    required: true\n                  },\n                  // validating when blur\n                  trigger: 'blur'\n                },\n                {\n                  type: 'radio-group',\n                  modelKey: 'radioValue',\n                  label: 'Radio',\n                  props: {\n                    options: ['1', '2', '3']\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'select',\n                  modelKey: 'selectValue',\n                  label: 'Select',\n                  props: {\n                    options: [2015, 2016, 2017, 2018, 2019, 2020]\n                  },\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'switch',\n                  modelKey: 'switchValue',\n                  label: 'Switch',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'textarea',\n                  modelKey: 'textareaValue',\n                  label: 'Textarea',\n                  rules: {\n                    required: true\n                  },\n                  // debounce validate\n                  // if set to true, the default debounce time will be 200(ms)\n                  debounce: 100\n                }\n              ]\n            },\n            {\n              legend: '高级',\n              fields: [\n                {\n                  type: 'rate',\n                  modelKey: 'rateValue',\n                  label: 'Rate',\n                  rules: {\n                    required: true\n                  }\n                },\n                {\n                  type: 'upload',\n                  modelKey: 'uploadValue',\n                  label: 'Upload',\n                  rules: {\n                    required: true,\n                    uploaded: (val, config) => {\n                      return Promise.all(val.map((file, i) => {\n                        return new Promise((resolve, reject) => {\n                          if (file.uploadedUrl) {\n                            return resolve()\n                          }\n                          // fake request\n                          setTimeout(() => {\n                            if (i % 2) {\n                              reject(new Error())\n                            } else {\n                              file.uploadedUrl = 'uploaded/url'\n                              resolve()\n                            }\n                          }, 1000)\n                        })\n                      })).then(() => {\n                        return true\n                      })\n                    }\n                  },\n                  messages: {\n                    uploaded: '上传失败'\n                  }\n                }\n              ]\n            },\n            {\n              fields: [\n                {\n                  type: 'submit',\n                  label: 'Submit'\n                },\n                {\n                  type: 'reset',\n                  label: 'Reset'\n                }\n              ]\n            }\n          ]\n        },\n        options: {\n          scrollToInvalidField: true,\n          layout: 'fresh' // standard classic\n        }\n      }\n    },\n    methods: {\n      submitHandler(e) {\n        e.preventDefault()\n        console.log('submit', e)\n      },\n      validateHandler(result) {\n        this.validity = result.validity\n        this.valid = result.valid\n        console.log('validity', result.validity, result.valid, result.dirty, result.firstInvalidFieldIndex)\n      },\n      resetHandler(e) {\n        console.log('reset', e)\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      JsonView\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/form/index.vue",
    "content": "<template>\n  <cube-page type=\"form\" title=\"Form\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('custom')\">Custom</cube-button>\n        <cube-button @click=\"goTo('classic')\">Classic style</cube-button>\n        <cube-button @click=\"goTo('fresh')\">Fresh style</cube-button>\n        <cube-button @click=\"goTo('questionnaire')\">Questionnaire</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/form/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/form/questionnaire.vue",
    "content": "<template>\n  <cube-page class=\"page-questionnaire\" title=\"Questionnaire\">\n    <demo-questionnaire\n      slot=\"content\"\n      :tip=\"tip\"\n      :questions=\"questions\"\n      :submit=\"submit\"\n      @submit=\"submitHandler\"\n    />\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\nimport DemoQuestionnaire from '../../components/questionnaire/questionnaire.vue'\nexport default {\n  data() {\n    return {\n      tip: '请配合如实填写问卷，确保xxxx相关文案',\n      questions: [\n        {\n          type: 'switch',\n          model: 'switch',\n          title: '询问是否？'\n          // required: true\n        },\n        {\n          type: 'input',\n          model: 'input',\n          title: '输入',\n          options: {\n            placeholder: '请输入'\n          },\n          on: 'switch',\n          required: true\n        },\n        {\n          type: 'date',\n          model: 'date',\n          title: '日期',\n          options: {\n            // min: '2020-01-01',\n            // max: '2020-02-18'\n          },\n          required: true\n        },\n        {\n          type: 'time',\n          model: 'time',\n          title: '时间',\n          options: {\n            min: '01:00',\n            max: '23:59'\n          },\n          required: true\n        },\n        {\n          type: 'select',\n          model: 'select',\n          title: '选择',\n          options: [\n            'option1',\n            'option2',\n            'option3'\n          ],\n          required: true\n        },\n        {\n          type: 'radio',\n          model: 'radio',\n          title: '单选',\n          options: [\n            '单选1',\n            '单选2',\n            '单选3'\n          ],\n          required: true\n        },\n        {\n          type: 'checkbox',\n          model: 'checkbox',\n          title: '多选',\n          options: [\n            '多选1',\n            '多选2',\n            '多选3'\n          ],\n          required: true\n        },\n        {\n          type: 'textarea',\n          model: 'textarea',\n          title: '多行文本',\n          on: {\n            model: 'checkbox',\n            options: ['多选1', '多选3']\n          },\n          required: true\n        },\n        {\n          type: 'checkbox',\n          row: true,\n          model: 'checkbox2',\n          title: '多选-横',\n          options: [\n            '多选-横1',\n            '多选-横2',\n            '多选-横3'\n          ],\n          required: true\n        },\n        {\n          type: 'tel',\n          model: 'tel',\n          title: '手机号',\n          options: {\n            placeholder: '请输入手机号'\n          },\n          required: true\n        },\n        {\n          type: 'rate',\n          model: 'rate',\n          title: '级别',\n          options: {\n            max: 10\n          },\n          required: true\n        },\n        {\n          type: 'city',\n          model: 'city',\n          title: '城市',\n          required: true\n        },\n        {\n          type: 'upload',\n          model: 'upload',\n          title: '上传',\n          options: {\n            action: '//jsonplaceholder.typicode.com/photos/',\n            max: 2\n          },\n          required: true\n        },\n        {\n          type: 'agreement',\n          model: 'agreement',\n          options: {\n            text: '请同意',\n            link: {\n              text: '《xx协议》',\n              href: 'https://github.com/didi/cube-ui'\n            },\n            desc: '说明：本人承诺xx xxxxx xxx xx。'\n          },\n          required: true,\n          errMsg: '请同意协议'\n        }\n      ],\n      submit: {\n        text: 'Submit'\n      }\n    }\n  },\n  components: {\n    CubePage,\n    DemoQuestionnaire\n  },\n  methods: {\n    submitHandler(model) {\n      console.log('submit', model)\n    }\n  }\n}\n</script>\n<style lang=\"stylus\">\n.cube-page\n  &.page-questionnaire\n    .wrapper\n      .content\n        margin: 0\n</style>\n"
  },
  {
    "path": "example/pages/image-preview/index.vue",
    "content": "<template>\n  <cube-page type=\"image-preview-def\" title=\"ImagePreview\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-button-group>\n          <cube-button @click=\"showImagePreview\">Show ImagePreview</cube-button>\n          <cube-button @click=\"goTo('multi-images-preview')\">Show MultiImagePreview</cube-button>\n          <cube-button @click=\"showCustomImagePreview\">Show Custom ImagePreview</cube-button>\n        </cube-button-group>\n      </div>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import CubeButtonGroup from '../../components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    data() {\n      return {\n        customIndex: 1,\n        imgs: [\n          'https://dpubstatic.udache.com/static/dpubimg/XsZT-Ium9K/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://dpubstatic.udache.com/static/dpubimg/jM0pARr01R/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://dpubstatic.udache.com/static/dpubimg/uesDMLn8ho/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg',\n          'https://dpubstatic.udache.com/static/dpubimg/yGntxcSqhM/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\n        ]\n      }\n    },\n    methods: {\n      showImagePreview() {\n        this.$createImagePreview({\n          imgs: this.imgs\n        }).show()\n      },\n      showCustomImagePreview() {\n        this.$createImagePreview({\n          imgs: this.imgs,\n          initialIndex: this.customIndex,\n          loop: false,\n          speed: 500,\n          onChange: (i) => {\n            this.customIndex = i\n          },\n          onHide: () => {\n            console.log('hide')\n          }\n        }, (h) => {\n          return h('div', {\n            class: {\n              'image-preview-custom-header': true\n            },\n            slot: 'header'\n          }, this.customIndex + 1)\n        }).show()\n      },\n      goTo(subPath) {\n        this.$router.push('/image-preview/' + subPath)\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n  .image-preview-custom-header\n    padding: 20px\n    text-align: center\n    color: #fff\n    background-color: #000\n</style>\n"
  },
  {
    "path": "example/pages/image-preview/multi-images-preview.vue",
    "content": "<template>\n  <cube-page type=\"multi-images-preview\" title=\"MultiImagesPreview\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <div class=\"tips\">Click Image</div>\n        <div class=\"imgs-container\">\n          <img :src=\"img\" v-for=\"(img, index) in imgs\" :key=\"img\" @click=\"handleImgsClick(index)\">\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        initialIndex: 0,\n        imgs: [\n          'https://dpubstatic.udache.com/static/dpubimg/XsZT-Ium9K/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n          'https://dpubstatic.udache.com/static/dpubimg/jM0pARr01R/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n          'https://dpubstatic.udache.com/static/dpubimg/uesDMLn8ho/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\n        ]\n      }\n    },\n    methods: {\n      handleImgsClick(index) {\n        this.initialIndex = index\n        const params = {\n          $props: {\n            imgs: this.imgs,\n            initialIndex: 'initialIndex',\n            loop: false\n          },\n          $events: {\n            change: (i) => {\n              this.initialIndex = i\n            }\n          }\n        }\n        this.$createImagePreview({ ...params }).show()\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n    .imgs-container\n      margin-top 50px\n      > img\n        max-width: 100px\n        height: 67px\n        margin: 0 10px 16px 10px\n        border-radius: 4px\n    .tips\n      margin-top 50px\n      text-align center\n      font-size 30px\n      color #222\n</style>\n"
  },
  {
    "path": "example/pages/index-list/custom.vue",
    "content": "<template>\n  <cube-page type=\"index-list\" title=\"IndexList\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <div class=\"index-list-wrapper custom\">\n          <cube-index-list :data=\"singerData\">\n            <cube-index-list-group v-for=\"(group, index) in singerData\" :key=\"index\" :group=\"group\">\n              <cube-index-list-item v-for=\"(item, index) in group.items\" :key=\"index\" :item=\"item\" @select=\"selectItem\">\n                <div class=\"custom-item\">\n                  <img class=\"avatar\" v-lazy=\"item.avatar\">\n                  <span class=\"name\">{{item.name}}</span>\n                </div>\n              </cube-index-list-item>\n            </cube-index-list-group>\n            <span class=\"custom-nav-item\" slot=\"nav-item\" slot-scope=\"props\">{{props.item}}</span>\n          </cube-index-list>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import singerData from '../../data/singer.json'\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        singerData: singerData\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../../src/common/stylus/variable.styl\"\n\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n    .index-list-wrapper\n      height: 98%\n      width: 94%\n      margin: 0 auto\n      overflow: hidden\n      &.custom\n        .cube-index-list-content\n          background-color: #222\n          color: #909090\n        .cube-index-list-group\n          padding-bottom: 30px\n        .cube-index-list-anchor\n          background-color: #333\n          height: 30px\n          line-height: 30px\n          padding: 0 0 0 20px\n        .custom-item\n          display: flex\n          align-items: center\n          padding: 20px 0 0 30px\n          .avatar\n            width: 50px\n            height: 50px\n            border-radius: 50%\n          .name\n            margin-left: 20px\n            color: $color-text-l\n            font-size: $font-size-medium\n        .cube-index-list-nav\n          padding: 20px 0\n          border-radius: 10px\n          background: rgba(0,0,0,.3)\n          >ul\n            >li\n              padding: 3px\n              &.active\n                .custom-nav-item\n                  color: #ffcd32\n        .custom-nav-item\n          font-size: 12px\n          color: #909090\n</style>\n"
  },
  {
    "path": "example/pages/index-list/default.vue",
    "content": "<template>\n  <cube-page type=\"index-list\" title=\"IndexList\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <div class=\"index-list-wrapper\">\n          <cube-index-list\n            :data=\"cityData\"\n            :title=\"title\"\n            @select=\"selectItem\"\n            @title-click=\"clickTitle\">\n          </cube-index-list>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import cityData from '../../data/index-list.json'\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        cityData: cityData\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n    .index-list-wrapper\n      height: 98%\n      width: 94%\n      margin: 0 auto\n      overflow: hidden\n</style>\n"
  },
  {
    "path": "example/pages/index-list/index.vue",
    "content": "<template>\n  <cube-page type=\"index-list\" title=\"IndexList\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('custom')\">Custom</cube-button>\n        <cube-button @click=\"goTo('pull-up-load')\">Pull Up Load</cube-button>\n        <cube-button @click=\"goTo('pull-down-refresh')\">Pull Down Refresh</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/index-list/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/index-list/pull-down-refresh.vue",
    "content": "<template>\n  <cube-page type=\"index-list\" title=\"IndexList\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <div class=\"index-list-wrapper\">\n          <cube-index-list\n            ref=\"indexList\"\n            :data=\"data\"\n            :title=\"title\"\n            :options=\"options\"\n            @select=\"selectItem\"\n            @title-click=\"clickTitle\"\n            @pulling-down=\"onPullingDown\">\n          </cube-index-list>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import cityData from '../../data/index-list.json'\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        data: cityData,\n        options: {\n          pullDownRefresh: {\n            stop: 55\n          }\n        }\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      },\n      onPullingDown() {\n        // Mock async load.\n        setTimeout(() => {\n          // Update data.\n          this.data[1].items.push(...cityData[1].items)\n          // Call forceUpdate after finishing data load.\n          this.$refs.indexList.forceUpdate(true)\n        }, 1000)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n    .index-list-wrapper\n      height: 98%\n      width: 94%\n      margin: 0 auto\n      overflow: hidden\n</style>\n"
  },
  {
    "path": "example/pages/index-list/pull-up-load.vue",
    "content": "<template>\n  <cube-page type=\"index-list\" title=\"IndexList\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <div class=\"index-list-wrapper\">\n          <cube-index-list\n            ref=\"indexList\"\n            :data=\"data\"\n            :title=\"title\"\n            :options=\"options\"\n            @select=\"selectItem\"\n            @title-click=\"clickTitle\"\n            @pulling-up=\"onPullingUp\">\n          </cube-index-list>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import cityData from '../../data/index-list.json'\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        title: 'Current City: BEIJING',\n        data: cityData.slice(0, 4),\n        options: {\n          pullUpLoad: true\n        }\n      }\n    },\n    methods: {\n      selectItem(item) {\n        console.log(item.name)\n      },\n      clickTitle(title) {\n        console.log(title)\n      },\n      onPullingUp() {\n        // Mock async load.\n        setTimeout(() => {\n          const length = this.data.length\n          if (length < cityData.length) {\n            // Update data.\n            this.data.push(cityData[length])\n          }\n          // Call forceUpdate after finishing data load.\n          this.$refs.indexList.forceUpdate()\n        }, 1000)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n    .index-list-wrapper\n      height: 98%\n      width: 94%\n      margin: 0 auto\n      overflow: hidden\n</style>\n"
  },
  {
    "path": "example/pages/input.vue",
    "content": "<template>\n  <cube-page\n    type=\"input-view\"\n    title=\"Input\"\n    class=\"option-demo\">\n    <div slot=\"content\">\n      <cube-input\n        :type=\"type\"\n        placeholder=\"please type here...\"\n        :disabled=\"disabled\"\n        :readonly=\"readonly\"\n        :clearable=\"clearable\"\n        :autocomplete=\"true\"\n        :eye=\"eye\"\n        v-model=\"value\"\n      ></cube-input>\n      <div class=\"value\">value: {{value}}</div>\n      <div class=\"options\">\n        <div class=\"option-list\">\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"disabled\" :value=\"disabled\"\n                            @update:value=\"updateDisabled\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"readonly\" :value=\"readonly\"\n                            @update:value=\"updateReadonly\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"maxlength:10\" :value=\"maxlength10\"\n                            @update:value=\"updateMaxLength\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"clearable\" :value=\"useClear\"\n                            @update:value=\"updateUseClear\"></switch-option>\n            <switch-option class=\"item\" name=\"blur hiden\" :value=\"clearBlurHidden\"\n                            @update:value=\"updateBlurHidden\" v-if=\"useClear\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"password\" :value=\"isPwd\"\n                            @update:value=\"updatePwd\"></switch-option>\n            <switch-option class=\"item\" name=\"show eye\" :value=\"showEye\"\n                            @update:value=\"updateShowEye\" v-if=\"isPwd\"></switch-option>\n            <switch-option class=\"item\" name=\"reverse\" :value=\"reverse\"\n                            @update:value=\"updateReverse\" v-if=\"isPwd && showEye\"></switch-option>\n            <switch-option class=\"item\" name=\"password visible\" :value=\"pwdVisible\"\n                            @update:value=\"updatePwdVisible\" v-if=\"isPwd && showEye\"></switch-option>\n          </div>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n  import SwitchOption from '../components/switch-option'\n\n  export default {\n    data() {\n      return {\n        type: 'password',\n        value: '',\n        disabled: false,\n        useClear: true,\n        maxlength10: false,\n        clearBlurHidden: true,\n        readonly: false,\n        isPwd: true,\n        showEye: true,\n        pwdVisible: true,\n        reverse: false\n      }\n    },\n    computed: {\n      clearable() {\n        return {\n          visible: this.useClear,\n          blurHidden: this.clearBlurHidden\n        }\n      },\n      eye() {\n        if (this.isPwd && this.showEye) {\n          return {\n            open: this.reverse ? !this.pwdVisible : this.pwdVisible,\n            reverse: this.reverse\n          }\n        } else {\n          return false\n        }\n      }\n    },\n    watch: {\n      value(newV) {\n        if (this.maxlength10 && newV.length > 10) {\n          newV = newV.slice(0, 10)\n          this.$nextTick(() => {\n            this.value = newV\n          })\n        }\n      }\n    },\n    methods: {\n      updateDisabled(val) {\n        this.disabled = val\n      },\n      updateReadonly(val) {\n        this.readonly = val\n      },\n      updateUseClear(val) {\n        this.useClear = val\n      },\n      updateBlurHidden(val) {\n        this.clearBlurHidden = val\n      },\n      updateMaxLength(val) {\n        this.maxlength10 = val\n      },\n      updatePwd(val) {\n        this.isPwd = val\n        this.type = this.isPwd ? 'password' : 'text'\n      },\n      updateShowEye(val) {\n        this.showEye = val\n      },\n      updatePwdVisible(val) {\n        this.pwdVisible = val\n      },\n      updateReverse(val) {\n        this.reverse = val\n      }\n    },\n    components: {\n      CubePage,\n      SwitchOption\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n.cube-page.option-demo.input-view .wrapper\n  background-color: #efeff4\n  .group\n    background-color: white\n  .value\n    margin: 15px 5px\n</style>\n"
  },
  {
    "path": "example/pages/loading.vue",
    "content": "<template>\n  <cube-page type=\"loading-view\" title=\"Loading\">\n    <div slot=\"content\">\n      <cube-loading></cube-loading>\n      <cube-loading :size=\"28\"></cube-loading>\n      <cube-loading :size=\"40\"></cube-loading>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    components: {\n      CubePage\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/picker.vue",
    "content": "<template>\n  <cube-page type=\"picker-view\" title=\"Picker\" desc=\"\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showPicker\">Picker</cube-button>\n        <cube-button @click=\"showMutiPicker\">Multi-column Picker</cube-button>\n        <cube-button @click=\"showAliasPicker\">Use alias</cube-button>\n        <cube-button @click=\"showUpdatePropsPicker\">Use $updateProps</cube-button>\n        <cube-button @click=\"showSubtitlePicker\">Use subtitle</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import { column1, column2, column3 } from 'example/data/picker'\n\n  export default {\n    methods: {\n      showPicker() {\n        if (!this.picker) {\n          this.picker = this.$createPicker({\n            title: 'Picker',\n            data: [column1],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.picker.show()\n      },\n      showMutiPicker() {\n        if (!this.mutiPicker) {\n          this.mutiPicker = this.$createPicker({\n            title: 'Multi-column Picker',\n            data: [column1, column2, column3],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.mutiPicker.show()\n      },\n      showAliasPicker() {\n        if (!this.aliasPicker) {\n          this.aliasPicker = this.$createPicker({\n            title: 'Use Alias',\n            data: [[{ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }]],\n            alias: {\n              value: 'id',\n              text: 'name'\n            },\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.aliasPicker.show()\n      },\n      showSetDataPicker() {\n        if (!this.setDataPicker) {\n          this.setDataPicker = this.$createPicker({\n            title: 'Use SetData',\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.setDataPicker.setData([column1, column2, column3], [1, 2, 3])\n        this.setDataPicker.show()\n      },\n      showUpdatePropsPicker() {\n        if (!this.updatePropsPicker) {\n          this.updatePropsPicker = this.$createPicker({\n            title: 'Use $updateProps',\n            data: [column1],\n            selectedIndex: [0],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.updatePropsPicker.show()\n        setTimeout(() => {\n          this.updatePropsPicker.$updateProps({\n            title: 'Updated',\n            data: [column1, column2, column3],\n            selectedIndex: [1, 2, 3]\n          })\n        }, 1000)\n      },\n      showSubtitlePicker() {\n        if (!this.subtitlePicker) {\n          this.subtitlePicker = this.$createPicker({\n            title: 'Picker',\n            subtitle: 'subtitle',\n            data: [column1],\n            onSelect: this.selectHandle,\n            onCancel: this.cancelHandle\n          })\n        }\n        this.subtitlePicker.show()\n      },\n      selectHandle(selectedVal, selectedIndex, selectedText) {\n        this.$createDialog({\n          type: 'warn',\n          content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandle() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/popup.vue",
    "content": "<template>\n  <cube-page type=\"popup-view\" title=\"popup\">\n    <template slot=\"content\">\n      <div>\n        <cube-popup type=\"my-popup\" v-model=\"visible1\">My Popup Content 1</cube-popup>\n        <cube-button @click=\"showPopup(1)\">Show Popup</cube-button>\n      </div>\n      <div>\n        <cube-popup type=\"my-popup\" v-model=\"visible2\" :mask=\"false\">My Popup Content 2</cube-popup>\n        <cube-button @click=\"showPopup(2)\">Show Popup - no mask</cube-button>\n      </div>\n      <div>\n        <cube-popup type=\"my-popup\" v-model=\"visible3\" :mask=\"false\" content=\"<i>My Popup Content 3</i>\" ref=\"myPopup3\"></cube-popup>\n        <cube-button @click=\"showPopup(3)\">Show Popup - with content</cube-button>\n      </div>\n      <div>\n        <cube-popup type=\"my-popup\" v-model=\"visible4\" :position=\"position\" :mask-closable=\"true\" ref=\"myPopup4\">My Popup Content 4</cube-popup>\n        <cube-button @click=\"showPopup(4)\">top/right/bottom/left/center</cube-button>\n      </div>\n      <div>\n        <cube-extend-popup content=\"click here hide\" ref=\"extendPopup\"></cube-extend-popup>\n        <cube-button @click=\"$refs.extendPopup.show()\">Show Extend Popup</cube-button>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import CubePage from '../components/cube-page.vue'\n  import CubeExtendPopup from '../components/extend-popup.vue'\n\n  const positions = ['top', 'right', 'bottom', 'left', 'center']\n  let cur = 0\n  export default {\n    data() {\n      return {\n        type: 'popup-dialog',\n        mask: true,\n        visible1: false,\n        visible2: false,\n        visible3: false,\n        visible4: false,\n        position: ''\n      }\n    },\n    methods: {\n      showPopup(i) {\n        if (i === 4) {\n          this.position = positions[cur++]\n          if (cur === positions.length) {\n            cur = 0\n          }\n        }\n        this['visible' + i] = true\n        setTimeout(() => {\n          this['visible' + i] = false\n        }, 2000)\n      }\n    },\n    components: {\n      CubeButtonGroup,\n      CubePage,\n      CubeExtendPopup\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .popup-view\n    .content\n      >\n        div\n          margin: 10px 0\n  .cube-my-popup\n    .cube-popup-center\n      .cube-popup-content\n        padding: 20px\n    .cube-popup-content\n      padding: 80px 20px\n      color: #fff\n      background-color: rgba(0, 0, 0, .8)\n  .cube-extend-popup\n    .cube-extend-popup-content\n      padding: 20px\n      color: #fff\n      background-color: rgba(0, 0, 0, .8)\n</style>\n"
  },
  {
    "path": "example/pages/radio.vue",
    "content": "<template>\n  <cube-page type=\"radio-view\" title=\"Radio\">\n    <template slot=\"content\">\n      <cube-radio-group v-model=\"selected\" :options=\"options\" />\n      <p>selected value: {{selected}}</p>\n      <cube-radio-group v-model=\"selected2\" :options=\"options2\" position=\"right\" :hollow-style=\"true\" />\n      <p>selected value: {{selected2}}</p>\n      <cube-radio-group v-model=\"selected3\" :options=\"options3\" :horizontal=\"true\" />\n      <p>selected value: {{selected3}}</p>\n      <cube-radio-group v-model=\"selected4\">\n        <cube-radio\n          v-for=\"(option, index) in options4\"\n          :key=\"index\"\n          :option=\"option\">\n          <img :src=\"option.src\">\n        </cube-radio>\n      </cube-radio-group>\n      <p>selected img: {{selected4}}</p>\n      <hr>\n      <cube-input placeholder=\"Input column number\" v-model=\"colNum\">\n        <div slot=\"prepend\" style=\"paddingLeft: 10px\"> Column number:</div>\n      </cube-input>\n      <cube-radio-group v-model=\"selected5\" :options=\"options5\" :col-num=\"Math.floor(colNum)\" />\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        selected: '',\n        options: ['Option1', 'Option2'],\n        selected2: 3,\n        options2: [\n          {\n            label: 'Option1',\n            value: 1\n          },\n          {\n            label: 'Option2',\n            value: 2\n          },\n          {\n            label: 'Option3',\n            value: 3,\n            disabled: true\n          }\n        ],\n        selected3: '3',\n        options3: [\n          {\n            label: '1',\n            value: '1'\n          },\n          {\n            label: '2',\n            value: '2'\n          },\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          }\n        ],\n        selected4: '1',\n        options4: [\n          {\n            label: '1',\n            value: '1',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\n          },\n          {\n            label: '2',\n            value: '2',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg'\n          },\n          {\n            label: '3',\n            value: '3',\n            src: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1516805611092&di=80d0f229dd999ffa3be79d6e317832b0&imgtype=0&src=http%3A%2F%2Fimglf0.ph.126.net%2F1EnYPI5Vzo2fCkyy2GsJKg%3D%3D%2F2829667940890114965.jpg',\n            disabled: true\n          }\n        ],\n        selected5: '6',\n        options5: [\n          {\n            label: '1',\n            value: '1'\n          },\n          {\n            label: '2',\n            value: '2'\n          },\n          {\n            label: '3',\n            value: '3',\n            disabled: true\n          },\n          {\n            label: '4',\n            value: '4'\n          },\n          {\n            label: '5',\n            value: '5'\n          },\n          {\n            label: '6',\n            value: '6',\n            disabled: true\n          },\n          {\n            label: '7',\n            value: '7'\n          },\n          {\n            label: '8',\n            value: '8'\n          }\n        ],\n        colNum: 3\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .radio-view\n    .content\n      >\n        *\n          margin: 10px 0\n    img\n      width: 100px\n</style>\n"
  },
  {
    "path": "example/pages/rate.vue",
    "content": "<template>\n  <cube-page\n    type=\"rate-view\"\n    title=\"Rate\"\n    class=\"option-demo\">\n    <div slot=\"content\">\n      <div class=\"rate-wrapper\">\n        <cube-rate v-model=\"value\" :disabled=\"disabled\" :max=\"max\" :justify=\"justify\" :allowHalf=\"allowHalf\">\n          <cube-rate-item v-for=\"n in max\" :key=\"n\" :value=\"value\" :index=\"n\">\n            <div class=\"rate-item\" v-if=\"customStar\"></div>\n          </cube-rate-item>\n        </cube-rate>\n      </div>\n      <div class=\"options\">\n        <div class=\"title\">Options</div>\n        <div class=\"option-list\">\n          <switch-option class=\"item\" name=\"disabled\" :value=\"disabled\"\n                            @update:value=\"updateDisabled\"></switch-option>\n          <select-option class=\"item\" name=\"star numbers\" :value=\"max\"\n                            @update:value=\"updateStarNumbers\" :options=\"options\"></select-option>\n          <switch-option class=\"item\" name=\"Justify\" :value=\"justify\"\n                            @update:value=\"updateJustify\"></switch-option>\n          <switch-option class=\"item\" name=\"customStar\" :value=\"customStar\"\n                            @update:value=\"updateRateItem\"></switch-option>\n          <switch-option class=\"item\" name=\"allowHalf\" :value=\"allowHalf\"\n                            @update:value=\"updateAllowHalf\"></switch-option>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import SwitchOption from '../components/switch-option.vue'\n  import SelectOption from '../components/select-option'\n\n  export default {\n    data() {\n      return {\n        disabled: false,\n        max: 5,\n        value: 3,\n        image: 'https://p3.pstatp.com/large/593c0006340abbabefa0',\n        customStar: false,\n        justify: false,\n        options: [\n          {\n            text: '5',\n            value: 5\n          },\n          {\n            text: '10',\n            value: 10\n          }\n        ],\n        allowHalf: false\n      }\n    },\n    methods: {\n      updateDisabled(val) {\n        this.disabled = val\n      },\n      updateStarNumbers(val) {\n        this.max = val\n      },\n      updateJustify(val) {\n        this.justify = val\n      },\n      updateRateItem(val) {\n        this.customStar = val\n      },\n      updateAllowHalf(val) {\n        this.allowHalf = val\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      SwitchOption,\n      SelectOption\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .rate-wrapper\n    margin: 30px 0\n    .rate-text\n      text-align: center\n      margin-top: 25px\n      vertical-align: middle\n    .rate-item\n      width: 100%\n      height: 100%\n      background-size: 100%\n      background-color: grey\n  .cube-rate-item.active\n    .rate-item\n      background-color: orange\n\n</style>\n"
  },
  {
    "path": "example/pages/recycle-list/index.vue",
    "content": "<template>\n  <cube-page type=\"recycle-list\" title=\"RecycleList\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('tombstone')\">Infinite</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/recycle-list/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/recycle-list/recycle-list-default.vue",
    "content": "<template>\n  <cube-page type=\"recycle-list\" title=\"RecycleList\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-recycle-list class=\"list\" :size=\"size\" :on-fetch=\"onFetch\" :offset=\"offset\">\n          <template slot=\"item\" slot-scope=\"{ data }\">\n            <div :id=\"data.id\" class=\"item\" @click=\"handleClick(data)\">\n              <div class=\"avatar\" :style=\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\"></div>\n              <div class=\"bubble\">\n                <p>{{ data.msg }}</p>\n                <div class=\"meta\">\n                  <time class=\"posted-date\">{{ data.time }}</time>\n                </div>\n              </div>\n            </div>\n          </template>\n        </cube-recycle-list>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import Mock from '../../data/messages.js'\n\n  const AVATAR_LENGTH = 6\n  export default {\n    data() {\n      return {\n        // data\n        initTime: new Date().getTime(),\n        id: 0,\n        size: 50,\n        offset: 100\n      }\n    },\n    components: {\n      CubePage\n    },\n    methods: {\n      getItem(id) {\n        const avatar = Math.floor(Math.random() * AVATAR_LENGTH)\n        const msg = Mock.messages[Math.floor(Math.random() * Mock.messages.length)]\n        return {\n          id,\n          avatar: require(`./avatar${avatar}.png`),\n          msg: msg,\n          time: new Date(Math.floor(this.initTime + id * this.size * 1000 + Math.random() * this.size * 1000)).toString()\n        }\n      },\n      onFetch() {\n        let items = []\n        return new Promise((resolve) => {\n          setTimeout(() => {\n            for (let i = 0; i < this.size; i++) {\n              items.push(this.getItem(this.id++))\n            }\n            resolve(items)\n          }, 500)\n        })\n      },\n      handleClick(data) {\n        console.log(data)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: absolute\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n  .list\n    margin: 0 auto\n    padding: 0\n    border: 1px solid #ddd\n    list-style-type: none\n    text-align: center\n    background: #eee\n    .item\n      display: flex\n      padding: 10px 0\n      width: 100%\n      text-align: left\n      .avatar\n        border-radius: 50%\n        margin-left: 15px\n        margin-right: 6px\n        min-width: 48px\n        width: 48px\n        height: 48px\n        background-image: url('./unknown.jpg')\n        background-size: cover\n        outline: none\n      p\n        margin: 0\n        word-wrap: break-word\n        font-size: 14px\n      &.tombstone\n        p\n          width: 100%\n          height: 0.5em\n          background-color: #ccc\n          margin: 0.5em 0\n      .bubble\n        padding: 7px 10px\n        color: #333\n        background: #fff\n        box-shadow: 0 3px 2px rgba(0, 0, 0, 0.1)\n        position: relative\n        max-width: 420px\n        min-width: 80px\n        margin: 0 20px 0 5px\n        &:before\n          content: ''\n          border-style: solid\n          border-width: 0 10px 10px 0\n          border-color: transparent #fff transparent transparent\n          position: absolute\n          top: 0\n          left: -10px\n      .meta\n        font-size: 0.8rem\n        color: #999\n        margin-top: 3px\n</style>\n"
  },
  {
    "path": "example/pages/recycle-list/recycle-list-tombstone.vue",
    "content": "<template>\n  <cube-page type=\"recycle-list\" title=\"RecycleList\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-recycle-list class=\"list\" :infinite=\"infinite\" :size=\"size\" :on-fetch=\"onFetch\">\n          <template slot=\"tombstone\" slot-scope=\"props\">\n            <div class=\"item tombstone\">\n              <div class=\"avatar\"></div>\n              <div class=\"bubble\">\n                <p></p>\n                <p></p>\n                <p></p>\n                <div class=\"meta\">\n                  <time class=\"posted-date\"></time>\n                </div>\n              </div>\n            </div>\n          </template>\n          <template slot=\"item\" slot-scope=\"{ data }\">\n            <div :id=\"data.id\" class=\"item\" @click=\"handleClick(data)\">\n              <div class=\"avatar\" :style=\"{backgroundImage: 'url(' + (data.avatar || '') + ')'}\"></div>\n              <div class=\"bubble\">\n                <p>{{ data.msg }}</p>\n                <div class=\"meta\">\n                  <time class=\"posted-date\">{{ data.time }}</time>\n                </div>\n              </div>\n            </div>\n          </template>\n          <!-- <div slot=\"spinner\">Loading Data</div> -->\n          <div slot=\"noMore\">没有更多数据了</div>\n        </cube-recycle-list>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import Mock from '../../data/messages.js'\n\n  const AVATAR_LENGTH = 6\n  export default {\n    data() {\n      return {\n        // data\n        initTime: new Date().getTime(),\n        id: 0,\n        size: 50,\n        infinite: true\n      }\n    },\n    components: {\n      CubePage\n    },\n    methods: {\n      getItem(id) {\n        const avatar = Math.floor(Math.random() * AVATAR_LENGTH)\n        const msg = Mock.messages[Math.floor(Math.random() * Mock.messages.length)]\n        return {\n          id,\n          avatar: require(`./avatar${avatar}.png`),\n          msg: msg,\n          time: new Date(Math.floor(this.initTime + id * this.size * 1000 + Math.random() * this.size * 1000)).toString()\n        }\n      },\n      onFetch() {\n        let items = []\n        return new Promise((resolve) => {\n          setTimeout(() => {\n            for (let i = 0; i < this.size; i++) {\n              items.push(this.getItem(this.id++))\n            }\n            resolve(items)\n          }, 1000)\n        })\n      },\n      handleClick(data) {\n        console.log(data)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .view-wrapper\n    position: fixed\n    top: 54px\n    left: 0\n    bottom: 0\n    width: 100%\n  .list\n    width: 375px\n    max-width: 100%\n    height: 100%\n    margin: 0 auto\n    padding: 0\n    border: 1px solid #ddd\n    list-style-type: none\n    text-align: center\n    .item\n      display: flex\n      padding: 10px 0\n      width: 100%\n      text-align: left\n      .avatar\n        border-radius: 50%\n        margin-left: 15px\n        margin-right: 6px\n        min-width: 48px\n        width: 48px\n        height: 48px\n        background-image: url('./unknown.jpg')\n        background-size: cover\n        outline: none\n      p\n        margin: 0\n        word-wrap: break-word\n        font-size: 14px\n      &.tombstone\n        p\n          width: 100%\n          height: 0.5em\n          background-color: #ccc\n          margin: 0.5em 0\n      .bubble\n        padding: 7px 10px\n        color: #333\n        background: #fff\n        box-shadow: 0 3px 2px rgba(0, 0, 0, 0.1)\n        position: relative\n        max-width: 420px\n        min-width: 80px\n        margin: 0 20px 0 5px\n        &:before\n          content: ''\n          border-style: solid\n          border-width: 0 10px 10px 0\n          border-color: transparent #fff transparent transparent\n          position: absolute\n          top: 0\n          left: -10px\n      .meta\n        font-size: 0.8rem\n        color: #999\n        margin-top: 3px\n</style>\n"
  },
  {
    "path": "example/pages/scroll/config.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"option-demo\">\n    <div slot=\"content\" class=\"scroll-wrapper\">\n      <div class=\"options\">\n        <div class=\"title\">Options</div>\n        <div class=\"option-list\">\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Pull Down Refresh\" :value=\"pullDownRefresh\"\n                           @update:value=\"updatePullDownRefresh\"></switch-option>\n            <input-option v-if=\"pullDownRefresh\" class=\"item sub first\" name=\"threshold (≥ 40)\"\n                          :value=\"pullDownRefreshThreshold\" min-value=\"40\"\n                          @update:value=\"updatePullDownRefreshThreshold\"></input-option>\n            <!-- <input-option v-if=\"pullDownRefresh\" class=\"item sub\" name=\"stop (≥ 40)\" :value=\"pullDownRefreshStop\"\n                          min-value=\"40\"\n                          @update:value=\"updatePullDownRefreshStop\"></input-option> -->\n            <input-option v-if=\"pullDownRefresh\" class=\"item sub\" name=\"txt\" :value=\"pullDownRefreshTxt\"\n                          @update:value=\"updatePullDownRefreshTxt\"></input-option>\n            <switch-option v-if=\"pullDownRefresh\" class=\"item sub last\" name=\"Custom Animation\" :value=\"customPullDown\"\n                           @update:value=\"updateCustomPullDown\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Pull Up Load\" :value=\"pullUpLoad\"\n                           @update:value=\"updatePullUpLoad\"></switch-option>\n            <input-option v-if=\"pullUpLoad\" class=\"item sub first\" name=\"threshold\" :value=\"pullUpLoadThreshold\"\n                          @update:value=\"updatePullUpLoadThreshold\"></input-option>\n            <input-option v-if=\"pullUpLoad\" class=\"item sub\" name=\"moreTxt\" :value=\"pullUpLoadMoreTxt\"\n                          @update:value=\"updatePullUpLoadMoreTxt\"></input-option>\n            <input-option v-if=\"pullUpLoad\" class=\"item sub last\" name=\"noMoreTxt\" :value=\"pullUpLoadNoMoreTxt\"\n                          @update:value=\"updatePullUpLoadNoMoreTxt\"></input-option>\n          </div>\n        </div>\n      </div>\n      <div class=\"demo\">\n        <div class=\"title\">Demo</div>\n        <div class=\"scroll-list-wrap\">\n          <cube-scroll\n            ref=\"scroll\"\n            :data=\"items\"\n            :options=\"options\"\n            @pulling-down=\"onPullingDown\"\n            @pulling-up=\"onPullingUp\">\n            <ul class=\"foods-wrapper\">\n              <li v-for=\"food in items\" class=\"food-item border-1px\">\n                <div class=\"icon\">\n                  <img width=\"57\" height=\"57\" :src=\"food.icon\">\n                </div>\n                <div class=\"food-content\">\n                  <h2 class=\"name\">{{food.name}}</h2>\n                  <p class=\"description\">{{food.description}}</p>\n                  <div class=\"extra\">\n                    <span class=\"count\">月售{{food.sellCount}}份</span><span>好评率{{food.rating}}%</span>\n                  </div>\n                  <div class=\"price\">\n                    <span class=\"now\">￥{{food.price}}</span>\n                    <span class=\"old\" v-show=\"food.oldPrice\">￥{{food.oldPrice}}</span>\n                  </div>\n                </div>\n              </li>\n            </ul>\n            <template v-if=\"customPullDown\" slot=\"pulldown\" slot-scope=\"props\">\n              <div\n                  v-if=\"props.pullDownRefresh\"\n                  class=\"cube-pulldown-wrapper\"\n                  :style=\"props.pullDownStyle\">\n                <div\n                    v-show=\"props.beforePullDown\"\n                    class=\"before-trigger\"\n                    :style=\"{paddingTop: props.bubbleY + 'px'}\">\n                  <span :class=\"{rotate: props.bubbleY > pullDownRefreshThreshold - 40}\">↓</span>\n                </div>\n                <div class=\"after-trigger\" v-show=\"!props.beforePullDown\">\n                  <div v-show=\"props.isPullingDown\" class=\"loading\">\n                    <cube-loading></cube-loading>\n                  </div>\n                  <div v-show=\"!props.isPullingDown\" class=\"text\"><span class=\"refresh-text\">Refresh success</span></div>\n                </div>\n              </div>\n            </template>\n          </cube-scroll>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport Vue from 'vue'\nimport CubePage from '../../components/cube-page.vue'\nimport SwitchOption from '../../components/switch-option'\nimport InputOption from '../../components/input-option'\nimport SelectOption from '../../components/select-option'\nimport goodsData from 'example/data/goods-list.json'\n\nlet _foods = []\n\ngoodsData.goods.forEach(item => {\n  _foods = _foods.concat(item.foods)\n})\n\nexport default {\n  data() {\n    return {\n      items: _foods,\n      pullDownRefresh: false,\n      pullDownRefreshThreshold: 60,\n      pullDownRefreshStop: 40,\n      pullDownRefreshTxt: 'Refresh success',\n      pullUpLoad: false,\n      pullUpLoadThreshold: 0,\n      pullUpLoadMoreTxt: 'Load more',\n      pullUpLoadNoMoreTxt: 'No more data',\n      customPullDown: false\n    }\n  },\n  components: {\n    CubePage,\n    SwitchOption,\n    InputOption,\n    SelectOption\n  },\n  computed: {\n    options() {\n      return {\n        pullDownRefresh: this.pullDownRefreshObj,\n        pullUpLoad: this.pullUpLoadObj,\n        scrollbar: true\n      }\n    },\n    pullDownRefreshObj: function() {\n      return this.pullDownRefresh ? {\n        threshold: parseInt(this.pullDownRefreshThreshold),\n        // Do not need to set stop value, but you can if you want\n        // stop: parseInt(this.pullDownRefreshStop),\n        txt: this.pullDownRefreshTxt\n      } : false\n    },\n    pullUpLoadObj: function() {\n      return this.pullUpLoad ? {\n        threshold: parseInt(this.pullUpLoadThreshold),\n        txt: {\n          more: this.pullUpLoadMoreTxt,\n          noMore: this.pullUpLoadNoMoreTxt\n        }\n      } : false\n    }\n  },\n  methods: {\n    onPullingDown() {\n      // 模拟更新数据\n      setTimeout(() => {\n        if (Math.random() > 0.5) {\n          // 如果有新数据\n          this.items.unshift(_foods[1])\n        } else {\n          // 如果没有新数据\n          this.$refs.scroll.forceUpdate()\n        }\n      }, 1000)\n    },\n    onPullingUp() {\n      // 更新数据\n      setTimeout(() => {\n        if (Math.random() > 0.5) {\n          // 如果有新数据\n          let newPage = _foods.slice(0, 5)\n          this.items = this.items.concat(newPage)\n        } else {\n          // 如果没有新数据\n          this.$refs.scroll.forceUpdate()\n        }\n      }, 1000)\n    },\n    updatePullDownRefresh(val) {\n      this.pullDownRefresh = val\n    },\n    updatePullDownRefreshThreshold(val) {\n      this.pullDownRefreshThreshold = val\n    },\n    // updatePullDownRefreshStop(val) {\n    //   this.pullDownRefreshStop = val\n    // },\n    updatePullDownRefreshTxt(val) {\n      this.pullDownRefreshTxt = val\n    },\n    updatePullUpLoad(val) {\n      this.pullUpLoad = val\n    },\n    updatePullUpLoadThreshold(val) {\n      this.pullUpLoadThreshold = val\n    },\n    updatePullUpLoadMoreTxt(val) {\n      this.pullUpLoadMoreTxt = val\n    },\n    updatePullUpLoadNoMoreTxt(val) {\n      this.pullUpLoadNoMoreTxt = val\n    },\n    updateCustomPullDown(val) {\n      this.customPullDown = val\n    },\n    rebuildScroll() {\n      Vue.nextTick(() => {\n        this.$refs.scroll.destroy()\n        this.$refs.scroll.initScroll()\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.scroll-wrapper \n  .cube-pulldown-wrapper \n    .before-trigger \n      font-size: 30px\n      line-height: 30px\n      align-self: flex-end\n      span \n        display: inline-block\n        transition: all 0.3s\n        color: #666\n        &.rotate \n          transform: rotate(180deg)\n    .after-trigger\n      .refresh-text\n        color: grey\n\n.scroll-list-wrap \n  height: 350px\n  border: 1px solid rgba(0, 0, 0, 0.1)\n  border-radius: 5px\n  transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n  overflow: hidden\n\n.foods-wrapper \n  .food-item \n    display: flex\n    padding: 18px\n    border-bottom: 1px solid rgba(7, 17, 27, 0.1)\n\n    &:last-child \n      border-none()\n      margin-bottom: 0\n    .icon \n      flex: 0 0 57px\n      margin-right: 10px\n\n    .food-content \n      flex: 1\n      .name \n        margin: 2px 0 8px 0\n        height: 14px\n        line-height: 14px\n        font-size: 14px\n        color: rgb(7, 17, 27)\n      .description, .extra \n        line-height: 10px\n        font-size: 10px\n        color: rgb(147, 153, 159)\n      .description \n        line-height: 12px\n        margin-bottom: 8px\n      .extra \n        .count \n          margin-right: 12px\n      .price \n        font-weight: 700\n        line-height: 24px\n        .now \n          margin-right: 8px\n          font-size: 14px\n          color: rgb(240, 20, 20)\n        .old \n          text-decoration: line-through\n          font-size: 10px\n          color: rgb(147, 153, 159)\n      .cartcontrol-wrapper \n        position: absolute\n        right: 0\n        bottom: 12px\n</style>\n"
  },
  {
    "path": "example/pages/scroll/default.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"option-demo\">\n    <div slot=\"content\" class=\"scroll-wrapper\">\n      <div class=\"options\">\n        <div class=\"title\">Basic Options</div>\n        <div class=\"option-list\">\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Scrollbar\" :value=\"scrollbar\"\n                           @update:value=\"updateScrollbar\"></switch-option>\n            <switch-option v-if=\"scrollbar\" class=\"item sub first last\" name=\"fade\" :value=\"scrollbarFade\"\n                           @update:value=\"updateScrollbarFade\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <input-option class=\"item\" name=\"startY\" :value=\"startY\"\n                          @update:value=\"updateStartY\"></input-option>\n          </div>\n        </div>\n      </div>\n      <div class=\"demo\">\n        <div class=\"title\">Basic Demo</div>\n        <div class=\"scroll-list-wrap\">\n          <cube-scroll\n            ref=\"scroll\"\n            :data=\"items\"\n            :options=\"options\">\n          </cube-scroll>\n        </div>\n      </div>\n      <div class=\"methods\">\n        <div class=\"title\">Methods</div>\n        <ul class=\"method-list\">\n          <li class=\"group\">\n            <input-option class=\"item\" name=\"y\" :value=\"scrollToY\"\n                          @update:value=\"updateScrollToY\"></input-option>\n            <input-option class=\"item\" name=\"time\" :value=\"scrollToTime\"\n                          @update:value=\"updateScrollToTime\"></input-option>\n            <select-option class=\"item\" name=\"easing\" :value=\"scrollToEasing\" :options=\"scrollToEasingOptions\"\n                           @update:value=\"updateScrollToEasing\"></select-option>\n            <button @click=\"scrollTo\">scrollTo</button>\n          </li>\n        </ul>\n      </div>\n\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport Vue from 'vue'\nimport CubePage from '../../components/cube-page.vue'\nimport SwitchOption from '../../components/switch-option'\nimport InputOption from '../../components/input-option'\nimport SelectOption from '../../components/select-option'\n\nimport { ease } from '../../data/ease'\n\nconst _data = [\n  '😀 😁 😂 🤣 😃 😄 ',\n  '🙂 🤗 🤩 🤔 🤨 😐 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '😔 😕 🙃 🤑 😲 ☹️ ',\n  '🐣 🐣 🐣 🐣 🐣 🐣 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '🐥 🐥 🐥 🐥 🐥 🐥 ',\n  '🤓 🤓 🤓 🤓 🤓 🤓 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '🦔 🦔 🦔 🦔 🦔 🦔 ',\n  '🙈 🙈 🙈 🙈 🙈 🙈 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '🚖 🚖 🚖 🚖 🚖 🚖 ',\n  '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n]\n\nexport default {\n  data() {\n    return {\n      items: _data,\n      itemIndex: _data.length,\n      scrollbar: true,\n      scrollbarFade: true,\n      startY: 0,\n      scrollToY: -200,\n      scrollToTime: 700,\n      scrollToEasing: 'bounce',\n      scrollToEasingOptions: [\n        {\n          text: 'bounce',\n          value: 'bounce'\n        },\n        {\n          text: 'swipe',\n          value: 'swipe'\n        },\n        {\n          text: 'swipeBounce',\n          value: 'swipeBounce'\n        }\n      ],\n      customPullDown: false\n    }\n  },\n  computed: {\n    options() {\n      return {\n        scrollbar: this.scrollbarObj,\n        startY: this.startY\n      }\n    },\n    scrollbarObj: function() {\n      return this.scrollbar ? { fade: this.scrollbarFade } : false\n    }\n  },\n  watch: {\n    scrollbarObj: {\n      handler() {\n        this.rebuildScroll()\n      },\n      deep: true\n    },\n    startY() {\n      this.rebuildScroll()\n    }\n  },\n  methods: {\n    scrollTo() {\n      this.$refs.scroll.scrollTo(\n        0,\n        this.scrollToY,\n        this.scrollToTime,\n        ease[this.scrollToEasing]\n      )\n    },\n    updateScrollbar(val) {\n      this.scrollbar = val\n    },\n    updateScrollbarFade(val) {\n      this.scrollbarFade = val\n    },\n    updateStartY(val) {\n      this.startY = val\n    },\n    updateScrollToY(val) {\n      this.scrollToY = val\n    },\n    updateScrollToTime(val) {\n      this.scrollToTime = val\n    },\n    updateScrollToEasing(val) {\n      this.scrollToEasing = val\n    },\n    rebuildScroll() {\n      Vue.nextTick(() => {\n        this.$refs.scroll.destroy()\n        this.$refs.scroll.initScroll()\n      })\n    }\n  },\n  components: {\n    CubePage,\n    SwitchOption,\n    InputOption,\n    SelectOption\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.scroll-list-wrap {\n  height: 350px;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  border-radius: 5px;\n  transform: rotate(0deg); // fix 子元素超出边框圆角部分不隐藏的问题\n  overflow: hidden;\n}\n</style>\n"
  },
  {
    "path": "example/pages/scroll/horizontal-scrolls.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"option-demo\">\n    <div slot=\"content\" class=\"scroll-wrapper\">\n      <div class=\"demo\">\n        <cube-scroll\n          ref=\"scroll\"\n          :data=\"items1\"\n          direction=\"horizontal\"\n          class=\"outer-horizontal-scroll\">\n          <ul class=\"list-wrapper\">\n            <li v-for=\"item in items1\" class=\"list-item\">{{ item }}</li>\n            <li class=\"list-item inner-horizontal-scroll\">\n              <cube-scroll\n                ref=\"scroll\"\n                :data=\"items2\"\n                nestMode=\"free\"\n                direction=\"horizontal\">\n                <ul class=\"list-wrapper\">\n                  <li v-for=\"item in items2\" class=\"list-item\">{{ item }}</li>\n                </ul>\n              </cube-scroll>\n            </li>\n            <li v-for=\"item in items1\" class=\"list-item\">{{ item }}</li>\n          </ul>\n        </cube-scroll>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\n\nconst _data1 = [\n  '👈🏻  outer 👉🏻 ',\n  '🙂 🤔 😄 🤨 😐 🙃 '\n]\n\nconst _data2 = [\n  '👈🏻  inner 👉🏻  ',\n  '🙂 🤔 😄 🤨 😐 🙃 ',\n  '👈🏻  inner 👉🏻 ',\n  '😔 😕 🙃 🤑 😲 ☹️ ',\n  '👈🏻  inner 👉🏻 ',\n  '🐣 🐣 🐣 🐣 🐣 🐣 ',\n  '👈🏻  inner 👉🏻 ',\n  '🐥 🐥 🐥 🐥 🐥 🐥 '\n]\n\nexport default {\n  data() {\n    return {\n      items1: _data1,\n      items2: _data2\n    }\n  },\n  components: {\n    CubePage\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.inner-horizontal-scroll  \n  vertical-align: top\n  width: 200px\n.outer-horizontal-scroll\n.inner-horizontal-scroll\n  border: 1px solid rgba(0, 0, 0, 0.1)\n  border-radius: 5px\n  transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n  position: relative\n  .cube-scroll-content\n    display: inline-block\n    vertical-align: top\n  .list-wrapper\n    padding: 0 10px\n    line-height: 60px\n    white-space: nowrap\n  .list-item\n    display: inline-block\n</style>\n"
  },
  {
    "path": "example/pages/scroll/horizontal.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"option-demo\">\n    <div slot=\"content\" class=\"scroll-wrapper\">\n      <div class=\"demo\">\n        <div class=\"title\">horizontal Demo</div>\n        <cube-scroll\n          ref=\"scroll\"\n          :data=\"items\"\n          direction=\"horizontal\"\n          class=\"horizontal-scroll-list-wrap\">\n          <ul class=\"list-wrapper\">\n            <li v-for=\"item in items\" class=\"list-item\">{{ item }}</li>\n          </ul>\n        </cube-scroll>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\n\nconst _data = [\n  '😀 😁 😂 🤣 😃 🙃 ',\n  '👈🏻  scroll 👉🏻 ',\n  '🙂 🤔 😄 🤨 😐 🙃 ',\n  '👈🏻  scroll 👉🏻 ',\n  '😔 😕 🙃 🤑 😲 ☹️ ',\n  '👈🏻  scroll 👉🏻 ',\n  '🐣 🐣 🐣 🐣 🐣 🐣 ',\n  '👈🏻  scroll 👉🏻 ',\n  '🐥 🐥 🐥 🐥 🐥 🐥 ',\n  '👈🏻  scroll 👉🏻 ',\n  '🤓 🤓 🤓 🤓 🤓 🤓 ',\n  '👈🏻  scroll 👉🏻 ',\n  '🦔 🦔 🦔 🦔 🦔 🦔 ',\n  '👈🏻  scroll 👉🏻 ',\n  '🙈 🙈 🙈 🙈 🙈 🙈 ',\n  '👈🏻  scroll 👉🏻 ',\n  '🚖 🚖 🚖 🚖 🚖 🚖 ',\n  '👈🏻  scroll 👉🏻 ',\n  '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n]\n\nexport default {\n  data() {\n    return {\n      items: _data\n    }\n  },\n  components: {\n    CubePage\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.horizontal-scroll-list-wrap\n  border: 1px solid rgba(0, 0, 0, 0.1)\n  border-radius: 5px\n  .cube-scroll-content\n    display: inline-block\n  .list-wrapper\n    padding: 0 10px\n    line-height: 60px\n    white-space: nowrap\n  .list-item\n    display: inline-block\n</style>\n"
  },
  {
    "path": "example/pages/scroll/index.vue",
    "content": "<template>\n  <cube-page type=\"scroll\" title=\"Scroll\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\"><span class=\"scroll-example\">1. Default</span></cube-button>\n        <cube-button @click=\"goTo('horizontal')\"><span class=\"scroll-example\">2. Horizontal</span></cube-button>\n        <cube-button @click=\"goTo('config')\"><span class=\"scroll-example\">3. Customized</span></cube-button>\n        <cube-button @click=\"goTo('jd')\"><span class=\"scroll-example\">4. JD</span></cube-button>\n        <cube-button @click=\"goTo('toutiao')\"><span class=\"scroll-example\">5. Toutiao</span></cube-button>\n        <cube-button @click=\"goTo('v-scrolls')\"><span class=\"scroll-example\">6. Vertical scrolls</span></cube-button>\n        <cube-button @click=\"goTo('h-scrolls')\"><span class=\"scroll-example\">7. Horizontal scrolls</span></cube-button>\n        <!-- <cube-button @click=\"goTo('textarea')\"><span class=\"scroll-example\">8. Textarea</span></cube-button> -->\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/scroll/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .scroll-example\n    display: inline-block\n    width: 100px\n    margin: auto\n    text-align: left\n</style>\n"
  },
  {
    "path": "example/pages/scroll/jd.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"jd\">\n    <div slot=\"content\" class=\"scroll-list-wrap\">\n      <header ref=\"topHeader\"><img src=\"https://dpubstatic.udache.com/static/dpubimg/_tEw0ofPJ9/jd_header2.png\"></header>\n      <cube-scroll\n        ref=\"scroll\"\n        :data=\"[]\"\n        :scroll-events=\"['scroll']\"\n        :options=\"options\"\n        @scroll=\"onScrollHandle\"\n        @pulling-down=\"onPullingDown\">\n        <img src=\"https://dpubstatic.udache.com/static/dpubimg/RWEjWgWJ4x/jd_content.JPG\" @load=\"onImgLoad\">\n        <img class=\"ghostly-img\" src=\"https://dpubstatic.udache.com/static/dpubimg/cVujBAH2sp/jd_footer2.png\" @load=\"onImgLoad\">\n        <template slot=\"pulldown\" slot-scope=\"props\">\n          <div\n              v-if=\"props.pullDownRefresh\"\n              class=\"cube-pulldown-wrapper\"\n              :style=\"pullDownStyle\">\n            <div class=\"pulldown-content\">\n              <img src=\"https://dpubstatic.udache.com/static/dpubimg/7d895941-251f-471f-abc4-3eca25762465.jpg\" @load=\"onImgLoad\">\n              <span v-if=\"props.beforePullDown\">{{ pullDownTip }}</span>\n              <template v-else>\n                <span v-if=\"props.isPullingDown\">正在更新...</span>\n                <span v-else>更新成功</span>\n              </template>\n            </div>\n          </div>\n        </template>\n      </cube-scroll>\n      <footer><img src=\"https://dpubstatic.udache.com/static/dpubimg/cVujBAH2sp/jd_footer2.png\"></footer>\n      <transition name=\"surprise-page\">\n        <div v-if=\"triggerSurprise\"\n          @click=\"surpriseHandle\"\n          class=\"surprise-page\">\n          <img src=\"https://dpubstatic.udache.com/static/dpubimg/42DhMSHmIY/ad_fullpage2.jpg\">\n        </div>\n      </transition>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\n\nlet imagesCount = 3\n\nexport default {\n  data() {\n    return {\n      options: {\n        pullDownRefresh: {\n          threshold: 60,\n          stop: 40,\n          txt: '更新成功'\n        }\n      },\n      pullDownY: 0,\n      pullDownStyle: '',\n      opacityStyle: '',\n      triggerSurpriseFlag: false,\n      triggerSurprise: false\n    }\n  },\n  components: {\n    CubePage\n  },\n  computed: {\n    pullDownTip() {\n      if (this.pullDownY <= 60) {\n        return '下拉刷新...'\n      } else if (this.pullDownY <= 90) {\n        return '继续下拉有惊喜...'\n      } else {\n        return '松手得惊喜！'\n      }\n    },\n    headerStyle() {\n      return Math.min(1, Math.max(0, 1 - this.pullDownY / 40))\n    }\n  },\n  methods: {\n    onScrollHandle(pos) {\n      this.pullDownY = pos.y\n      if (pos.y > 0) {\n        this.pullDownStyle = `top:${pos.y}px`\n        this.triggerSurpriseFlag = false\n        if (this.pullDownY > 90) {\n          this.triggerSurpriseFlag = true\n        }\n      }\n      this.$refs.topHeader.style.opacity = this.headerStyle\n    },\n    onPullingDown() {\n      if (this.triggerSurpriseFlag) {\n        this.triggerSurprise = true\n        this.$refs.scroll.forceUpdate()\n        return\n      }\n      setTimeout(() => {\n        this.$refs.scroll.forceUpdate()\n      }, 1000)\n    },\n    surpriseHandle() {\n      this.triggerSurpriseFlag = false\n      this.triggerSurprise = false\n      this.$refs.topHeader.style.opacity = 1\n      // go to other page\n    },\n    onImgLoad() {\n      if (--imagesCount === 0) {\n        this.$refs.scroll.refresh()\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.jd\n  .content\n    margin: 0 !important\n    height: 100%\n  .scroll-list-wrap\n    position: relative\n    height: 100%\n    border: 1px solid rgba(0, 0, 0, 0.1)\n    border-radius: 5px\n    transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n    overflow: hidden\n    header\n    footer\n      position: absolute\n      left: 0\n      z-index: 32\n      line-height: 0\n      width: 100%\n    header\n      top: 0\n    footer\n      bottom: 0\n    img\n      width: 100%\n      // height: 50px\n    .ghostly-img\n      opacity 0\n    .cube-pulldown-wrapper\n      transform: translateY(-100%)\n      line-height: 0\n      .pulldown-content\n        width: 100%\n        span\n          position: absolute\n          bottom: 15px\n          left: 0\n          right: 0\n          margin: auto\n          width: 200px\n          text-align: center\n          color: #eee\n          font-size: 14px\n  .surprise-page\n    position absolute\n    top: 0\n    bottom: 0\n    right: 0\n    left: 0\n    z-index: 33\n    line-height: 0\n    img \n      height: 100%\n      width: 100%\n  .surprise-page-enter, .surprise-page-leave-to\n    transform: translateY(-100%)\n  .surprise-page-enter-active, .surprise-page-leave-active\n    transition: transform .3s\n</style>\n"
  },
  {
    "path": "example/pages/scroll/textarea.vue",
    "content": "<template>\n  <cube-page type=\"scroll-textarea\" title=\"Scroll\">\n    <template slot=\"content\">\n      <div class=\"scroll-wrap\" @touchstart.stop>\n        <cube-scroll\n          ref=\"scrollOuter\"\n          :options=\"optionsOuter\"\n          class=\"scroll-outer\">\n          <p>Sometimes we need a teatarea in cube-scroll component. However the problem is, we can not use the native scroll in teatarea when we need to scroll, due to we prevent the default broswer behavior of 'scroll' event in Cube-scroll.</p>\n          <p>Now, we give this example, introducing two ways how to solve this trouble.</p>\n          <p>Both approach takes advantage of the cube-scroll support for nesting. We wrap the internal input box with cube-scroll and simulate the scrolling behavior by cube-scroll.</p>\n          <div class=\"editable-div-wrapper\" :class=\"{'editable-div_active': isFocusDiv}\">\n            <cube-scroll\n              ref=\"divWrapScroll\"\n              :options=\"options\">\n              <div ref=\"editablediv\" contenteditable=\"true\" class=\"editable-div\"\n                @focus=\"onFocusDiv\"\n                @blur=\"onBlurDiv\"\n                @input=\"onInputDiv\">\n              </div>\n            </cube-scroll>\n            <span class=\"editable-div-indicator\">{{divValueCount}}</span>\n          </div>\n          <div class=\"cube-textarea-wrapper\" :class=\"{'cube-textarea_active': isFocusNative}\">\n            <cube-scroll\n              ref=\"nativeWrapScroll\"\n              :options=\"options\">\n              <textarea\n                ref=\"textarea\"\n                v-model=\"textareaValue\"\n                @input=\"onInputNative\"\n                @focus=\"onFocusNative\"\n                @blur=\"onBlurNative\"\n                :placeholder=\"placeholder\"\n                class=\"cube-textarea\">\n              </textarea>\n            </cube-scroll>\n            <span class=\"cube-textarea-indicator\">{{textareaValueCount}}</span>\n          </div>\n          <p>有时候我们需要在 cube-scroll 组件中包含 teatarea 输入框。然而由于我们在使用 cube-scroll 时禁用了浏览器 'scroll' 事件的默认行为，因此我们无法在 textarea 输入框中使用浏览器的原生滚动。</p>\n          <p>现在我们希望通过这个例子，介绍两种解决这个问题的方法。</p>\n          <p>核心都是利用了 cube-scroll 支持嵌套的能力，我们将内部的输入框用 cube-scroll 进行包装，通过 cube-scroll 去模拟滚动行为。但是有一个要求是，内容区域必须是高度自适应，即高度随内容多少增加或减少。</p>\n          <p>1. 利用 div 标签模拟 textarea，实现内容区域高度自适应。<br> 2. 利用 textarea 配合 js，实现高度自适应。</p>\n          <p>最后，我们还需要一些额外的工作保证输入过程中，光标能始终在视线内，保持与原生输入框的行为一致。</p>\n        </cube-scroll>\n      </div>\n\n      <h1>{{ msg }}</h1>\n    </template>\n  </cube-page>\n</template>\n\n<script>\nimport CubePage from '../../components/cube-page.vue'\nexport default {\n  name: 'HelloWorld',\n  data () {\n    return {\n      msg: 'scroll - textarea demo',\n      options: {\n        scrollbar: true,\n        preventDefaultException: {\n          className: /(^|\\s)(editable-div|textarea-native)(\\s|$)/,\n          tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n        }\n      },\n      optionsOuter: {\n        preventDefaultException: {\n          className: /(^|\\s)(editable-div|textarea-native)(\\s|$)/,\n          tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|P)$/\n        }\n      },\n      placeholder: 'Please type here...',\n      divValue: '',\n      textareaValue: '',\n      isFocusNative: false,\n      isFocusDiv: false\n    }\n  },\n  computed: {\n    textareaValueCount() {\n      return this.textareaValue.length\n    },\n    divValueCount() {\n      return this.divValue.length\n    }\n  },\n  mounted() {\n    this.textareaInitHeight = window.getComputedStyle(this.$refs.textarea).height\n    console.log('textareaInitHeight: ', this.textareaInitHeight)\n  },\n  methods: {\n    onInputDiv (e) {\n      this.divValue = e.target.innerText\n\n      const scroll = this.$refs.divWrapScroll\n\n      if (this.oldHeightDiv !== scroll.$el.scrollHeight) {\n        this.goToRightPositon(scroll, scroll.$el)\n      }\n    },\n    onInputNative() {\n      const textarea = this.$refs.textarea\n      const scroll = this.$refs.nativeWrapScroll\n      // make textarea's height adaptive\n      textarea.style.height = this.textareaInitHeight // 无意中给l个 空字符串 好像也可以，还不知道为什么\n      textarea.style.height = textarea.scrollHeight + 'px'\n\n      if (this.oldHeightNative !== textarea.scrollHeight) {\n        this.goToRightPositon(scroll, textarea)\n      }\n    },\n    goToRightPositon(scroll, el) {\n      this.$nextTick(() => { // waiting scrollTop update\n        let diff = this.oldHeightDiv ? el.scrollHeight - this.oldHeightDiv : 0\n        this.oldHeightDiv = el.scrollHeight\n\n        scroll.refresh()\n        scroll.$el.scrollTop = 0\n\n        const posY = scroll.scroll.y\n        const maxScrollY = scroll.scroll.maxScrollY\n        const position = posY !== maxScrollY ? Math.max(Math.min(posY - diff, 0), maxScrollY) : posY\n        scroll.scrollTo(0, position, 100)\n      })\n    },\n    onFocusNative() {\n      this.isFocusNative = true\n    },\n    onBlurNative() {\n      this.isFocusNative = false\n    },\n    onFocusDiv() {\n      this.isFocusDiv = true\n    },\n    onBlurDiv() {\n      this.isFocusDiv = false\n    }\n  },\n  components: {\n    CubePage\n  }\n}\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"stylus\">\n@require \"../../../src/common/stylus/variable.styl\"\n@require \"../../../src/common/stylus/mixin.styl\"\n\n.scroll-textarea\n  background: white\n  text-align: center\n.scroll-wrap\n  height: 400px\n  padding: 10px\n  margin-bottom: 30px\n  line-height: 1.2\n  text-align: left \n  color: #323233\n  letter-spacing: 0\n  border-top: 1px solid grey\n  border-bottom: 1px solid grey\n.editable-div-wrapper\n.cube-textarea-wrapper\n  position: relative\n  height: 100px\n  width: 80%\n  margin: 10px auto\n  font-size: $fontsize-medium\n  border-radius: 2px\n  border: 1px solid $textarea-border-color\n.editable-div_active\n.cube-textarea_active\n  border: 1px solid $textarea-focus-border-color\n.editable-div-indicator\n.cube-textarea-indicator\n  position: absolute\n  z-index: 1\n  bottom: 7px\n  right: 10px\n  color: $textarea-indicator-color\n.editable-div\n  min-height: 80px\n  padding: 10px\n  outline: none\n  color: $textarea-color\n  word-wrap: break-word\n  overflow-x: hidden\n  -webkit-user-modify: read-write-plaintext-only\n  -webkit-user-select: text // 解决移动端无法输入的问题\n.cube-textarea\n  width: 100%\n  height: 100px\n  padding: 10px\n  box-sizing: border-box\n  vertical-align: top\n  text-align: left\n  font-size: 100%\n  line-height: inherit\n  color: $textarea-color\n  background-color: $textarea-bgc\n  border-radius: 2px\n  resize: none\n  border: none\n  outline: none\ntextarea::-webkit-input-placeholder\n  color: $textarea-placeholder-color !important\n  text-overflow: ellipsis\n</style>\n"
  },
  {
    "path": "example/pages/scroll/toutiao.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"toutiao\">\n    <template slot=\"content\">\n      <header ref=\"topHeader\"><img src=\"https://dpubstatic.udache.com/static/dpubimg/0K9-YvWB-Q/toutiao_header2.png\"></header>\n      <div class=\"nav-scroll-list-wrap\">\n        <cube-scroll ref=\"navScroll\" direction=\"horizontal\">\n          <ul class=\"nav-wrapper\">\n            <li v-for=\"(item, index) in navTxts\" :key=\"index\" class=\"nav-item\">{{ item }}</li>\n          </ul>\n        </cube-scroll>\n        <div class=\"more-wrapper\">\n          <span class=\"more\"></span>\n        </div>\n      </div>\n      <div class=\"content-scroll-wrapper\">\n        <div class=\"content-scroll-list-wrap\" ref=\"scrollWrapper\">\n          <cube-scroll\n            ref=\"contentScroll\"\n            :data=\"content\"\n            :options=\"options\"\n            @pulling-down=\"onPullingDown\"\n            @pulling-up=\"onPullingUp\">\n            <ul class=\"imgs-wrapper\">\n              <li v-for=\"(item, index) in content\" :key=\"index\" class=\"imgs-item\">\n                <img :src=\"item.url\" @load=\"onImgLoad\">\n              </li>\n            </ul>\n            <template slot=\"pulldown\" slot-scope=\"props\">\n              <div v-if=\"props.pullDownRefresh\"\n                class=\"cube-pulldown-wrapper\"\n                :style=\"props.pullDownStyle\">\n                <div v-if=\"props.beforePullDown\"\n                  class=\"before-trigger\"\n                  :style=\"{paddingTop: props.bubbleY + 'px'}\">\n                  <span :class=\"{rotate: props.bubbleY > 0}\">↓</span>\n                </div>\n                <div class=\"after-trigger\" v-else>\n                  <div v-show=\"props.isPullingDown\" class=\"loading\">\n                    <cube-loading></cube-loading>\n                  </div>\n                  <transition name=\"success\">\n                    <div v-show=\"!props.isPullingDown\" class=\"text-wrapper\"><span class=\"refresh-text\">今日头条推荐引擎有x条更新</span></div>\n                  </transition>\n                </div>\n              </div>\n            </template>\n          </cube-scroll>\n        </div>\n      </div>\n      <footer ref=\"footer\"><img src=\"https://dpubstatic.udache.com/static/dpubimg/1KRE2YnAim/toutiao_footer2.png\"></footer>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\n\nconst imgs = [\n  {\n    url: 'https://dpubstatic.udache.com/static/dpubimg/7EzIhoEvnG/toutiao_12.JPG'\n  },\n  {\n    url: 'https://dpubstatic.udache.com/static/dpubimg/GR0Piaf5sz/toutiao_21.JPG'\n  },\n  {\n    url: 'https://dpubstatic.udache.com/static/dpubimg/K1JqUN8HSA/toutiao_31.JPG'\n  }\n]\n\nconst txts = ['关注', '推荐', '新时代', '热点', '体育', '娱乐', '科技', '头条号', '问答', '国际', 'cube-ui666']\n\nlet cnt = 1\nexport default {\n  data() {\n    return {\n      content: imgs.slice(),\n      options: {\n        pullDownRefresh: {\n          threshold: 60,\n          // stop: 44,\n          stopTime: 1000,\n          txt: '更新成功'\n        },\n        pullUpLoad: true\n      },\n      navTxts: txts,\n      secondStop: 26\n    }\n  },\n  components: {\n    CubePage\n  },\n  methods: {\n    onPullingDown() {\n      setTimeout(() => {\n        this.content.unshift(imgs[cnt++ % 3])\n        this.$refs.contentScroll.scrollTo(0, this.secondStop, 300)\n      }, 1000)\n    },\n    onPullingUp() {\n      setTimeout(() => {\n        this.content = this.content.concat(imgs)\n      }, 1000)\n    },\n    onImgLoad() {\n      const contentScroll = this.$refs.contentScroll\n      contentScroll.scroll.beforePullDown && contentScroll.refresh()\n    }\n  },\n  mounted() {\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.toutiao\n  .content\n    margin: 0 !important\n    height: 100%\n    display: flex\n    flex-flow: column\n    >header\n      line-height: 0\n      img \n        width: 100%\n    footer\n      line-height: 0\n      img\n        width: 100%\n  .nav-scroll-list-wrap\n    transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n    position: relative\n    background-color: white\n    border-bottom : 1px solid rgba(0, 0, 0, 0.1)\n    padding-right: 30px\n    .cube-scroll-content\n      display: inline-block\n      .nav-wrapper\n        display: inline-block\n        white-space: nowrap\n        line-height: 36px\n        padding: 0 5px\n        .nav-item\n          display: inline-block\n          padding: 0 5px\n          &:nth-child(2)\n            color: #fa7b7a\n    .more-wrapper\n      position: absolute\n      right: 0\n      top: 0\n      bottom: 0\n      z-index: 1\n      background-color: #fff\n      opacity: 0.95\n      .more\n        display: inline-block\n        height: 1px\n        width: 20px\n        padding: 5px 0\n        border: 1px solid #000\n        border-right: transparent\n        border-left: transparent\n        background-color: #000\n        background-clip: content-box\n        margin: 11px\n  .content-scroll-wrapper\n    flex: 1\n    position: relative\n    .content-scroll-list-wrap\n      height: 100%\n      transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n      position: absolute\n      top: 0\n      bottom: 0\n      overflow: hidden\n      .imgs-wrapper\n        .imgs-item\n          >img \n            width: 100%\n  .cube-pulldown-wrapper\n    text-align: center\n    .before-trigger\n      height: auto\n      font-size: 30px\n      align-self: flex-end\n      span\n        display: inline-block\n        line-height: 1\n        transition: all 0.3s\n        color: #666\n        padding: 15px 0\n        &.rotate \n          transform: rotate(180deg)\n    .after-trigger\n      flex: 1\n      margin: 0\n      .text-wrapper\n        margin: 0 auto\n        margin-top: 14px\n        padding: 5px 0\n        color: #498ec2\n        background-color: #d6eaf8\n      .cube-loading-spinners\n        margin: auto\n  .success-enter-active, .success-leave-active\n    transition: width .5s\n  .success-enter, .success-leave-to\n    width: 70%\n  .success-enter-to, .success-leave\n    width: 100%\n</style>\n"
  },
  {
    "path": "example/pages/scroll/vertical-scrolls.vue",
    "content": "<template>\n  <cube-page type=\"scroll-view\" title=\"Scroll\" class=\"option-demo\">\n    <div slot=\"content\" class=\"scroll-wrapper\">\n      <div class=\"demo\">\n        <cube-scroll\n          ref=\"scroll1\"\n          class=\"scroll-list-outer-wrap\">\n          <ul class=\"cube-scroll-list\">\n            <li class=\"cube-scroll-item border-bottom-1px\"\n              v-for=\"(item, index) in items1\"\n              :key=\"index\">{{item}}</li>\n          </ul>\n          <cube-scroll\n            ref=\"scroll2\"\n            nestMode=\"native\"\n            class=\"scroll-list-inner-wrap\">\n            <ul class=\"cube-scroll-list\">\n              <li class=\"cube-scroll-item border-bottom-1px\"\n                v-for=\"(item, index) in items2\"\n                :key=\"index\">{{item}}</li>\n            </ul>\n          </cube-scroll>\n          <ul class=\"cube-scroll-list\">\n            <li\n              class=\"cube-scroll-item border-bottom-1px\"\n              v-for=\"(item, index) in items1\"\n              :key=\"index\">{{item}}</li>\n          </ul>\n        </cube-scroll>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\n\nconst _data1 = [\n  '😀 😁 😂 🤣 😃 🙃 ',\n  '👆🏻 outer 👇🏻 ',\n  '🙂 🤔 😄 🤨 😐 🙃 ',\n  '👆🏻 outer 👇🏻 ',\n  '😔 😕 🙃 🤑 😲 ☹️ '\n]\n\nconst _data2 = [\n  '😀 😁 😂 🤣 😃 🙃 ',\n  '👆🏻 inner 👇🏻 ',\n  '🙂 🤔 😄 🤨 😐 🙃 ',\n  '👆🏻 inner 👇🏻 ',\n  '😔 😕 🙃 🤑 😲 ☹️ ',\n  '👆🏻 inner 👇🏻 ',\n  '🐣 🐣 🐣 🐣 🐣 🐣 ',\n  '👆🏻 inner 👇🏻 ',\n  '🐥 🐥 🐥 🐥 🐥 🐥 ',\n  '👆🏻 inner 👇🏻 ',\n  '🤓 🤓 🤓 🤓 🤓 🤓 ',\n  '👆🏻 inner 👇🏻 ',\n  '🦔 🦔 🦔 🦔 🦔 🦔 ',\n  '👆🏻 inner 👇🏻 ',\n  '🙈 🙈 🙈 🙈 🙈 🙈 ',\n  '👆🏻 inner 👇🏻 ',\n  '🚖 🚖 🚖 🚖 🚖 🚖 ',\n  '👆🏻 inner 👇🏻 ',\n  '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n]\n\nexport default {\n  data() {\n    return {\n      items1: _data1,\n      items2: _data2\n    }\n  },\n  components: {\n    CubePage\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.scroll-list-outer-wrap\n.scroll-list-inner-wrap\n  border: 1px solid rgba(0, 0, 0, 0.1)\n  border-radius: 5px\n  transform: rotate(0deg) // fix 子元素超出边框圆角部分不隐藏的问题\n  position: relative\n.scroll-list-outer-wrap\n  height: 500px\n.scroll-list-inner-wrap\n  height: 300px\n</style>\n"
  },
  {
    "path": "example/pages/scroll-nav/default.vue",
    "content": "<template>\n  <cube-page type=\"scroll-nav-def\" title=\"ScrollNav\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-scroll-nav @change=\"changeHandler\">\n          <cube-scroll-nav-panel\n            v-for=\"item in data\"\n            :key=\"item.name\"\n            :label=\"item.name\">\n            <ul>\n              <li v-for=\"food in item.foods\">\n                <div>\n                  <img :src=\"food.icon\">\n                  <p>{{food.name}}</p>\n                </div>\n              </li>\n            </ul>\n          </cube-scroll-nav-panel>\n        </cube-scroll-nav>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import goodsData from 'example/data/goods-list.json'\n\n  const goods = goodsData.goods\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        data: goods\n      }\n    },\n    methods: {\n      changeHandler(label) {\n        console.log('changed to:', label)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .scroll-nav-def\n    background-color: #fff\n    .view-wrapper\n      position: fixed\n      top: 44px\n      left: 0\n      bottom: 0\n      width: 100%\n    .cube-scroll-nav-bar\n      border-bottom: 1px solid #f4f4f4\n    .cube-scroll-nav-panel\n      width: 90%\n      margin: auto\n      img\n        width: 114px\n        height: 114px\n      ul\n        overflow: hidden\n        font-size: 14px\n        line-height: 1.4\n        color: #666\n      li\n        float: left\n        width: 50%\n        div\n          width: 114px\n          margin: 0 auto 15px\n          p\n            overflow: hidden\n            white-space: nowrap\n            text-overflow: ellipsis\n    .cube-scroll-nav-panel-title\n      padding: 15px\n      font-size: 16px\n      text-align: center\n</style>\n"
  },
  {
    "path": "example/pages/scroll-nav/index.vue",
    "content": "<template>\n  <cube-page type=\"scroll-nav\" title=\"ScrollNav\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('side')\">Side Style</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/scroll-nav/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/scroll-nav/side.vue",
    "content": "<template>\n  <cube-page type=\"scroll-nav-side\" title=\"ScrollNav\">\n    <div slot=\"content\">\n      <div class=\"view-wrapper\">\n        <cube-scroll-nav\n          :side=\"true\"\n          :data=\"data\"\n          :current=\"current\"\n          @change=\"changeHandler\"\n          @sticky-change=\"stickyChangeHandler\">\n          <ul class=\"prepend-header\" slot=\"prepend\">\n            <li>11</li>\n            <li>22</li>\n            <li>333</li>\n          </ul>\n          <cube-scroll-nav-panel\n            v-for=\"item in data\"\n            :key=\"item.name\"\n            :label=\"item.name\"\n            :title=\"item.name\">\n            <ul>\n              <li v-for=\"food in item.foods\">\n                <div>\n                  <img :src=\"food.icon\">\n                  <p>{{food.name}}</p>\n                </div>\n              </li>\n            </ul>\n          </cube-scroll-nav-panel>\n        </cube-scroll-nav>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import goodsData from 'example/data/goods-list.json'\n\n  const goods = goodsData.goods\n\n  export default {\n    components: {\n      CubePage\n    },\n    data() {\n      return {\n        data: goods,\n        current: goods[3].name\n      }\n    },\n    methods: {\n      changeHandler(label) {\n        console.log('changed to:', label)\n      },\n      stickyChangeHandler(current) {\n        console.log('sticky-change', current)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .scroll-nav-side\n    background-color: #fff\n    .view-wrapper\n      position: fixed\n      top: 44px\n      left: 0\n      bottom: 0\n      width: 100%\n    .prepend-header\n      width: 90%\n      margin: 20px auto\n      text-align: center\n      font-size: 20px\n      line-height: 1.6\n      border-radius: 2px\n      box-shadow: 0 0 4px rgba(0, 0, 0, .2)\n    .cube-scroll-nav-main\n      background-color: #efeff4\n    .cube-sticky-fixed\n      background-color: #efeff4\n    .cube-scroll-nav-bar\n      width: 120px\n      background-color: transparent\n    .cube-scroll-nav-bar-item\n      padding: 15px\n    .cube-scroll-nav-bar-item_active\n      background-color: #fff\n    .cube-scroll-nav-panels\n      background-color: #fff\n    .cube-scroll-nav-panel\n      img\n        width: 114px\n        height: 114px\n      ul\n        overflow: hidden\n        font-size: 14px\n        line-height: 1.4\n        color: #666\n      li\n        float: left\n        width: 50%\n        div\n          width: 114px\n          margin: auto\n          p\n            overflow: hidden\n            white-space: nowrap\n            text-overflow: ellipsis\n    .cube-scroll-nav-panel-title\n      padding: 15px\n      font-size: 16px\n      background-color: #fff\n</style>\n"
  },
  {
    "path": "example/pages/scroll-nav-bar.vue",
    "content": "<template>\n  <cube-page type=\"scroll-nav-bar\" title=\"ScrollNavBar\">\n    <div slot=\"content\">\n      <cube-scroll-nav-bar :current=\"current\" :labels=\"labels\" @change=\"changeHandler\" />\n      <div class=\"side-container\">\n        <cube-scroll-nav-bar\n          direction=\"vertical\"\n          :current=\"current\"\n          :labels=\"labels\"\n          :txts=\"txts\"\n          @change=\"changeHandler\">\n          <i slot-scope=\"props\">{{props.txt}}</i>\n        </cube-scroll-nav-bar>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        current: '快车',\n        labels: [\n          '快车',\n          '小巴',\n          '专车',\n          '顺风车',\n          '代驾',\n          '公交',\n          '自驾租车',\n          '豪华车',\n          '二手车',\n          '出租车'\n        ],\n        txts: [\n          '1快车',\n          '2小巴',\n          '3专车',\n          '4顺风车',\n          '5代驾',\n          '6公交',\n          '7自驾租车',\n          '8豪华车',\n          '9二手车',\n          '10出租车'\n        ]\n      }\n    },\n    methods: {\n      changeHandler(cur) {\n        this.current = cur\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.side-container\n  height: 300px\n  margin-top: 20px\n</style>\n"
  },
  {
    "path": "example/pages/segment-picker.vue",
    "content": "<template>\n  <cube-page type=\"picker-view\" title=\"Segment Picker\" desc=\"\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showDateSegmentPicker\">StartDate - EndDate</cube-button>\n        <cube-button @click=\"showCitySegmentPicker\">Express - From - To</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script>\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import { provinceList, cityList, areaList } from 'example/data/area'\n  import { expressData } from 'example/data/picker'\n\n  const cityData = provinceList\n  cityData.forEach(province => {\n    province.children = cityList[province.value]\n    province.children.forEach(city => {\n      city.children = areaList[city.value]\n    })\n  })\n\n  const dateSegmentData = [\n    {\n      is: 'cube-date-picker',\n      title: '入学时间',\n      min: new Date(2000, 0, 1),\n      max: new Date(2030, 11, 31)\n    },\n    {\n      is: 'cube-date-picker',\n      title: '毕业时间',\n      min: new Date(2000, 0, 1),\n      max: new Date(2030, 11, 31)\n    }\n  ]\n\n  export default {\n    mounted() {\n      this.dateSegmentPicker = this.$createSegmentPicker({\n        data: dateSegmentData,\n        onSelect: (selectedDates, selectedVals, selectedTexts) => {\n          this.$createDialog({\n            type: 'warn',\n            content: `Selected Items: <br/> - 入学时间: ${selectedTexts[0].join('')} <br/> - 毕业时间: ${selectedTexts[1].join('')}`,\n            icon: 'cubeic-alert'\n          }).show()\n        },\n        onNext: (i, selectedDate, selectedValue, selectedText) => {\n          dateSegmentData[1].min = selectedDate\n          if (i === 0) {\n            this.dateSegmentPicker.$updateProps({\n              data: dateSegmentData\n            })\n          }\n        }\n      })\n\n      this.citySegmentPicker = this.$createSegmentPicker({\n        data: [{\n          title: '选择快递',\n          data: [expressData],\n          selectedIndex: [1]\n        }, {\n          is: 'cube-cascade-picker',\n          title: '寄件地址',\n          data: cityData,\n          selectedIndex: [0, 0, 0],\n          cancelTxt: '返回'\n        }, {\n          is: 'cube-cascade-picker',\n          title: '收件地址',\n          data: cityData,\n          selectedIndex: [0, 0, 0]\n        }],\n        cancelTxt: 'Cancel',\n        confirmTxt: 'Confirm',\n        nextTxt: 'Next',\n        prevTxt: 'Prev',\n        onSelect: (selectedVals, selectedIndexs, selectedTexts) => {\n          this.$createDialog({\n            type: 'warn',\n            content: `Selected Items: <br/> - 所选快递:  ${selectedTexts[0].join('')} <br/> - 寄件地址: ${selectedTexts[1].join('')} <br/> - 收件地址: ${selectedTexts[2].join('')}`,\n            icon: 'cubeic-alert'\n          }).show()\n        }\n      })\n    },\n    methods: {\n      showDateSegmentPicker() {\n        this.dateSegmentPicker.show()\n      },\n      showCitySegmentPicker() {\n        this.citySegmentPicker.show()\n      }\n    },\n    components: {\n      CubePage,\n      CubeButtonGroup\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/select.vue",
    "content": "<template>\n  <cube-page type=\"button-view\" title=\"Select\">\n    <div slot=\"content\">\n      <cube-select\n        v-model=\"value\"\n        :title=\"title\"\n        :options=\"options\"\n        :placeholder=\"placeholder\"\n        :auto-pop=\"autoPop\"\n        :disabled=\"disabled\"\n        cancelTxt=\"Cancel\"\n        confirmTxt=\"Confirm\"\n        @change=\"change\">\n      </cube-select>\n      <cube-button-group>\n        <cube-button @click=\"modify\">modify</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup\n    },\n    data() {\n      return {\n        options: [2013, 2014, 2015, 2016, 2017, 2018],\n        value: 2016,\n        title: 'Entry time',\n        placeholder: 'Please choose entry time',\n        autoPop: false,\n        disabled: false\n      }\n    },\n    methods: {\n      change(value, index, text) {\n        console.log('change', value, index, text)\n      },\n      modify() {\n        this.value = 2014\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/slide/horizontal.vue",
    "content": "<template>\n  <cube-page type=\"slide-view\" title=\"Slide\" class=\"option-demo\">\n    <div slot=\"content\">\n      <div ref=\"slideWrapper\" class=\"slide-container\">\n        <cube-slide\n            ref=\"slide\"\n            :data=\"items\"\n            :initial-index=\"initialIndex\"\n            :loop=\"loop\"\n            :auto-play=\"autoPlay\"\n            :interval=\"interval\"\n            :threshold=\"threshold\"\n            :speed=\"speed\"\n            :options=\"options\"\n            @change=\"changePage\"\n            @click=\"clickPage\">\n          <template v-if=\"dotsSlot\" slot=\"dots\" slot-scope=\"props\">\n            <span class=\"my-dot\" :class=\"{active: props.current === index}\" v-for=\"(item, index) in props.dots\">{{index + 1}}</span>\n          </template>\n        </cube-slide>\n      </div>\n      <div class=\"options\">\n        <div class=\"option-list\">\n          <div class=\"group\">\n            <input-option class=\"item\" name=\"InitialIndex\" :value=\"initialIndex\"\n                          @update:value=\"updateInitialIndex\"></input-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Loop\" :value=\"loop\"\n                           @update:value=\"updateLoop\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Auto Play\" :value=\"autoPlay\"\n                           @update:value=\"updateAutoPlay\"></switch-option>\n            <input-option v-if=\"autoPlay\" class=\"item sub first last\" name=\"interval\" :value=\"interval\"\n                          @update:value=\"updateInterval\"></input-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"play\" :value=\"play\"\n                           @update:value=\"updatePlay\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <input-option class=\"item\" name=\"Threshold\" :value=\"threshold\"\n                          @update:value=\"updateThreshold\"></input-option>\n          </div>\n          <div class=\"group\">\n            <input-option class=\"item\" name=\"Speed\" :value=\"speed\"\n                          @update:value=\"updateSpeed\"></input-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Allow Vertical\" :value=\"allowVertical\"\n                           @update:value=\"updateAllowVertical\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Add Slide Item3\" :value=\"addItem3\"\n                           @update:value=\"updateItem3\"></switch-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"Dots Slot\" :value=\"dotsSlot\"\n                           @update:value=\"updateDotsSlot\"></switch-option>\n          </div>\n        </div>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import SwitchOption from '../../components/switch-option'\n  import InputOption from '../../components/input-option'\n\n  const item3 = {\n    url: 'http://www.didichuxing.com/',\n    image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide03.png'\n  }\n  export default{\n    data() {\n      return {\n        items: [\n          {\n            // url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\n          }, {\n            // url: 'http://www.didichuxing.com/',\n            image: '//webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\n          }\n        ],\n        loop: true,\n        autoPlay: true,\n        play: true,\n        interval: 4000,\n        threshold: 0.3,\n        speed: 400,\n        allowVertical: false,\n        initialIndex: 1,\n        dotsSlot: false,\n        addItem3: false\n      }\n    },\n    computed: {\n      options() {\n        return {\n          eventPassthrough: this.allowVertical ? 'vertical' : ''\n        }\n      }\n    },\n    watch: {\n      addItem3(newV) {\n        if (newV) {\n          this.items.push(item3)\n        } else {\n          this.items.pop()\n        }\n      }\n    },\n    methods: {\n      changePage(current) {\n        console.log('当前轮播图序号为:' + current)\n      },\n      clickPage(item, index) {\n        console.log(item, index)\n      },\n      updateItem3(val) {\n        this.addItem3 = val\n      },\n      updateLoop(val) {\n        this.loop = val\n      },\n      updateDotsSlot(val) {\n        this.dotsSlot = val\n      },\n      updateAutoPlay(val) {\n        this.autoPlay = val\n      },\n      updatePlay(val) {\n        this.play = val\n        if (val) {\n          this.$refs.slide.play()\n        } else {\n          this.$refs.slide.pause()\n        }\n      },\n      updateInterval(val) {\n        val = +val\n        if (val) {\n          this.interval = val\n        }\n      },\n      updateThreshold(val) {\n        val = +val\n        if (val) {\n          this.threshold = val\n        }\n      },\n      updateSpeed(val) {\n        val = +val\n        if (val) {\n          this.speed = val\n        }\n      },\n      updateAllowVertical(val) {\n        this.allowVertical = val\n      },\n      updateInitialIndex(val) {\n        if (val) {\n          this.initialIndex = +val\n        }\n      }\n    },\n    components: {\n      CubePage,\n      SwitchOption,\n      InputOption\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .slide-container\n    height: 75px\n    margin-bottom: 15px\n    transform: translateZ(0px)\n    border-radius: 2px\n    overflow: hidden\n    box-shadow: 0 2px 9px #ddd\n    .cube-slide-dots\n      .my-dot\n        height: auto\n        font-size: 12px\n        background: none\n        &.active\n          color: #fc9153\n</style>\n"
  },
  {
    "path": "example/pages/slide/index.vue",
    "content": "<template>\n  <cube-page type=\"slide\" title=\"Slide\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('vertical')\">Vertical</cube-button>\n        <cube-button @click=\"goTo('horizontal')\">Horizontal</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/slide/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/slide/vertical.vue",
    "content": "<template>\n  <cube-page type=\"slide-view\" title=\"Slide\" class=\"option-demo\">\n    <div slot=\"content\">\n      <div class=\"slide-container-v\">\n        <cube-slide\n          :data=\"items\"\n          :loop=\"loop\"\n          :showDots=\"false\"\n          direction=\"vertical\"\n          @change=\"change\">\n        </cube-slide>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        items: [\n          {\n            url: 'http://www.didichuxing.com/',\n            image: 'https://dpubstatic.udache.com/static/dpubimg/C9lKs8y0E6/IMG_4014.jpg'\n          }, {\n            url: 'http://www.didichuxing.com/',\n            image: 'https://dpubstatic.udache.com/static/dpubimg/hD6agmm2ov/IMG_4012.jpg'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: 'https://dpubstatic.udache.com/static/dpubimg/twV-VvZOA9/IMG_4011.jpg'\n          }, {\n            url: 'http://www.didichuxing.com/',\n            image: 'https://dpubstatic.udache.com/static/dpubimg/eR_MahwRUT/IMG_4010.jpg'\n          },\n          {\n            url: 'http://www.didichuxing.com/',\n            image: 'https://dpubstatic.udache.com/static/dpubimg/R3tKHhdZuK/IMG_4009.jpg'\n          }\n        ],\n        loop: true\n      }\n    },\n    methods: {\n      change(current) {\n        console.log('当前轮播图序号为:' + current)\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.slide-view\n  .slide-container-v\n    height: 265px\n    margin-bottom: 15px\n    transform: translateZ(0px)\n    border-radius: 2px\n    overflow: hidden\n    box-shadow: 0 2px 9px #ddd\n    .cube-slide-dots\n      .my-dot\n        height: auto\n        font-size: 12px\n        background: none\n        &.active\n          color: #fc9153\n  .cube-slide-item > a > img\n    width: 100%\n    height: auto\n</style>\n"
  },
  {
    "path": "example/pages/sticky/complex.vue",
    "content": "<template>\n  <cube-page type=\"sticky-view-complex\" title=\"Sticky\">\n    <template slot=\"content\">\n      <div class=\"sticky-view-container\">\n        <cube-sticky ref=\"sticky\" :pos=\"scrollY\" :offset=\"offsetTop\" @diff-change=\"diffChange\">\n          <cube-scroll\n            ref=\"scroll\"\n            :data=\"scrollData\"\n            :scroll-events=\"scrollEvents\"\n            :options=\"options\"\n            @scroll=\"scrollHandler\"\n            @scroll-end=\"scrollEndHandler\"\n            @pulling-up=\"onPullingUp\"\n          >\n            <ul>\n              <li>title</li>\n              <li>title</li>\n              <li>title</li>\n              <li>title</li>\n              <li>title</li>\n            </ul>\n            <cube-sticky-ele>\n              <cube-tab-bar\n                v-model=\"currentTab\"\n                show-slider\n                :data=\"tabs\"\n                :use-transition=\"false\"\n              />\n            </cube-sticky-ele>\n            <ul v-if=\"currentTab === 1\">\n              <li v-for=\"item in items1\">{{item}}</li>\n            </ul>\n            <ul v-else-if=\"currentTab === 2\">\n              <li v-for=\"item in items2\">{{item}}</li>\n            </ul>\n            <ul v-else>\n              <li v-for=\"item in items3\">{{item}}</li>\n            </ul>\n          </cube-scroll>\n          <template slot=\"fixed\" slot-scope=\"props\">\n            <ul class=\"sticky-header\">\n              <li ref=\"stickyHeader\">111</li>\n            </ul>\n            <cube-tab-bar\n              v-if=\"props.index >= 0\"\n              v-model=\"currentTab\"\n              show-slider\n              :data=\"tabs\"\n              :use-transition=\"false\"\n            />\n          </template>\n        </cube-sticky>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\nimport CubePage from '../../components/cube-page.vue'\n\nconst _data = [\n  '😀 😁 😂 🤣 😃 😄 ',\n  '🙂 🤗 🤩 🤔 🤨 😐 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '😔 😕 🙃 🤑 😲 ☹️ ',\n  '🐣 🐣 🐣 🐣 🐣 🐣 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '🐥 🐥 🐥 🐥 🐥 🐥 ',\n  '🤓 🤓 🤓 🤓 🤓 🤓 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '🦔 🦔 🦔 🦔 🦔 🦔 ',\n  '🙈 🙈 🙈 🙈 🙈 🙈 ',\n  '👆🏻 scroll up/down 👇🏻 ',\n  '🚖 🚖 🚖 🚖 🚖 🚖 ',\n  '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n]\nexport default {\n  data() {\n    return {\n      offsetTop: 56,\n      scrollY: 0,\n      scrollEvents: ['scroll', 'scroll-end'],\n      items1: _data.slice(),\n      items2: [],\n      items3: [],\n      tabPullUpMap: {\n        1: {\n          enable: true,\n          pos: 0\n        },\n        2: {\n          enable: true,\n          pos: 0\n        },\n        3: {\n          enable: true,\n          pos: 0\n        }\n      },\n      tabOpacity: 0,\n      currentTab: 1,\n      tabs: [\n        {\n          label: 'tab1',\n          value: 1\n        },\n        {\n          label: 'tab2',\n          value: 2\n        },\n        {\n          label: 'tab3',\n          value: 3\n        }\n      ]\n    }\n  },\n  computed: {\n    options() {\n      return {\n        pullUpLoad: this.tabPullUpMap[this.currentTab].enable,\n        observeDOM: false\n      }\n    },\n    scrollData() {\n      return [this.items1, this.items2, this.items3]\n    },\n    stickyPos() {\n      return this.$refs.sticky.positions[0] - this.offsetTop\n    }\n  },\n  watch: {\n    currentTab(newTab, oldTab) {\n      // 第一件事 记录位置\n      this.tabPullUpMap[oldTab].pos = this.scrollY\n      // 第二件事 重新回到之前的位置\n      // 计算这个位置需要换算下\n      // 因为只有一个 sticky-ele\n      const stickyPos = this.stickyPos\n      const stickyPos2 = stickyPos + this.offsetTop\n      const memoryPos = this.tabPullUpMap[newTab].pos\n      let keyPos\n      // 如果当前位置比 stickyPos 还要大\n      if (this.scrollY >= stickyPos2) {\n        // 说明此时是完全 sticky 状态 opacity = 1\n        keyPos = Math.max(memoryPos, stickyPos)\n        // 修复半透明问题\n        this.tabOpacity = 1\n      } else if (this.scrollY >= stickyPos) {\n        // 说明此时是 sticky 状态 opacity 半透明\n        keyPos = Math.max(memoryPos, stickyPos)\n      } else {\n        this.tabOpacity = 0\n        // 说明此时是 未 sticky 状态\n        keyPos = this.scrollY\n      }\n      this.tabChangeing = true\n      // 必须触发 scroll 事件 所以第三个参数的时间 不是 0\n      this.$refs.scroll.scrollTo(0, -keyPos, 1)\n      this.$nextTick(() => {\n        if (this.tabPullUpMap[newTab].enable && !this[`items${newTab}`].length) {\n          // 数据还是空的 主动触发\n          // 其他场景 不主动触发\n          // 等待 UI 高度变化 让其能够达到触发 pullup 条件\n          // hack maxScrollY 此时不能 refresh 因为需要 hack sticky 状态\n          // 不让其 reset position\n          this.$refs.scroll.scroll.movingDirectionY = 1\n          this.$refs.scroll.scroll.maxScrollY = -keyPos\n        } else {\n          // 当不能加载更多的时候 切换就不会更新数据了 所以这里手工刷新\n          this.$refs.scroll.refresh()\n        }\n      })\n    }\n  },\n  methods: {\n    onPullingUp() {\n      // 这里分别模拟不同 tab 下的请求\n      const currentTab = this.currentTab\n      setTimeout(() => {\n        if (currentTab !== this.currentTab) {\n          // 已经在其他tab了\n          this.$refs.scroll.forceUpdate()\n          return\n        }\n        const targetItems = `items${currentTab}`\n        const items = this[targetItems] = this[targetItems].concat(_data)\n        if (items.length >= currentTab * 20) {\n          // 某个 tab 没有更多了\n          this.tabPullUpMap[currentTab].enable = false\n        }\n      }, 300)\n    },\n    scrollHandler({ y }) {\n      this.scrollY = -y\n    },\n    scrollEndHandler () {\n      this.tabChangeing && this.$nextTick(() => {\n        this.tabChangeing = false\n      })\n    },\n    diffChange(diff, height) {\n      let opacity = 0\n      if (height) {\n        opacity = diff * 3 / height\n      }\n      if (this.tabChangeing) {\n        opacity = Math.max(opacity, this.tabOpacity)\n      }\n      opacity = Math.min(opacity, 1)\n      this.tabOpacity = opacity\n      this.$refs.stickyHeader.style.opacity = opacity\n    }\n  },\n  components: {\n    CubePage\n  }\n}\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .sticky-view-complex\n    .content\n      >\n        *\n          margin: 10px 0\n    .sticky-view-container\n      position: absolute\n      top: 45px\n      bottom: 0\n      left: 0\n      width: 100%\n      li\n        padding: 20px 10px\n      .sticky-header\n        background-color: #666\n      .cube-sticky\n        padding: 0 10px\n        .cube-scroll-wrapper\n          background-color: #fff\n      .cube-sticky-ele-on\n        visibility: hidden\n      .cube-sticky-fixed\n        .sticky-header\n          margin: 0 10px\n          background-color: transparent\n          li\n            background-color: #666\n        .cube-tab-bar\n          margin: 0 10px\n          background-color: #fff\n          box-shadow: 0 3px 3px rgba(0, 0, 0, .1)\n</style>\n"
  },
  {
    "path": "example/pages/sticky/index.vue",
    "content": "<template>\n  <cube-page type=\"sticky\" title=\"Sticky\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('scroll')\">Scroll</cube-button>\n        <cube-button @click=\"goTo('native')\">Native Scroll</cube-button>\n        <cube-button @click=\"goTo('wechat')\">WeChat</cube-button>\n        <cube-button @click=\"goTo('complex')\">Complex</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/sticky/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/sticky/native.vue",
    "content": "<template>\n  <cube-page type=\"sticky-view-native\" title=\"Sticky\">\n    <template slot=\"content\">\n      <div class=\"sticky-view-container\">\n        <cube-sticky :pos=\"scrollY\" :check-top=\"checkTop\">\n          <div class=\"scroll-ele\" @scroll=\"scrollHandler\">\n            <ul>\n              <li>title</li>\n            </ul>\n            <cube-sticky-ele>\n              <ul class=\"sticky-header\">\n                <li>111</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items\">{{item}}</li>\n            </ul>\n            <cube-sticky-ele>\n              <ul class=\"sticky-header\">\n                <li>222</li>\n                <li>222</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items2\">{{item}}</li>\n            </ul>\n            <cube-sticky-ele>\n              <ul class=\"sticky-header\">\n                <li>333</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items3\">{{item}}</li>\n            </ul>\n          </div>\n        </cube-sticky>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollY: 0,\n        checkTop: false,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler(e) {\n        this.scrollY = e.currentTarget.scrollTop\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .sticky-view-native\n    .content\n      >\n        *\n          margin: 10px 0\n    .sticky-view-container\n      position: absolute\n      top: 45px\n      bottom: 0\n      left: 0\n      width: 100%\n      li\n        padding: 20px 10px\n      .sticky-header\n        background-color: #666\n      .cube-sticky\n        padding: 0 10px\n      .scroll-ele\n        height: 100%\n        overflow: auto\n        -webkit-overflow-scrolling: touch\n        background-color: #fff\n      .cube-sticky-fixed\n        .sticky-header\n          background-color: rgba(0, 0, 0, .6)\n</style>\n"
  },
  {
    "path": "example/pages/sticky/scroll.vue",
    "content": "<template>\n  <cube-page type=\"sticky-view-scroll\" title=\"Sticky\">\n    <template slot=\"content\">\n      <div class=\"sticky-view-container\">\n        <cube-sticky :pos=\"scrollY\">\n          <cube-scroll\n            :scroll-events=\"scrollEvents\"\n            @scroll=\"scrollHandler\">\n            <ul>\n              <li>title</li>\n            </ul>\n            <cube-sticky-ele ele-key=\"11\">\n              <ul class=\"sticky-header\">\n                <li>111</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items\">{{item}}</li>\n            </ul>\n            <cube-sticky-ele ele-key=\"22\">\n              <ul class=\"sticky-header\">\n                <li>222</li>\n                <li>222</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items2\">{{item}}</li>\n            </ul>\n            <cube-sticky-ele ele-key=\"33\">\n              <ul class=\"sticky-header\">\n                <li>333</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items3\">{{item}}</li>\n            </ul>\n          </cube-scroll>\n          <template slot=\"fixed\" slot-scope=\"props\">\n            <ul class=\"sticky-header\">\n              <li>{{props.current}}</li>\n            </ul>\n          </template>\n        </cube-sticky>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        scrollY: 0,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler({ y }) {\n        this.scrollY = -y\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .sticky-view-scroll\n    .content\n      >\n        *\n          margin: 10px 0\n    .sticky-view-container\n      position: absolute\n      top: 45px\n      bottom: 0\n      left: 0\n      width: 100%\n      li\n        padding: 20px 10px\n      .sticky-header\n        background-color: #666\n      .cube-sticky\n        padding: 0 10px\n        .cube-scroll-wrapper\n          background-color: #fff\n      .cube-sticky-fixed\n        .sticky-header\n          margin: 0 10px\n</style>\n"
  },
  {
    "path": "example/pages/sticky/wechat.vue",
    "content": "<template>\n  <cube-page type=\"sticky-view-wechat\" title=\"Sticky\">\n    <template slot=\"content\">\n      <div class=\"sticky-view-container\">\n        <cube-sticky\n          :pos=\"scrollY\"\n          :check-top=\"checkTop\"\n          fixed-show-ani=\"sticky-fixed-show\"\n          @diff-change=\"diffChange\">\n          <cube-scroll\n            :scroll-events=\"scrollEvents\"\n            @scroll=\"scrollHandler\">\n            <img src=\"https://ss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/6.jpg\">\n            <cube-sticky-ele>\n              <ul class=\"sticky-header\">\n                <li>111</li>\n              </ul>\n            </cube-sticky-ele>\n            <ul>\n              <li v-for=\"item in items\">{{item}}</li>\n            </ul>\n            <ul>\n              <li v-for=\"item in items2\">{{item}}</li>\n            </ul>\n            <ul>\n              <li v-for=\"item in items3\">{{item}}</li>\n            </ul>\n          </cube-scroll>\n          <ul class=\"sticky-header\" slot=\"fixed\" ref=\"stickyHeader\">\n            <li>header</li>\n          </ul>\n        </cube-sticky>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  const _data = [\n    '😀 😁 😂 🤣 😃 😄 ',\n    '🙂 🤗 🤩 🤔 🤨 😐 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '😔 😕 🙃 🤑 😲 ☹️ ',\n    '🐣 🐣 🐣 🐣 🐣 🐣 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🐥 🐥 🐥 🐥 🐥 🐥 ',\n    '🤓 🤓 🤓 🤓 🤓 🤓 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🦔 🦔 🦔 🦔 🦔 🦔 ',\n    '🙈 🙈 🙈 🙈 🙈 🙈 ',\n    '👆🏻 scroll up/down 👇🏻 ',\n    '🚖 🚖 🚖 🚖 🚖 🚖 ',\n    '✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 ✌🏻 '\n  ]\n\n  export default {\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        scrollY: 0,\n        checkTop: true,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      }\n    },\n    methods: {\n      scrollHandler({ y }) {\n        this.scrollY = -y\n      },\n      diffChange(diff, height) {\n        let opacity = 0\n        if (height) {\n          opacity = diff / height\n        }\n        this.$refs.stickyHeader.style.opacity = opacity\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .sticky-view-wechat\n    .content\n      >\n        *\n          margin: 10px 0\n    .sticky-view-container\n      position: absolute\n      top: 45px\n      bottom: 0\n      left: 0\n      width: 100%\n      li\n        padding: 20px 10px\n      .sticky-header\n        color: #fff\n        opacity: 0\n        background-color: rgba(0, 0, 0, .6)\n      .cube-sticky\n        .cube-scroll-wrapper\n          background-color: #fff\n        img\n          vertical-align: top\n          height: 250px\n          transform: rotate(180deg)\n      .cube-sticky-ele\n        margin-top: -60px\n        margin-bottom: 4px\n      .sticky-fixed-show-enter, .sticky-fixed-show-leave-active\n        transform: translate(0, -100%)\n      .sticky-fixed-show-enter-active, .sticky-fixed-show-leave-active\n        transition: all .5s ease-in-out\n</style>\n"
  },
  {
    "path": "example/pages/swipe/custom.vue",
    "content": "<template>\n  <cube-page type=\"swipe-view\" title=\"Swipe\">\n    <template slot=\"content\">\n      <div class=\"swipe-wrapper\">\n        <cube-scroll>\n          <cube-swipe>\n            <transition-group name=\"swipe\" tag=\"ul\">\n              <li class=\"swipe-item-wrapper\" v-for=\"(data,index) in swipeData\" :key=\"data.item.id\">\n                <cube-swipe-item\n                    ref=\"swipeItem\"\n                    :btns=\"data.btns\"\n                    :index=\"index\"\n                    @btn-click=\"onBtnClick\">\n                  <div @click=\"onItemClick(data.item, index)\" class=\"item-inner\">\n                    <div class=\"icon\">\n                      <img width=\"60\" height=\"60\" :src=\"data.item.imgurl\">\n                    </div>\n                    <div class=\"text\">\n                      <h2 class=\"item-name\" v-html=\"data.item.name\"></h2>\n                      <p class=\"item-desc\" v-html=\"data.item.desc\"></p>\n                    </div>\n                  </div>\n                </cube-swipe-item>\n              </li>\n            </transition-group>\n          </cube-swipe\n              >\n        </cube-scroll>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import { customData } from '../../data/swipe'\n  export default {\n    data() {\n      return {\n        swipeData: customData\n      }\n    },\n    methods: {\n      onItemClick(item) {\n        console.log('click item:', item)\n      },\n      onBtnClick(btn, index) {\n        if (btn.action === 'delete') {\n          this.$createActionSheet({\n            title: '确认要删除吗',\n            active: 0,\n            data: [\n              {content: '删除'}\n            ],\n            onSelect: () => {\n              this.swipeData.splice(index, 1)\n            }\n          }).show()\n        } else {\n          this.$refs.swipeItem[index].shrink()\n        }\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .swipe-view\n    .swipe-wrapper\n      position: fixed\n      top: 60px\n      left: 10px\n      right: 10px\n      bottom: 0\n      background: #fff\n      .swipe-item-wrapper\n        overflow: hidden\n        &.swipe-enter-active, &.swipe-leave-active\n          transition: all .3s\n          .item-inner\n            transition: all .3s\n        &.swipe-enter, &.swipe-leave-to\n          .item-inner\n            height: 0\n      .item-inner\n        display: flex\n        box-sizing: border-box\n        align-items: center\n        padding: 0 20px\n        height: 80px\n        .icon\n          flex: 0 0 60px\n          width: 60px\n          padding-right: 20px\n        .text\n          display: flex\n          flex-direction: column\n          justify-content: center\n          flex: 1\n          line-height: 20px\n          overflow: hidden\n          font-size: 14px\n          .item-name\n            margin-bottom: 10px\n            color: #333\n          .item-desc\n            color: #666\n\n</style>\n"
  },
  {
    "path": "example/pages/swipe/default.vue",
    "content": "<template>\n  <cube-page type=\"swipe-view\" title=\"Swipe\">\n    <template slot=\"content\">\n      <div class=\"swipe-wrapper\">\n        <cube-scroll>\n          <cube-swipe\n              @item-click=\"onItemClick\"\n              @btn-click=\"onBtnClick\"\n              :data=\"swipeData\">\n          </cube-swipe>\n        </cube-scroll>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import { defaultData } from '../../data/swipe'\n  export default {\n    data() {\n      return {\n        swipeData: defaultData\n      }\n    },\n    methods: {\n      onItemClick(item) {\n        console.log('click item:', item)\n      },\n      onBtnClick(btn, index) {\n        if (btn.action === 'delete') {\n          this.$createActionSheet({\n            title: '确认要删除吗',\n            active: 0,\n            data: [\n              {content: '删除'}\n            ],\n            onSelect: () => {\n              this.swipeData.splice(index, 1)\n            }\n          }).show()\n        }\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .swipe-view\n    .swipe-wrapper\n      position: fixed\n      top: 60px\n      left: 10px\n      right: 10px\n      bottom: 0\n      background: #fff\n</style>\n"
  },
  {
    "path": "example/pages/swipe/index.vue",
    "content": "<template>\n  <cube-page type=\"swipe\" title=\"Swipe\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('custom')\">Custom</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/swipe/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/switch.vue",
    "content": "<template>\n  <cube-page type=\"switch-view\" title=\"Switch\">\n    <template slot=\"content\">\n      <cube-switch v-model=\"values[0]\">Switch</cube-switch>\n      <p>switch value: {{values[0]}}</p>\n      <cube-switch v-model=\"values[1]\">Switch</cube-switch>\n      <p>switch value: {{values[1]}}</p>\n      <cube-switch v-model=\"values[2]\" :disabled=\"disabled\">Disbled Switch</cube-switch>\n      <p>switch value: {{values[2]}}</p>\n      <cube-switch v-model=\"values[3]\" :disabled=\"disabled\">Disbled Switch</cube-switch>\n      <p>switch value: {{values[3]}}</p>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        values: [true, false, true, false],\n        disabled: true\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .switch-view\n    .content\n      >\n        *\n          margin: 10px 0\n      .cube-switch\n        padding: 10px\n        background-color: white\n</style>\n"
  },
  {
    "path": "example/pages/tab-bar/index.vue",
    "content": "<template>\n  <cube-page type=\"tabs\" title=\"Tab Demos\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('tab-bar')\">TabBar Demos</cube-button>\n        <cube-button @click=\"goTo('tab')\">Tab Demos</cube-button>\n        <cube-button @click=\"goTo('scroll-tab')\">ScrollTab Demo</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/tab-bar/' + subPath)\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/tab-bar/scroll-tab.vue",
    "content": "<template>\n  <cube-page type=\"scroll-tab-view\" title=\"ScrollTab\">\n    <div slot=\"content\">\n      <div class=\"left-panel\">\n        <cube-scroll>\n          <cube-tab-bar v-model=\"selectedLabel\" :data=\"tabs\" @change=\"changeHandler\"></cube-tab-bar>\n        </cube-scroll>\n      </div>\n      <div class=\"right-panel\">\n        <cube-scroll ref=\"scroll\">\n          <ul>\n            <li v-for=\"(hero, index) in scrollData\">\n              <img :src=\"hero.avatar\" alt=\"\">\n              <span>{{hero.name}}</span>\n            </li>\n          </ul>\n        </cube-scroll>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import * as DATAS from '../../data/tab-bar'\n\n  const DATA_MAP = {\n    '全部': DATAS.ALL_HEROES,\n    '法师': DATAS.MAGE_HEROES,\n    '战士': DATAS.FIGHTER_HEROES,\n    '坦克': DATAS.TANK_HEROES,\n    '刺客': DATAS.ASSASSIN_HEROES,\n    '辅助': DATAS.SUPPORT_HEROES,\n    '射手': DATAS.MARKSMAN_HEROES\n  }\n  const genTabLabels = Object.keys(DATA_MAP).map(label => ({\n    label\n  }))\n  export default {\n    data () {\n      return {\n        selectedLabel: '全部',\n        scrollData: [],\n        tabs: genTabLabels\n      }\n    },\n    created () {\n      this.scrollData = DATA_MAP[this.selectedLabel]\n    },\n    methods: {\n      changeHandler (label) {\n        this.scrollData = DATA_MAP[label]\n        this.$nextTick(() => {\n          // reset better-scroll'postion\n          this.$refs.scroll.scrollTo(0, 0)\n          // you need to caculate scroll-content height when your dom has changed in nextTick\n          this.$refs.scroll.refresh()\n        })\n      }\n    },\n    components: {\n      CubePage\n    },\n    watch: {\n      selectedLabel (newV) {\n        console.log(newV)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n.scroll-tab-view\n  .cube-tab-bar\n    flex-wrap: wrap\n    .cube-tab\n      width: 100%\n      flex-basis: unset\n      height: 40px\n      line-height: 40px\n      font-size: 14px\n      color: #db8931\n      transition: all .3s ease-in\n      &.cube-tab_active\n        color: #fff\n        font-size: 16px\n        background-color: #a74b00\n\n  .left-panel\n    position: absolute\n    top: 44px\n    left: 0\n    bottom: 0\n    width: 80px\n    background-color: #2d2d2d\n\n  .right-panel\n    position: absolute\n    top: 44px\n    left: 80px\n    right: 0\n    bottom: 0\n    background-color: #171819\n    li\n      height: 102px\n      display: flex\n      align-items: center\n      background-color: #171819\n      img\n        width: 102px\n        margin: 0 10px 0 20px\n        border: 1px solid #ff9f38\n        border-radius: 3px\n        box-shadow: 0 1px 5px 0 #000\n      span\n        color: #db8931\n</style>\n"
  },
  {
    "path": "example/pages/tab-bar/tab-bar.vue",
    "content": "<template>\n  <cube-page type=\"tab-bar-view\" title=\"TabBar\">\n    <div slot=\"content\">\n      <!-- default -->\n      <div class=\"section\">\n        <cube-tab-bar\n          v-model=\"selectedLabelDefault\"\n          :data=\"tabs\"\n          @click=\"clickHandler\"\n          @change=\"changeHandler\">\n        </cube-tab-bar>\n      </div>\n      <!-- showSlider -->\n      <div class=\"section\">\n        <cube-tab-bar\n          v-model=\"selectedLabelSlots\"\n          show-slider\n          @click=\"clickHandler\"\n          @change=\"changeHandler\">\n          <cube-tab v-for=\"(item, index) in tabs\" :icon=\"item.icon\" :label=\"item.label\" :key=\"item.label\">\n          </cube-tab>\n        </cube-tab-bar>\n      </div>\n      <!-- inline -->\n      <div class=\"section\">\n        <cube-tab-bar\n          v-model=\"selectedLabelInline\"\n          show-slider\n          inline\n          @click=\"clickHandler\"\n          @change=\"changeHandler\">\n          <cube-tab v-for=\"(item, index) in tabs\" :icon=\"item.icon\" :label=\"item.label\" :key=\"item.label\">\n          </cube-tab>\n        </cube-tab-bar>\n      </div>\n      <!-- icon-slot-->\n      <div class=\"section\">\n        <cube-tab-bar v-model=\"selectedLabelSlotsOnly\" @click=\"clickHandler\">\n          <cube-tab v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n            <i slot=\"icon\" :class=\"item.icon\"></i>\n            <!-- use en empty tag to replace default slot -->\n            <span></span>\n          </cube-tab>\n        </cube-tab-bar>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        selectedLabelDefault: 'Vip',\n        selectedLabelSlots: 'Like',\n        selectedLabelInline: 'Me',\n        selectedLabelSlotsOnly: 'Home',\n        tabs: [{\n          label: 'Home',\n          icon: 'cubeic-home'\n        }, {\n          label: 'Like',\n          icon: 'cubeic-like'\n        }, {\n          label: 'Vip',\n          icon: 'cubeic-vip'\n        }, {\n          label: 'Me',\n          icon: 'cubeic-person'\n        }]\n      }\n    },\n    methods: {\n      clickHandler (label) {\n        console.log('tab was clicked', label)\n      },\n      changeHandler (label) {\n        console.log('value has changed, now is', label)\n      }\n    },\n    components: {\n      CubePage\n    },\n    watch: {\n      selectedLabel (newV) {\n        console.log(newV)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @import \"~@/common/stylus/variable.styl\"\n  .tab-bar-view\n    .section\n      margin-bottom: 10px\n      background-color: white\n    .option-list\n      .group\n        margin-bottom: 15px\n      .item\n        height: 52px\n        border: 1px solid rgba(0, 0, 0, .1)\n        background-color: white\n        border-radius: 5px\n    .cube-tab-bar\n      background-color: white\n</style>\n"
  },
  {
    "path": "example/pages/tab-bar/tab-basic.vue",
    "content": "<template>\n  <cube-page type=\"tabs-basic-view\" title=\"tab-basic\">\n    <div slot=\"content\">\n      <cube-tab-bar v-model=\"selectedLabel\" show-slider>\n        <cube-tab v-for=\"(item, index) in tabs\" :label=\"item.label\" :icon=\"item.icon\" :key=\"item.label\"></cube-tab>\n      </cube-tab-bar>\n      <cube-tab-panels v-model=\"selectedLabel\">\n        <cube-tab-panel v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"item.label\">\n          <ul>\n            <li class=\"tab-panel-li\" v-for=\"(hero, index) in item.heroes\" :key=\"index\">\n              {{hero}}\n            </li>\n          </ul>\n        </cube-tab-panel>\n      </cube-tab-panels>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  export default {\n    data() {\n      return {\n        selectedLabel: '天辉',\n        tabs: [{\n          label: '天辉',\n          icon: 'cubeic-like',\n          heroes: ['敌法师', '卓尔游侠', '主宰', '米拉娜', '变体精灵']\n        }, {\n          label: '夜魇',\n          icon: 'cubeic-star',\n          heroes: ['血魔', '影魔', '剃刀', '剧毒术士', '虚空假面', '幻影刺客', '冥界亚龙', '克林克兹', '育母蜘蛛', '编织者', '幽鬼', '司夜刺客', '米波']\n        }]\n      }\n    },\n    components: {\n      CubePage\n    },\n    watch: {\n      selectedLabel (newV) {\n        console.log(newV)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .tabs-basic-view\n    .cube-tab-bar\n      background-color: #fff\n    .cube-tab-panels\n      background-color: #fff\n    .tab-panel-li\n      padding: 0 16px\n      height: 40px\n      line-height: 40px\n      border-top: 1px solid #eee\n      &:last-child\n        border-bottom: 1px solid #eee\n</style>\n"
  },
  {
    "path": "example/pages/tab-bar/tab-composite.vue",
    "content": "<template>\n  <cube-page type=\"tab-composite-view\" title=\"tab-composite\">\n    <div slot=\"content\">\n      <cube-tab-bar v-model=\"selectedLabel\"\n                    show-slider\n                    :use-transition=\"disabled\"\n                    ref=\"tabNav\"\n                    :data=\"tabLabels\">\n      </cube-tab-bar>\n      <div class=\"tab-slide-container\">\n        <cube-slide\n          ref=\"slide\"\n          :loop=\"loop\"\n          :initial-index=\"initialIndex\"\n          :auto-play=\"autoPlay\"\n          :show-dots=\"showDots\"\n          :options=\"slideOptions\"\n          @scroll=\"scroll\"\n          @change=\"changePage\"\n        >\n          <!-- 关注 -->\n          <cube-slide-item>\n            <cube-scroll :data=\"followersData\" :options=\"scrollOptions\">\n              <ul class=\"list-wrapper\">\n                <li v-for=\"(item, index) in followersData\" class=\"list-item\" :key=\"index\">\n                  <div class=\"top\">\n                    <img :src=\"item.avatar\" class=\"avatar\">\n                    <span class=\"time\">{{resolveTitle(item)}}</span>\n                  </div>\n                  <div class=\"middle is-bold line-height\">{{item.question}}</div>\n                  <div>{{resolveQuestionFollowers(item)}}</div>\n                </li>\n              </ul>\n            </cube-scroll>\n          </cube-slide-item>\n          <!-- 推荐 -->\n          <cube-slide-item>\n            <cube-scroll :data=\"recommendData\" :options=\"scrollOptions\">\n              <ul class=\"list-wrapper\">\n                <li v-for=\"(item, index) in recommendData\" class=\"list-item\" :key=\"index\">\n                  <div class=\"top is-black is-bold line-height\">\n                    {{item.question}}\n                  </div>\n                  <div class=\"middle is-grey line-height\">{{item.content}}</div>\n                  <div>{{resolveQuestionFollowers(item)}}</div>\n                </li>\n              </ul>\n            </cube-scroll>\n          </cube-slide-item>\n          <cube-slide-item>\n            <cube-scroll :data=\"hotData\" :options=\"scrollOptions\">\n              <ul class=\"list-wrapper\">\n                <li v-for=\"(item, index) in hotData\" class=\"list-item\" :key=\"index\">\n                  <div class=\"hot-title\">\n                    <span class=\"hot-sequence\">{{item.sequence}}</span>\n                    <span></span>\n                    {{item.label}}\n                  </div>\n                  <div class=\"hot-content is-bold is-black\">{{item.question}}</div>\n                </li>\n              </ul>\n            </cube-scroll>\n          </cube-slide-item>\n        </cube-slide>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import { FOLLOWERS_DATA, RECOMMEND_DATA, HOT_DATA } from '../../data/tab-bar'\n  import { findIndex } from '../../../src/common/helpers/util'\n\n  export default {\n    data () {\n      return {\n        selectedLabel: '推荐',\n        disabled: false,\n        tabLabels: [{\n          label: '关注'\n        }, {\n          label: '推荐'\n        }, {\n          label: '热榜'\n        }],\n        loop: false,\n        autoPlay: false,\n        showDots: false,\n        slideOptions: {\n          listenScroll: true,\n          probeType: 3,\n          /* lock y-direction when scrolling horizontally and  vertically at the same time */\n          directionLockThreshold: 0\n        },\n        scrollOptions: {\n          /* lock x-direction when scrolling horizontally and  vertically at the same time */\n          directionLockThreshold: 0\n        },\n        followersData: FOLLOWERS_DATA,\n        recommendData: RECOMMEND_DATA,\n        hotData: HOT_DATA\n      }\n    },\n    methods: {\n      changePage (current) {\n        this.selectedLabel = this.tabLabels[current].label\n        console.log(current)\n      },\n      scroll (pos) {\n        const x = Math.abs(pos.x)\n        const tabItemWidth = this.$refs.tabNav.$el.clientWidth\n        const slideScrollerWidth = this.$refs.slide.slide.scrollerWidth\n        const deltaX = x / slideScrollerWidth * tabItemWidth\n        this.$refs.tabNav.setSliderTransform(deltaX)\n      },\n      resolveTitle (item) {\n        return `${item.name}关注了问题 · ${item.postTime} 小时前`\n      },\n      resolveQuestionFollowers (item) {\n        return `${item.answers} 赞同 · ${item.followers} 评论`\n      }\n    },\n    computed: {\n      initialIndex () {\n        let index = 0\n        index = findIndex(this.tabLabels, item => item.label === this.selectedLabel)\n        return index\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  /* 覆盖样式 */\n  .cube-page\n    &.tab-composite-view\n      > .wrapper\n        > .content\n          margin: 0\n\n  .tab-composite-view\n    .cube-tab-bar\n      background-color: white\n    .cube-tab, .cube-tab_active\n        color: black\n    .cube-tab-bar-slider\n      background-color: black\n\n    .tab-slide-container\n      position: fixed\n      top: 74px\n      left: 0\n      right: 0\n      bottom: 0\n\n    .list-wrapper\n      overflow: hidden\n      li\n        padding: 15px 10px\n        margin-top: 10px\n        text-align: left\n        background-color: white\n        font-size: 14px\n        color: #999\n        white-space: normal\n        .line-height\n          line-height: 1.5\n        .is-black\n          color: black\n        .is-grey\n          color: #999\n        .is-bold\n          font-weight: bold\n        .top\n          display: flex\n          .avatar\n            width: 15px\n            height: 15px\n            margin-right: 2px\n            border-radius: 100%\n          .time\n            flex: 1\n        .middle\n          display: flex\n          margin: 10px 0\n          color: black\n        .hot-title\n          display: flex\n          align-items: center\n          font-size: 12px\n          .hot-sequence\n            display: inline-block\n            margin-right: 2px\n            padding: 3px 6px\n            border-radius: 2px\n            background-color: darkgoldenrod\n            color: white\n        .hot-content\n          margin-top: 15px\n</style>\n"
  },
  {
    "path": "example/pages/tab-bar/tab-entry.vue",
    "content": "<template>\n  <cube-page type=\"tab-entry\" title=\"Tab Entry\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('basic')\">tab-basic</cube-button>\n        <cube-button @click=\"goTo('composite')\">tab-composite</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/tab-bar/tab/' + subPath)\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/textarea.vue",
    "content": "<template>\n  <cube-page type=\"textarea-view\" title=\"Textarea\" class=\"option-demo\">\n    <div slot=\"content\">\n      <div class=\"textarea-wrapper\">\n        <cube-textarea\n          v-model=\"text\"\n          :disabled=\"disabled\"\n          :maxlength=\"+maxlength || 60\"\n          :indicator=\"showIndicator ? indicator : showIndicator\"\n          :width=\"width || '300px'\"></cube-textarea>\n      </div>\n      <div class=\"options\">\n        <div class=\"title\">Options</div>\n        <div class=\"option-list\">\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"disabled\" :value=\"disabled\"\n                           @update:value=\"updateDisabled\"></switch-option>\n            <input-option class=\"item sub\" name=\"maxlength\" :value=\"maxlength\"\n                          @update:value=\"updateMaxlength\"></input-option>\n            <input-option class=\"item sub\" name=\"width\" :value=\"width\"\n                          @update:value=\"updateWidth\"></input-option>\n          </div>\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"indicator\" :value=\"showIndicator\"\n                           @update:value=\"updateIndicator\"></switch-option>\n            <switch-option v-if=\"showIndicator\" class=\"item\" name=\"negative\" :value=\"indicator.negative\"\n                           @update:value=\"updateIndicatorNegative\"></switch-option>\n            <switch-option v-if=\"showIndicator\" class=\"item\" name=\"remain\" :value=\"indicator.remain\"\n                           @update:value=\"updateIndicatorRemain\"></switch-option>\n          </div>\n        </div>\n      </div>\n      <div class=\"title\">named slot indicator & forceExpand: true</div>\n      <div class=\"textarea-wrapper\">\n        <cube-textarea\n          v-model=\"text\"\n          :force-expand=\"true\"\n          :maxlength=\"+maxlength || 60\"\n          :indicator=\"false\"\n          :width=\"width || '300px'\">\n          <span slot=\"indicator\" slot-scope=\"{ remain }\" class=\"cube-textarea-indicator\">{{remain}}/{{maxlength || 60}}</span>\n        </cube-textarea>\n      </div>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import CubePage from '../components/cube-page.vue'\n  import SwitchOption from '../components/switch-option'\n  import InputOption from '../components/input-option'\n\n  export default {\n    data() {\n      return {\n        text: '',\n        disabled: false,\n        maxlength: 60,\n        width: '274px',\n        showIndicator: true,\n        indicator: {\n          negative: true,\n          remain: true\n        }\n      }\n    },\n    methods: {\n      updateDisabled(val) {\n        this.disabled = val\n      },\n      updateMaxlength(val) {\n        this.maxlength = val\n      },\n      updateWidth(val) {\n        this.width = val\n      },\n      updateIndicator(val) {\n        this.showIndicator = val\n      },\n      updateIndicatorNegative(val) {\n        this.indicator.negative = val\n      },\n      updateIndicatorRemain(val) {\n        this.indicator.remain = val\n      }\n    },\n    components: {\n      CubeButtonGroup,\n      CubePage,\n      SwitchOption,\n      InputOption\n    }\n  }\n</script>\n\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .textarea-wrapper\n    margin: 30px 0\n  .component-desc\n    margin-top: 15px\n    font-size: 14px\n</style>\n"
  },
  {
    "path": "example/pages/time-picker.vue",
    "content": "<template>\n  <cube-page type=\"time-picker-view\" title=\"TimePicker（时间选择器）\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showTimePicker\">TimePicker</cube-button>\n        <cube-button @click=\"showConfigDayPicker\">Config day options</cube-button>\n        <cube-button @click=\"showFormatPicker\">Config format</cube-button>\n        <cube-button @click=\"showMinuteStepPicker\">Config minute step</cube-button>\n        <cube-button @click=\"showMinPicker\">Config min</cube-button>\n        <cube-button @click=\"showMaxPicker\">Config max</cube-button>\n        <cube-button @click=\"showSetTimePiker\">Use setTime</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup\n    },\n    methods: {\n      showTimePicker() {\n        if (!this.timePicker) {\n          this.timePicker = this.$createTimePicker({\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.timePicker.show()\n      },\n      showConfigDayPicker() {\n        if (!this.configDayPicker) {\n          this.configDayPicker = this.$createTimePicker({\n            minuteStep: 5,\n            delay: 10,\n            day: {\n              len: 5,\n              filter: ['今天', '明天'],\n              format: 'M月D日'\n            },\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.configDayPicker.show()\n      },\n      showFormatPicker() {\n        if (!this.formatPicker) {\n          this.formatPicker = this.$createTimePicker({\n            format: 'hh:mm',\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.formatPicker.show()\n      },\n      showMinuteStepPicker() {\n        if (!this.minuteStepPicker) {\n          this.minuteStepPicker = this.$createTimePicker({\n            minuteStep: {\n              rule: 'ceil',\n              step: 15\n            },\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.minuteStepPicker.show()\n      },\n      showMinPicker() {\n        if (!this.minPicker) {\n          this.minPicker = this.$createTimePicker({\n            min: +new Date() - (2 * 60 + 20) * 60 * 1000,\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.minPicker.show()\n      },\n      showMaxPicker() {\n        if (!this.maxPicker) {\n          this.maxPicker = this.$createTimePicker({\n            delay: 0,\n            max: +new Date() + ((2 * 24 + 2) * 60 + 20) * 60 * 1000,\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n        this.maxPicker.show()\n      },\n      showSetTimePiker() {\n        if (!this.setTimePiker) {\n          this.setTimePiker = this.$createTimePicker({\n            onSelect: this.selectHandler,\n            onCancel: this.cancelHandler\n          })\n        }\n\n        const time = new Date().valueOf() + 1 * 60 * 60 * 1000 * 24\n        this.setTimePiker.setTime(time)\n        this.setTimePiker.show()\n      },\n      selectHandler(selectedTime, selectedText, formatedTime) {\n        this.$createDialog({\n          type: 'warn',\n          title: `selected time: ${selectedTime}`,\n          content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n          icon: 'cubeic-alert'\n        }).show()\n      },\n      cancelHandler() {\n        this.$createToast({\n          type: 'correct',\n          txt: 'Picker canceled',\n          time: 1000\n        }).show()\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/tip.vue",
    "content": "<template>\n  <cube-page type=\"tip-view\" title=\"Tip\">\n    <div slot=\"content\">\n      <p class=\"tip-eg\">\n        <cube-button\n          :inline=\"true\"\n          :outline=\"true\"\n          :primary=\"true\"\n          @click=\"$refs.tip.show()\">Show tip</cube-button>\n        <cube-tip ref=\"tip\" direction=\"bottom\" style=\"left:115px;top:-50px;\">Tip</cube-tip>\n      </p>\n      <p class=\"tip-eg\">\n        <cube-button\n            :inline=\"true\"\n            :outline=\"true\"\n            :primary=\"true\"\n            @click=\"showTip('bottom')\">cube-ui</cube-button>\n        <cube-tip\n            ref=\"tip2\"\n            :direction=\"direction\"\n            :style=\"tipStyle\"\n            @close=\"close\"\n            @click=\"clickHandler\">\n          <div>Awesome!</div>\n        </cube-tip>\n      </p>\n      <cube-button @click=\"showTip('bottom')\">top</cube-button>\n      <cube-button @click=\"showTip('top')\">bottom</cube-button>\n      <cube-button @click=\"showTip('right')\">left</cube-button>\n      <cube-button @click=\"showTip('left')\">right</cube-button>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        direction: '',\n        tipStyle: ''\n      }\n    },\n    methods: {\n      showTip(direction) {\n        this.direction = direction\n        this.$refs.tip2.show()\n\n        switch (direction) {\n          case 'bottom':\n            this.tipStyle = 'left: 96px; top: -50px;'\n            break\n          case 'top':\n            this.tipStyle = 'left: 96px; top: 40px;'\n            break\n          case 'right':\n            this.tipStyle = 'left: -2px; top: -5px;'\n            break\n          case 'left':\n            this.tipStyle = 'left: 190px; top: -5px;'\n            break\n        }\n      },\n      close() {\n        console.log('click close button')\n      },\n      clickHandler() {\n        console.log('click tip area')\n      }\n    },\n    components: {\n      CubeButtonGroup,\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .tip-view\n    .tip-eg\n      position: relative\n      width: 300px\n      margin: 70px auto\n      text-align: center\n    .cube-btn\n      margin-bottom: 10px\n</style>\n"
  },
  {
    "path": "example/pages/toast.vue",
    "content": "<template>\n  <cube-page type=\"toast-view\" title=\"Toast\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"showToastTime\">Toast - time 1s</cube-button>\n        <cube-button @click=\"showToastTime0\">Toast - time 0</cube-button>\n        <cube-button @click=\"showToastMask\">Toast- with mask</cube-button>\n        <cube-button @click=\"showToastType\">Toast - type</cube-button>\n        <cube-button @click=\"showToastTxtOnly\">Toast - txt only</cube-button>\n      </cube-button-group>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeButtonGroup from '../components/cube-button-group.vue'\n  import CubePage from '../components/cube-page.vue'\n\n  export default {\n    methods: {\n      showToastTime() {\n        this.toast = this.$createToast({\n          time: 1000,\n          txt: 'Toast time 1s',\n          onTimeout: () => {\n            console.log('timeout')\n          }\n        })\n        this.toast.show()\n      },\n      showToastTime0() {\n        this.toast = this.$createToast({\n          time: 0,\n          txt: 'Toast time 0'\n        })\n        this.toast.show()\n        setTimeout(() => {\n          this.toast.hide()\n        }, 2000)\n      },\n      showToastMask() {\n        this.toast = this.$createToast({\n          txt: 'Loading...',\n          mask: true\n        })\n        this.toast.show()\n      },\n      showToastType() {\n        this.toast = this.$createToast({\n          txt: 'Correct',\n          type: 'correct'\n        })\n        this.toast.show()\n      },\n      showToastTxtOnly() {\n        this.toast = this.$createToast({\n          txt: 'Plain txt',\n          type: 'txt'\n        })\n        this.toast.show()\n      }\n    },\n    components: {\n      CubeButtonGroup,\n      CubePage\n    }\n  }\n</script>\n"
  },
  {
    "path": "example/pages/toolbar.vue",
    "content": "<template>\n  <cube-page type=\"toolbar\" title=\"Toolbar\" class=\"option-demo\">\n    <div slot=\"content\">\n      <div class=\"options\">\n        <div class=\"option-list\">\n          <div class=\"group\">\n            <switch-option class=\"item\" name=\"More Actions\" :value=\"more\"\n              @update:value=\"updateMore\"></switch-option>\n          </div>\n        </div>\n      </div>\n      <cube-toolbar\n        :actions=\"actions\"\n        :more-actions=\"more ? moreActions : undefined\"\n        @click=\"clickHandler\">\n      </cube-toolbar>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import SwitchOption from 'example/components/switch-option.vue'\n\n  export default {\n    components: {\n      CubePage,\n      SwitchOption\n    },\n    data() {\n      return {\n        more: false,\n        money: 10,\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          },\n          {\n            text: '一口价<span class=\"orange\">10元</span>',\n            action: 'moreMoney'\n          }\n        ],\n        moreActions: [\n          {\n            text: '操作a',\n            action: 'showText'\n          },\n          {\n            text: '操作b',\n            action: 'showText'\n          },\n          {\n            text: '操作c',\n            icon: 'cubeic-right',\n            action: 'showText'\n          }\n        ]\n      }\n    },\n    methods: {\n      updateMore(val) {\n        this.more = val\n      },\n      showText(item) {\n        this.$createToast({\n          type: 'correct',\n          txt: 'clicked ' + item.text,\n          time: 1000\n        }).show()\n      },\n      moreMoney(item) {\n        this.money += 10\n        item.text = '一口价<span class=\"orange\">' + this.money + '元</span>'\n      },\n      clickHandler(item) {\n        if (item.action) {\n          this[item.action](item)\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .orange\n    color: #fc9153\n</style>\n"
  },
  {
    "path": "example/pages/upload/compress.vue",
    "content": "<template>\n  <cube-page type=\"upload-view-compress\" title=\"Upload\">\n    <template slot=\"content\">\n      <p>Compress&Base64 upload: </p>\n      <div>\n        <cube-upload\n          ref=\"upload\"\n          :action=\"action\"\n          :simultaneous-uploads=\"1\"\n          :process-file=\"processFile\"\n          @file-submitted=\"fileSubmitted\" />\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n  import compress from '../../modules/image'\n\n  export default {\n    data() {\n      return {\n        action: {\n          target: '//jsonplaceholder.typicode.com/photos/',\n          prop: 'base64Value',\n          checkSuccess(res) {\n            // success\n            return true\n          }\n        }\n      }\n    },\n    methods: {\n      processFile(file, next) {\n        compress(file, {\n          compress: {\n            width: 1600,\n            height: 1600,\n            quality: 0.5\n          }\n        }, next)\n      },\n      fileSubmitted(file) {\n        file.base64Value = file.file.base64\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .upload-view-compress\n    .content\n      >\n        p, div\n          margin: 20px 0\n        div\n          .cube-btn, .cube-upload\n            margin: 10px 0\n</style>\n"
  },
  {
    "path": "example/pages/upload/custom.vue",
    "content": "<template>\n  <cube-page type=\"upload-view-custom\" title=\"Upload\">\n    <template slot=\"content\">\n      <p>Use slots: </p>\n      <div class=\"upload-view-custom-main\">\n        <cube-upload\n          ref=\"upload\"\n          v-model=\"files\"\n          :action=\"action\"\n          @files-added=\"addedHandler\"\n          @file-error=\"errHandler\">\n          <div class=\"clear-fix\">\n            <cube-upload-file v-for=\"(file, i) in files\" :file=\"file\" :key=\"i\"></cube-upload-file>\n            <cube-upload-btn :multiple=\"false\">\n              <div>\n                <i>＋</i>\n                <p>Please click to upload ID card</p>\n              </div>\n            </cube-upload-btn>\n          </div>\n        </cube-upload>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        action: '//jsonplaceholder.typicode.com/photos/',\n        files: []\n      }\n    },\n    methods: {\n      addedHandler() {\n        const file = this.files[0]\n        file && this.$refs.upload.removeFile(file)\n      },\n      errHandler(file) {\n        // const msg = file.response.message\n        this.$createToast({\n          type: 'warn',\n          txt: 'Upload fail',\n          time: 1000\n        }).show()\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .upload-view-custom\n    .content\n      >\n        p, div\n          margin: 20px 0\n  .upload-view-custom-main\n    background-color: #fff\n    .cube-upload\n      .cube-upload-file, .cube-upload-btn\n        margin: 0\n        height: 200px\n      .cube-upload-file\n        margin: 0\n        + .cube-upload-btn\n          margin-top: -200px\n          opacity: 0\n      .cube-upload-file-def\n        width: 100%\n        height: 100%\n        .cubeic-wrong\n          display: none\n      .cube-upload-btn\n        display: flex\n        align-items: center\n        justify-content: center\n        > div\n          text-align: center\n        i\n          display: inline-flex\n          align-items: center\n          justify-content: center\n          width: 50px\n          height: 50px\n          margin-bottom: 20px\n          font-size: 32px\n          line-height: 1\n          font-style: normal\n          color: #fff\n          background-color: #333\n          border-radius: 50%\n</style>\n"
  },
  {
    "path": "example/pages/upload/default.vue",
    "content": "<template>\n  <cube-page type=\"upload-view-def\" title=\"Upload\">\n    <template slot=\"content\">\n      <p>Normal upload(File max size 1MB): </p>\n      <div>\n        <cube-upload ref=\"upload\" :action=\"action\" :simultaneous-uploads=\"1\" @files-added=\"filesAdded\" />\n        <cube-button @click=\"upload\" v-if=\"!isUploading\">Upload</cube-button>\n        <cube-button @click=\"pause\" v-else>Pause</cube-button>\n        <cube-button @click=\"retry\">Retry</cube-button>\n      </div>\n    </template>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../../components/cube-page.vue'\n\n  export default {\n    data() {\n      return {\n        action: '//jsonplaceholder.typicode.com/photos/',\n        isUploading: true\n      }\n    },\n    methods: {\n      upload() {\n        this.isUploading = true\n        this.$refs.upload.start()\n      },\n      pause() {\n        this.isUploading = false\n        this.$refs.upload.pause()\n      },\n      retry() {\n        this.$refs.upload.retry()\n      },\n      filesAdded(files) {\n        let hasIgnore = false\n        const maxSize = 1 * 1024 * 1024 // 1M\n        for (let k in files) {\n          const file = files[k]\n          if (file.size > maxSize) {\n            file.ignore = true\n            hasIgnore = true\n          }\n        }\n        hasIgnore && this.$createToast({\n          type: 'warn',\n          time: 1000,\n          txt: 'You selected >1M files'\n        }).show()\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .upload-view-def\n    .content\n      >\n        p, div\n          margin: 20px 0\n        div\n          .cube-btn, .cube-upload\n            margin: 10px 0\n</style>\n"
  },
  {
    "path": "example/pages/upload/index.vue",
    "content": "<template>\n  <cube-page type=\"upload\" title=\"Upload\">\n    <div slot=\"content\">\n      <cube-button-group>\n        <cube-button @click=\"goTo('default')\">Default</cube-button>\n        <cube-button @click=\"goTo('compress')\">Compress</cube-button>\n        <cube-button @click=\"goTo('custom')\">Custom</cube-button>\n      </cube-button-group>\n      <cube-view></cube-view>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from 'example/components/cube-page.vue'\n  import CubeButtonGroup from 'example/components/cube-button-group.vue'\n  import CubeView from 'example/components/cube-view.vue'\n\n  export default {\n    components: {\n      CubePage,\n      CubeButtonGroup,\n      CubeView\n    },\n    methods: {\n      goTo(subPath) {\n        this.$router.push('/upload/' + subPath)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n</style>\n"
  },
  {
    "path": "example/pages/validator.vue",
    "content": "<template>\n  <cube-page type=\"validator-view\" title=\"Validator\" desc=\"\">\n    <div slot=\"content\">\n      <div class=\"validator-item\">\n        <cube-input v-model=\"text1\" placeholder=\"E-mail\"></cube-input>\n        <cube-validator ref=\"validator1\" v-model=\"isValid[0]\" :model=\"text1\" :rules=\"rules1\" :messages=\"messages1\" :immediate=\"immediate\"></cube-validator>\n      </div>\n      <div class=\"validator-item\">\n        <cube-validator ref=\"validator2\" v-model=\"isValid[1]\" :model=\"text2\" :rules=\"rules2\" :messages=\"messages2\" :immediate=\"immediate\">\n          <cube-input v-model=\"text2\" placeholder=\"component name\"></cube-input>\n          <div slot=\"message\" class=\"custom-msg\" slot-scope=\"props\">\n            <div v-if=\"(props.dirty || props.validated) && !isValid[1]\">\n              <i class=\"dd-cubeic-important\"></i> {{ props.message }}\n              <div>\n                <span v-for=\"(item, index) in Object.values(props.result)\" :key=\"index\" v-if=\"item.inValid\">{{ item.message + ' ' }}</span>\n              </div>\n            </div>\n          </div>\n        </cube-validator>\n      </div>\n      <div class=\"validator-item\">\n        <cube-validator ref=\"validator3\" v-model=\"isValid[2]\" :model=\"text3\" :rules=\"rules3\" :immediate=\"immediate\">\n          <cube-input v-model=\"text3\" placeholder=\"validate odd\"></cube-input>\n        </cube-validator>\n      </div>\n      <div class=\"validator-item\">\n        <cube-checkbox-group v-model=\"checkList\" :horizontal=\"true\">\n          <cube-checkbox label=\"1\">1</cube-checkbox>\n          <cube-checkbox label=\"2\">2</cube-checkbox>\n          <cube-checkbox label=\"3\">3</cube-checkbox>\n        </cube-checkbox-group>\n        <cube-validator ref=\"validator4\" v-model=\"isValid[3]\" :model=\"checkList\" :rules=\"rules4\" :immediate=\"immediate\"></cube-validator>\n      </div>\n      <div class=\"validator-item\">\n        <cube-rate v-model=\"rate\"></cube-rate>\n        <cube-validator ref=\"validator5\" v-model=\"isValid[4]\" :model=\"rate\" :rules=\"rules5\" :immediate=\"immediate\"></cube-validator>\n      </div>\n      <div class=\"validator-item\">\n        <p>Async validate: </p>\n        <cube-validator\n          ref=\"validator6\"\n          v-model=\"isValid[5]\"\n          :model=\"captcha\"\n          :rules=\"rules6\"\n          :messages=\"messages6\"\n          :immediate=\"immediate\"\n          @validating=\"validatingHandler\"\n          @validated=\"validatedHandler\">\n          <cube-input v-model=\"captcha\" placeholder=\"Please input captcha\"></cube-input>\n        </cube-validator>\n      </div>\n      <cube-button @click=\"submit\">Submit</cube-button>\n    </div>\n  </cube-page>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePage from '../components/cube-page.vue'\n\n  // Add or rewrite the build-in rule, type and message.\n  import { Validator, Locale } from '../../src/module'\n  import enLang from '../../src/locale/lang/en-US'\n\n  export default {\n    data() {\n      return {\n        immediate: false,\n        text1: '',\n        isValid: [undefined, undefined, undefined, undefined, undefined, undefined],\n        rules1: {\n          required: true,\n          type: 'email',\n          pattern: /didi.com$/,\n          custom: (val) => {\n            return val.length >= 12\n          }\n        },\n        messages1: {\n          pattern: 'The E-mail suffix need to be didi.com.',\n          custom: 'The E-mail need contain at least 12 characters.'\n        },\n        text2: '',\n        rules2: {\n          type: 'string',\n          pattern: /^cube-/,\n          min: 8,\n          max: 10\n        },\n        messages2: {\n          pattern: 'Please start with \"cube-\"'\n        },\n        text3: '100',\n        rules3: {\n          type: 'number',\n          odd: true\n        },\n        checkList: [],\n        rules4: {\n          required: true\n        },\n        rate: 0,\n        rules5: {\n          min: 1,\n          max: 4\n        },\n        captcha: '',\n        rules6: {\n          type: 'number',\n          required: true,\n          len: 6,\n          captchaCheck: (val) => {\n            return (resolve) => {\n              setTimeout(() => {\n                resolve(val === '123456')\n              }, 1000)\n            }\n            /** or return promise:\n            return new Promise((resolve) => {\n              setTimeout(() => {\n                resolve(val === '123456')\n              }, 1000)\n            })\n            **/\n          }\n        },\n        messages6: {\n          captchaCheck: 'Please input \"123456\"'\n        }\n      }\n    },\n    created() {\n      Locale.use('en-US', enLang)\n      Validator.addRule('odd', (val, config, type) => {\n        return Number(val) % 2 === 1\n      })\n      Validator.addMessage('odd', (config) => {\n        return 'Please input odd.'\n      })\n      Validator.addType('email', (val) => {\n        return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)$/i.test(val)\n      })\n    },\n    methods: {\n      validatingHandler() {\n        console.log('validating')\n      },\n      validatedHandler() {\n        console.log('validated')\n      },\n      submit() {\n        Promise.all(Object.keys(this.$refs).map((key) => {\n          return this.$refs[key].validate()\n        })).then(() => {\n          if (this.isValid.every(item => item)) {\n            this.$createToast({\n              type: 'correct',\n              txt: 'Submited',\n              time: 1000\n            }).show()\n          }\n        })\n      }\n    },\n    components: {\n      CubePage\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .validator-item\n    box-sizing: border-box\n    min-height: 70px\n    .custom-msg\n      color: orange\n</style>\n"
  },
  {
    "path": "example/router/index.js",
    "content": "import VueRouter from 'vue-router'\nimport routes from './routes'\n\nconst router = new VueRouter({\n  routes\n})\n\nexport default router\n"
  },
  {
    "path": "example/router/routes.js",
    "content": "import Button from '../pages/button.vue'\nimport Checkbox from '../pages/checkbox.vue'\nimport CheckboxGroup from '../pages/checkbox-group.vue'\nimport Radio from '../pages/radio.vue'\nimport Switch from '../pages/switch.vue'\nimport Loading from '../pages/loading.vue'\nimport Tip from '../pages/tip.vue'\nimport Popup from '../pages/popup.vue'\nimport Toast from '../pages/toast.vue'\nimport Input from '../pages/input.vue'\nimport Textarea from '../pages/textarea.vue'\nimport Rate from '../pages/rate.vue'\nimport Form from '../pages/form/index.vue'\nimport FormDefault from '../pages/form/default.vue'\nimport FormCustom from '../pages/form/custom.vue'\nimport FormClassic from '../pages/form/classic.vue'\nimport FormFresh from '../pages/form/fresh.vue'\nimport Questionnaire from '../pages/form/questionnaire.vue'\nimport Picker from '../pages/picker.vue'\nimport CascadePicker from '../pages/cascade-picker.vue'\nimport SegmentPicker from '../pages/segment-picker.vue'\nimport DatePicker from '../pages/date-picker.vue'\nimport TimePicker from '../pages/time-picker.vue'\nimport Select from '../pages/select.vue'\nimport Dialog from '../pages/dialog.vue'\nimport ActionSheet from '../pages/action-sheet.vue'\nimport Scroll from '../pages/scroll/index.vue'\nimport ScrollDefault from '../pages/scroll/default.vue'\nimport ScrollConfig from '../pages/scroll/config.vue'\nimport ScrollJd from '../pages/scroll/jd.vue'\nimport ScrollHorizontal from '../pages/scroll/horizontal.vue'\nimport ScrollToutiao from '../pages/scroll/toutiao.vue'\nimport VScrolls from '../pages/scroll/vertical-scrolls.vue'\nimport HScrolls from '../pages/scroll/horizontal-scrolls.vue'\nimport TextareaInScroll from '../pages/scroll/textarea.vue'\nimport IndexList from '../pages/index-list/index.vue'\nimport IndexListDefault from '../pages/index-list/default.vue'\nimport IndexListCustom from '../pages/index-list/custom.vue'\nimport IndexListPullUpLoad from '../pages/index-list/pull-up-load.vue'\nimport IndexListPullDownRefresh from '../pages/index-list/pull-down-refresh.vue'\nimport Upload from '../pages/upload/index.vue'\nimport UploadDefault from '../pages/upload/default.vue'\nimport UploadCompress from '../pages/upload/compress.vue'\nimport UploadCustom from '../pages/upload/custom.vue'\nimport Validator from '../pages/validator.vue'\nimport Swipe from '../pages/swipe/index.vue'\nimport SwipeDefault from '../pages/swipe/default.vue'\nimport SwipeCustom from '../pages/swipe/custom.vue'\nimport Drawer from '../pages/drawer/index.vue'\nimport DrawerDefault from '../pages/drawer/default.vue'\nimport DrawerCustom from '../pages/drawer/custom.vue'\nimport Slide from '../pages/slide/index.vue'\nimport SlideVertical from '../pages/slide/vertical.vue'\nimport SlideHorizontal from '../pages/slide/horizontal.vue'\nimport Toolbar from '../pages/toolbar.vue'\nimport Sticky from '../pages/sticky/index.vue'\nimport StickyScroll from '../pages/sticky/scroll.vue'\nimport StickyNative from '../pages/sticky/native.vue'\nimport StickyWechat from '../pages/sticky/wechat.vue'\nimport StickyComplex from '../pages/sticky/complex.vue'\nimport ScrollNavBar from '../pages/scroll-nav-bar.vue'\nimport ScrollNav from '../pages/scroll-nav/index.vue'\nimport ScrollNavDefault from '../pages/scroll-nav/default.vue'\nimport ScrollNavSide from '../pages/scroll-nav/side.vue'\nimport ImagePreviewIndex from '../pages/image-preview/index.vue'\nimport MultiImagesPreview from '../pages/image-preview/multi-images-preview.vue'\nimport TabBarIndex from '../pages/tab-bar/index.vue'\nimport TabBar from '../pages/tab-bar/tab-bar.vue'\nimport Tab from '../pages/tab-bar/tab-entry.vue'\nimport TabBasic from '../pages/tab-bar/tab-basic.vue'\nimport TabComposite from '../pages/tab-bar/tab-composite.vue'\nimport ScrollTab from '../pages/tab-bar/scroll-tab.vue'\nimport Checker from '../pages/checker.vue'\nimport RecycleList from '../pages/recycle-list/index.vue'\nimport RecycleListDefault from '../pages/recycle-list/recycle-list-default.vue'\nimport RecycleListTombstone from '../pages/recycle-list/recycle-list-tombstone.vue'\n\nconst routes = [\n  {\n    path: '/button',\n    component: Button\n  },\n  {\n    path: '/checkbox',\n    component: Checkbox\n  },\n  {\n    path: '/checkbox-group',\n    component: CheckboxGroup\n  },\n  {\n    path: '/checker',\n    component: Checker\n  },\n  {\n    path: '/radio',\n    component: Radio\n  },\n  {\n    path: '/input',\n    component: Input\n  },\n  {\n    path: '/textarea',\n    component: Textarea\n  },\n  {\n    path: '/switch',\n    component: Switch\n  },\n  {\n    path: '/form',\n    component: Form,\n    children: [\n      {\n        path: 'default',\n        component: FormDefault\n      },\n      {\n        path: 'custom',\n        component: FormCustom\n      },\n      {\n        path: 'classic',\n        component: FormClassic\n      },\n      {\n        path: 'fresh',\n        component: FormFresh\n      },\n      {\n        path: 'questionnaire',\n        component: Questionnaire\n      }\n    ]\n  },\n  {\n    path: '/loading',\n    component: Loading\n  },\n  {\n    path: '/tip',\n    component: Tip\n  },\n  {\n    path: '/toolbar',\n    component: Toolbar\n  },\n  {\n    path: '/popup',\n    component: Popup\n  },\n  {\n    path: '/toast',\n    component: Toast\n  },\n  {\n    path: '/rate',\n    component: Rate\n  },\n  {\n    path: '/picker',\n    component: Picker\n  },\n  {\n    path: '/cascade-picker',\n    component: CascadePicker\n  },\n  {\n    path: '/segment-picker',\n    component: SegmentPicker\n  },\n  {\n    path: '/date-picker',\n    component: DatePicker\n  },\n  {\n    path: '/time-picker',\n    component: TimePicker\n  },\n  {\n    path: '/select',\n    component: Select\n  },\n  {\n    path: '/dialog',\n    component: Dialog\n  },\n  {\n    path: '/action-sheet',\n    component: ActionSheet\n  },\n  {\n    path: '/drawer',\n    component: Drawer,\n    children: [\n      {\n        path: 'default',\n        component: DrawerDefault\n      },\n      {\n        path: 'custom',\n        component: DrawerCustom\n      }\n    ]\n  },\n  {\n    path: '/image-preview',\n    component: ImagePreviewIndex,\n    children: [\n      {\n        path: 'multi-images-preview',\n        component: MultiImagesPreview\n      }\n    ]\n  },\n  {\n    path: '/scroll',\n    component: Scroll,\n    children: [\n      {\n        path: 'default',\n        component: ScrollDefault\n      },\n      {\n        path: 'config',\n        component: ScrollConfig\n      },\n      {\n        path: 'jd',\n        component: ScrollJd\n      },\n      {\n        path: 'horizontal',\n        component: ScrollHorizontal\n      },\n      {\n        path: 'toutiao',\n        component: ScrollToutiao\n      },\n      {\n        path: 'v-scrolls',\n        component: VScrolls\n      },\n      {\n        path: 'h-scrolls',\n        component: HScrolls\n      },\n      {\n        path: 'textarea',\n        component: TextareaInScroll\n      }\n    ]\n  },\n  {\n    path: '/index-list',\n    component: IndexList,\n    children: [\n      {\n        path: 'default',\n        component: IndexListDefault\n      },\n      {\n        path: 'custom',\n        component: IndexListCustom\n      },\n      {\n        path: 'pull-up-load',\n        component: IndexListPullUpLoad\n      },\n      {\n        path: 'pull-down-refresh',\n        component: IndexListPullDownRefresh\n      }\n    ]\n  },\n  {\n    path: '/upload',\n    component: Upload,\n    children: [\n      {\n        path: 'default',\n        component: UploadDefault\n      },\n      {\n        path: 'compress',\n        component: UploadCompress\n      },\n      {\n        path: 'custom',\n        component: UploadCustom\n      }\n    ]\n  },\n  {\n    path: '/validator',\n    component: Validator\n  },\n  {\n    path: '/swipe',\n    component: Swipe,\n    children: [\n      {\n        path: 'default',\n        component: SwipeDefault\n      },\n      {\n        path: 'custom',\n        component: SwipeCustom\n      }\n    ]\n  },\n  {\n    path: '/slide',\n    component: Slide,\n    children: [\n      {\n        path: 'vertical',\n        component: SlideVertical\n      },\n      {\n        path: 'horizontal',\n        component: SlideHorizontal\n      }\n    ]\n  },\n  {\n    path: '/toolbar',\n    component: Toolbar\n  },\n  {\n    path: '/sticky',\n    component: Sticky,\n    children: [\n      {\n        path: 'scroll',\n        component: StickyScroll\n      },\n      {\n        path: 'native',\n        component: StickyNative\n      },\n      {\n        path: 'wechat',\n        component: StickyWechat\n      },\n      {\n        path: 'complex',\n        component: StickyComplex\n      }\n    ]\n  },\n  {\n    path: '/scroll-nav-bar',\n    component: ScrollNavBar\n  },\n  {\n    path: '/scroll-nav',\n    component: ScrollNav,\n    children: [\n      {\n        path: 'default',\n        component: ScrollNavDefault\n      },\n      {\n        path: 'side',\n        component: ScrollNavSide\n      }\n    ]\n  },\n  {\n    path: '/tab-bar',\n    component: TabBarIndex,\n    children: [\n      {\n        path: 'tab-bar',\n        component: TabBar\n      },\n      {\n        path: 'scroll-tab',\n        component: ScrollTab\n      },\n      {\n        path: 'tab',\n        component: Tab,\n        children: [\n          { path: 'basic',\n            component: TabBasic\n          },\n          { path: 'composite',\n            component: TabComposite\n          }\n        ]\n      }\n    ]\n  },\n  {\n    path: '/recycle-list',\n    component: RecycleList,\n    children: [\n      {\n        path: 'default',\n        component: RecycleListDefault\n      },\n      {\n        path: 'tombstone',\n        component: RecycleListTombstone\n      }\n    ]\n  }\n]\n\nexport default routes\n"
  },
  {
    "path": "lib/action-sheet/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"action-sheet\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"action-sheet\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 276);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */,\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */,\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */,\n/* 87 */,\n/* 88 */,\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */,\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(277), __webpack_require__(281), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/action-sheet/action-sheet.vue'), require('./api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.actionSheet, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _actionSheet, _api, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _actionSheet2 = _interopRequireDefault(_actionSheet);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _actionSheet2.default.install = function (Vue) {\n    Vue.component(_actionSheet2.default.name, _actionSheet2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _actionSheet2.default);\n  };\n\n  exports.default = _actionSheet2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(278)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(279),\n  /* template */\n  __webpack_require__(280),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.popup, global.visibility, global.popup, global.locale);\n    global.actionSheet = mod.exports;\n  }\n})(this, function (module, exports, _popup, _visibility, _popup3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-action-sheet';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _locale2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      active: {\n        type: Number,\n        default: -1\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      pickerStyle: {\n        type: Boolean,\n        default: false\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      }\n    },\n    methods: {\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      itemClick: function itemClick(item, index) {\n        this.hide();\n        this.$emit(EVENT_SELECT, item, index);\n      }\n    },\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-action-sheet-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    class: {\n      'cube-action-sheet_picker': _vm.pickerStyle\n    },\n    attrs: {\n      \"type\": \"action-sheet\",\n      \"center\": false,\n      \"mask\": true,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-action-sheet-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-action-sheet-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('h1', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.pickerStyle || _vm.title),\n      expression: \"pickerStyle || title\"\n    }],\n    staticClass: \"cube-action-sheet-title border-bottom-1px\"\n  }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-action-sheet-content\"\n  }, [_c('ul', {\n    staticClass: \"cube-action-sheet-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      staticClass: \"cube-action-sheet-item border-bottom-1px\",\n      class: [\n        item.class || '',\n        index === _vm.active ? 'cube-action-sheet-item_active' : ''\n      ],\n      attrs: {\n        \"data-align\": item.align\n      },\n      domProps: {\n        \"innerHTML\": _vm._s(item.content)\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.itemClick(item, index)\n        }\n      }\n    })\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-action-sheet-space\"\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-action-sheet-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_c('span', [_vm._v(_vm._s(_vm._cancelTxt))])])])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addActionSheet;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addActionSheet(Vue, ActionSheet) {\n    (0, _createApi2.default)(Vue, ActionSheet, ['select', 'cancel'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/action-sheet/style.css",
    "content": ".cube-action-sheet-fade-enter,.cube-action-sheet-fade-leave-active{opacity:0}.cube-action-sheet-fade-enter-active,.cube-action-sheet-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-action-sheet-panel{text-align:center;font-size:14px;background-color:#fff}.cube-action-sheet-move-enter,.cube-action-sheet-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-action-sheet-move-enter-active,.cube-action-sheet-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-action-sheet-cancel{background-color:#fff}.cube-action-sheet-cancel span,.cube-action-sheet-item,.cube-action-sheet-title{display:block;padding:17px 16px;margin:0;text-align:center;overflow:hidden;white-space:nowrap;font-size:16px;font-weight:400;line-height:1;color:#666;background-color:#fff}.cube-action-sheet-cancel span:active,.cube-action-sheet-item:active{background-color:rgba(0,0,0,.04)}.cube-action-sheet-title{padding-top:16px;padding-bottom:16px;color:#333;font-size:18px}.cube-action-sheet-content{overflow:hidden;background:#fff}.cube-action-sheet-list{list-style:none}.cube-action-sheet-item{list-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cube-action-sheet-item:last-of-type:after,.cube-action-sheet-item:last-of-type:before{display:none}.cube-action-sheet-item[data-align=left]{text-align:left}.cube-action-sheet-item[data-align=right]{text-align:right}.cube-action-sheet-space{height:6px;background-color:rgba(37,38,45,.4)}.cube-action-sheet-item_active{color:#fc9153}.cube-action-sheet_picker .cube-action-sheet-space{height:0}.cube-action-sheet_picker .cube-action-sheet-title{height:1em;padding-top:21px;padding-bottom:21px}.cube-action-sheet_picker .cube-action-sheet-cancel{position:absolute;top:0;background-color:transparent}.cube-action-sheet_picker .cube-action-sheet-cancel span{padding-top:23px;padding-bottom:23px;color:#999;font-size:14px;background-color:transparent}.cube-action-sheet_picker .cube-action-sheet-cancel span:active{color:#ccc;background-color:transparent}.cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}"
  },
  {
    "path": "lib/better-scroll/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"better-scroll\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"better-scroll\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 282);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 282:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(90)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('better-scroll'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.betterScroll);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _betterScroll) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = _betterScroll2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 90:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/button/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"button\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"button\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 283);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 173:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(175)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(176),\n  /* template */\n  __webpack_require__(177),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 175:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 176:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.button = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-button';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      icon: {\n        type: String,\n        default: ''\n      },\n      active: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      primary: {\n        type: Boolean,\n        default: false\n      },\n      outline: {\n        type: Boolean,\n        default: false\n      },\n      light: {\n        type: Boolean,\n        default: false\n      },\n      type: {\n        type: String,\n        default: 'button'\n      }\n    },\n    computed: {\n      btnClass: function btnClass() {\n        return {\n          'cube-btn_active': this.active,\n          'cube-btn_disabled': this.disabled,\n          'cube-btn-inline': this.inline,\n          'cube-btn-primary': this.primary,\n          'cube-btn-outline': this.outline,\n          'cube-btn-outline-primary': this.outline && this.primary,\n          'cube-btn-light': this.light\n        };\n      }\n    },\n    methods: {\n      handleClick: function handleClick(event) {\n        if (this.disabled) {\n          event.preventDefault();\n          event.stopPropagation();\n          return;\n        }\n        this.$emit('click', event);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 177:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('button', {\n    staticClass: \"cube-btn\",\n    class: _vm.btnClass,\n    attrs: {\n      \"type\": _vm.type\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [(_vm.icon) ? _c('i', {\n    class: _vm.icon\n  }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 283:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(173)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/button/button.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _button) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _button2.default.install = function (Vue) {\n    Vue.component(_button2.default.name, _button2.default);\n  };\n\n  exports.default = _button2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/button/style.css",
    "content": ".cube-btn{display:block;margin:0;padding:17px 16px;width:100%;text-align:center;white-space:nowrap;cursor:pointer;font-size:16px;line-height:1;color:#fff;background:#4a4c5b;outline:none;border:none;border-radius:2px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.cube-btn.cube-btn_active,.cube-btn:active{background:#444654}.cube-btn>i{display:inline-block;margin-right:4px;font-size:100%;-webkit-transform:scale(1.13);transform:scale(1.13);-webkit-transform-origin:right center;transform-origin:right center}.cube-btn-inline{width:auto;display:inline-block;vertical-align:middle;padding:9px 10px;font-size:12px}.cube-btn-inline>i{margin-right:2px;-webkit-transform:scale(1.14);transform:scale(1.14)}.cube-btn-primary{color:#fff;background:#fc9153}.cube-btn-primary.cube-btn_active,.cube-btn-primary:active{background:#e8864c}.cube-btn-light{color:#666;background:#fcfcfc;box-shadow:0 1px 3px rgba(0,0,0,.1)}.cube-btn-light.cube-btn_active,.cube-btn-light:active{background:#e8e8e8}.cube-btn-outline{color:#666;background:transparent;position:relative}.cube-btn-outline:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline.cube-btn_active,.cube-btn-outline:active{background:rgba(0,0,0,.08);position:relative}.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary{color:#fc9153;background:transparent;position:relative}.cube-btn-outline-primary:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary.cube-btn_active,.cube-btn-outline-primary:active{background:rgba(252,145,83,.08);position:relative}.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e8864c;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled{color:#fff;background:#ccc;position:relative}.cube-btn_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled.cube-btn_active,.cube-btn_disabled:active{background:#ccc;position:relative}.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}"
  },
  {
    "path": "lib/cascade-picker/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cascade-picker\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"cascade-picker\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 284);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */,\n/* 88 */,\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(137)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(138),\n  /* template */\n  __webpack_require__(139),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 120 */,\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(90), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(167),\n  /* template */\n  __webpack_require__(168),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../picker/picker.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.visibility, global.popup, global.basicPicker, global.picker, global.locale);\n    global.cascadePicker = mod.exports;\n  }\n})(this, function (module, exports, _picker, _visibility, _popup, _basicPicker, _picker3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker4 = _interopRequireDefault(_picker3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-cascade-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _basicPicker2.default, _picker4.default, _locale2.default],\n    props: {\n      async: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        cascadeData: this.data.slice(),\n        pickerSelectedIndex: this.selectedIndex.slice(),\n        pickerData: [],\n        pending: false\n      };\n    },\n    created: function created() {\n      this._updatePickerData();\n    },\n\n    methods: {\n      setData: function setData(data) {\n        var selectedIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n        this.pending = false;\n        this.cascadeData = data.slice();\n        this.pickerSelectedIndex = selectedIndex.slice();\n        this._updatePickerData();\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        if (newIndex !== this.pickerSelectedIndex[i]) {\n          this.pickerSelectedIndex.splice(i, 1, newIndex);\n          this.async ? this.pending = i !== this.pickerData.length - 1 : this._updatePickerData(i + 1);\n        }\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _updatePickerData: function _updatePickerData() {\n        var _this = this;\n\n        var fromColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        var data = this.cascadeData;\n        var i = 0;\n        while (data) {\n          if (i >= fromColumn) {\n            (function () {\n              var columnData = [];\n              data.forEach(function (item) {\n                columnData.push({\n                  value: item[_this.valueKey],\n                  text: item[_this.textKey],\n                  order: item[_this.orderKey]\n                });\n              });\n              _this.pickerData[i] = columnData;\n\n              _this.pickerSelectedIndex[i] = fromColumn === 0 ? _this.pickerSelectedIndex[i] < data.length ? _this.pickerSelectedIndex[i] || 0 : 0 : _this.$refs.picker.refillColumn(i, columnData);\n            })();\n          }\n          data = data.length ? data[this.pickerSelectedIndex[i]].children : null;\n\n          i++;\n        }\n\n        if (i < this.pickerData.length) {\n          this.pickerData.splice(i, this.pickerData.length - i);\n        }\n\n        this.pickerData = this.pickerData.slice();\n      }\n    },\n    components: {\n      CubePicker: _picker2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.pickerData,\n      \"selected-index\": _vm.pickerSelectedIndex,\n      \"pending\": _vm.pending,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"z-index\": _vm.zIndex,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addCascadePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addCascadePicker(Vue, CascadePicker) {\n    var cascadePickerAPI = (0, _createApi2.default)(Vue, CascadePicker, ['select', 'cancel', 'change']);\n    cascadePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('CascadePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(163), __webpack_require__(178), __webpack_require__(140), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/cascade-picker/cascade-picker.vue'), require('./api'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.cascadePicker, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _cascadePicker, _api, _api3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _cascadePicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_cascadePicker2.default.name, _cascadePicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api4.default)(Vue, _picker2.default);\n    (0, _api2.default)(Vue, _cascadePicker2.default);\n  };\n\n  _cascadePicker2.default.Picker = _picker2.default;\n\n  exports.default = _cascadePicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/cascade-picker/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}"
  },
  {
    "path": "lib/checkbox/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"checkbox\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"checkbox\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 285);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 162:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(169)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(170),\n  /* template */\n  __webpack_require__(171),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 169:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 170:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkbox = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checkbox';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [Boolean, String]\n      },\n      label: {\n        type: [Boolean, String]\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      option: {\n        type: [Boolean, String, Object],\n        default: function _default() {\n          return {\n            _def_option: true\n          };\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      var parent = this.$parent;\n      var isInGroup = parent.$data._checkboxGroup;\n      var isInHorizontalGroup = isInGroup && (parent.$props.horizontal || parent.$props.colNum > 1);\n      return {\n        isInGroup: isInGroup,\n        isInHorizontalGroup: isInHorizontalGroup\n      };\n    },\n\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        var label = this.label;\n        var disabled = this.disabled;\n        if (option._def_option === true) {\n          option = {\n            label: label,\n            value: label,\n            disabled: disabled\n          };\n        } else if (typeof option === 'string') {\n          option = {\n            label: option,\n            value: option,\n            disabled: false\n          };\n        }\n        return option;\n      },\n\n      checkValue: {\n        get: function get() {\n          if (this.isInGroup) {\n            return this.$parent.value.indexOf(this.computedOption.value) > -1;\n          } else {\n            return Boolean(this.value);\n          }\n        },\n        set: function set(newValue) {\n          var value = this.computedOption.value;\n          var emitValue = value && newValue ? value : newValue;\n          this.$emit(EVENT_INPUT, emitValue);\n          if (this.isInGroup) {\n            newValue = !this.checkValue;\n            var parentEmitEvent = newValue ? EVENT_CHECKED : EVENT_CANCLE_CHECKED;\n            this.$parent.$emit(parentEmitEvent, value || newValue);\n          }\n        }\n      },\n      _containerClass: function _containerClass() {\n        return {\n          'cube-checkbox-hollow': this.hollowStyle,\n          'cube-checkbox_checked': this.checkValue,\n          'cube-checkbox_disabled': this.computedOption.disabled,\n          'border-right-1px': this.isInHorizontalGroup\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        if (this.isInGroup && !this.isInHorizontalGroup) {\n          return 'border-bottom-1px';\n        }\n      },\n      isSquare: function isSquare() {\n        return this.shape === 'square' || this.hollowStyle;\n      },\n      _borderIconClass: function _borderIconClass() {\n        return this.isSquare ? 'cubeic-square-border' : 'cubeic-round-border';\n      },\n      _rightIconClass: function _rightIconClass() {\n        return this.isSquare ? 'cubeic-square-right' : 'cubeic-right';\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 171:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-checkbox\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-checkbox-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkValue),\n      expression: \"checkValue\"\n    }],\n    staticClass: \"cube-checkbox-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.computedOption.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkValue) ? _vm._i(_vm.checkValue, null) > -1 : (_vm.checkValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-ui\",\n    class: _vm._borderIconClass\n  }, [_c('i', {\n    class: _vm._rightIconClass\n  })]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-label\"\n  }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.computedOption.label))])], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 285:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(162)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/checkbox/checkbox.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _checkbox) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _checkbox2.default.install = function (Vue) {\n    Vue.component(_checkbox2.default.name, _checkbox2.default);\n  };\n\n  exports.default = _checkbox2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/checkbox/style.css",
    "content": ".cube-checkbox{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-checkbox[data-pos=right] .cube-checkbox-ui{margin-right:0;position:absolute;right:0}.cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:1.42em}.cube-checkbox-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-checkbox-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-checkbox-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;border-radius:50%}.cube-checkbox-ui.cubeic-square-border{border-radius:2px}.cube-checkbox-ui:before,.cube-checkbox-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-checkbox-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-checkbox-ui i{position:absolute;top:0;left:0;color:transparent;-webkit-transform:scale(.4);transform:scale(.4)}.cube-checkbox_checked .cube-checkbox-ui:before{color:transparent}.cube-checkbox_checked .cube-checkbox-ui i{color:#fc9153;-webkit-transform:scale(1.23);transform:scale(1.23)}.cube-checkbox_disabled .cube-checkbox-ui{background-color:#eee}.cube-checkbox_disabled .cube-checkbox-ui:before,.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transition:none;transition:none}.cube-checkbox_disabled .cube-checkbox-ui:before{color:transparent}.cube-checkbox_disabled .cube-checkbox-ui i{color:#eee}.cube-checkbox_checked.cube-checkbox_disabled .cube-checkbox-ui{background-color:#fff}.cube-checkbox-hollow i{width:100%;height:100%}.cube-checkbox-hollow i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:currentColor;border-radius:2px}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui:before{color:#fc9153}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:#fc9153}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui{background-color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui:before{color:#eee}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled.cube-checkbox_checked .cube-checkbox-ui i{color:#eee}"
  },
  {
    "path": "lib/checkbox-group/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"checkbox-group\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"checkbox-group\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 286);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 162:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(169)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(170),\n  /* template */\n  __webpack_require__(171),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 164:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.groupCol = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var FLEXBASIS = (0, _dom.prefixStyle)('flexBasis');\n\n  exports.default = {\n    props: {\n      colNum: {\n        type: Number,\n        default: 1\n      }\n    },\n    watch: {\n      colNum: {\n        immediate: true,\n        handler: function handler(newValue) {\n          var _this = this;\n\n          if (newValue <= 1) return '';\n          this.$nextTick(function () {\n            var count = 100 / newValue + '%';\n            Array.prototype.forEach.call(_this.$refs.group.children, function (item) {\n              item.style[FLEXBASIS] = count;\n            });\n          });\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 169:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 170:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkbox = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checkbox';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [Boolean, String]\n      },\n      label: {\n        type: [Boolean, String]\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      option: {\n        type: [Boolean, String, Object],\n        default: function _default() {\n          return {\n            _def_option: true\n          };\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      var parent = this.$parent;\n      var isInGroup = parent.$data._checkboxGroup;\n      var isInHorizontalGroup = isInGroup && (parent.$props.horizontal || parent.$props.colNum > 1);\n      return {\n        isInGroup: isInGroup,\n        isInHorizontalGroup: isInHorizontalGroup\n      };\n    },\n\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        var label = this.label;\n        var disabled = this.disabled;\n        if (option._def_option === true) {\n          option = {\n            label: label,\n            value: label,\n            disabled: disabled\n          };\n        } else if (typeof option === 'string') {\n          option = {\n            label: option,\n            value: option,\n            disabled: false\n          };\n        }\n        return option;\n      },\n\n      checkValue: {\n        get: function get() {\n          if (this.isInGroup) {\n            return this.$parent.value.indexOf(this.computedOption.value) > -1;\n          } else {\n            return Boolean(this.value);\n          }\n        },\n        set: function set(newValue) {\n          var value = this.computedOption.value;\n          var emitValue = value && newValue ? value : newValue;\n          this.$emit(EVENT_INPUT, emitValue);\n          if (this.isInGroup) {\n            newValue = !this.checkValue;\n            var parentEmitEvent = newValue ? EVENT_CHECKED : EVENT_CANCLE_CHECKED;\n            this.$parent.$emit(parentEmitEvent, value || newValue);\n          }\n        }\n      },\n      _containerClass: function _containerClass() {\n        return {\n          'cube-checkbox-hollow': this.hollowStyle,\n          'cube-checkbox_checked': this.checkValue,\n          'cube-checkbox_disabled': this.computedOption.disabled,\n          'border-right-1px': this.isInHorizontalGroup\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        if (this.isInGroup && !this.isInHorizontalGroup) {\n          return 'border-bottom-1px';\n        }\n      },\n      isSquare: function isSquare() {\n        return this.shape === 'square' || this.hollowStyle;\n      },\n      _borderIconClass: function _borderIconClass() {\n        return this.isSquare ? 'cubeic-square-border' : 'cubeic-round-border';\n      },\n      _rightIconClass: function _rightIconClass() {\n        return this.isSquare ? 'cubeic-square-right' : 'cubeic-right';\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 171:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-checkbox\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-checkbox-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkValue),\n      expression: \"checkValue\"\n    }],\n    staticClass: \"cube-checkbox-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.computedOption.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkValue) ? _vm._i(_vm.checkValue, null) > -1 : (_vm.checkValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-ui\",\n    class: _vm._borderIconClass\n  }, [_c('i', {\n    class: _vm._rightIconClass\n  })]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-label\"\n  }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.computedOption.label))])], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 201:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(202)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(203),\n  /* template */\n  __webpack_require__(204),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 202:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 203:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(162), __webpack_require__(164)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../checkbox/checkbox.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox, global.groupCol);\n    global.checkboxGroup = mod.exports;\n  }\n})(this, function (module, exports, _checkbox, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-checkbox-group';\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    props: {\n      value: {\n        type: Array\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      },\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: Infinity\n      }\n    },\n    data: function data() {\n      return {\n        _value: [],\n        _checkboxGroup: true\n      };\n    },\n\n    computed: {\n      groupClass: function groupClass() {\n        if (!this.horizontal || this.colNum > 1) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler: function handler(newValue, oldValue) {\n          this._value = this.value.concat();\n        }\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$on(EVENT_CHECKED, function (value) {\n        if (_this._value.length < _this.max && _this._value.indexOf(value) === -1) {\n          _this._value.push(value);\n        }\n        _this.$emit(EVENT_INPUT, _this._value);\n      });\n      this.$on(EVENT_CANCLE_CHECKED, function (value) {\n        var index = _this._value.indexOf(value);\n        if (_this._value.length > _this.min && index > -1) {\n          _this._value.splice(index, 1);\n        }\n        _this.$emit(EVENT_INPUT, _this._value);\n      });\n    },\n\n    components: {\n      CubeCheckbox: _checkbox2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 204:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-checkbox-group\",\n    class: _vm.groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-checkbox', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"shape\": _vm.shape,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 286:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(162), __webpack_require__(201)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/checkbox/checkbox.vue'), require('../../components/checkbox-group/checkbox-group.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox, global.checkboxGroup);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _checkbox, _checkboxGroup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _checkboxGroup2.default.install = function (Vue) {\n    Vue.component(_checkbox2.default.name, _checkbox2.default);\n    Vue.component(_checkboxGroup2.default.name, _checkboxGroup2.default);\n  };\n\n  _checkboxGroup2.default.Checkbox = _checkbox2.default;\n\n  exports.default = _checkboxGroup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/checkbox-group/style.css",
    "content": ".cube-checkbox{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-checkbox[data-pos=right] .cube-checkbox-ui{margin-right:0;position:absolute;right:0}.cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:1.42em}.cube-checkbox-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-checkbox-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-checkbox-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;border-radius:50%}.cube-checkbox-ui.cubeic-square-border{border-radius:2px}.cube-checkbox-ui:before,.cube-checkbox-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-checkbox-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-checkbox-ui i{position:absolute;top:0;left:0;color:transparent;-webkit-transform:scale(.4);transform:scale(.4)}.cube-checkbox_checked .cube-checkbox-ui:before{color:transparent}.cube-checkbox_checked .cube-checkbox-ui i{color:#fc9153;-webkit-transform:scale(1.23);transform:scale(1.23)}.cube-checkbox_disabled .cube-checkbox-ui{background-color:#eee}.cube-checkbox_disabled .cube-checkbox-ui:before,.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transition:none;transition:none}.cube-checkbox_disabled .cube-checkbox-ui:before{color:transparent}.cube-checkbox_disabled .cube-checkbox-ui i{color:#eee}.cube-checkbox_checked.cube-checkbox_disabled .cube-checkbox-ui{background-color:#fff}.cube-checkbox-hollow i{width:100%;height:100%}.cube-checkbox-hollow i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:currentColor;border-radius:2px}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui:before{color:#fc9153}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:#fc9153}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui{background-color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui:before{color:#eee}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled.cube-checkbox_checked .cube-checkbox-ui i{color:#eee}.cube-checkbox-group{z-index:1;overflow:hidden;background-color:#fff}.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:after,.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:before{display:none}.cube-checkbox-group[data-col=true],.cube-checkbox-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checkbox-group[data-col=true] .cube-checkbox,.cube-checkbox-group[data-horz=true] .cube-checkbox{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-checkbox-group[data-col=true] .cube-checkbox:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:after{border-color:#ccc}.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:before,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:before{display:none}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-label,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:0}.cube-checkbox-group[data-col=true] .cube-checkbox-wrap,.cube-checkbox-group[data-horz=true] .cube-checkbox-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-checkbox-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-checkbox-group[data-col=true] .cube-checkbox{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-checkbox-group[data-col=true] .cube-checkbox:after{display:none}"
  },
  {
    "path": "lib/checker/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"checker\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"checker\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 287);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 194:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(207)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(208),\n  /* template */\n  __webpack_require__(209),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 205:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(206),\n  /* template */\n  __webpack_require__(210),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 206:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(194)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./checker-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkerItem);\n    global.checker = mod.exports;\n  }\n})(this, function (module, exports, _checkerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkerItem2 = _interopRequireDefault(_checkerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-checker';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: [String, Number, Array],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      type: {\n        type: String,\n        default: 'checkbox'\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: function _default() {\n          return this.options.length;\n        }\n      }\n    },\n    data: function data() {\n      return {\n        currentValue: this.value\n      };\n    },\n\n    computed: {\n      isRadio: function isRadio() {\n        return this.type === 'radio';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.currentValue = newValue;\n      },\n      currentValue: function currentValue(val) {\n        this.$emit(EVENT_INPUT, val);\n      }\n    },\n    methods: {\n      check: function check(option) {\n        if (this.isRadio) {\n          this.checkRadio(option);\n        } else {\n          this.checkCheckbox(option);\n        }\n      },\n      checkRadio: function checkRadio(option) {\n        this.currentValue = option.value;\n      },\n      checkCheckbox: function checkCheckbox(option) {\n        var value = option.value;\n        var currentValue = this.currentValue;\n        var valueLen = currentValue.length;\n        var min = this.min;\n        var max = this.max;\n\n        var index = currentValue.indexOf(value);\n\n        if (index > -1) {\n          valueLen > min && currentValue.splice(index, 1);\n        } else {\n          valueLen < max && currentValue.push(value);\n        }\n      }\n    },\n    components: {\n      CubeCheckerItem: _checkerItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 207:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 208:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkerItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checker-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      option: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      isActive: function isActive() {\n        var isRadio = this.$parent.isRadio;\n        var currentValue = this.$parent.currentValue;\n        var value = this.option.value;\n        return isRadio ? currentValue === value : currentValue.indexOf(value) >= 0;\n      },\n      isDisabled: function isDisabled() {\n        return this.option.disabled;\n      }\n    },\n    methods: {\n      clickHandler: function clickHandler() {\n        if (this.isDisabled) {\n          return;\n        }\n        this.$parent.check(this.option);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 209:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-checker-item\",\n    class: {\n      'cube-checker-item_active': _vm.isActive, 'cube-checker-item_disabled': _vm.isDisabled\n    },\n    on: {\n      \"click\": _vm.clickHandler\n    }\n  }, [_vm._t(\"default\", [_c('span', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.option.text)\n    }\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 210:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('ul', {\n    staticClass: \"cube-checker\"\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-checker-item', {\n      key: index,\n      attrs: {\n        \"option\": option\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 287:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(205), __webpack_require__(194)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/checker/checker.vue'), require('../../components/checker/checker-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checker, global.checkerItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _checker, _checkerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checker2 = _interopRequireDefault(_checker);\n\n  var _checkerItem2 = _interopRequireDefault(_checkerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _checker2.default.install = function (Vue) {\n    Vue.component(_checker2.default.name, _checker2.default);\n    Vue.component(_checkerItem2.default.name, _checkerItem2.default);\n  };\n\n  _checker2.default.Item = _checkerItem2.default;\n\n  exports.default = _checker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/checker/style.css",
    "content": ".cube-checker-item{display:inline-block;vertical-align:top;text-align:center;padding:8px 10px;margin-right:10px;color:#666;background:#fff;border-radius:4px;position:relative}.cube-checker-item:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fcfcfc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active{color:#fc9153;background:rgba(252,145,83,.04);position:relative}.cube-checker-item_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active.cube-checker-item_disabled{background:#eee;position:relative}.cube-checker-item_active.cube-checker-item_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_disabled{color:#ccc}"
  },
  {
    "path": "lib/create-api/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"create-api\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"create-api\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 288);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 288:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = _createApi2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 89:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 99:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/date-picker/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"date-picker\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"date-picker\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 289);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */,\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(137)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(138),\n  /* template */\n  __webpack_require__(139),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 120 */,\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(90), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(167),\n  /* template */\n  __webpack_require__(168),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../picker/picker.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.visibility, global.popup, global.basicPicker, global.picker, global.locale);\n    global.cascadePicker = mod.exports;\n  }\n})(this, function (module, exports, _picker, _visibility, _popup, _basicPicker, _picker3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker4 = _interopRequireDefault(_picker3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-cascade-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _basicPicker2.default, _picker4.default, _locale2.default],\n    props: {\n      async: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        cascadeData: this.data.slice(),\n        pickerSelectedIndex: this.selectedIndex.slice(),\n        pickerData: [],\n        pending: false\n      };\n    },\n    created: function created() {\n      this._updatePickerData();\n    },\n\n    methods: {\n      setData: function setData(data) {\n        var selectedIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n        this.pending = false;\n        this.cascadeData = data.slice();\n        this.pickerSelectedIndex = selectedIndex.slice();\n        this._updatePickerData();\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        if (newIndex !== this.pickerSelectedIndex[i]) {\n          this.pickerSelectedIndex.splice(i, 1, newIndex);\n          this.async ? this.pending = i !== this.pickerData.length - 1 : this._updatePickerData(i + 1);\n        }\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _updatePickerData: function _updatePickerData() {\n        var _this = this;\n\n        var fromColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        var data = this.cascadeData;\n        var i = 0;\n        while (data) {\n          if (i >= fromColumn) {\n            (function () {\n              var columnData = [];\n              data.forEach(function (item) {\n                columnData.push({\n                  value: item[_this.valueKey],\n                  text: item[_this.textKey],\n                  order: item[_this.orderKey]\n                });\n              });\n              _this.pickerData[i] = columnData;\n\n              _this.pickerSelectedIndex[i] = fromColumn === 0 ? _this.pickerSelectedIndex[i] < data.length ? _this.pickerSelectedIndex[i] || 0 : 0 : _this.$refs.picker.refillColumn(i, columnData);\n            })();\n          }\n          data = data.length ? data[this.pickerSelectedIndex[i]].children : null;\n\n          i++;\n        }\n\n        if (i < this.pickerData.length) {\n          this.pickerData.splice(i, this.pickerData.length - i);\n        }\n\n        this.pickerData = this.pickerData.slice();\n      }\n    },\n    components: {\n      CubePicker: _picker2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.pickerData,\n      \"selected-index\": _vm.pickerSelectedIndex,\n      \"pending\": _vm.pending,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"z-index\": _vm.zIndex,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addCascadePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addCascadePicker(Vue, CascadePicker) {\n    var cascadePickerAPI = (0, _createApi2.default)(Vue, CascadePicker, ['select', 'cancel', 'change']);\n    cascadePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('CascadePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(163), __webpack_require__(290), __webpack_require__(293), __webpack_require__(178), __webpack_require__(140), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/cascade-picker/cascade-picker.vue'), require('../../components/date-picker/date-picker.vue'), require('./api'), require('../cascade-picker/api'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.cascadePicker, global.datePicker, global.api, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _cascadePicker, _datePicker, _api, _api3, _api5, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _datePicker2 = _interopRequireDefault(_datePicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _api6 = _interopRequireDefault(_api5);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _datePicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_cascadePicker2.default.name, _cascadePicker2.default);\n    Vue.component(_datePicker2.default.name, _datePicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api6.default)(Vue, _picker2.default);\n    (0, _api4.default)(Vue, _cascadePicker2.default);\n    (0, _api2.default)(Vue, _datePicker2.default);\n  };\n\n  _datePicker2.default.Picker = _picker2.default;\n  _cascadePicker2.default.Picker = _picker2.default;\n  _datePicker2.default.CascadePicker = _cascadePicker2.default;\n\n  exports.default = _datePicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(291),\n  /* template */\n  __webpack_require__(292),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(48), __webpack_require__(88), __webpack_require__(58), __webpack_require__(69), __webpack_require__(106), __webpack_require__(85), __webpack_require__(35), __webpack_require__(91), __webpack_require__(163)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/core-js/object/assign'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/helpers/util'), require('../../common/lang/date'), require('../cascade-picker/cascade-picker.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.assign, global.visibility, global.popup, global.picker, global.locale, global.util, global.date, global.cascadePicker);\n    global.datePicker = mod.exports;\n  }\n})(this, function (module, exports, _keys, _assign, _visibility, _popup, _picker, _locale, _util, _date, _cascadePicker) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-date-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  var TYPE_LIST = ['year', 'month', 'date', 'hour', 'minute', 'second'];\n  var NATURE_BOUNDARY_MAP = {\n    month: {\n      natureMin: 1,\n      natureMax: 12\n    },\n    date: {\n      natureMin: 1,\n      natureMax: 31\n    },\n    hour: {\n      natureMin: 0,\n      natureMax: 23\n    },\n    minute: {\n      natureMin: 0,\n      natureMax: 59\n    },\n    second: {\n      natureMin: 0,\n      natureMax: 59\n    }\n  };\n\n  var DEFAULT_FORMAT = {\n    year: 'YYYY',\n    month: 'M',\n    date: 'D',\n    hour: 'hh',\n    minute: 'mm',\n    second: 'ss'\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _picker2.default, _locale2.default],\n    components: {\n      CubeCascadePicker: _cascadePicker2.default\n    },\n    props: {\n      min: {\n        type: [Date, Array],\n        default: function _default() {\n          return new Date(2010, 0, 1);\n        }\n      },\n      max: {\n        type: [Date, Array],\n        default: function _default() {\n          return [new Date().getFullYear() + 1, 12, 31, 23, 59, 59];\n        }\n      },\n      startColumn: {\n        type: String,\n        default: function _default() {\n          return 'year';\n        }\n      },\n      columnCount: {\n        type: Number,\n        default: 3\n      },\n      format: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      value: {\n        type: [Date, Array],\n        default: function _default() {\n          return this.min;\n        }\n      },\n      columnOrder: {\n        type: Array,\n        default: function _default() {\n          return ['year', 'month', 'date', 'hour', 'minute', 'second'];\n        }\n      }\n    },\n    computed: {\n      formatConfig: function formatConfig() {\n        var formatConfig = (0, _assign2.default)({}, DEFAULT_FORMAT);\n        (0, _util.deepAssign)(formatConfig, this.format);\n\n        return formatConfig;\n      },\n      natureRangeCache: function natureRangeCache() {\n        var _this = this;\n\n        var natureRangeCache = {\n          hour: [],\n          minute: [],\n          second: []\n        };\n\n        (0, _keys2.default)(natureRangeCache).forEach(function (key) {\n          natureRangeCache[key] = _this._range(key, NATURE_BOUNDARY_MAP[key].natureMin, NATURE_BOUNDARY_MAP[key].natureMax);\n        });\n\n        return natureRangeCache;\n      },\n      startIndex: function startIndex() {\n        var startIndex = TYPE_LIST.indexOf(this.startColumn);\n        return startIndex < 0 ? 0 : startIndex;\n      },\n      minArray: function minArray() {\n        return this.min instanceof Date ? dateToArray(this.min).slice(this.startIndex, this.startIndex + this.columnCount) : this.min;\n      },\n      maxArray: function maxArray() {\n        return this.max instanceof Date ? dateToArray(this.max).slice(this.startIndex, this.startIndex + this.columnCount) : this.max;\n      },\n      valueArray: function valueArray() {\n        return this.value instanceof Date ? dateToArray(this.value).slice(this.startIndex, this.startIndex + this.columnCount) : this.value;\n      },\n      data: function data() {\n        var data = [];\n        this._generateData(this.startIndex, 0, data);\n        return data;\n      },\n      selectedIndex: function selectedIndex() {\n        var _this2 = this;\n\n        var selectedIndex = [];\n        var data = this.data;\n        var index = void 0;\n\n        var _loop = function _loop(i) {\n          index = (0, _util.findIndex)(data, function (item) {\n            return _this2.valueArray[i] && item.value === _this2.valueArray[i];\n          });\n          selectedIndex[i] = index !== -1 ? index : 0;\n          data = data[selectedIndex[i]] && data[selectedIndex[i]].children;\n        };\n\n        for (var i = 0; i < this.columnCount && i < 6 - this.startIndex; i++) {\n          _loop(i);\n        }\n\n        return selectedIndex;\n      }\n    },\n    methods: {\n      _select: function _select(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, this._arrayToDate(selectedVal), selectedVal, selectedText);\n      },\n      _cancel: function _cancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _change: function _change(i, newIndex) {\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _generateData: function _generateData(i, count, item) {\n        var _this3 = this;\n\n        if (count === 0) {\n          var min = i === 0 ? this.minArray[0] : Math.max(this.minArray[0], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin);\n          var max = i === 0 ? this.maxArray[0] : Math.min(this.maxArray[0], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMax);\n          item.push.apply(item, this._range(TYPE_LIST[i], min, max, true, true));\n        } else {\n          if (i < 3 || item.isMin || item.isMax) {\n            var natureMax = i === 2 ? (0, _date.computeNatureMaxDay)(item.value, item.year) : NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMax;\n            var _min = item.isMin ? Math.max(this.minArray[count], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin) : NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin;\n            var _max = item.isMax ? Math.min(this.maxArray[count], natureMax) : natureMax;\n\n            var storageYear = i === 1 && this.startIndex === 0 && this.columnCount >= 3 && item.value;\n            item.children = this._range(TYPE_LIST[i], _min, _max, item.isMin, item.isMax, storageYear);\n          } else {\n            item.children = this.natureRangeCache[TYPE_LIST[i]];\n          }\n        }\n        if (count < this.columnCount - 1 && i < 5) {\n          (item.children || item).forEach(function (subItem) {\n            (!subItem.children || subItem.isMin || subItem.isMax) && _this3._generateData(i + 1, count + 1, subItem);\n          });\n        }\n      },\n      _arrayToDate: function _arrayToDate(selectedVal) {\n        var args = [];\n        var defaultDateArray = dateToArray(new Date(0));\n\n        for (var i = 0; i < 6; i++) {\n          if (i < this.startIndex) {\n            args[i] = defaultDateArray[i];\n          } else if (i >= this.startIndex + this.columnCount) {\n            args[i] = NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin;\n          } else {\n            args[i] = selectedVal[i - this.startIndex];\n          }\n        }\n\n        args[1]--;\n\n        return new (Function.prototype.bind.apply(Date, [null].concat(args)))();\n      },\n      _range: function _range(type, min, max, fatherIsMin, fatherIsMax) {\n        var year = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n        if (!this._rangeCache) {\n          this._rangeCache = {};\n        }\n        var k = type + year + min + max + fatherIsMin + fatherIsMax;\n        if (this._rangeCache[k]) {\n          return this._rangeCache[k];\n        }\n        var arr = [];\n        var format = this.formatConfig[type];\n        for (var i = min; i <= max; i++) {\n          var object = {\n            text: (0, _date.formatType)(type, format, i, 'i'),\n            value: i,\n            order: this.columnOrder.indexOf(type)\n          };\n\n          if (fatherIsMin && i === min) object.isMin = true;\n          if (fatherIsMax && i === max) object.isMax = true;\n          if (year) object.year = year;\n\n          arr.push(object);\n        }\n        this._rangeCache[k] = arr;\n        return arr;\n      }\n    }\n  };\n\n\n  function dateToArray(date) {\n    return [date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()];\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-cascade-picker', {\n    attrs: {\n      \"data\": _vm.data,\n      \"selected-index\": _vm.selectedIndex,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"z-index\": _vm.zIndex,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._select,\n      \"cancel\": _vm._cancel,\n      \"change\": _vm._change\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addDatePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addDatePicker(Vue, DatePicker) {\n    var datePickerAPI = (0, _createApi2.default)(Vue, DatePicker, ['select', 'cancel', 'change']);\n    datePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('DatePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/date-picker/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}"
  },
  {
    "path": "lib/dialog/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dialog\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"dialog\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 294);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */,\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */,\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */,\n/* 87 */,\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */,\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    methods: {\n      changeHander: function changeHander(e) {\n        this.$emit(EVENT_CHANGE, e);\n      },\n      focus: function focus() {\n        this.$refs.input.focus();\n      },\n      blur: function blur() {\n        this.$refs.input.blur();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(179)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(180),\n  /* template */\n  __webpack_require__(181),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(165)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-input';\n  var EVENT_INPUT = 'input';\n  var EVENT_BLUR = 'blur';\n  var EVENT_FOCUS = 'focus';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    props: {\n      value: [String, Number],\n      type: {\n        type: String,\n        default: 'text'\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      placeholder: String,\n      readonly: {\n        type: Boolean,\n        default: false\n      },\n      autofocus: {\n        type: Boolean,\n        default: false\n      },\n      autocomplete: {\n        type: [Boolean, String],\n        default: false\n      },\n      name: String,\n      id: String,\n      form: String,\n      minlength: Number,\n      maxlength: Number,\n      resize: String,\n      min: Number,\n      max: Number,\n      step: Number,\n      tabindex: String,\n      pattern: String,\n      clearable: {\n        type: [Boolean, Object],\n        default: false\n      },\n      eye: {\n        type: [Boolean, Object],\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        inputValue: this.value,\n        isFocus: false,\n        formatedClearable: {\n          visible: false,\n          blurHidden: true\n        },\n        formatedEye: {\n          open: false,\n          reverse: false\n        }\n      };\n    },\n\n    computed: {\n      _type: function _type() {\n        var type = this.type;\n        if (type === 'password' && this.eye && this.pwdVisible) {\n          return 'text';\n        }\n        return type;\n      },\n      _showClear: function _showClear() {\n        var visible = this.formatedClearable.visible && this.inputValue && !this.readonly && !this.disabled;\n        if (this.formatedClearable.blurHidden && !this.isFocus) {\n          visible = false;\n        }\n        return visible;\n      },\n      _showPwdEye: function _showPwdEye() {\n        return this.type === 'password' && this.eye && !this.disabled;\n      },\n      pwdVisible: function pwdVisible() {\n        var eye = this.formatedEye;\n        return eye.reverse ? !eye.open : eye.open;\n      },\n      eyeClass: function eyeClass() {\n        return this.formatedEye.open ? 'cubeic-eye-visible' : 'cubeic-eye-invisible';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.inputValue = newValue;\n      },\n      inputValue: function inputValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n      },\n\n      clearable: {\n        handler: function handler() {\n          this.formatClearable();\n        },\n\n        deep: true,\n        immediate: true\n      },\n      eye: {\n        handler: function handler() {\n          this.formateEye();\n        },\n\n        deep: true,\n        immediate: true\n      }\n    },\n    methods: {\n      formatClearable: function formatClearable() {\n        if (typeof this.clearable === 'boolean') {\n          this.formatedClearable.visible = this.clearable;\n        } else {\n          (0, _assign2.default)(this.formatedClearable, this.clearable);\n        }\n      },\n      formateEye: function formateEye() {\n        if (typeof this.eye === 'boolean') {\n          this.formatedEye.open = this.eye;\n        } else {\n          (0, _assign2.default)(this.formatedEye, this.eye);\n        }\n      },\n      handleFocus: function handleFocus(e) {\n        this.$emit(EVENT_FOCUS, e);\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit(EVENT_BLUR, e);\n        this.isFocus = false;\n      },\n      handleClear: function handleClear(e) {\n        this.inputValue = '';\n        this.$refs.input.focus();\n      },\n      handlePwdEye: function handlePwdEye() {\n        this.formatedEye.open = !this.formatedEye.open;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-input\",\n    class: {\n      'cube-input_active': _vm.isFocus\n    }\n  }, [(_vm.$slots.prepend) ? _c('div', {\n    staticClass: \"cube-input-prepend\"\n  }, [_vm._t(\"prepend\")], 2) : _vm._e(), _vm._v(\" \"), ((_vm._type) === 'checkbox') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"checkbox\"\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.inputValue) ? _vm._i(_vm.inputValue, null) > -1 : (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        var $$a = _vm.inputValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.inputValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.inputValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.inputValue = $$c\n        }\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : ((_vm._type) === 'radio') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"radio\"\n    },\n    domProps: {\n      \"checked\": _vm._q(_vm.inputValue, null)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        _vm.inputValue = null\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": _vm._type\n    },\n    domProps: {\n      \"value\": (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.inputValue = $event.target.value\n      }\n    }\n  }, 'input', _vm.$props, false)), _vm._v(\" \"), (_vm.$slots.append || _vm._showClear || _vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-append\"\n  }, [(_vm._showClear) ? _c('div', {\n    staticClass: \"cube-input-clear\",\n    on: {\n      \"touchend\": _vm.handleClear\n    }\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\"\n  })]) : _vm._e(), _vm._v(\" \"), (_vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-eye\",\n    on: {\n      \"click\": _vm.handlePwdEye\n    }\n  }, [_c('i', {\n    class: _vm.eyeClass\n  })]) : _vm._e(), _vm._v(\" \"), _vm._t(\"append\")], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(88);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/***/ }),\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(295), __webpack_require__(84), __webpack_require__(174), __webpack_require__(299)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/dialog/dialog.vue'), require('../../common/locale'), require('../../components/input/input.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dialog, global.locale, global.input, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _dialog, _locale, _input, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _dialog2 = _interopRequireDefault(_dialog);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _dialog2.default.install = function (Vue) {\n    Vue.component(_input2.default.name, _input2.default);\n    Vue.component(_dialog2.default.name, _dialog2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _dialog2.default);\n  };\n\n  _dialog2.default.Input = _input2.default;\n\n  exports.default = _dialog2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(296)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(297),\n  /* template */\n  __webpack_require__(298),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(211), __webpack_require__(88), __webpack_require__(101), __webpack_require__(174), __webpack_require__(58), __webpack_require__(69), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/extends'), require('babel-runtime/core-js/object/assign'), require('../popup/popup.vue'), require('../input/input.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._extends, global.assign, global.popup, global.input, global.visibility, global.popup, global.locale);\n    global.dialog = mod.exports;\n  }\n})(this, function (module, exports, _extends2, _assign, _popup, _input, _visibility, _popup3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _extends3 = _interopRequireDefault(_extends2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-dialog';\n  var EVENT_CONFIRM = 'confirm';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CLOSE = 'close';\n\n  var defHref = 'javascript:;';\n  var defConfirmBtn = {\n    textType: 'ok',\n    active: true,\n    disabled: false,\n    href: defHref\n  };\n  var defCancelBtn = {\n    textType: 'cancel',\n    active: false,\n    disabled: false,\n    href: defHref\n  };\n  var parseBtn = function parseBtn(btn, defBtn) {\n    if (typeof btn === 'string') {\n      btn = {\n        text: btn\n      };\n    }\n    var text = defBtn && this.$t(defBtn.textType);\n    return (0, _assign2.default)({}, defBtn, { text: text }, btn);\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _locale2.default],\n    props: {\n      type: {\n        type: String,\n        default: 'alert'\n      },\n      prompt: {\n        type: Object,\n        default: function _default() {\n          return {\n            value: '',\n            placeholder: ''\n          };\n        }\n      },\n      icon: {\n        type: String,\n        default: ''\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      showClose: {\n        type: Boolean,\n        default: false\n      },\n      confirmBtn: {\n        type: [Object, String],\n        default: function _default() {\n          return (0, _extends3.default)({}, defConfirmBtn);\n        }\n      },\n      cancelBtn: {\n        type: [Object, String],\n        default: function _default() {\n          return (0, _extends3.default)({}, defCancelBtn);\n        }\n      }\n    },\n    data: function data() {\n      return {\n        defHref: defHref,\n        promptValue: this.prompt.value\n      };\n    },\n\n    computed: {\n      _confirmBtn: function _confirmBtn() {\n        return parseBtn.call(this, this.confirmBtn, defConfirmBtn);\n      },\n      _cancelBtn: function _cancelBtn() {\n        return parseBtn.call(this, this.cancelBtn, defCancelBtn);\n      },\n      isConfirm: function isConfirm() {\n        return this.type === 'confirm';\n      },\n      isPrompt: function isPrompt() {\n        return this.type === 'prompt';\n      },\n      containerClass: function containerClass() {\n        return 'cube-dialog-' + this.type;\n      }\n    },\n    watch: {\n      'prompt.value': {\n        handler: function handler(newVal) {\n          this.promptValue = newVal;\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.maskClosable && this.cancel(e);\n      },\n      confirm: function confirm(e) {\n        if (this._confirmBtn.disabled) {\n          return;\n        }\n        this.hide();\n        this.$emit(EVENT_CONFIRM, e, this.promptValue);\n      },\n      cancel: function cancel(e) {\n        if (this._cancelBtn.disabled) {\n          return;\n        }\n        this.hide();\n        this.$emit(EVENT_CANCEL, e);\n      },\n      close: function close(e) {\n        this.hide();\n        this.$emit(EVENT_CLOSE, e);\n      }\n    },\n    components: {\n      CubePopup: _popup2.default,\n      CubeInput: _input2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-dialog-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"dialog\",\n      \"z-index\": _vm.zIndex,\n      \"mask\": true,\n      \"center\": true\n    },\n    on: {\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('div', {\n    staticClass: \"cube-dialog-main\"\n  }, [_c('span', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.showClose),\n      expression: \"showClose\"\n    }],\n    staticClass: \"cube-dialog-close\",\n    on: {\n      \"click\": _vm.close\n    }\n  }, [_c('i', {\n    staticClass: \"cubeic-close\"\n  })]), _vm._v(\" \"), _c('div', {\n    class: _vm.containerClass\n  }, [(_vm.icon) ? _c('p', {\n    staticClass: \"cube-dialog-icon\"\n  }, [_c('i', {\n    class: _vm.icon\n  })]) : _vm._e(), _vm._v(\" \"), (_vm.title || _vm.$slots.title) ? _c('h2', {\n    staticClass: \"cube-dialog-title\"\n  }, [_vm._t(\"title\", [_c('p', {\n    staticClass: \"cube-dialog-title-def\"\n  }, [_vm._v(_vm._s(_vm.title))])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-dialog-content\"\n  }, [_vm._t(\"content\", [_c('div', {\n    staticClass: \"cube-dialog-content-def\"\n  }, [(_vm.content) ? _c('p', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  }) : _vm._e(), _vm._v(\" \"), (_vm.isPrompt) ? _c('cube-input', _vm._b({\n    model: {\n      value: (_vm.promptValue),\n      callback: function($$v) {\n        _vm.promptValue = $$v\n      },\n      expression: \"promptValue\"\n    }\n  }, 'cube-input', _vm.prompt, false)) : _vm._e()], 1)])], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-dialog-btns\",\n    class: {\n      'border-right-1px': _vm.isConfirm || _vm.isPrompt\n    }\n  }, [_vm._t(\"btns\", [(_vm.isConfirm || _vm.isPrompt) ? _c('a', {\n    staticClass: \"cube-dialog-btn border-top-1px\",\n    class: {\n      'cube-dialog-btn_highlight': _vm._cancelBtn.active, 'cube-dialog-btn_disabled': _vm._cancelBtn.disabled\n    },\n    attrs: {\n      \"href\": _vm._cancelBtn.href\n    },\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelBtn.text))]) : _vm._e(), _vm._v(\" \"), _c('a', {\n    staticClass: \"cube-dialog-btn border-top-1px\",\n    class: {\n      'cube-dialog-btn_highlight': _vm._confirmBtn.active, 'cube-dialog-btn_disabled': _vm._confirmBtn.disabled\n    },\n    attrs: {\n      \"href\": _vm._confirmBtn.href\n    },\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmBtn.text))])])], 2)])])])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addDialog;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addDialog(Vue, Dialog) {\n    (0, _createApi2.default)(Vue, Dialog, ['confirm', 'cancel', 'close', 'btn-click', 'link-click'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/dialog/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-dialog-main{width:270px;padding:0;text-align:center;overflow:hidden;border-radius:2px;background-color:#fff}.cube-dialog-alert,.cube-dialog-confirm{position:relative;overflow:hidden}.cube-dialog-icon{margin-top:20px;margin-bottom:16px;line-height:1;color:#4a4c5b;font-size:30px}.cube-dialog-icon i{display:inline-block;width:30px;height:30px;padding:10px;box-sizing:content-box;border-radius:50%;background-color:#f3f4f5}.cube-dialog-icon+.cube-dialog-title .cube-dialog-title-def{margin-top:0}.cube-dialog-icon+.cube-dialog-content{margin-top:-4px}.cube-dialog-title{color:#333;font-size:16px;line-height:1}.cube-dialog-title+.cube-dialog-content{margin-top:12px}.cube-dialog-title-def{margin:30px 16px 0;overflow:hidden;white-space:nowrap}.cube-dialog-content{margin:16px 0;text-align:left;color:#666;font-size:14px;line-height:22px}.cube-dialog-content-def{padding:0 16px}.cube-dialog-content-def>p{display:table;margin:auto}.cube-dialog-content-def>p+.cube-input{margin-top:12px}.cube-dialog-confirm .cube-dialog-btns .cube-dialog-btn,.cube-dialog-prompt .cube-dialog-btns .cube-dialog-btn{width:50%;float:left}.cube-dialog-confirm .cube-dialog-btns.border-right-1px:after,.cube-dialog-prompt .cube-dialog-btns.border-right-1px:after{right:50%;border-color:#ebebeb}.cube-dialog-close{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;z-index:1;position:absolute;top:0;right:0;width:32px;height:32px;color:#999;font-size:18px}.cube-dialog-btns{overflow:hidden;width:100%;font-size:0}.cube-dialog-btn{display:inline-block;width:100%;padding:17px 10px;margin:0;font-size:16px;line-height:1;text-align:center;text-decoration:none;color:#999;background-color:#fff;background-clip:padding-box;box-sizing:border-box}.cube-dialog-btn:active{background-color:rgba(0,0,0,.04)}.cube-dialog-btn_highlight{color:#fc9153}.cube-dialog-btn_highlight:active{background-color:rgba(252,145,83,.04)}.cube-dialog-btn_disabled{color:#999}.cube-dialog-btn_disabled:active{background-color:transparent}.cube-dialog-fade-enter-active{-webkit-animation:dialog-fadein .4s;animation:dialog-fadein .4s}.cube-dialog-fade-enter-active .cube-dialog-main{-webkit-animation:dialog-zoom .4s;animation:dialog-zoom .4s}@-webkit-keyframes dialog-fadein{0%{opacity:0}to{opacity:1}}@keyframes dialog-fadein{0%{opacity:0}to{opacity:1}}@-webkit-keyframes dialog-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes dialog-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}.cube-input{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:14px;line-height:1.429;background-color:#fff;position:relative}.cube-input:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-input:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-input:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-input-field{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%;min-width:0;padding:10px;box-sizing:border-box;color:#666;line-height:inherit;background-color:inherit;border-radius:2px;outline:none}.cube-input-field::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-input-field+.cube-input-append .cube-input-clear:first-child,.cube-input-field+.cube-input-append .cube-input-eye:first-child{margin-left:-5px}.cube-input_active:after{border-color:#fc9153}.cube-input-append,.cube-input-prepend{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-input-clear,.cube-input-eye{width:1em;height:1em;line-height:1;padding:10px;box-sizing:content-box;color:#999}.cube-input-clear>i,.cube-input-eye>i{display:inline-block;-webkit-transform:scale(1.2);transform:scale(1.2)}.cube-input-eye>.cubeic-eye-invisible,.cube-input-eye>.cubeic-eye-visible{-webkit-transform:scale(1.4);transform:scale(1.4)}"
  },
  {
    "path": "lib/drawer/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"drawer\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"drawer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 300);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */,\n/* 85 */,\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */,\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */,\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */,\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(34);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(143), __esModule: true };\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(12);\nvar aFunction = __webpack_require__(34);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(147);\nvar html = __webpack_require__(52);\nvar cel = __webpack_require__(28);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(21)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 117 */,\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */,\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(141)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(142),\n  /* template */\n  __webpack_require__(161),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(109), __webpack_require__(154), __webpack_require__(157), __webpack_require__(88), __webpack_require__(90), __webpack_require__(107), __webpack_require__(158), __webpack_require__(108), __webpack_require__(120), __webpack_require__(87), __webpack_require__(47), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(54);\n__webpack_require__(38);\n__webpack_require__(45);\n__webpack_require__(144);\n__webpack_require__(152);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(82);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(34);\nvar anInstance = __webpack_require__(145);\nvar forOf = __webpack_require__(146);\nvar speciesConstructor = __webpack_require__(110);\nvar task = __webpack_require__(111).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(112);\nvar userAgent = __webpack_require__(149);\nvar promiseResolve = __webpack_require__(113);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(150)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(151)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(97)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar anObject = __webpack_require__(12);\nvar toLength = __webpack_require__(41);\nvar getIterFn = __webpack_require__(86);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(111).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(21)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(6);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(4);\nvar DESCRIPTORS = __webpack_require__(3);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(110);\nvar promiseResolve = __webpack_require__(113);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(112);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(155);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(156);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(109);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(159),\n  /* template */\n  __webpack_require__(160),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(304)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(305),\n  /* template */\n  __webpack_require__(309),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(306)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(307),\n  /* template */\n  __webpack_require__(308),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(301), __webpack_require__(265), __webpack_require__(266)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/drawer/drawer.vue'), require('../../components/drawer/drawer-panel.vue'), require('../../components/drawer/drawer-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.drawer, global.drawerPanel, global.drawerItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _drawer, _drawerPanel, _drawerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _drawer2 = _interopRequireDefault(_drawer);\n\n  var _drawerPanel2 = _interopRequireDefault(_drawerPanel);\n\n  var _drawerItem2 = _interopRequireDefault(_drawerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _drawer2.default.install = function (Vue) {\n    Vue.component(_drawer2.default.name, _drawer2.default);\n    Vue.component(_drawerPanel2.default.name, _drawerPanel2.default);\n    Vue.component(_drawerItem2.default.name, _drawerItem2.default);\n  };\n\n  _drawer2.default.Panel = _drawerPanel2.default;\n  _drawer2.default.Item = _drawerItem2.default;\n\n  exports.default = _drawer2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(302)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(303),\n  /* template */\n  __webpack_require__(310),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(118), __webpack_require__(87), __webpack_require__(265), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/toConsumableArray'), require('../../common/helpers/dom'), require('./drawer-panel.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.toConsumableArray, global.dom, global.drawerPanel, global.visibility, global.popup);\n    global.drawer = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _toConsumableArray2, _dom, _drawerPanel, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _drawerPanel2 = _interopRequireDefault(_drawerPanel);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-drawer';\n  var EVENT_CHANGE = 'change';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n\n  var transform = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      }\n    },\n    data: function data() {\n      return {\n        index: -1,\n        selectedVal: [],\n        selectedText: [],\n        selected: [].concat((0, _toConsumableArray3.default)(this.selectedIndex)),\n        slideStyle: (0, _defineProperty3.default)({}, transform, 'translate3d(0, 0, 0)')\n      };\n    },\n\n    watch: {\n      selectedIndex: function selectedIndex(newVal) {\n        this.selected = [].concat((0, _toConsumableArray3.default)(newVal));\n      },\n      index: function index(newIndex, oldIndex) {\n        this.showPanel();\n        if (newIndex < oldIndex) {\n          this.hidePanel();\n        }\n      }\n    },\n    created: function created() {\n      this.panels = [];\n    },\n\n    methods: {\n      show: function show() {\n        if (this.isVisible) {\n          return;\n        }\n        this.isVisible = true;\n\n        var len = this.data.length;\n        for (var i = 0; i < len; i++) {\n          this.index = i;\n          if (this.selected[i] < 0 || this.selected[i] === undefined) {\n            if (i > 0) {\n              var lastIndex = i - 1;\n              var index = this.selected[lastIndex];\n              this.changeHandler(lastIndex, this.data[lastIndex][index], index);\n            }\n            break;\n          }\n        }\n        this.computedStyle();\n      },\n      hide: function hide() {\n        this.slideStyle[transform] = 'translate3d(0, 0, 0)';\n        this.shouldHide = true;\n      },\n      addPanel: function addPanel(panel) {\n        this.panels.push(panel);\n      },\n      removePanel: function removePanel(panel) {\n        var i = this.panels.indexOf(panel);\n        this.panels.splice(i, 1);\n      },\n      transitionend: function transitionend() {\n        if (this.shouldHide) {\n          this.isVisible = false;\n          this.shouldHide = false;\n        }\n      },\n      refill: function refill(panelIndex, data, index) {\n        this.$set(this.data, panelIndex, data);\n        this.index = panelIndex;\n        this.selected = this.selected.slice(0, panelIndex);\n        this.selectedVal = this.selectedVal.slice(0, panelIndex);\n        this.selectedText = this.selectedText.slice(0, panelIndex);\n        if (index >= 0) {\n          this.$set(this.selected, panelIndex, index);\n          this.changeHandler(panelIndex, this.data[panelIndex][index], index);\n        }\n      },\n      showPanel: function showPanel() {\n        var index = this.index;\n        var i = 0;\n        while (i <= index) {\n          this.panels[i].show();\n          i++;\n        }\n        this.computedStyle();\n      },\n      hidePanel: function hidePanel() {\n        var len = this.data.length;\n        var i = this.index + 1;\n        while (i < len) {\n          this.panels[i].hide();\n          i++;\n        }\n      },\n      computedStyle: function computedStyle() {\n        var _this = this;\n\n        this.$nextTick(function () {\n          var allWidth = 0;\n          var i = 0;\n          var index = _this.index;\n          while (i <= index) {\n            var el = _this.panels[i].$el;\n            allWidth += el.offsetWidth;\n            var elStyle = window.getComputedStyle(el);\n            allWidth += parseInt(elStyle.marginLeft);\n            allWidth += parseInt(elStyle.marginRight);\n            i++;\n          }\n          _this.slideStyle[transform] = 'translate3d(-' + allWidth + 'px, 0, 0)';\n        });\n      },\n      changeHandler: function changeHandler(panelIndex, item, index) {\n        if (typeof item === 'string') {\n          this.selectedVal[panelIndex] = item;\n          this.selectedText[panelIndex] = item;\n        } else {\n          this.selectedVal[panelIndex] = item.value;\n          this.selectedText[panelIndex] = item.text;\n        }\n        this.$set(this.selected, panelIndex, index);\n        if (panelIndex === this.data.length - 1) {\n          this.$emit(EVENT_SELECT, this.selectedVal, this.selected, this.selectedText);\n          this.hide();\n        } else {\n          this.$emit(EVENT_CHANGE, panelIndex, item, this.selectedVal, this.selected, this.selectedText);\n        }\n      },\n      drawerClick: function drawerClick() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      }\n    },\n    components: {\n      CubeDrawerPanel: _drawerPanel2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(58), __webpack_require__(136), __webpack_require__(266)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/visibility'), require('../scroll/scroll.vue'), require('./drawer-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.visibility, global.scroll, global.drawerItem);\n    global.drawerPanel = mod.exports;\n  }\n})(this, function (module, exports, _visibility, _scroll, _drawerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _drawerItem2 = _interopRequireDefault(_drawerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-drawer-panel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      index: {\n        type: Number,\n        default: -1\n      }\n    },\n    computed: {\n      selectedIndex: function selectedIndex() {\n        var selectedIndex = this.$parent.selected[this.index];\n        return selectedIndex === undefined ? -1 : selectedIndex;\n      }\n    },\n    watch: {\n      data: function data() {\n        this.scrollToTop();\n      },\n      isVisible: function isVisible() {\n        var _this = this;\n\n        this.$nextTick(function () {\n          _this.refresh();\n        });\n      }\n    },\n    mounted: function mounted() {\n      this.$parent.addPanel(this);\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.$parent.removePanel(this);\n    },\n\n    methods: {\n      refresh: function refresh() {\n        this.$refs.scroll.refresh();\n      },\n      scrollToTop: function scrollToTop() {\n        this.$refs.scroll.scroll && this.$refs.scroll.scroll.scrollTo(0, 0, 0);\n      },\n      itemClickHandler: function itemClickHandler(item, index) {\n        if (this.selectedIndex !== index) {\n          this.$parent.changeHandler(this.index, item, index);\n        }\n      }\n    },\n    components: {\n      CubeScroll: _scroll2.default,\n      CubeDrawerItem: _drawerItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.drawerItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-drawer-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: [String, Object],\n        default: ''\n      },\n      index: {\n        type: Number,\n        default: -1\n      }\n    },\n    computed: {\n      itemClass: function itemClass() {\n        return this.$parent.$parent.selectedIndex === this.index ? 'cube-drawer-item_active' : '';\n      }\n    },\n    methods: {\n      clickItem: function clickItem(item) {\n        this.$parent.$parent.itemClickHandler(item, this.index);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-drawer-item border-bottom-1px\",\n    class: _vm.itemClass,\n    on: {\n      \"click\": function($event) {\n        _vm.clickItem(_vm.item)\n      }\n    }\n  }, [_vm._t(\"default\", [_vm._v(\"\\n    \" + _vm._s(_vm.item.text || _vm.item) + \"\\n  \")])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-drawer-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-drawer-panel\"\n  }, [_c('div', {\n    staticClass: \"cube-drawer-scroll-wrapper\"\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"data\": _vm.data\n    }\n  }, [_c('ul', {\n    staticClass: \"cube-drawer-list\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, i) {\n    return _c('cube-drawer-item', {\n      key: i,\n      attrs: {\n        \"item\": item,\n        \"index\": i\n      }\n    })\n  }))], 2)])], 1)])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-drawer\",\n    on: {\n      \"click\": _vm.drawerClick\n    }\n  }, [_c('div', {\n    staticClass: \"cube-drawer-main\",\n    style: (_vm.slideStyle),\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      },\n      \"transitionend\": _vm.transitionend\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.$slots.title || _vm.title),\n      expression: \"$slots.title || title\"\n    }],\n    staticClass: \"cube-drawer-title\"\n  }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-drawer-panels\",\n    on: {\n      \"transitionend\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(panel, index) {\n    return _c('cube-drawer-panel', {\n      key: index,\n      attrs: {\n        \"index\": index,\n        \"data\": panel\n      }\n    })\n  }))], 2)])])\n},staticRenderFns: []}\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/drawer/style.css",
    "content": ".cube-drawer{z-index:5;right:0;left:0;color:#333}.cube-drawer,.cube-drawer-main{position:absolute;top:0;bottom:0;overflow:hidden}.cube-drawer-main{left:100%;max-width:90%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;box-shadow:-2px 0 2px rgba(0,0,0,.2)}.cube-drawer-title{position:relative;padding:0 20px;height:50px;line-height:50px;border-bottom:1px solid #eee;font-size:16px;background-color:#fff}.cube-drawer-panels{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-drawer-panel{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:170px;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.cube-drawer-panel+.cube-drawer-panel{margin-left:-67px}.cube-drawer-panel:first-child{box-shadow:none}.cube-drawer-scroll-wrapper{position:absolute;top:0;left:0;width:100%;height:100%}.cube-drawer-move-enter,.cube-drawer-move-leave-to{-webkit-transform:translate(67px);transform:translate(67px)}.cube-drawer-move-enter-active,.cube-drawer-move-leave-active{-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-drawer-item{padding:0 20px;height:50px;line-height:50px;white-space:nowrap;overflow:hidden;font-size:15px}.cube-drawer-item:after{left:20px}.cube-drawer-item:last-child:after{display:none}.cube-drawer-item:first-child:after{display:block}.cube-drawer-item_active{background:rgba(0,0,0,.04)}"
  },
  {
    "path": "lib/form/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"form\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"form\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 311);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */,\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */,\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */,\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */,\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */,\n/* 90 */,\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */,\n/* 100 */,\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(169)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(170),\n  /* template */\n  __webpack_require__(171),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 163 */,\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.groupCol = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var FLEXBASIS = (0, _dom.prefixStyle)('flexBasis');\n\n  exports.default = {\n    props: {\n      colNum: {\n        type: Number,\n        default: 1\n      }\n    },\n    watch: {\n      colNum: {\n        immediate: true,\n        handler: function handler(newValue) {\n          var _this = this;\n\n          if (newValue <= 1) return '';\n          this.$nextTick(function () {\n            var count = 100 / newValue + '%';\n            Array.prototype.forEach.call(_this.$refs.group.children, function (item) {\n              item.style[FLEXBASIS] = count;\n            });\n          });\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    methods: {\n      changeHander: function changeHander(e) {\n        this.$emit(EVENT_CHANGE, e);\n      },\n      focus: function focus() {\n        this.$refs.input.focus();\n      },\n      blur: function blur() {\n        this.$refs.input.blur();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(185)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(186),\n  /* template */\n  __webpack_require__(187),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 167 */,\n/* 168 */,\n/* 169 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkbox = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checkbox';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [Boolean, String]\n      },\n      label: {\n        type: [Boolean, String]\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      option: {\n        type: [Boolean, String, Object],\n        default: function _default() {\n          return {\n            _def_option: true\n          };\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      var parent = this.$parent;\n      var isInGroup = parent.$data._checkboxGroup;\n      var isInHorizontalGroup = isInGroup && (parent.$props.horizontal || parent.$props.colNum > 1);\n      return {\n        isInGroup: isInGroup,\n        isInHorizontalGroup: isInHorizontalGroup\n      };\n    },\n\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        var label = this.label;\n        var disabled = this.disabled;\n        if (option._def_option === true) {\n          option = {\n            label: label,\n            value: label,\n            disabled: disabled\n          };\n        } else if (typeof option === 'string') {\n          option = {\n            label: option,\n            value: option,\n            disabled: false\n          };\n        }\n        return option;\n      },\n\n      checkValue: {\n        get: function get() {\n          if (this.isInGroup) {\n            return this.$parent.value.indexOf(this.computedOption.value) > -1;\n          } else {\n            return Boolean(this.value);\n          }\n        },\n        set: function set(newValue) {\n          var value = this.computedOption.value;\n          var emitValue = value && newValue ? value : newValue;\n          this.$emit(EVENT_INPUT, emitValue);\n          if (this.isInGroup) {\n            newValue = !this.checkValue;\n            var parentEmitEvent = newValue ? EVENT_CHECKED : EVENT_CANCLE_CHECKED;\n            this.$parent.$emit(parentEmitEvent, value || newValue);\n          }\n        }\n      },\n      _containerClass: function _containerClass() {\n        return {\n          'cube-checkbox-hollow': this.hollowStyle,\n          'cube-checkbox_checked': this.checkValue,\n          'cube-checkbox_disabled': this.computedOption.disabled,\n          'border-right-1px': this.isInHorizontalGroup\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        if (this.isInGroup && !this.isInHorizontalGroup) {\n          return 'border-bottom-1px';\n        }\n      },\n      isSquare: function isSquare() {\n        return this.shape === 'square' || this.hollowStyle;\n      },\n      _borderIconClass: function _borderIconClass() {\n        return this.isSquare ? 'cubeic-square-border' : 'cubeic-round-border';\n      },\n      _rightIconClass: function _rightIconClass() {\n        return this.isSquare ? 'cubeic-square-right' : 'cubeic-right';\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-checkbox\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-checkbox-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkValue),\n      expression: \"checkValue\"\n    }],\n    staticClass: \"cube-checkbox-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.computedOption.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkValue) ? _vm._i(_vm.checkValue, null) > -1 : (_vm.checkValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-ui\",\n    class: _vm._borderIconClass\n  }, [_c('i', {\n    class: _vm._rightIconClass\n  })]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-label\"\n  }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.computedOption.label))])], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../../common/helpers/env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.STATUS_SUCCESS = exports.STATUS_ERROR = exports.STATUS_UPLOADING = exports.STATUS_READY = exports.URL = undefined;\n  exports.processFiles = processFiles;\n  exports.processFile = processFile;\n  exports.newFile = newFile;\n  exports.evalOpts = evalOpts;\n  var URL = exports.URL = _env.inBrowser ? window.URL || window.webkitURL || window.mozURL : null;\n\n  var STATUS_READY = exports.STATUS_READY = 'ready';\n  var STATUS_UPLOADING = exports.STATUS_UPLOADING = 'uploading';\n  var STATUS_ERROR = exports.STATUS_ERROR = 'error';\n  var STATUS_SUCCESS = exports.STATUS_SUCCESS = 'success';\n\n  function processFiles(files, eachProcessFile, eachCb, cb) {\n    var fileItems = [];\n    var len = files.length;\n    var processedLen = 0;\n    for (var i = 0; i < len; i++) {\n      processFile(files[i], i, eachProcessFile, function (item, index) {\n        processedLen++;\n        fileItems[index] = item;\n        eachCb(item, index);\n        if (processedLen === len) {\n          return cb(fileItems);\n        }\n      });\n    }\n  }\n\n  function processFile(file, i, eachProcessFile, cb) {\n    eachProcessFile(file, function (file) {\n      var item = newFile(file.name, file.size, STATUS_READY, 0, file);\n      cb(item, i);\n    });\n  }\n\n  function newFile() {\n    var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var status = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n    var progress = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n    var file = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n    var base64 = file && file.base64 || '';\n    var url = base64 ? '' : createURL(file);\n\n    return {\n      name: name,\n      size: size,\n      url: url,\n      base64: base64,\n      status: status,\n      progress: progress,\n      file: file\n    };\n  }\n\n  function createURL(file) {\n    if (file && URL) {\n      return URL.createObjectURL(file);\n    }\n    return '';\n  }\n\n  function evalOpts(data) {\n    if (typeof data === 'function') {\n      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n        args[_key - 1] = arguments[_key];\n      }\n\n      return data.apply(this, args);\n    }\n    return data;\n  }\n});\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(175)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(176),\n  /* template */\n  __webpack_require__(177),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(179)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(180),\n  /* template */\n  __webpack_require__(181),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.button = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-button';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      icon: {\n        type: String,\n        default: ''\n      },\n      active: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      primary: {\n        type: Boolean,\n        default: false\n      },\n      outline: {\n        type: Boolean,\n        default: false\n      },\n      light: {\n        type: Boolean,\n        default: false\n      },\n      type: {\n        type: String,\n        default: 'button'\n      }\n    },\n    computed: {\n      btnClass: function btnClass() {\n        return {\n          'cube-btn_active': this.active,\n          'cube-btn_disabled': this.disabled,\n          'cube-btn-inline': this.inline,\n          'cube-btn-primary': this.primary,\n          'cube-btn-outline': this.outline,\n          'cube-btn-outline-primary': this.outline && this.primary,\n          'cube-btn-light': this.light\n        };\n      }\n    },\n    methods: {\n      handleClick: function handleClick(event) {\n        if (this.disabled) {\n          event.preventDefault();\n          event.stopPropagation();\n          return;\n        }\n        this.$emit('click', event);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('button', {\n    staticClass: \"cube-btn\",\n    class: _vm.btnClass,\n    attrs: {\n      \"type\": _vm.type\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [(_vm.icon) ? _c('i', {\n    class: _vm.icon\n  }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 178 */,\n/* 179 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(165)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-input';\n  var EVENT_INPUT = 'input';\n  var EVENT_BLUR = 'blur';\n  var EVENT_FOCUS = 'focus';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    props: {\n      value: [String, Number],\n      type: {\n        type: String,\n        default: 'text'\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      placeholder: String,\n      readonly: {\n        type: Boolean,\n        default: false\n      },\n      autofocus: {\n        type: Boolean,\n        default: false\n      },\n      autocomplete: {\n        type: [Boolean, String],\n        default: false\n      },\n      name: String,\n      id: String,\n      form: String,\n      minlength: Number,\n      maxlength: Number,\n      resize: String,\n      min: Number,\n      max: Number,\n      step: Number,\n      tabindex: String,\n      pattern: String,\n      clearable: {\n        type: [Boolean, Object],\n        default: false\n      },\n      eye: {\n        type: [Boolean, Object],\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        inputValue: this.value,\n        isFocus: false,\n        formatedClearable: {\n          visible: false,\n          blurHidden: true\n        },\n        formatedEye: {\n          open: false,\n          reverse: false\n        }\n      };\n    },\n\n    computed: {\n      _type: function _type() {\n        var type = this.type;\n        if (type === 'password' && this.eye && this.pwdVisible) {\n          return 'text';\n        }\n        return type;\n      },\n      _showClear: function _showClear() {\n        var visible = this.formatedClearable.visible && this.inputValue && !this.readonly && !this.disabled;\n        if (this.formatedClearable.blurHidden && !this.isFocus) {\n          visible = false;\n        }\n        return visible;\n      },\n      _showPwdEye: function _showPwdEye() {\n        return this.type === 'password' && this.eye && !this.disabled;\n      },\n      pwdVisible: function pwdVisible() {\n        var eye = this.formatedEye;\n        return eye.reverse ? !eye.open : eye.open;\n      },\n      eyeClass: function eyeClass() {\n        return this.formatedEye.open ? 'cubeic-eye-visible' : 'cubeic-eye-invisible';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.inputValue = newValue;\n      },\n      inputValue: function inputValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n      },\n\n      clearable: {\n        handler: function handler() {\n          this.formatClearable();\n        },\n\n        deep: true,\n        immediate: true\n      },\n      eye: {\n        handler: function handler() {\n          this.formateEye();\n        },\n\n        deep: true,\n        immediate: true\n      }\n    },\n    methods: {\n      formatClearable: function formatClearable() {\n        if (typeof this.clearable === 'boolean') {\n          this.formatedClearable.visible = this.clearable;\n        } else {\n          (0, _assign2.default)(this.formatedClearable, this.clearable);\n        }\n      },\n      formateEye: function formateEye() {\n        if (typeof this.eye === 'boolean') {\n          this.formatedEye.open = this.eye;\n        } else {\n          (0, _assign2.default)(this.formatedEye, this.eye);\n        }\n      },\n      handleFocus: function handleFocus(e) {\n        this.$emit(EVENT_FOCUS, e);\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit(EVENT_BLUR, e);\n        this.isFocus = false;\n      },\n      handleClear: function handleClear(e) {\n        this.inputValue = '';\n        this.$refs.input.focus();\n      },\n      handlePwdEye: function handlePwdEye() {\n        this.formatedEye.open = !this.formatedEye.open;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-input\",\n    class: {\n      'cube-input_active': _vm.isFocus\n    }\n  }, [(_vm.$slots.prepend) ? _c('div', {\n    staticClass: \"cube-input-prepend\"\n  }, [_vm._t(\"prepend\")], 2) : _vm._e(), _vm._v(\" \"), ((_vm._type) === 'checkbox') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"checkbox\"\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.inputValue) ? _vm._i(_vm.inputValue, null) > -1 : (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        var $$a = _vm.inputValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.inputValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.inputValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.inputValue = $$c\n        }\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : ((_vm._type) === 'radio') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"radio\"\n    },\n    domProps: {\n      \"checked\": _vm._q(_vm.inputValue, null)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        _vm.inputValue = null\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": _vm._type\n    },\n    domProps: {\n      \"value\": (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.inputValue = $event.target.value\n      }\n    }\n  }, 'input', _vm.$props, false)), _vm._v(\" \"), (_vm.$slots.append || _vm._showClear || _vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-append\"\n  }, [(_vm._showClear) ? _c('div', {\n    staticClass: \"cube-input-clear\",\n    on: {\n      \"touchend\": _vm.handleClear\n    }\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\"\n  })]) : _vm._e(), _vm._v(\" \"), (_vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-eye\",\n    on: {\n      \"click\": _vm.handlePwdEye\n    }\n  }, [_c('i', {\n    class: _vm.eyeClass\n  })]) : _vm._e(), _vm._v(\" \"), _vm._t(\"append\")], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(214), __webpack_require__(215), __webpack_require__(183)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./rules'), require('./messages'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.rules, global.messages, global.types);\n    global.index = mod.exports;\n  }\n})(this, function (exports, _rules, _messages, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'rules', {\n    enumerable: true,\n    get: function () {\n      return _rules.rules;\n    }\n  });\n  Object.defineProperty(exports, 'addRule', {\n    enumerable: true,\n    get: function () {\n      return _rules.addRule;\n    }\n  });\n  Object.defineProperty(exports, 'addMessage', {\n    enumerable: true,\n    get: function () {\n      return _messages.addMessage;\n    }\n  });\n  Object.defineProperty(exports, 'types', {\n    enumerable: true,\n    get: function () {\n      return _types.types;\n    }\n  });\n  Object.defineProperty(exports, 'addType', {\n    enumerable: true,\n    get: function () {\n      return _types.addType;\n    }\n  });\n});\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.util);\n    global.types = mod.exports;\n  }\n})(this, function (exports, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addType = exports.types = undefined;\n\n\n  var DATE_RE = /^(1|2)\\d{3}[.\\-/]\\d{1,2}[.\\-/]\\d{1,2}$/;\n\n  var types = {\n    string: function string(val) {\n      return typeof val === 'string';\n    },\n    number: function number(val) {\n      return !isNaN(Number(val));\n    },\n    array: function array(val) {\n      return Array.isArray(val);\n    },\n    date: function date(val) {\n      return !isNaN(Number(val)) || DATE_RE.test(val);\n    },\n    email: function email(val) {\n      return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)+$/i.test(val);\n    },\n    tel: function tel(val) {\n      return typeof val === 'string' && /^(11|13|14|15|17|18|19)[0-9]{9}$/.test(val);\n    },\n    url: function url(val) {\n      return typeof val === 'string' && /(https?|ftp|file):\\/\\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/.test(val);\n    }\n  };\n\n  var addType = (0, _util.createAddAPI)(types);\n\n  exports.types = types;\n  exports.addType = addType;\n});\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/locale'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _locale, _locale3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _locale4 = _interopRequireDefault(_locale3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _locale2.default.localeMixin = _locale4.default;\n\n  exports.default = _locale2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.radio = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-radio';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      radioGroup: {\n        default: null\n      }\n    },\n    props: {\n      value: [String, Number],\n      option: {\n        type: [String, Object],\n        required: true\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      var radioGroup = this.radioGroup;\n      if (radioGroup && radioGroup.radioValue !== void 0) {\n        this.radioValue = radioGroup.radioValue;\n        this._cancelWatchGroup = this.$watch(function () {\n          return radioGroup.radioValue;\n        }, function (newValue) {\n          _this.radioValue = newValue;\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this._cancelWatchGroup && this._cancelWatchGroup();\n      this._cancelWatchGroup = null;\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        if (typeof this.value === 'number') {\n          newV = Number(newV);\n        }\n        this.$emit(EVENT_INPUT, newV);\n        if (this.radioGroup) {\n          this.radioGroup.radioValue = newV;\n        }\n      }\n    },\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        if (typeof option === 'string') {\n          return {\n            value: option,\n            label: option\n          };\n        }\n        return option;\n      },\n      _containerClass: function _containerClass() {\n        var option = this.computedOption;\n        return {\n          'cube-radio-hollow': this.hollowStyle,\n          'cube-radio_selected': this.radioValue === option.value,\n          'cube-radio_disabled': option.disabled,\n          'border-right-1px': this.$parent.horizontal\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        var parent = this.$parent;\n        if (!(parent.horizontal || parent.$props.colNum > 1)) {\n          return 'border-bottom-1px';\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-radio\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-radio-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.radioValue),\n      expression: \"radioValue\"\n    }],\n    staticClass: \"cube-radio-input\",\n    attrs: {\n      \"type\": \"radio\",\n      \"disabled\": _vm.option.disabled\n    },\n    domProps: {\n      \"value\": _vm.computedOption.value,\n      \"checked\": _vm._q(_vm.radioValue, _vm.computedOption.value)\n    },\n    on: {\n      \"change\": function($event) {\n        _vm.radioValue = _vm.computedOption.value\n      }\n    }\n  }), _vm._v(\" \"), _vm._m(0), _vm._v(\" \"), _vm._t(\"default\", [_c('span', {\n    staticClass: \"cube-radio-label\"\n  }, [_vm._v(_vm._s(_vm.computedOption.label))])])], 2)])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('span', {\n    staticClass: \"cube-radio-ui cubeic-round-border\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(189)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(190),\n  /* template */\n  __webpack_require__(191),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(166), __webpack_require__(164)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./radio.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radio, global.groupCol);\n    global.radioGroup = mod.exports;\n  }\n})(this, function (module, exports, _radio, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-radio-group';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    provide: function provide() {\n      return {\n        radioGroup: this\n      };\n    },\n\n    props: {\n      value: [String, Number],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        this.$emit(EVENT_INPUT, newV);\n      }\n    },\n    computed: {\n      _groupClass: function _groupClass() {\n        if (!this.horizontal) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    components: {\n      CubeRadio: _radio2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-radio-group\",\n    class: _vm._groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-radio', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      },\n      model: {\n        value: (_vm.radioValue),\n        callback: function($$v) {\n          _vm.radioValue = $$v\n        },\n        expression: \"radioValue\"\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.btnMixin = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      multiple: {\n        type: Boolean,\n        default: true\n      },\n      accept: {\n        type: String,\n        default: 'image/*'\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 193 */,\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(207)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(208),\n  /* template */\n  __webpack_require__(209),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(212)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(213),\n  /* template */\n  __webpack_require__(217),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(221)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(222),\n  /* template */\n  __webpack_require__(223),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(240)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(241),\n  /* template */\n  __webpack_require__(242),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(243)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(244),\n  /* template */\n  __webpack_require__(245),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 199 */,\n/* 200 */,\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(202)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(203),\n  /* template */\n  __webpack_require__(204),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(162), __webpack_require__(164)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../checkbox/checkbox.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox, global.groupCol);\n    global.checkboxGroup = mod.exports;\n  }\n})(this, function (module, exports, _checkbox, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-checkbox-group';\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    props: {\n      value: {\n        type: Array\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      },\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: Infinity\n      }\n    },\n    data: function data() {\n      return {\n        _value: [],\n        _checkboxGroup: true\n      };\n    },\n\n    computed: {\n      groupClass: function groupClass() {\n        if (!this.horizontal || this.colNum > 1) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler: function handler(newValue, oldValue) {\n          this._value = this.value.concat();\n        }\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$on(EVENT_CHECKED, function (value) {\n        if (_this._value.length < _this.max && _this._value.indexOf(value) === -1) {\n          _this._value.push(value);\n        }\n        _this.$emit(EVENT_INPUT, _this._value);\n      });\n      this.$on(EVENT_CANCLE_CHECKED, function (value) {\n        var index = _this._value.indexOf(value);\n        if (_this._value.length > _this.min && index > -1) {\n          _this._value.splice(index, 1);\n        }\n        _this.$emit(EVENT_INPUT, _this._value);\n      });\n    },\n\n    components: {\n      CubeCheckbox: _checkbox2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-checkbox-group\",\n    class: _vm.groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-checkbox', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"shape\": _vm.shape,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(206),\n  /* template */\n  __webpack_require__(210),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(194)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./checker-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkerItem);\n    global.checker = mod.exports;\n  }\n})(this, function (module, exports, _checkerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkerItem2 = _interopRequireDefault(_checkerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-checker';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: [String, Number, Array],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      type: {\n        type: String,\n        default: 'checkbox'\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: function _default() {\n          return this.options.length;\n        }\n      }\n    },\n    data: function data() {\n      return {\n        currentValue: this.value\n      };\n    },\n\n    computed: {\n      isRadio: function isRadio() {\n        return this.type === 'radio';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.currentValue = newValue;\n      },\n      currentValue: function currentValue(val) {\n        this.$emit(EVENT_INPUT, val);\n      }\n    },\n    methods: {\n      check: function check(option) {\n        if (this.isRadio) {\n          this.checkRadio(option);\n        } else {\n          this.checkCheckbox(option);\n        }\n      },\n      checkRadio: function checkRadio(option) {\n        this.currentValue = option.value;\n      },\n      checkCheckbox: function checkCheckbox(option) {\n        var value = option.value;\n        var currentValue = this.currentValue;\n        var valueLen = currentValue.length;\n        var min = this.min;\n        var max = this.max;\n\n        var index = currentValue.indexOf(value);\n\n        if (index > -1) {\n          valueLen > min && currentValue.splice(index, 1);\n        } else {\n          valueLen < max && currentValue.push(value);\n        }\n      }\n    },\n    components: {\n      CubeCheckerItem: _checkerItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkerItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checker-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      option: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      isActive: function isActive() {\n        var isRadio = this.$parent.isRadio;\n        var currentValue = this.$parent.currentValue;\n        var value = this.option.value;\n        return isRadio ? currentValue === value : currentValue.indexOf(value) >= 0;\n      },\n      isDisabled: function isDisabled() {\n        return this.option.disabled;\n      }\n    },\n    methods: {\n      clickHandler: function clickHandler() {\n        if (this.isDisabled) {\n          return;\n        }\n        this.$parent.check(this.option);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-checker-item\",\n    class: {\n      'cube-checker-item_active': _vm.isActive, 'cube-checker-item_disabled': _vm.isDisabled\n    },\n    on: {\n      \"click\": _vm.clickHandler\n    }\n  }, [_vm._t(\"default\", [_c('span', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.option.text)\n    }\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('ul', {\n    staticClass: \"cube-checker\"\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-checker-item', {\n      key: index,\n      attrs: {\n        \"option\": option\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(88);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(53), __webpack_require__(48), __webpack_require__(35), __webpack_require__(182), __webpack_require__(85), __webpack_require__(216)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/typeof'), require('babel-runtime/core-js/object/keys'), require('../../common/helpers/util'), require('../../common/helpers/validator'), require('../../common/mixins/locale'), require('../../common/helpers/string-template'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._typeof, global.keys, global.util, global.validator, global.locale, global.stringTemplate);\n    global.validator = mod.exports;\n  }\n})(this, function (module, exports, _typeof2, _keys, _util, _validator, _locale, _stringTemplate) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _stringTemplate2 = _interopRequireDefault(_stringTemplate);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-validator';\n  var EVENT_INPUT = 'input';\n  var EVENT_VALIDATING = 'validating';\n  var EVENT_VALIDATED = 'validated';\n  var EVENT_MSG_CLICK = 'msg-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_locale2.default],\n    props: {\n      model: {\n        required: true\n      },\n      modelKey: {\n        type: String,\n        default: ''\n      },\n      rules: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      messages: {\n        type: [Object, String],\n        default: function _default() {\n          return {};\n        }\n      },\n      value: {},\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      immediate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        valid: this.value,\n        validated: false,\n        msg: '',\n        dirty: false,\n        validating: false,\n        result: {}\n      };\n    },\n\n    computed: {\n      targetModel: function targetModel() {\n        var modelKey = this.modelKey;\n        var model = this.model;\n        return modelKey ? model[modelKey] : model;\n      },\n      invalid: function invalid() {\n        var valid = this.valid;\n        return (0, _util.isUndef)(valid) ? undefined : !valid;\n      },\n      isDisabled: function isDisabled() {\n        var disabled = this.disabled;\n        var noRules = (0, _keys2.default)(this.rules).length <= 0;\n        return disabled || noRules;\n      },\n      dirtyOrValidated: function dirtyOrValidated() {\n        return (this.dirty || this.validated) && !this.validating;\n      },\n      containerClass: function containerClass() {\n        var disabled = this.isDisabled;\n        if (disabled) {\n          return;\n        }\n        return {\n          'cube-validator_invalid': this.invalid,\n          'cube-validator_valid': this.valid,\n          'cube-validator_validating': this.validating\n        };\n      }\n    },\n    watch: {\n      value: function value(newVal) {\n        this.valid = newVal;\n      },\n\n      targetModel: {\n        handler: function handler() {\n          if (this.isDisabled) {\n            return;\n          }\n          if (!this.dirty) {\n            this.dirty = true;\n          }\n\n          this.validate();\n        },\n\n        sync: true\n      },\n      rules: function rules() {\n        this.validate();\n      },\n      isDisabled: function isDisabled(newVal) {\n        if (!newVal && this.trigger && !this.validated) {\n          this.validate();\n        }\n      }\n    },\n    created: function created() {\n      this._validateCount = 0;\n      if (!this.isDisabled && this.immediate) {\n        this.validate();\n      }\n    },\n\n    methods: {\n      validate: function validate(cb) {\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        if (this.isDisabled) {\n          cb && cb(this.valid);\n          return promise;\n        }\n        this._validateCount++;\n        var validateCount = this._validateCount;\n        var val = this.targetModel;\n\n        var configRules = this.rules;\n        var type = configRules.type;\n        var allTasks = [];\n\n        var requiredValid = true;\n        if (!configRules.required) {\n          requiredValid = _validator.rules.required(val, true, type);\n        }\n\n        if (requiredValid) {\n          var _loop = function _loop(key) {\n            var ruleValue = configRules[key];\n            var ret = void 0;\n            if ((0, _util.isFunc)(ruleValue)) {\n              ret = ruleValue(val, configRules[key], type);\n            } else {\n              ret = !_validator.rules[key] || _validator.rules[key](val, configRules[key], type);\n            }\n            allTasks.push(function (next) {\n              var resolve = function resolve(_ret) {\n                next({\n                  key: key,\n                  valid: _ret === true,\n                  ret: _ret\n                });\n              };\n              var reject = function reject(err) {\n                next({\n                  key: key,\n                  valid: false,\n                  ret: err\n                });\n              };\n              if ((typeof ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(ret)) === 'object' && (0, _util.isFunc)(ret.then)) {\n                ret.then(resolve).catch(reject);\n              } else if ((0, _util.isFunc)(ret)) {\n                ret(resolve, reject);\n              } else {\n                next({\n                  key: key,\n                  valid: ret === true,\n                  ret: ret\n                });\n              }\n            });\n          };\n\n          for (var key in configRules) {\n            _loop(key);\n          }\n        }\n        this._checkTasks(allTasks, validateCount, cb);\n        return promise;\n      },\n      _checkTasks: function _checkTasks(allTasks, validateCount, cb) {\n        var _this = this;\n\n        var configRules = this.rules;\n        var isValid = true;\n        var result = {};\n        var sync = true;\n        this.validating = true;\n        var model = this.targetModel;\n        (0, _util.parallel)(allTasks, function (results) {\n          if (_this._validateCount !== validateCount) {\n            return;\n          }\n          _this.validating = false;\n          results.forEach(function (_ref) {\n            var key = _ref.key,\n                valid = _ref.valid,\n                ret = _ref.ret;\n\n            var msg = _this.messages[key] ? (0, _util.isFunc)(_this.messages[key]) ? _this.messages[key](ret, valid) : _this.messages[key] : _this.findMessage(key, configRules[key], configRules.type, model);\n            if (isValid && !valid) {\n              isValid = false;\n              _this.msg = msg;\n            }\n            result[key] = {\n              valid: valid,\n              invalid: !valid,\n              message: msg\n            };\n          });\n          if (!sync) {\n            _this.$emit(EVENT_VALIDATED, isValid);\n          }\n          _this._updateModel(isValid, result);\n          cb && cb(_this.valid);\n        });\n        if (this.validating) {\n          sync = false;\n\n          this.$emit(EVENT_VALIDATING);\n          this.valid = undefined;\n          this.$emit(EVENT_INPUT, this.valid);\n        }\n      },\n      _updateModel: function _updateModel(valid, result) {\n        this.validated = true;\n        this.result = result;\n        if (result.required && result.required.invalid) {\n          this.msg = result.required.message;\n        }\n\n        if (valid) {\n          this.msg = '';\n        }\n        this.valid = valid;\n        this.$emit(EVENT_INPUT, this.valid);\n      },\n      reset: function reset() {\n        this._validateCount++;\n        this.validating = false;\n        this.dirty = false;\n        this.result = {};\n        this.msg = '';\n        this.validated = false;\n        this.valid = undefined;\n        this.$emit(EVENT_INPUT, this.valid);\n      },\n      msgClickHandler: function msgClickHandler() {\n        this.$emit(EVENT_MSG_CLICK);\n      },\n      findMessage: function findMessage(key, config, type, val) {\n        var messages = this.$cubeMessages;\n        var lang = this.$cubeLang;\n        var NAMESPACE = 'validator';\n        var target = messages[lang][NAMESPACE][key];\n        if (!target) {\n          return '';\n        }\n        if ((0, _util.isString)(target)) {\n          return target;\n        } else if ((0, _util.isFunc)(target)) {\n          return target(config);\n        } else {\n          if (!target[type]) {\n            type = (0, _util.isArray)(val) ? 'array' : typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val);\n          }\n          return typeof target[type] === 'function' ? target[type](config) : (0, _stringTemplate2.default)(target[type], config);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(53), __webpack_require__(35), __webpack_require__(183)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/typeof'), require('../util'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global._typeof, global.util, global.types);\n    global.rules = mod.exports;\n  }\n})(this, function (exports, _keys, _typeof2, _util, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addRule = exports.rules = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var rules = {\n    required: function required(val, _required, type) {\n      type = type || (Array.isArray(val) ? 'array' : typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'array' && Array.isArray(val)) {\n        return val.length > 0;\n      }\n      return val !== '' && val !== undefined && val !== null;\n    },\n    type: function type(val, _type) {\n      return !_types.types[_type] || _types.types[_type](val);\n    },\n    min: function min(val, _min, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'number' || type === 'date') {\n        return Number(val) >= _min;\n      } else {\n        return val.length >= _min;\n      }\n    },\n    max: function max(val, _max, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'number' || type === 'date') {\n        return Number(val) <= _max;\n      } else {\n        return val.length <= _max;\n      }\n    },\n    len: function len(val, _len, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      var target = val;\n      if (target.length === undefined) {\n        target = type === 'object' ? (0, _keys2.default)(target) : String(target);\n      }\n      return target.length === _len;\n    },\n    notWhitespace: function notWhitespace(val, config, type) {\n      return !/^\\s+$/.test(val);\n    },\n    pattern: function pattern(val, _pattern, type) {\n      return _pattern.test(val);\n    },\n    custom: function custom(val, _custom, type) {\n      return _custom(val);\n    }\n  };\n\n  var addRule = (0, _util.createAddAPI)(rules);\n\n  exports.rules = rules;\n  exports.addRule = addRule;\n});\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(37), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/helpers/defineProperty'), require('../util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.defineProperty, global.util);\n    global.messages = mod.exports;\n  }\n})(this, function (exports, _defineProperty2, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addMessage = undefined;\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addMessage() {\n    var NAMESPACE = 'validator';\n    var vueProto = this._base.prototype;\n    var lang = vueProto.$cubeLang;\n    var baseMessages = vueProto.$cubeMessages[lang][NAMESPACE];\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    if (typeof args[0] === 'string') {\n      args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n    }\n\n    (0, _util.deepAssign)(baseMessages, args[0]);\n  }\n\n  exports.addMessage = addMessage;\n});\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(35), __webpack_require__(39), __webpack_require__(184)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./util'), require('./debug'), require('../../modules/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.util, global.debug, global.locale);\n    global.stringTemplate = mod.exports;\n  }\n})(this, function (module, exports, _util, _debug, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var stringRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\n  var quoteRe = /['\"]/g;\n  var INVALID_INDEX = -1;\n\n  function format(string) {\n    var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    return string.replace(stringRE, function (match, group1, index) {\n      var helpersArr = group1.split('|').slice(1).map(function (_) {\n        return _.trim();\n      });\n      var hasHelpers = helpersArr.length;\n      var result = config;\n\n      if (hasHelpers) {\n        helpersArr.forEach(function (helperString) {\n          var _resolveHelperFnStrin = resolveHelperFnString(helperString),\n              fnName = _resolveHelperFnStrin.fnName,\n              args = _resolveHelperFnStrin.args;\n\n          args.unshift(result);\n\n          if ((0, _util.isFunc)(_locale2.default.helpers[fnName])) {\n            result = _locale2.default.helpers[fnName].apply(null, args);\n          } else {\n            (0, _debug.warn)('A helper function named \"' + fnName + '\" is not registered, ' + 'please register it by Validator.addHelper()');\n            result = '';\n          }\n        });\n      }\n\n      return result;\n    });\n  }\n\n  function resolveHelperFnString(helperString) {\n    var leftBracketsIndex = helperString.indexOf('(');\n    var rightBracketsIndex = helperString.indexOf(')');\n    var fnName = '';\n    var args = [];\n\n    if (leftBracketsIndex === INVALID_INDEX) {\n      args = [];\n      fnName = helperString;\n    } else if (leftBracketsIndex !== INVALID_INDEX && rightBracketsIndex !== INVALID_INDEX) {\n      var argsStr = helperString.slice(leftBracketsIndex + 1, rightBracketsIndex);\n      args = argsStr.split(',').map(function (_) {\n        return _.trim().replace(quoteRe, '');\n      });\n      fnName = helperString.slice(0, leftBracketsIndex);\n    }\n    return { fnName: fnName, args: args };\n  }\n\n  exports.default = format;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-validator\",\n    class: _vm.containerClass\n  }, [_c('div', {\n    staticClass: \"cube-validator-content\"\n  }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-validator-msg\",\n    on: {\n      \"click\": _vm.msgClickHandler\n    }\n  }, [_vm._t(\"message\", [_c('span', {\n    staticClass: \"cube-validator-msg-def\"\n  }, [_vm._v(_vm._s(_vm.dirtyOrValidated ? _vm.msg : ''))])], {\n    message: _vm.msg,\n    dirty: _vm.dirty,\n    validated: _vm.validated,\n    validating: _vm.validating,\n    result: _vm.result\n  })], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(219)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(220),\n  /* template */\n  __webpack_require__(224),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(196)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./rate-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.rateItem);\n    global.rate = mod.exports;\n  }\n})(this, function (module, exports, _rateItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _rateItem2 = _interopRequireDefault(_rateItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-rate';\n  var EVENT_INPUT = 'input';\n\n  var EVENT_TYPE_MOUSE = 'mouse';\n  function isMouseEvent(e) {\n    return e.type.indexOf(EVENT_TYPE_MOUSE) > -1;\n  }\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: 5\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      justify: {\n        type: Boolean,\n        default: false\n      },\n      allowHalf: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        tempValue: 0\n      };\n    },\n    created: function created() {\n      this.mousePressed = false;\n    },\n\n    computed: {\n      rateClass: function rateClass() {\n        return this.justify && 'cube-rate-justify';\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler: function handler(val) {\n          if (val !== this.tempValue) {\n            this.tempValue = this.handleNum(val);\n          }\n        }\n      }\n    },\n    methods: {\n      handleStart: function handleStart(e) {\n        if (!this.disabled) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = true;\n            document.addEventListener('mouseup', this.handleEnd);\n            document.addEventListener('mousemove', this.handleMove);\n          }\n          var rect = this.$refs.rateContainer.getBoundingClientRect();\n          this.left = rect.left;\n          this.containerWidth = rect.width;\n        }\n      },\n      handleMove: function handleMove(e) {\n        if (this.disabled) return;\n\n        if (!isMouseEvent(e)) {\n          this.computeTempValue(e.touches[0]);\n        } else if (this.mousePressed) {\n          this.computeTempValue(e);\n        }\n      },\n      handleEnd: function handleEnd(e) {\n        if (this.disabled) return;\n        if (!isMouseEvent(e) || this.mousePressed) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = false;\n            document.removeEventListener('mouseup', this.handleEnd);\n            document.removeEventListener('mousemove', this.handleMove);\n          }\n          this.computeTempValue(isMouseEvent(e) ? e : e.changedTouches[0]);\n          this.$emit(EVENT_INPUT, this.tempValue);\n        }\n      },\n      handleNum: function handleNum(num) {\n        if (this.allowHalf) {\n          var baseNum = Math.ceil(num) - 0.5;\n          num = num <= baseNum ? baseNum : baseNum + 0.5;\n        } else {\n          num = Math.ceil(num);\n        }\n        return num;\n      },\n      computeTempValue: function computeTempValue(touch) {\n        var num = (touch.clientX - this.left) / this.containerWidth * this.max;\n        num = this.handleNum(num);\n        if (num > 0 && num <= this.max) {\n          this.tempValue = num;\n        } else if (num <= 0) {\n          this.tempValue = 0;\n        } else {\n          this.tempValue = this.max;\n        }\n      }\n    },\n    components: {\n      CubeRateItem: _rateItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.rateItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-rate-item';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      index: {\n        type: Number,\n        default: 0\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-rate-item\",\n    class: {\n      'cube-rate-item_active': _vm.index <= _vm.$parent.tempValue,\n        'cube-rate-item_half_active': _vm.index === _vm.$parent.tempValue + 0.5\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-rate-item-def\"\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('ul', {\n    ref: \"rateContainer\",\n    staticClass: \"cube-rate\",\n    class: _vm.rateClass,\n    on: {\n      \"touchstart\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleStart($event)\n      },\n      \"touchmove\": function($event) {\n        $event.stopPropagation();\n        $event.preventDefault();\n        return _vm.handleMove($event)\n      },\n      \"touchend\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleEnd($event)\n      },\n      \"mousedown\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleStart($event)\n      },\n      \"mousemove\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleMove($event)\n      },\n      \"mouseup\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleEnd($event)\n      }\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.max), function(n) {\n    return _c('cube-rate-item', {\n      key: n,\n      attrs: {\n        \"index\": n\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(226)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(227),\n  /* template */\n  __webpack_require__(228),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(53), __webpack_require__(35), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/typeof'), require('../../common/helpers/util'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._typeof, global.util, global.locale);\n    global.select = mod.exports;\n  }\n})(this, function (module, exports, _typeof2, _util, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-select';\n\n  var EVENT_CHANGE = 'change';\n  var EVENT_INPUT = 'input';\n  var EVENT_PICKER_SHOW = 'picker-show';\n  var EVENT_PICKER_HIDE = 'picker-hide';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_locale2.default],\n    data: function data() {\n      return {\n        active: false\n      };\n    },\n\n    props: {\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      value: null,\n      placeholder: {\n        type: String,\n        default: ''\n      },\n      autoPop: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      adaptOptions: function adaptOptions() {\n        return [this.options.map(function (item) {\n          if ((typeof item === 'undefined' ? 'undefined' : (0, _typeof3.default)(item)) !== 'object') {\n            item = {\n              value: item,\n              text: item\n            };\n          }\n          return item;\n        })];\n      },\n      valueIndex: function valueIndex() {\n        var val = this.value;\n        var index = (0, _util.findIndex)(this.adaptOptions[0], function (item) {\n          return item.value === val;\n        });\n        this.picker && this.picker.setData(this.adaptOptions, index !== -1 ? [index] : [0]);\n\n        return index;\n      },\n      selectedIndex: function selectedIndex() {\n        return this.valueIndex !== -1 ? [this.valueIndex] : [0];\n      },\n      selectedText: function selectedText() {\n        return this.valueIndex !== -1 ? this.adaptOptions[0][this.valueIndex].text : '';\n      },\n      _placeholder: function _placeholder() {\n        return this.placeholder || this.$t('selectText');\n      },\n      _title: function _title() {\n        return this.title || this.$t('selectText');\n      },\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    },\n    created: function created() {\n      this.picker = this.$createPicker({\n        $props: {\n          title: '_title',\n          data: 'adaptOptions',\n          selectedIndex: 'selectedIndex',\n          cancelTxt: '_cancelTxt',\n          confirmTxt: '_confirmTxt'\n        },\n        $events: {\n          select: 'selectHandler',\n          cancel: this.hided\n        }\n      });\n      this.autoPop && this.showPicker();\n    },\n\n    methods: {\n      showPicker: function showPicker() {\n        if (this.disabled) {\n          return;\n        }\n        this.picker.show();\n        this.active = true;\n        this.$emit(EVENT_PICKER_SHOW);\n      },\n      hided: function hided() {\n        this.active = false;\n        this.$emit(EVENT_PICKER_HIDE);\n      },\n      selectHandler: function selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.hided();\n        if (selectedVal[0] !== this.value) {\n          this.$emit(EVENT_INPUT, selectedVal[0]);\n          this.$emit(EVENT_CHANGE, selectedVal[0], selectedIndex[0], selectedText[0]);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-select\",\n    class: {\n      'cube-select_active': _vm.active, 'cube-select_disabled': _vm.disabled\n    },\n    on: {\n      \"click\": _vm.showPicker\n    }\n  }, [(_vm.selectedText) ? _c('span', {\n    staticClass: \"cube-select-text\"\n  }, [_vm._v(_vm._s(_vm.selectedText))]) : _c('span', {\n    staticClass: \"cube-select-placeholder\"\n  }, [_vm._v(_vm._s(_vm._placeholder))]), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-select-icon\"\n  })])\n},staticRenderFns: []}\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(230)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(231),\n  /* template */\n  __webpack_require__(232),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global._switch = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-switch';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        checkboxValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newVal) {\n        this.checkboxValue = newVal;\n      },\n      checkboxValue: function checkboxValue(newVal) {\n        this.$emit(EVENT_INPUT, newVal);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-switch\"\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkboxValue),\n      expression: \"checkboxValue\"\n    }],\n    staticClass: \"cube-switch-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkboxValue) ? _vm._i(_vm.checkboxValue, null) > -1 : (_vm.checkboxValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkboxValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkboxValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkboxValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkboxValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-switch-ui\"\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-switch-label\"\n  }, [_vm._t(\"default\")], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(234)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(235),\n  /* template */\n  __webpack_require__(236),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(165)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.textarea = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-textarea';\n  var EVENT_INPUT = 'input';\n\n  var DEFAULT_INDICATOR = {\n    negative: true,\n    remain: true\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    data: function data() {\n      return {\n        textareaValue: this.value,\n        expanded: this.forceExpand ? true : this.autoExpand ? !!this.value : false,\n        isFocus: false\n      };\n    },\n\n    props: {\n      value: {\n        type: String,\n        default: ''\n      },\n      cols: Number,\n      rows: Number,\n      readonly: Boolean,\n      wrap: String,\n      required: Boolean,\n      placeholder: {\n        type: String,\n        default: 'please type here...'\n      },\n      dirname: String,\n      form: String,\n      name: String,\n      autofocus: Boolean,\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      maxlength: {\n        type: Number,\n        default: 60\n      },\n      indicator: {\n        type: [Boolean, Object],\n        default: true\n      },\n      autoExpand: {\n        type: Boolean,\n        default: false\n      },\n      forceExpand: {\n        type: Boolean,\n        default: false\n      }\n    },\n    computed: {\n      indicatorConf: function indicatorConf() {\n        var indicator = this.indicator;\n        if (typeof indicator === 'boolean') {\n          indicator = {};\n        }\n        return (0, _assign2.default)({}, DEFAULT_INDICATOR, indicator);\n      },\n      count: function count() {\n        return this.textareaValue.length;\n      },\n      remain: function remain() {\n        var diff = this.maxlength - this.count;\n        if (!this.indicatorConf.negative && diff < 0) {\n          diff = 0;\n        }\n        return diff;\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.textareaValue = newValue;\n      },\n      textareaValue: function textareaValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n        if (!this.forceExpand && !this.isFocus && this.expanded) {\n          this.expanded = false;\n        }\n      }\n    },\n    methods: {\n      handleFocus: function handleFocus(e) {\n        this.$emit('focus', e);\n        this.expanded = true;\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit('blur', e);\n        if (!this.forceExpand && this.textareaValue.length === 0) {\n          this.expanded = false;\n        }\n        this.isFocus = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-textarea-wrapper\",\n    class: {\n      'cube-textarea_expanded': _vm.expanded, 'cube-textarea_active': _vm.isFocus\n    }\n  }, [_c('textarea', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.textareaValue),\n      expression: \"textareaValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-textarea\",\n    attrs: {\n      \"placeholder\": _vm.placeholder,\n      \"maxlength\": _vm.maxlength,\n      \"disabled\": _vm.disabled\n    },\n    domProps: {\n      \"value\": (_vm.textareaValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.textareaValue = $event.target.value\n      }\n    }\n  }, 'textarea', _vm.$props, false)), _vm._v(\" \"), _vm._t(\"indicator\", [(_vm.indicator) ? _c('span', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.expanded),\n      expression: \"expanded\"\n    }],\n    staticClass: \"cube-textarea-indicator\"\n  }, [_vm._v(_vm._s(_vm.indicatorConf.remain ? _vm.remain : _vm.count))]) : _vm._e()], {\n    remain: _vm.remain,\n    count: _vm.count\n  })], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(238)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(239),\n  /* template */\n  __webpack_require__(247),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(197), __webpack_require__(198), __webpack_require__(246), __webpack_require__(192), __webpack_require__(172)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./btn.vue'), require('./file.vue'), require('./ajax'), require('./btn-mixin'), require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.btn, global.file, global.ajax, global.btnMixin, global.util);\n    global.upload = mod.exports;\n  }\n})(this, function (module, exports, _btn, _file, _ajax, _btnMixin, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _btn2 = _interopRequireDefault(_btn);\n\n  var _file2 = _interopRequireDefault(_file);\n\n  var _ajax2 = _interopRequireDefault(_ajax);\n\n  var _btnMixin2 = _interopRequireDefault(_btnMixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-upload';\n  var EVENT_INPUT = 'input';\n  var EVENT_ADDED = 'files-added';\n  var EVENT_SUBMITTED = 'file-submitted';\n  var EVENT_REMOVED = 'file-removed';\n  var EVENT_SUCCESS = 'file-success';\n  var EVENT_ERROR = 'file-error';\n  var EVENT_CLICK = 'file-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_btnMixin2.default],\n    props: {\n      value: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      action: {\n        type: [String, Object],\n        default: ''\n      },\n      max: {\n        type: Number,\n        default: 10\n      },\n      auto: {\n        type: Boolean,\n        default: true\n      },\n      simultaneousUploads: {\n        type: Number,\n        default: 1\n      },\n      processFile: {\n        type: Function,\n        default: function _default(file, cb) {\n          cb(file);\n        }\n      }\n    },\n    data: function data() {\n      return {\n        files: this.value,\n        paused: !this.auto\n      };\n    },\n\n    computed: {\n      actionOptions: function actionOptions() {\n        var action = this.action;\n        if (typeof action === 'string') {\n          return action ? {\n            target: action\n          } : null;\n        } else {\n          return action;\n        }\n      },\n      isShowBtn: function isShowBtn() {\n        return this.files.length < this.max;\n      }\n    },\n    watch: {\n      value: function value(newVal) {\n        this.files = newVal;\n      },\n      files: function files(newFiles) {\n        this.$emit(EVENT_INPUT, newFiles);\n      }\n    },\n    methods: {\n      addFiles: function addFiles(files) {\n        var _this = this;\n\n        this.$emit(EVENT_ADDED, files);\n        var filesLen = this.files.length;\n        var newFiles = [];\n        var maxLen = this.max - filesLen;\n        var i = 0;\n        var file = files[i];\n        while (newFiles.length < maxLen && file) {\n          if (!file.ignore) {\n            newFiles.push(file);\n            this.files.push((0, _util.newFile)());\n          }\n          file = files[++i];\n        }\n        (0, _util.processFiles)(newFiles, this.processFile, function (file, index) {\n          _this.$set(_this.files, filesLen + index, file);\n          _this.$emit(EVENT_SUBMITTED, file);\n        }, function () {\n          _this.$nextTick(function () {\n            _this.upload();\n          });\n        });\n      },\n      removeFile: function removeFile(file) {\n        this.$emit(EVENT_REMOVED, file);\n        file._xhr && file._xhr.abort();\n        if (file.url) {\n          _util.URL.revokeObjectURL(file.url);\n        }\n        var index = this.files.indexOf(file);\n        this.files.splice(index, 1);\n        this.upload();\n      },\n      fileClick: function fileClick(file, index) {\n        this.$emit(EVENT_CLICK, file, index);\n      },\n      upload: function upload(retry) {\n        var _this2 = this;\n\n        var options = this.actionOptions;\n        if (this.paused || !options) {\n          return;\n        }\n        var len = this.files.length;\n        var uploadingCount = 0;\n        var i = 0;\n\n        var _loop = function _loop() {\n          var file = _this2.files[i];\n          var status = file.status;\n          if (status === _util.STATUS_READY || retry && status === _util.STATUS_ERROR && file._retryId !== _this2.retryId) {\n            (0, _ajax2.default)(file, options, function (file) {\n              if (status === _util.STATUS_ERROR) {\n                file._retryId = _this2.retryId;\n              }\n              _this2.$emit(file.status === _util.STATUS_SUCCESS ? EVENT_SUCCESS : EVENT_ERROR, file);\n              _this2.upload(retry);\n            });\n            uploadingCount++;\n          } else if (status === _util.STATUS_UPLOADING) {\n            uploadingCount++;\n          }\n          i++;\n        };\n\n        while (i < len && uploadingCount < this.simultaneousUploads) {\n          _loop();\n        }\n      },\n      start: function start() {\n        this.paused = false;\n        this.upload();\n      },\n      pause: function pause() {\n        this.paused = true;\n        this.files.forEach(function (file) {\n          if (file.status === _util.STATUS_UPLOADING) {\n            file._xhr.abort();\n            file.status = _util.STATUS_READY;\n          }\n        });\n      },\n      retry: function retry() {\n        this.retryId = Date.now();\n        this.paused = false;\n        this.upload(true);\n      }\n    },\n    components: {\n      UploadBtn: _btn2.default,\n      UploadFile: _file2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(192)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./btn-mixin'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.btnMixin);\n    global.btn = mod.exports;\n  }\n})(this, function (module, exports, _btnMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _btnMixin2 = _interopRequireDefault(_btnMixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-upload-btn';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_btnMixin2.default],\n    methods: {\n      changeHandler: function changeHandler(e) {\n        var fileEle = e.currentTarget;\n        var files = fileEle.files;\n        if (files) {\n          this.$parent.addFiles(files);\n          fileEle.value = null;\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-btn\"\n  }, [_vm._t(\"default\", [_vm._m(0)]), _vm._v(\" \"), _c('input', {\n    staticClass: \"cube-upload-input\",\n    attrs: {\n      \"type\": \"file\",\n      \"multiple\": _vm.multiple,\n      \"accept\": _vm.accept\n    },\n    on: {\n      \"change\": _vm.changeHandler\n    }\n  })], 2)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-btn-def\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(172)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.util);\n    global.file = mod.exports;\n  }\n})(this, function (module, exports, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-upload-file';\n  var STATUS_CLASS_MAP = {\n    success: 'cubeic-right',\n    error: 'cubeic-warn'\n  };\n  var EVENT_CLICK = 'click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      file: {\n        type: Object,\n        required: true\n      }\n    },\n    computed: {\n      fileCls: function fileCls() {\n        return 'cube-upload-file_' + this.file.status;\n      },\n      fileStatusCls: function fileStatusCls() {\n        var file = this.file;\n        var status = file.status;\n        if (file.progress >= 0.01 || status === _util.STATUS_SUCCESS || status === _util.STATUS_ERROR) {\n          return 'cube-upload-file_stat';\n        }\n      },\n      fileStyle: function fileStyle() {\n        var url = this.file.url || this.file.base64;\n        if (!url) {\n          return;\n        }\n        return {\n          'background-image': 'url(\"' + url + '\")'\n        };\n      },\n      statusCls: function statusCls() {\n        var status = this.file.status;\n        return STATUS_CLASS_MAP[status];\n      },\n      fileProgress: function fileProgress() {\n        if (this.statusCls) {\n          return '100%';\n        }\n        var p = Math.min(Math.floor(this.file.progress * 100), 99);\n        return p + '%';\n      }\n    },\n    methods: {\n      clickHandler: function clickHandler() {\n        this.$emit(EVENT_CLICK, this.file);\n      },\n      removeFile: function removeFile() {\n        this.$parent.removeFile(this.file);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-file\",\n    class: _vm.fileCls,\n    on: {\n      \"click\": _vm.clickHandler\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-upload-file-def\",\n    style: (_vm.fileStyle)\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n        return _vm.removeFile($event)\n      }\n    }\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-upload-file-state\",\n    class: _vm.fileStatusCls\n  }, [_c('i', {\n    staticClass: \"cube-upload-file-status\",\n    class: _vm.statusCls\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-upload-file-progress\"\n  }, [_vm._v(_vm._s(_vm.fileProgress))])])])], {\n    imgStyle: _vm.fileStyle,\n    progress: _vm.fileProgress\n  })], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(48), __webpack_require__(172)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.util);\n    global.ajax = mod.exports;\n  }\n})(this, function (module, exports, _keys, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = ajaxUpload;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function ajaxUpload(file, options, changeHandler) {\n    var target = options.target,\n        _options$headers = options.headers,\n        headers = _options$headers === undefined ? {} : _options$headers,\n        _options$data = options.data,\n        data = _options$data === undefined ? {} : _options$data,\n        _options$fileName = options.fileName,\n        fileName = _options$fileName === undefined ? 'file' : _options$fileName,\n        withCredentials = options.withCredentials,\n        timeout = options.timeout,\n        _options$prop = options.prop,\n        prop = _options$prop === undefined ? 'file' : _options$prop,\n        _options$progressInte = options.progressInterval,\n        progressInterval = _options$progressInte === undefined ? 100 : _options$progressInte,\n        _options$checkSuccess = options.checkSuccess,\n        checkSuccess = _options$checkSuccess === undefined ? function () {\n      return true;\n    } : _options$checkSuccess;\n\n\n    var realTarget = (0, _util.evalOpts)(target, file);\n\n    file.progress = 0;\n    file.status = _util.STATUS_UPLOADING;\n\n    var xhr = new window.XMLHttpRequest();\n    file._xhr = xhr;\n    var progressTid = 0;\n    if (xhr.upload) {\n      var lastProgressTime = Date.now();\n      xhr.upload.onprogress = function (e) {\n        if (e.total > 0) {\n          if (progressTid) {\n            clearTimeout(progressTid);\n            var now = Date.now();\n            var diff = now - lastProgressTime;\n            if (diff >= progressInterval) {\n              computed();\n            } else {\n              progressTid = setTimeout(computed, diff);\n            }\n          } else {\n            computed();\n            progressTid = 1;\n          }\n        }\n        function computed() {\n          file.progress = e.loaded / e.total;\n          lastProgressTime = Date.now();\n        }\n      };\n    }\n\n    var formData = new window.FormData();\n    var realData = (0, _util.evalOpts)(data, file);\n    (0, _keys2.default)(realData).forEach(function (key) {\n      formData.append(key, realData[key]);\n    });\n    formData.append(fileName, file[prop]);\n\n    xhr.onload = function () {\n      if (xhr.status < 200 || xhr.status >= 300) {\n        setStatus(_util.STATUS_ERROR);\n        return;\n      }\n      setResponse();\n      var response = file.response;\n\n      if (checkSuccess.length <= 2) {\n        var isSuccess = checkSuccess(response, file);\n        setStatus(isSuccess ? _util.STATUS_SUCCESS : _util.STATUS_ERROR);\n      } else {\n        checkSuccess(response, file, function (isSuccess) {\n          setStatus(isSuccess ? _util.STATUS_SUCCESS : _util.STATUS_ERROR);\n        });\n      }\n    };\n    xhr.onerror = function () {\n      setResponse();\n      setStatus(_util.STATUS_ERROR);\n    };\n    xhr.ontimeout = function () {\n      setResponse();\n      setStatus(_util.STATUS_ERROR);\n    };\n\n    xhr.open('POST', realTarget, true);\n    if (withCredentials) {\n      xhr.withCredentials = true;\n    }\n    var realHeaders = (0, _util.evalOpts)(headers, file);\n    (0, _keys2.default)(realHeaders).forEach(function (key) {\n      xhr.setRequestHeader(key, realHeaders[key]);\n    });\n    if (timeout > 0) {\n      xhr.timeout = timeout;\n    }\n\n    xhr.send(formData);\n    function setStatus(status) {\n      clearTimeout(progressTid);\n      progressTid = 0;\n      file.progress = 1;\n      file.status = status;\n      changeHandler && changeHandler(file);\n    }\n    function setResponse() {\n      var response = xhr.responseText || xhr.response;\n      try {\n        response = JSON.parse(response);\n      } catch (e) {}\n      file.response = response;\n      file.responseHeaders = xhr.getAllResponseHeaders();\n    }\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload\"\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-upload-def clear-fix\"\n  }, [_vm._l((_vm.files), function(file, i) {\n    return _c('upload-file', {\n      key: i,\n      attrs: {\n        \"file\": file\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.fileClick(file, i)\n        }\n      }\n    })\n  }), _vm._v(\" \"), _c('upload-btn', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isShowBtn),\n      expression: \"isShowBtn\"\n    }],\n    attrs: {\n      \"multiple\": _vm.multiple,\n      \"accept\": _vm.accept\n    }\n  })], 2)])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(315)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(316),\n  /* template */\n  __webpack_require__(326),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(317)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(318),\n  /* template */\n  __webpack_require__(325),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.layouts = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var LAYOUTS = {\n    STANDARD: 'standard',\n    CLASSIC: 'classic',\n    FRESH: 'fresh'\n  };\n\n  exports.default = LAYOUTS;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.mixin = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    data: function data() {\n      return {\n        validating: false,\n        pending: false,\n        originValid: undefined\n      };\n    },\n\n    computed: {\n      valid: function valid() {\n        var originValid = this.originValid;\n        var pending = this.pending;\n        var validating = this.validating;\n        return pending || validating ? undefined : originValid;\n      },\n      invalid: function invalid() {\n        var valid = this.valid;\n        return valid === undefined ? valid : !valid;\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(312), __webpack_require__(267), __webpack_require__(268), __webpack_require__(84), __webpack_require__(195), __webpack_require__(182)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/form/form.vue'), require('../../components/form/form-group.vue'), require('../../components/form/form-item.vue'), require('../../common/locale'), require('../../components/validator/validator.vue'), require('../../common/helpers/validator'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.form, global.formGroup, global.formItem, global.locale, global.validator, global.validator);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _form, _formGroup, _formItem, _locale, _validator, _validator3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _form2 = _interopRequireDefault(_form);\n\n  var _formGroup2 = _interopRequireDefault(_formGroup);\n\n  var _formItem2 = _interopRequireDefault(_formItem);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _form2.default.install = function (Vue) {\n    Vue.component(_form2.default.name, _form2.default);\n    Vue.component(_formGroup2.default.name, _formGroup2.default);\n    Vue.component(_formItem2.default.name, _formItem2.default);\n    Vue.component(_validator2.default.name, _validator2.default);\n    _locale2.default.install(Vue);\n    _validator2.default._base = Vue;\n  };\n\n  _form2.default.Group = _formGroup2.default;\n  _form2.default.Item = _formItem2.default;\n  _form2.default.Validator = _validator2.default;\n\n  _validator2.default.addRule = _validator3.addRule;\n  _validator2.default.addMessage = _validator3.addMessage;\n  _validator2.default.addType = _validator3.addType;\n  _validator2.default.addHelper = _locale2.default.addHelper;\n\n  exports.default = _form2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(313)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(314),\n  /* template */\n  __webpack_require__(327),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(87), __webpack_require__(35), __webpack_require__(267), __webpack_require__(269), __webpack_require__(270)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/helpers/dom'), require('../../common/helpers/util'), require('./form-group.vue'), require('./layouts'), require('./mixin'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.dom, global.util, global.formGroup, global.layouts, global.mixin);\n    global.form = mod.exports;\n  }\n})(this, function (module, exports, _assign, _dom, _util, _formGroup, _layouts, _mixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _formGroup2 = _interopRequireDefault(_formGroup);\n\n  var _layouts2 = _interopRequireDefault(_layouts);\n\n  var _mixin2 = _interopRequireDefault(_mixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-form';\n  var EVENT_SUBMIT = 'submit';\n  var EVENT_RESET = 'reset';\n  var EVENT_VALIDATE = 'validate';\n  var EVENT_VALID = 'valid';\n  var EVENT_INVALID = 'invalid';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_mixin2.default],\n    props: {\n      action: String,\n      model: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      schema: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      options: {\n        type: Object,\n        default: function _default() {\n          return {\n            scrollToInvalidField: false,\n            layout: _layouts2.default.STANDARD\n          };\n        }\n      },\n      immediateValidate: {\n        type: Boolean,\n        default: false\n      },\n      submitAlwaysValidate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        validatedCount: 0,\n        dirty: false,\n        firstInvalidField: null,\n        firstInvalidFieldIndex: -1\n      };\n    },\n\n    computed: {\n      fieldsModel: function fieldsModel() {\n        var model = {};\n        this.fields.forEach(function (fieldComponent) {\n          if (!fieldComponent.isBtnField) {\n            model[fieldComponent.fieldValue.modelKey] = fieldComponent.modelValue;\n          }\n        });\n        return model;\n      },\n      groups: function groups() {\n        var schema = this.schema;\n        var groups = schema.groups || [];\n        if (schema.fields) {\n          groups.unshift({\n            fields: schema.fields\n          });\n        }\n        return groups;\n      },\n      fieldsData: function fieldsData() {\n        return this.groups.reduce(function (fields, group) {\n          group.fields.reduce(function (fields, field) {\n            fields.push(field);\n            return fields;\n          }, fields);\n          return fields;\n        }, []);\n      },\n      layout: function layout() {\n        var options = this.options;\n        var layout = options && options.layout || _layouts2.default.STANDARD;\n        return layout;\n      },\n      formClass: function formClass() {\n        var invalid = this.invalid;\n        var valid = this.valid;\n        var layout = this.layout;\n        return {\n          'cube-form_standard': layout === _layouts2.default.STANDARD,\n          'cube-form_groups': this.groups.length > 1,\n          'cube-form_validating': this.validating,\n          'cube-form_pending': this.pending,\n          'cube-form_valid': valid,\n          'cube-form_invalid': invalid,\n          'cube-form_classic': layout === _layouts2.default.CLASSIC,\n          'cube-form_fresh': layout === _layouts2.default.FRESH\n        };\n      }\n    },\n    watch: {\n      validatedCount: function validatedCount() {\n        this.$emit(EVENT_VALIDATE, {\n          validity: this.validity,\n          valid: this.valid,\n          invalid: this.invalid,\n          dirty: this.dirty,\n          firstInvalidFieldIndex: this.firstInvalidFieldIndex\n        });\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      this.form = this;\n      this.fields = [];\n      this.validity = {};\n    },\n    mounted: function mounted() {\n      if (this.immediateValidate) {\n        this.validate();\n      }\n    },\n\n    methods: {\n      submit: function submit() {\n        var skipValidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        this.skipValidate = skipValidate;\n        (0, _dom.dispatchEvent)(this.$refs.form, 'submit');\n        this.skipValidate = false;\n      },\n      reset: function reset() {\n        (0, _dom.dispatchEvent)(this.$refs.form, 'reset');\n      },\n      submitHandler: function submitHandler(e) {\n        var _this = this;\n\n        this.syncValidatorValues();\n        if (this.skipValidate) {\n          this.$emit(EVENT_SUBMIT, e, this.model, this.fieldsModel);\n          return;\n        }\n        var submited = function submited(submitResult) {\n          if (submitResult) {\n            _this.$emit(EVENT_VALID, _this.validity);\n            _this.$emit(EVENT_SUBMIT, e, _this.model, _this.fieldsModel);\n          } else {\n            if (_this.options.scrollToInvalidField && _this.firstInvalidField) {\n              _this.firstInvalidField.$el.scrollIntoView();\n            }\n            e.preventDefault();\n            _this.$emit(EVENT_INVALID, _this.validity);\n          }\n        };\n        if (this.submitAlwaysValidate || this.valid === undefined) {\n          this._submit(submited);\n          if (this.validating || this.pending) {\n            e.preventDefault();\n          }\n        } else {\n          submited(this.valid);\n        }\n      },\n      resetHandler: function resetHandler(e) {\n        this._reset();\n        this.$emit(EVENT_RESET, e);\n      },\n      _submit: function _submit(cb) {\n        var _this2 = this;\n\n        this.validate(function () {\n          cb && cb(_this2.valid);\n        });\n      },\n      _reset: function _reset() {\n        this.fields.forEach(function (fieldComponent) {\n          fieldComponent.reset();\n        });\n        this.setValidity();\n        this.setValidating();\n        this.setPending();\n      },\n      syncValidatorValues: function syncValidatorValues() {\n        this.fields.forEach(function (fieldComponent) {\n          fieldComponent.syncValidatorValue();\n        });\n      },\n      validate: function validate(cb) {\n        var _this3 = this;\n\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        var doneCount = 0;\n        var len = this.fields.length;\n        this.originValid = undefined;\n        this.fields.forEach(function (fieldComponent) {\n          fieldComponent.validate(function () {\n            doneCount++;\n            if (doneCount === len) {\n              cb && cb(_this3.valid);\n            }\n          });\n        });\n        return promise;\n      },\n      updateValidating: function updateValidating() {\n        var validating = this.fields.some(function (fieldComponent) {\n          return fieldComponent.validating;\n        });\n        this.setValidating(validating);\n      },\n      updatePending: function updatePending() {\n        var pending = this.fields.some(function (fieldComponent) {\n          return fieldComponent.pending;\n        });\n        this.setPending(pending);\n      },\n      setValidating: function setValidating() {\n        var validating = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        this.validating = validating;\n      },\n      setPending: function setPending() {\n        var pending = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        this.pending = pending;\n      },\n      updateValidity: function updateValidity(modelKey, valid, result, dirty) {\n        var curResult = this.validity[modelKey];\n        if (curResult && curResult.valid === valid && curResult.result === result && curResult.dirty === dirty) {\n          return;\n        }\n        this.setValidity(modelKey, {\n          valid: valid,\n          result: result,\n          dirty: dirty\n        });\n      },\n      setValidity: function setValidity(key, val) {\n        var validity = {};\n        if (key) {\n          (0, _assign2.default)(validity, this.validity);\n          if (val === undefined) {\n            delete validity[key];\n          } else {\n            validity[key] = val;\n          }\n        }\n\n        var dirty = false;\n        var invalid = false;\n        var valid = true;\n        var firstInvalidFieldKey = '';\n        this.fields.forEach(function (fieldComponent) {\n          var modelKey = fieldComponent.fieldValue.modelKey;\n          if (modelKey) {\n            var retVal = validity[modelKey];\n            if (retVal) {\n              if (retVal.dirty) {\n                dirty = true;\n              }\n              if (retVal.valid === false) {\n                valid = false;\n              } else if (valid && !retVal.valid) {\n                valid = retVal.valid;\n              }\n\n              if (!invalid && retVal.valid === false) {\n                invalid = true;\n                firstInvalidFieldKey = modelKey;\n              }\n            } else if (fieldComponent.hasRules) {\n              if (valid) {\n                valid = undefined;\n              }\n              validity[modelKey] = {\n                valid: undefined,\n                result: {},\n                dirty: false\n              };\n            }\n          }\n        });\n        this.validity = validity;\n        this.dirty = dirty;\n        this.originValid = valid;\n        this.setFirstInvalid(firstInvalidFieldKey);\n        this.validatedCount++;\n      },\n      setFirstInvalid: function setFirstInvalid(key) {\n        var _this4 = this;\n\n        if (!key) {\n          this.firstInvalidField = null;\n          this.firstInvalidFieldIndex = -1;\n          return;\n        }\n        this.fields.some(function (fieldComponent, index) {\n          if (fieldComponent.fieldValue.modelKey === key) {\n            _this4.firstInvalidField = fieldComponent;\n            _this4.firstInvalidFieldIndex = index;\n            return true;\n          }\n        });\n      },\n      addField: function addField(fieldComponent) {\n        var i = this.fieldsData.indexOf(fieldComponent.field);\n        this.fields.splice(i, 0, fieldComponent);\n        var modelKey = fieldComponent.fieldValue.modelKey;\n        modelKey && this.setValidity(modelKey);\n      },\n      destroyField: function destroyField(fieldComponent) {\n        var i = this.fields.indexOf(fieldComponent);\n        this.fields.splice(i, 1);\n        var modelKey = fieldComponent.fieldValue.modelKey;\n        modelKey && this.setValidity(modelKey);\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.form = null;\n      this.firstInvalidField = null;\n    },\n\n    components: {\n      CubeFormGroup: _formGroup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(268)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./form-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.formItem);\n    global.formGroup = mod.exports;\n  }\n})(this, function (module, exports, _formItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _formItem2 = _interopRequireDefault(_formItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-form-group';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      legend: {\n        type: String,\n        default: ''\n      },\n      fields: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      this.form = this.$parent.form;\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.form = null;\n    },\n\n    components: {\n      CubeFormItem: _formItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(319), __webpack_require__(35), __webpack_require__(195), __webpack_require__(269), __webpack_require__(323), __webpack_require__(270), __webpack_require__(324)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('./fields/index'), require('../../common/helpers/util'), require('../validator/validator.vue'), require('./layouts'), require('./fields/reset'), require('./mixin'), require('./components'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.defineProperty, global.index, global.util, global.validator, global.layouts, global.reset, global.mixin, global.components);\n    global.formItem = mod.exports;\n  }\n})(this, function (module, exports, _keys, _defineProperty2, _index, _util, _validator, _layouts, _reset, _mixin, _components) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  var _layouts2 = _interopRequireDefault(_layouts);\n\n  var _mixin2 = _interopRequireDefault(_mixin);\n\n  var _components2 = _interopRequireDefault(_components);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _components2.default.CubeValidator = _validator2.default;\n\n  var COMPONENT_NAME = 'cube-form-item';\n  var EVENT_FOCUSIN = 'focusin';\n  var EVENT_FOCUSOUT = 'focusout';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_mixin2.default],\n    props: {\n      field: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    data: function data() {\n      var validatorModelKey = 'value';\n      var modelKey = this.field.modelKey;\n      var modelValue = modelKey ? this.form.model[modelKey] : null;\n      return {\n        validatorDisabled: false,\n        validatorModelKey: validatorModelKey,\n        modelValue: modelValue,\n        validatorModel: (0, _defineProperty3.default)({}, validatorModelKey, modelValue)\n      };\n    },\n\n    computed: {\n      fieldValue: function fieldValue() {\n        return (0, _index.processField)(this.field);\n      },\n      hasRules: function hasRules() {\n        return (0, _keys2.default)(this.fieldValue.rules || {}).length > 0;\n      },\n      isBtnField: function isBtnField() {\n        return this.fieldValue.type === 'button';\n      },\n      itemClass: function itemClass() {\n        var rules = this.fieldValue.rules;\n        return {\n          'cube-form-item_required': rules && rules.required,\n          'cube-form-item_btn': this.isBtnField,\n          'cube-form-item_validating': this.validating,\n          'cube-form-item_pending': this.pending,\n          'cube-form-item_valid': this.valid,\n          'cube-form-item_invalid': this.invalid\n        };\n      },\n      modelVal: function modelVal() {\n        return this.form.model[this.fieldValue.modelKey];\n      },\n      componentName: function componentName() {\n        var fieldValue = this.fieldValue;\n        var component = fieldValue.component;\n        if (component) {\n          return component;\n        }\n        var type = fieldValue.type;\n        var cubeType = 'cube-' + type;\n        if (_components2.default[cubeType]) {\n          return cubeType;\n        }\n        return type;\n      }\n    },\n    watch: {\n      modelVal: function modelVal(newModel) {\n        if (this.modelValue !== newModel) {\n          this.modelValue = newModel;\n        }\n      },\n\n      modelValue: {\n        handler: function handler(newModel) {\n          this.form.model[this.fieldValue.modelKey] = newModel;\n          this.updateValidatorModel();\n        },\n\n        sync: true\n      },\n      originValid: function originValid(newVal) {\n        this.lastOriginValid = newVal;\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      this.form = this.$parent.form;\n    },\n    created: function created() {\n      var _this = this;\n\n      this.form.addField(this);\n      this.getValidatorModel = function (modelValue) {\n        _this.pending = false;\n        return modelValue;\n      };\n    },\n    mounted: function mounted() {\n      this.initDebounce();\n      this.initFocusEvents();\n    },\n\n    methods: {\n      initDebounce: function initDebounce() {\n        var _this2 = this;\n\n        var debounceTime = this.fieldValue.debounce;\n        if (debounceTime === true) {\n          debounceTime = 200;\n        }\n        if (!debounceTime && debounceTime !== 0 || debounceTime < 0 || this.fieldValue.trigger === 'blur') return;\n        this.getValidatorModel = (0, _util.debounce)(function (modelValue) {\n          _this2.syncValidatorValue();\n          _this2.validate();\n          return modelValue;\n        }, debounceTime, false, this.validatorModel[this.validatorModelKey]);\n      },\n      focusInHandler: function focusInHandler() {\n        this.focused = true;\n      },\n      focusOutHandler: function focusOutHandler() {\n        this.focused = false;\n        this.updateValidatorModel();\n        this.validate();\n      },\n      initFocusEvents: function initFocusEvents() {\n        var _this3 = this;\n\n        if (this.fieldValue.trigger === 'blur') {\n          var formItem = this.$refs.formItem;\n          formItem.addEventListener(EVENT_FOCUSIN, this.focusInHandler, false);\n          formItem.addEventListener(EVENT_FOCUSOUT, this.focusOutHandler, false);\n          this.getValidatorModel = function (modelValue) {\n            if (_this3.focused) {\n              return _this3.validatorModel[_this3.validatorModelKey];\n            } else {\n              _this3.pending = false;\n              _this3.form.updatePending();\n              return modelValue;\n            }\n          };\n        }\n      },\n      removeFocusEvents: function removeFocusEvents() {\n        var formItem = this.$refs.formItem;\n        formItem.removeEventListener(EVENT_FOCUSIN, this.focusInHandler, false);\n        formItem.removeEventListener(EVENT_FOCUSOUT, this.focusOutHandler, false);\n      },\n      updateValidatorModel: function updateValidatorModel() {\n        this.pending = true;\n        this.validatorModel[this.validatorModelKey] = this.getValidatorModel(this.modelValue);\n        if (this.pending) {\n          this.form.setPending(this.pending);\n          this.originValid = undefined;\n        }\n      },\n      syncValidatorValue: function syncValidatorValue() {\n        this.pending = false;\n        this.validatorModel[this.validatorModelKey] = this.modelValue;\n        this.form.updatePending();\n      },\n      validatorChangeHandler: function validatorChangeHandler() {\n        if (this.validatorDisabled || this.originValid && this.lastOriginValid) {\n          return;\n        }\n        this.updateValidity();\n      },\n      validatingHandler: function validatingHandler() {\n        this.validating = true;\n        this.form.setValidating(true);\n      },\n      validatedHandler: function validatedHandler() {\n        this.validating = false;\n        this.form.updateValidating();\n      },\n      updateValidity: function updateValidity() {\n        var validator = this.$refs.validator;\n        if (validator) {\n          this.form.updateValidity(this.fieldValue.modelKey, validator.valid, validator.result, validator.dirty);\n        }\n      },\n      validate: function validate(cb) {\n        var _this4 = this;\n\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        var validator = this.$refs.validator;\n        if (validator) {\n          validator.validate(function () {\n            _this4.validatorDisabled = true;\n            _this4.updateValidity();\n            cb && cb();\n            _this4.$nextTick(function () {\n              _this4.validatorDisabled = false;\n            });\n          });\n        } else {\n          cb && cb();\n        }\n        return promise;\n      },\n      reset: function reset() {\n        var _this5 = this;\n\n        var fieldValue = this.fieldValue;\n        if (fieldValue.modelKey) {\n          var defValue = (0, _reset.getResetValueByType)(fieldValue.type);\n          this.validatorDisabled = true;\n          (0, _util.resetTypeValue)(this, 'modelValue', defValue);\n\n          this.syncValidatorValue();\n          this.$refs.validator && this.$refs.validator.reset();\n          this.$nextTick(function () {\n            _this5.validatorDisabled = false;\n          });\n        }\n        this.validating = false;\n        this.pending = false;\n      },\n      msgClick: function msgClick() {\n        if (this.form.layout !== _layouts2.default.STANDARD) {\n          return;\n        }\n\n        this.$createToast && this.$createToast({\n          type: 'warn',\n          txt: this.$refs.validator.msg,\n          time: 1000\n        }).show();\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.removeFocusEvents();\n      this.form.destroyField(this);\n      this.form = null;\n    },\n\n    components: _components2.default\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(211), __webpack_require__(320)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/helpers/extends'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global._extends, global.types);\n    global.index = mod.exports;\n  }\n})(this, function (exports, _extends2, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.processField = undefined;\n\n  var _extends3 = _interopRequireDefault(_extends2);\n\n  var _types2 = _interopRequireDefault(_types);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function processField(field) {\n    var _field = (0, _extends3.default)({}, field);\n    (0, _types2.default)(_field);\n    return _field;\n  }\n\n  exports.processField = processField;\n});\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(321), __webpack_require__(322)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./validate'), require('./props'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.validate, global.props);\n    global.types = mod.exports;\n  }\n})(this, function (module, exports, _validate, _props) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = processTypes;\n\n\n  var typesMap = {\n    submit: function submit(field) {\n      (0, _props.toButtonHandler)(field, 'submit');\n    },\n    reset: function reset(field) {\n      (0, _props.toButtonHandler)(field, 'reset');\n    },\n    checkbox: function checkbox(field) {\n      (0, _validate.boolRequiredHandler)(field);\n    },\n    switch: function _switch(field) {\n      (0, _validate.boolRequiredHandler)(field);\n    },\n    rate: function rate(field) {\n      (0, _validate.numberGT0RequiredHandler)(field);\n    }\n  };\n  function processTypes(field) {\n    var typeFn = typesMap[field.type];\n    if (typeFn) {\n      typeFn(field);\n    }\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.validate = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var handleValidateRule = function handleValidateRule(field, type, custom) {\n    var ruleValue = field.rules && field.rules[type];\n    if (type !== 'custom' && ruleValue && typeof ruleValue !== 'function') {\n      field.rules[type] = custom;\n    }\n  };\n  var createHandler = function createHandler(type) {\n    return function (field, custom) {\n      return handleValidateRule(field, type, custom);\n    };\n  };\n\n  var handleRequired = createHandler('required');\n  var boolRequiredHandler = function boolRequiredHandler(field) {\n    return handleRequired(field, function (val) {\n      return val !== false;\n    });\n  };\n  var numberGT0RequiredHandler = function numberGT0RequiredHandler(field) {\n    return handleRequired(field, function (val) {\n      return val > 0;\n    });\n  };\n\n  exports.boolRequiredHandler = boolRequiredHandler;\n  exports.numberGT0RequiredHandler = numberGT0RequiredHandler;\n});\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.props = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var toButtonHandler = function toButtonHandler(field, type) {\n    field.type = 'button';\n    if (!field.props) {\n      field.props = {};\n    }\n    field.props.type = type;\n  };\n\n  exports.toButtonHandler = toButtonHandler;\n});\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.reset = mod.exports;\n  }\n})(this, function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var typesResetMap = {\n    checkbox: function checkbox() {\n      return false;\n    },\n    select: function select() {\n      return null;\n    }\n  };\n  function getResetValueByType(type) {\n    var resetHandler = typesResetMap[type];\n    return resetHandler && resetHandler();\n  }\n\n  exports.getResetValueByType = getResetValueByType;\n});\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(173), __webpack_require__(162), __webpack_require__(201), __webpack_require__(205), __webpack_require__(174), __webpack_require__(166), __webpack_require__(188), __webpack_require__(218), __webpack_require__(225), __webpack_require__(229), __webpack_require__(233), __webpack_require__(237)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../button/button.vue'), require('../checkbox/checkbox.vue'), require('../checkbox-group/checkbox-group.vue'), require('../checker/checker.vue'), require('../input/input.vue'), require('../radio/radio.vue'), require('../radio/radio-group.vue'), require('../rate/rate.vue'), require('../select/select.vue'), require('../switch/switch.vue'), require('../textarea/textarea.vue'), require('../upload/upload.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button, global.checkbox, global.checkboxGroup, global.checker, global.input, global.radio, global.radioGroup, global.rate, global.select, global._switch, global.textarea, global.upload);\n    global.components = mod.exports;\n  }\n})(this, function (module, exports, _button, _checkbox, _checkboxGroup, _checker, _input, _radio, _radioGroup, _rate, _select, _switch, _textarea, _upload) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\n  var _checker2 = _interopRequireDefault(_checker);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  var _radioGroup2 = _interopRequireDefault(_radioGroup);\n\n  var _rate2 = _interopRequireDefault(_rate);\n\n  var _select2 = _interopRequireDefault(_select);\n\n  var _switch2 = _interopRequireDefault(_switch);\n\n  var _textarea2 = _interopRequireDefault(_textarea);\n\n  var _upload2 = _interopRequireDefault(_upload);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var allComponents = [_button2.default, _checkbox2.default, _checkboxGroup2.default, _checker2.default, _input2.default, _radio2.default, _radioGroup2.default, _rate2.default, _select2.default, _switch2.default, _textarea2.default, _upload2.default];\n\n  var components = {};\n  allComponents.forEach(function (Component) {\n    components[Component.name] = Component;\n  });\n\n  exports.default = components;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"formItem\",\n    staticClass: \"cube-form-item border-bottom-1px\",\n    class: _vm.itemClass\n  }, [(!_vm.isBtnField) ? [_vm._t(\"label\", [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fieldValue.label),\n      expression: \"fieldValue.label\"\n    }],\n    staticClass: \"cube-form-label\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.fieldValue.label))])])]), _vm._v(\" \"), (_vm.hasRules) ? _c('cube-validator', {\n    ref: \"validator\",\n    staticClass: \"cube-form-field\",\n    attrs: {\n      \"disabled\": _vm.validatorDisabled,\n      \"model\": _vm.validatorModel,\n      \"model-key\": _vm.validatorModelKey,\n      \"rules\": _vm.fieldValue.rules,\n      \"messages\": _vm.fieldValue.messages\n    },\n    on: {\n      \"input\": _vm.validatorChangeHandler,\n      \"validating\": _vm.validatingHandler,\n      \"validated\": _vm.validatedHandler,\n      \"msg-click\": _vm.msgClick\n    },\n    model: {\n      value: (_vm.originValid),\n      callback: function($$v) {\n        _vm.originValid = $$v\n      },\n      expression: \"originValid\"\n    }\n  }, [_vm._t(\"default\", [_c(_vm.componentName, _vm._g(_vm._b({\n    tag: \"component\",\n    model: {\n      value: (_vm.modelValue),\n      callback: function($$v) {\n        _vm.modelValue = $$v\n      },\n      expression: \"modelValue\"\n    }\n  }, 'component', _vm.fieldValue.props, false), _vm.fieldValue.events))])], 2) : _c('div', {\n    staticClass: \"cube-form-field\"\n  }, [_vm._t(\"default\", [_c(_vm.componentName, _vm._g(_vm._b({\n    tag: \"component\",\n    model: {\n      value: (_vm.modelValue),\n      callback: function($$v) {\n        _vm.modelValue = $$v\n      },\n      expression: \"modelValue\"\n    }\n  }, 'component', _vm.fieldValue.props, false), _vm.fieldValue.events))])], 2)] : _c('cube-button', _vm._g(_vm._b({}, 'cube-button', _vm.fieldValue.props, false), _vm.fieldValue.events), [_vm._v(_vm._s(_vm.fieldValue.label))])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-form-group\"\n  }, [_c('p', {\n    staticClass: \"cube-form-group-legend\"\n  }, [_vm._v(_vm._s(_vm.legend))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-form-group-content\"\n  }, [_vm._t(\"default\", _vm._l((_vm.fields), function(field, index) {\n    return _c('cube-form-item', {\n      key: field.key || index,\n      attrs: {\n        \"field\": field\n      }\n    })\n  }))], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('form', {\n    ref: \"form\",\n    staticClass: \"cube-form\",\n    class: _vm.formClass,\n    attrs: {\n      \"action\": _vm.action\n    },\n    on: {\n      \"submit\": _vm.submitHandler,\n      \"reset\": _vm.resetHandler\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.groups), function(group, index) {\n    return _c('cube-form-group', {\n      key: group.key || index,\n      attrs: {\n        \"fields\": group.fields,\n        \"legend\": group.legend\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/form/style.css",
    "content": ".cube-btn{display:block;margin:0;padding:17px 16px;width:100%;text-align:center;white-space:nowrap;cursor:pointer;font-size:16px;line-height:1;color:#fff;background:#4a4c5b;outline:none;border:none;border-radius:2px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.cube-btn.cube-btn_active,.cube-btn:active{background:#444654}.cube-btn>i{display:inline-block;margin-right:4px;font-size:100%;-webkit-transform:scale(1.13);transform:scale(1.13);-webkit-transform-origin:right center;transform-origin:right center}.cube-btn-inline{width:auto;display:inline-block;vertical-align:middle;padding:9px 10px;font-size:12px}.cube-btn-inline>i{margin-right:2px;-webkit-transform:scale(1.14);transform:scale(1.14)}.cube-btn-primary{color:#fff;background:#fc9153}.cube-btn-primary.cube-btn_active,.cube-btn-primary:active{background:#e8864c}.cube-btn-light{color:#666;background:#fcfcfc;box-shadow:0 1px 3px rgba(0,0,0,.1)}.cube-btn-light.cube-btn_active,.cube-btn-light:active{background:#e8e8e8}.cube-btn-outline{color:#666;background:transparent;position:relative}.cube-btn-outline:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline.cube-btn_active,.cube-btn-outline:active{background:rgba(0,0,0,.08);position:relative}.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary{color:#fc9153;background:transparent;position:relative}.cube-btn-outline-primary:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary.cube-btn_active,.cube-btn-outline-primary:active{background:rgba(252,145,83,.08);position:relative}.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e8864c;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled{color:#fff;background:#ccc;position:relative}.cube-btn_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled.cube-btn_active,.cube-btn_disabled:active{background:#ccc;position:relative}.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checkbox{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-checkbox[data-pos=right] .cube-checkbox-ui{margin-right:0;position:absolute;right:0}.cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:1.42em}.cube-checkbox-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-checkbox-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-checkbox-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;border-radius:50%}.cube-checkbox-ui.cubeic-square-border{border-radius:2px}.cube-checkbox-ui:before,.cube-checkbox-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-checkbox-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-checkbox-ui i{position:absolute;top:0;left:0;color:transparent;-webkit-transform:scale(.4);transform:scale(.4)}.cube-checkbox_checked .cube-checkbox-ui:before{color:transparent}.cube-checkbox_checked .cube-checkbox-ui i{color:#fc9153;-webkit-transform:scale(1.23);transform:scale(1.23)}.cube-checkbox_disabled .cube-checkbox-ui{background-color:#eee}.cube-checkbox_disabled .cube-checkbox-ui:before,.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transition:none;transition:none}.cube-checkbox_disabled .cube-checkbox-ui:before{color:transparent}.cube-checkbox_disabled .cube-checkbox-ui i{color:#eee}.cube-checkbox_checked.cube-checkbox_disabled .cube-checkbox-ui{background-color:#fff}.cube-checkbox-hollow i{width:100%;height:100%}.cube-checkbox-hollow i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:currentColor;border-radius:2px}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui:before{color:#fc9153}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:#fc9153}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui{background-color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui:before{color:#eee}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled.cube-checkbox_checked .cube-checkbox-ui i{color:#eee}.cube-checkbox-group{z-index:1;overflow:hidden;background-color:#fff}.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:after,.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:before{display:none}.cube-checkbox-group[data-col=true],.cube-checkbox-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checkbox-group[data-col=true] .cube-checkbox,.cube-checkbox-group[data-horz=true] .cube-checkbox{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-checkbox-group[data-col=true] .cube-checkbox:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:after{border-color:#ccc}.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:before,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:before{display:none}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-label,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:0}.cube-checkbox-group[data-col=true] .cube-checkbox-wrap,.cube-checkbox-group[data-horz=true] .cube-checkbox-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-checkbox-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-checkbox-group[data-col=true] .cube-checkbox{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-checkbox-group[data-col=true] .cube-checkbox:after{display:none}.cube-checker-item{display:inline-block;vertical-align:top;text-align:center;padding:8px 10px;margin-right:10px;color:#666;background:#fff;border-radius:4px;position:relative}.cube-checker-item:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fcfcfc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active{color:#fc9153;background:rgba(252,145,83,.04);position:relative}.cube-checker-item_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active.cube-checker-item_disabled{background:#eee;position:relative}.cube-checker-item_active.cube-checker-item_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_disabled{color:#ccc}.cube-input{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:14px;line-height:1.429;background-color:#fff;position:relative}.cube-input:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-input:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-input:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-input-field{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%;min-width:0;padding:10px;box-sizing:border-box;color:#666;line-height:inherit;background-color:inherit;border-radius:2px;outline:none}.cube-input-field::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-input-field+.cube-input-append .cube-input-clear:first-child,.cube-input-field+.cube-input-append .cube-input-eye:first-child{margin-left:-5px}.cube-input_active:after{border-color:#fc9153}.cube-input-append,.cube-input-prepend{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-input-clear,.cube-input-eye{width:1em;height:1em;line-height:1;padding:10px;box-sizing:content-box;color:#999}.cube-input-clear>i,.cube-input-eye>i{display:inline-block;-webkit-transform:scale(1.2);transform:scale(1.2)}.cube-input-eye>.cubeic-eye-invisible,.cube-input-eye>.cubeic-eye-visible{-webkit-transform:scale(1.4);transform:scale(1.4)}.cube-form{position:relative;font-size:16px;line-height:1.429;color:#666;background-color:#fff}.cube-form_groups .cube-form-group-legend{padding:10px 15px}.cube-form_groups .cube-form-group-legend:empty{padding-top:5px;padding-bottom:5px}.cube-form_standard .cube-form-item{min-height:46px}.cube-form_standard .cube-form-field{-webkit-box-flex:1;-webkit-flex:1;flex:1;font-size:14px}.cube-form_standard .cube-validator{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:relative}.cube-form_standard .cube-validator_invalid{color:#e64340}.cube-form_standard .cube-validator-content{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-form_standard .cube-validator-msg-def{font-size:0}.cube-form_standard .cube-validator_invalid .cube-validator-msg:before{content:\"\\E614\";padding-left:5px;font-family:cube-icon!important;font-size:20px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cube-form_standard .cube-form-label{width:100px;padding-right:10px}.cube-form_standard .cube-checkbox-group:after,.cube-form_standard .cube-checkbox-group:before,.cube-form_standard .cube-radio-group:after,.cube-form_standard .cube-radio-group:before{display:none}.cube-form_standard .cube-input input{padding:13px 0;background-color:transparent}.cube-form_standard .cube-input:after{display:none}.cube-form_standard .cube-textarea-wrapper{padding:13px 0;height:20px}.cube-form_standard .cube-textarea-wrapper.cube-textarea_expanded{height:60px;padding-bottom:20px}.cube-form_standard .cube-textarea-wrapper.cube-textarea_expanded .cube-textarea-indicator{bottom:2px}.cube-form_standard .cube-textarea-wrapper .cube-textarea{padding:0;background-color:transparent}.cube-form_standard .cube-textarea-wrapper:after{display:none}.cube-form_standard .cube-select{padding-left:0;background-color:transparent}.cube-form_standard .cube-select:after{display:none}.cube-form_standard .cube-upload-def{padding:5px 0}.cube-form_standard .cube-upload-def .cube-upload-btn,.cube-form_standard .cube-upload-def .cube-upload-file{margin:5px 10px 5px 0}.cube-form_classic .cube-form-item{display:block;padding:15px}.cube-form_classic .cube-form-item:last-child{padding-bottom:30px}.cube-form_classic .cube-form-item:after{display:none}.cube-form_classic .cube-form-item .cube-validator-msg{position:absolute;margin-top:3px}.cube-form_classic .cube-form-item .cube-validator-msg:before{display:none}.cube-form_classic .cube-form-item .cube-validator-msg-def{font-size:12px}.cube-form_classic .cube-form-item_btn{padding-top:0;padding-bottom:0}.cube-form_classic .cube-form-item_btn:last-child{padding-bottom:0}.cube-form_classic .cube-form-label{padding-bottom:15px}.cube-form_fresh .cube-form-item{display:block;padding:2em 15px 10px}.cube-form_fresh .cube-form-item:after{display:none}.cube-form_fresh .cube-form-item .cube-validator-msg{position:absolute;top:1em;right:15px;bottom:auto;margin-top:-.4em;font-size:12px}.cube-form_fresh .cube-form-item .cube-validator-msg:before{display:none}.cube-form_fresh .cube-form-item .cube-validator-msg-def{font-size:100%}.cube-form_fresh .cube-form-item_btn{padding-top:0;padding-bottom:0}.cube-form_fresh .cube-form-item_btn:last-child{padding-bottom:0}.cube-form_fresh .cube-form-label{position:absolute;top:1em;margin-top:-.4em;font-size:12px}.cube-form-group{overflow:hidden}.cube-form-group-legend{font-size:14px;color:#999;background-color:#f3f4f5}.cube-form-item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 15px}.cube-form-item:last-child:after{display:none}.cube-form-item .cube-checkbox-group,.cube-form-item .cube-radio-group{background-color:transparent}.cube-form-item .cube-checkbox,.cube-form-item .cube-radio{padding-left:0;padding-right:0}.cube-form-item_btn{margin:15px 0}.cube-form-item_btn:after{display:none}.cube-form-label{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;word-wrap:break-word;word-break:break-word}.cube-form-item_required .cube-form-label:before{content:\"*\";display:block;margin-top:1px;margin-right:.3em;color:#e64340}.cube-validator .cube-checkbox,.cube-validator .cube-input input,.cube-validator .cube-radio,.cube-validator .cube-select,.cube-validator .cube-textarea{color:inherit}.cube-validator-msg-def{font-size:14px;color:#e64340}.cube-radio{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-radio[data-pos=right] .cube-radio-ui{margin-right:0;position:absolute;right:0}.cube-radio[data-pos=right] .cube-radio-label{margin-right:1.42em}.cube-radio-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-radio-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-radio-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;color:transparent;background-color:transparent;border-radius:50%}.cube-radio-ui:before,.cube-radio-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-radio-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-radio-ui i{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(.4);transform:scale(.4)}.cube-radio-ui i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%) scale(.8);transform:translate(-50%,-50%) scale(.8);border-radius:50%}.cube-radio_selected .cube-radio-ui{background-color:#fc9153}.cube-radio_selected .cube-radio-ui:before{color:transparent}.cube-radio_selected .cube-radio-ui i{-webkit-transform:scale(1);transform:scale(1)}.cube-radio_selected .cube-radio-ui i:before{background-color:#fff}.cube-radio_disabled .cube-radio-ui{background-color:#eee}.cube-radio_disabled .cube-radio-ui:before,.cube-radio_disabled .cube-radio-ui i{-webkit-transition:none;transition:none}.cube-radio_disabled .cube-radio-ui:before{color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui,.cube-radio-hollow.cube-radio_selected .cube-radio-ui{background-color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui i:before,.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.cube-radio-hollow.cube-radio_selected .cube-radio-ui:before{color:#fc9153}.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{background-color:#fc9153}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui:before{color:#eee}.cube-radio-hollow.cube-radio_disabled.cube-radio_selected .cube-radio-ui i:before{background-color:#eee}.cube-radio-group{z-index:1;overflow:hidden;background-color:#fff}.cube-radio-group .cube-radio:last-child .cube-radio-wrap:after,.cube-radio-group .cube-radio:last-child .cube-radio-wrap:before{display:none}.cube-radio-group[data-col=true],.cube-radio-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-radio-group[data-col=true] .cube-radio,.cube-radio-group[data-horz=true] .cube-radio{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-radio-group[data-col=true] .cube-radio:after,.cube-radio-group[data-horz=true] .cube-radio:after{border-color:#ccc}.cube-radio-group[data-col=true] .cube-radio:last-child:after,.cube-radio-group[data-col=true] .cube-radio:last-child:before,.cube-radio-group[data-horz=true] .cube-radio:last-child:after,.cube-radio-group[data-horz=true] .cube-radio:last-child:before{display:none}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-ui,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-label,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-label{margin-right:0}.cube-radio-group[data-col=true] .cube-radio-wrap,.cube-radio-group[data-horz=true] .cube-radio-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-radio-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-radio-group[data-col=true] .cube-radio{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-radio-group[data-col=true] .cube-radio:after{display:none}.cube-rate{list-style:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;vertical-align:top;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%}.cube-rate-justify{width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.cube-rate-item{position:relative;width:32px;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;margin-right:6px}.cube-rate-item:after{content:\"\";display:block;padding:50% 0}.cube-rate-item:last-child{margin-right:0}.cube-rate-item .cube-rate-item-def{position:absolute;width:100%;height:100%;background-size:100%;background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAsVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHx8cAAADt7e2ysrJ6enoAAADu7u7MzMzBwcGHh4cAAAAAAADa2trS0tLExMS+vr42NjYAAADv7+/r6+vq6uro6Ojm5ubKysq8vLwAAADr6+vf39/c3NzPz8+1tbWrq6vo6Ojm5ubOzs6vr6+RkZHj4+Pi4uLV1dW4uLienp6ampplZWVWVlbv7+8EiCYnAAAAOnRSTlMAPCsDJgsGOg4hNyMapgj3jGQX/K2eah4Sx7eim0ow/fHv6uGqlzTz0820j4Xo5LGJcNzYvZR7eFpV7G3f4gAAAcpJREFUSMeVVulyskAQdBZwWQ4F5FREjUeiMdd3JvP+DxZCUVskzMrSf+mu3pqZnmGigG1PxoGxcXw7DK1xBsvLKAsLcANjLMwXxNjU589gg7iAmb7BAWv4rr7BAmvMYapr4GODlabF9MugseB6Fu4KW5SZnsEcW2y5oSEQCUocNSwMfo8ST86wRVZiB4/ewPtzj++6gr3j2bSJYUcuc9Zvj3v8hl9BunaYG3VkhhWJmpq+xucdkrg7H16/ZCKyapmA8OoXdziIp8K/hiDqQQjuURPbwGwKHzzr8feBmDTw4EGH/wCyxhEUw/wCoolEDn+G+EvIv60V/nKbH3P7x55wDrf4vmP1cnlK1PzkNCPmqCpV/GNFRs+oLor3MMWQWyEt+FBF2wtowb9ctV6WiicJheC0V8xEpUgzII050IL8DRVQHJeM7px6FbBCOXj0qeDbDmfXzffziVzy753YHx3n2Mn5mmpddJXRLXlmGBkvZdj/U61z47aICRdGU2bBk3l7KajWVb+xxmIFrvSfurBqbsWZUW2rP238li4lJhw2tSsnbn+KGIM569XChJhsnff3AozsqMVgGfRbx1JJ77uztN860775syIFn72pvWujU85XAAAAAElFTkSuQmCC)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAvVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsbGQkJCenp4AAADu7u7i4uKVlZWIiIgAAADm5uajo6OTk5N1dXVlZWXn5+fc3Nza2trW1tbPz8+urq7t7e3j4+PT09PCwsJMTEzr6+vo6Ojh4eHf39/Ly8u/v7+5ubmqqqqamprr6+vR0dGnp6daWlrY2NjGxsaAgIArKyvp6em1tbXv7+8lBY1eAAAAPnRSTlMAPQI5EicFOwgLFzUeMiQsGw6LcHov+tl1ayHhfnJhWubNx7+ziPbdup9R8evW0ayblIV387aCVsKjZ0fujx+LC04AAAL3SURBVFjDrZjXcuJAFAXdGgkJZXIwYGywCc457c7/f9bKwFIEoxkJ9TPVdUo6dy6jEw0qlZNiiKJiPBUoFxMIrCI8ZSgmkkW1WkQkB26G4BQQ6FLKJ8ICAg2lnGCXjhSFPMmEHt2jA01kwu2xkUJ6ckEd/xhPyaa1FJ0jjCNE3STQijb+UYHu5IqLYyL5PMs1feK8HkNwLteM8Izcgdpygxpu7kAXm6LXvJFi+nKLDm7OQB/bonuCPCKXmtyhg5kjkMd0V/RJo4hACYPMkYyyx3hfNKNRNrQVpm95sAy0HwkCyzedVJ2TKAKWDP7KX6mescAOrNh09qfTjK2GzYKz3mx02pQHaU5GD/X/ukYYm6XVHo3DhmDB+/PDtJUodLhqTR/b7ywQia5yYtrAvP84vr2SmXm5HT/W5oBtJpFs6k15BM06orLYyYL2S37PdR9RXr0tj85NXs9NB89Zv7SAwTCfZzggKG28/gbvp3k8p3Mapa0+R3xPsntuv4mMncmw4Dyr5wKs/VkJYZTNU4Xu72c91Ywe/9AhzaW+5xLcw4cZT7qeN+yUQ8606emOReJJoSKoX2mMRftnLFIpC/rqPIuxUOB4zNTPORkLJSY1legMR2tTP6pEz1pbyVIXfKb1H9dDeaKcE6k9Jebqkx/b0HjWdalkQFkp6vKpM6+uUtTgTi16xVKufhuNETnFU98XB1IDUFXb1Tvc2pjKOr7qiGb4yjrur6VWK3slSyB3uP+Cr/vdfw+IjKM/7kAQQGe8cwAoKunzIDeY1iAwE38AtenWkaSoZLR5axj1wVv93vWg/7GRVHHvFlyv12gbhGusm+oKaK+X8YQg/S58JpfcPYOIja3SxwLqqwFqplfS5W35wusgfGNvfnwBvWUZaqmVDLn/maQe2N3Sr/Xo2vD2U7WH1EoGtOTwaa35VRUClzfyIq2SBvypAqGT+iAtoHqdVskKHcBaaFSqedpOigGrrPV1KgLclNGPlJp1+ojwsCjTd0JzS/QPzjyulaV+8pQAAAAASUVORK5CYII=)}}.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAilBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyoEd/G7AAAALXRSTlMA+fUzFQ/vioT9vJE9tqNmLRsL2KuYe005JiID6ebhoJtxbF/qzMSxWx9FQgn3q32nAAABYUlEQVRIx5XV2XKDMAwFUJt9h5BAyL5vbe///14zNMShWNg+T8wgwSAZiRGShJmJUrN4G7CNEm7AzCS+ABAuDBJmeMr04xchnvhSO2GHVqUbv+Ro8YlmQoUXXy9+wrsEy9FKiPEW6MQ7lkjwXKbm40Ot9wJh/aNMCNBzVDz+++ihZ5Mn8lK5TR5Ha0htojhvxOeX9slPt1Dapv7JLhnzQxgIfbbaw0C1EnVREp0/QNOBvZw4NPA7e5tbULLmvbnlQcFrWI+9xqhNMfgvR3s3fUh+tClIF0d6nK4gRC41UAkPJpeDMCfnF4EaN+RXX+XxLt3klTThCwRqudQgUKMgBYFaFR5IU+kWwafzGZ9kR+MOwavLsvYUrYtFFQO3LXNgjY7xSxcev9/vxLw7fsP48u8erya9M7/nVOuSdk5ly0EtsnbSFUwQs2ZWSLf8DUAu2eWpzQh2hB37L2vYiGTfXf0Cn7ynb0Flqc0AAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAApVBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uypACjwZAAAANnRSTlMA+/T4lygF8CQaCQPp39ShckQv2s63pz0RDe7lw6yPgX14aGJcTjMXyZxsILyyVFFJQIiFOYkbrXkuAAACJ0lEQVRYw62Y55KCMBSFQxMRxEKx17XvWrad93+03UFHRTC5Sfx+M9/AwD0nF0ag02GvIUle41kBq5eI9sDoFZ42AMNh+qT4p6HvcQz8Y7xrixrIsHU9VQMZlqcpsnFhrOfxLFww11qiMa5MdDxrE1fcnoboC3fM1D1dE3cENWXRBDl2qp6eixyDiqJohgfe1Dy1AA9EvpKoiQILpRsaoECoIpqjhKW8p1JHCRt50RtKacneTztCKUOnQlU4h8koMvAUK0ynx6rPTcPlLI0tkDDjxuxUDHKv1dxuTEhjbrbNlncp9p097EOL/tDeddjSwguwlox9utDG/cwOCQE0CdqXMq1Di3r1+tJCaBB7d+G8gTLDbi4zEiiyrz1MRgolGoXR820oMOaUjwhCZ+4gh/G0VRaG1Fgc2VNOptRYcPghB0GwEhyGB+SxEPAegUDoMSEtEKiqNLVqUY5A4JsgIoXTh9izptWHLxQdQaItFP2CxFwoGhJzSOTxidMWifdFIl3hOY3ISbjncaHvOBEytD/JHj3XfPnRj2OU4HBFUxQID4wdQkBun0gKSbjIHsFfFGZ5yxU9RPZgXrlW8XwgsQVU8/nezPV6rRnkWo23mi5ww50WruxNXeLZ3b4FznfpDHS/brM45YhinLHG66fBN7ZwJuFsVsb56W2PW1jb82V9zs+0TNMQdo2TZiqH20QjhxFo77mf5AjJihH5+eD8Cko7TIJWTvQHI0vKWTT1X7EAAAAASUVORK5CYII=)}}.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAIKUlEQVRoBcVZb1BUVRQ/d/8CIoIIrNJAhbkCRf79wExhmeIgqahBHxSdiWxsnAlNPzWjSTOV4+hoo31w1LJsmik/9EGnGRjFELOc0XAIWTUNAQnjnyCEC7v7br/zhA3Wfcsj39Zl7u7j3vvOPb97/t1zliiMTVbOXADyk8K4BZnCRVyefTKCfOYy0E9FD9s+YSNMnsiFYPsFMB+FHjYphAWAvPBEJAnT22QV5tLS0kwAcIRLCmEBQH2xL5KgPBpQaNOmTW/GxsYmAMBEdMOb4QDkzpcsRHIrmfGHlpiYOHf79u3z8DjFcO5B0HAA9EJbtqr7ilT5jYiIsObm5ubFxcVNxUC00SDUUzKKqLw010oPPGVkN80j70MAfyWtJ6hQMoDUnz59uhl79Ri1H9MxVgI97tkkRCENKn4epZRksVjs+fn5yyIjI9mYI/2TBjwYC0Chd8ksIujh4fvZ8/l85HA4srdu3ZqFwST/hAEPhgGQVc/PJrPMpX8O388eA4iOjo5cuXLlUqvVmogJjg2GNENsQO6EKibHvwfdX0Ce0cfvnlaiMqooCk2cODFZCFF7/vz5FgzeNwKBMRJYMGMGXGcx+32txgCioqKiV69enQdbYI8UobV2POPGAPBaSslqmhSo+4GMsCqlpKQsWL9+vRNzhsSFxwYgK51ORN2CYLofCMDr9bIaxRYXFy/FHNuCLXDNeP9/bADksxSTTTjIN1r3tRgZHByktLS03A0bNqRjTbzWOr3jCPvja7L6uTjyDCaCcb7fpENt3go03FAU2RZiYmImr1mzZsnhw4drsdaH7kYfRPcM/Y8vfU1oLZNn+U7TG0tu90z4mAwyKTOJxNPoyTDYZKjNVLJBgBy0Qhx+97wfH9nCZFIF33/u3Lkj+/bt+6G2trarp6fH7fF4+rH4AToDGv4ewDODDLqLUE900BtD0pRIUk5DJHWSIp8Dg3wNTgXDuBrLCLIIgSAFUqDDzobvOkFJYm5ECwaAp81mM7FRwy76oFYMoKmjo6Ph9u3bjU1NTa0NDQ1dFy9e7Kyrq7uH5X3oDIrBcGdJcfcKWZFejLv7zocnOhTmVQYxPXQhw5MuZtV1AR9aAHgZYoK/s1QYFH/39/f7BgYGOt1udweeO7q7u1uam5ubXC7X7TNnzrRWV1d34HVWuUYhT86NIrv7fbLIbSSFaRTTvMtjtlAAtEgziJGAWFJQL4mxgStXrpxYvnz5ZwDVgPebVRvAfUtQeSZ8Oe3Gk1WvR9FiYOT4vwEw8n1+Zsmw8YP5L9euXfv5nTt3rmH4Ls+pXgiShDZf3S8rMh5Az/eQSUQbLQne7N80lgRutB7Yw+dLliz5AjRuorcN0xoVB0Ru/SGc/htQ+HvIZ4fX/G/fNpuNDX2goqJiH5g/Akauo/uZZ8ZGAeABgDgBj7QOCcldeB4e+l8aM9/X19d66tSpjwoLC78GE3zynYHMPAKAF4hFdafwVQR3+TuibOA7Yf8f2Rv19vY27969e8e6deu+w4ZssOxOH2lBAfAqsai+mnzidRqUrv8ShN1up66urub9+/d/sHfv3p/Byu/omldvTQAqiNy6SySUAtjFRbKHXxJ88nCPt3bt2rUD/SfwwGrzF/Oi1UIC4JfEoms34AZeJ49SFU7DZp1va2u7VlZWtvPAgQPM/G/oHH1DtjEB8NviFVcjmXyvkZdOws3quECE3PORSaSZHH1b9+zZ8/GhQ4eY+VvoHGnHbLoAMBXx8o0OgNgLdfIi2BnaOFDB47QfO3aMjZXTTa/eDXQDUAl6zXPVSG2wDDjRgf5PWbZsmQP7jCvhHx8AQbPC4ZH4roN8OXHWrFnTwgZAns2MhjHP0HOF1iv+4XVc/EKib3E6nU9hjMuPupVUvwQeUAridqqaWgzvbOA3q1FqaqoTBs0AdOfK+gHYAMAikoy8qY7EzwASEhLS4+PjuQxvHzkX6lk/AIWy4EJ1izbUpsHm+LoMQ07Kzs7mcovumpEuAGq+IGT2cMU5GANaYxyg+HrA2ddYDe7UhsLX81inuwCsCwCdyI6AWc3WU/vxM8n8Ioe+fPny8fb29noGgCq1JhA2ZOi/afr06c4hAGMjxkJ9AGI64X1kErqfv5APD2+wXvIpP+Xk5Hy4atWqLeXl5btwz7mBBEWyRII1Tl4mT56cCo8Uh3ldhqwPgMk8H0cXmuDQifOp4wb7I8CW0D3Xi2DkOqRwuaio6DjSwW1VVVUHOJ/l60OgRDgeoIrtwG8JU/GeLjXSCUDMRw0IuV2wc8MYZ28MwCd/gZ0UU78vTyx2fSmK/E6XE5HrYP4Cou1hAClFTejg/fv37zAIBsONAeD0HVlZWRyRJ6iDY3yMWZmT32bacJrPBGWeT1tlnK4ihz5K/coRseJ6r8aeXJxiIN2VlZWd6I0FBQU/bN68OT8jIyNvwoQJjqGIbEXpEcUzFQBT1zo2TOmIePL7Z9PIqlRCNVL8MYBTTSbtkTcB7iD839cip6Zdpaj/g4+da6NJK1aseAa/3uQjEufjV82Empqa7+fMmbMDc7+ih7yVMhshmyxPz0Hp/AxOmF0IPAuW+6gRHukrsiufihxXa0gCY0+ybbHKTNm4cWN6SUlJIQw5Dcb/TktLyyWMa0lUpTw2gNOZmyhSHFRPf0D5A1W8oxDqEbH4apNKwbgPDl6qRLZs2TIbZZSOC2gYCylZHQAyjpPF9Cp5lW9QrfhELK5zGcdzUEp8nWYvxFL5E53TSs0W0oiHDPgujHOhWFpfo0nF2AmuUHNGxvUflggfsqYh/w0Dks+ZwQ7q7wAAAABJRU5ErkJggg==)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAJmUlEQVR4AeVcfUxW1xk/5wUjdBQESxdcxdExpSioLUQGo1IRSjNmjN1H3Wg2t8nWlWUjzRhrl7GMZFqzYGpMOs2M/uHHMlejCzpaa9Rtjm6tc5sC2rEVFG2sHco3KLx3v9/1Xnx5+bof73vv1T7J855z7j0fz/nxnI/nnOcihIdIeTM9H+LEekgk4fOSMEIRL0KeZC/J5BmAlNfTHgMwJeB48Me8ApJnABIRvpoAUB4KiLsa9QRASsPCxRhenw9A4kHEPaFFngAIM2G1Ds7BgwdXaXFPaJHrACmvZ6QJqXxBB2jZsmVf1eLUoij9uVuh6wAJn//H6HykDkBUVFTS/v37OVmTXNciVwHC3JMqhPKV21jc+c3JyXlGS30c4Yw7b5yPuQqQiFBeQJdHtUfvfkxMzMO7d+9+AmnK56oWuQaQ8saCOej8Oh2U4DA/P1/XIuZzTYtcA0jIyB+i4zODgdHTsbGxj+zcuZOmB2VM0p87HboCkPLmIswtyvrpOgstelrL8wmErsjqSqNCjFSiw9NuBGfPnv3o1q1bc5CX85Qrc5HjACn1GfFCkRXosCEqLi5eo2V0RYscB0hEjfwAHZ5We3T0EhMTc6BF2UhTixyfixwFSPnzgvuhPd/XO280XLFihW6ncUVzVGZHGxMDkc9jco4zCoyeLykpqWDz5s08DqHpkag/dyJ0DCDlLw9FAxxOzpYIWlSsFeSBmmNyO9aQ6I97Dh2jAWqJkpOTn9q4cWMmCjuqRY4ApGqPopoVlsDRCxUWFtL8IHFFc4QcAUj0xn4NveEEa4tSU1Of1rSIq2CCrcoMFg47QMo7j83AjPEjg/JMm2358uXcOJLm3g7C+xt2gMT1gWdxnPrJUHUjLS2trKqqCsck6vVQ2LUobABRc9SzZnHnODVUIJWWlj6u1UUt4nALWz+kXaHVIfS/m58SEf5FWMYzoC0LUSdXmxTwuLOe6dq7kXVquizq+w0bNnxj06ZNrQGZ+xAnD4B7wf3gm2A/2DKZAkg9AfSJdCHBiliMs+QFaDkdPOmxhVnJjALEek+ePPnLI0eOnNm+ffulSdohOASMwBE0xgncINgQTQiQepjl86HjvkzgjxCaIVXNoDqHlcwApAuiKMqtvr6+Sz09PRevXr3a2tbW9l5jY2PbNMARMF3jCFwP+JZepx5K9T5ckYsBAofGIhUIRb3d1PM4GloBaDIB/X7/AIHr6upqv3z58rutra3tp06dat+3b9/7k5QZxnNqmA5cj1TeWLgKQ+W3eBiyYTJJ44YehxKgyRocHh7u7e/vv9TZ2fkfaFx7S0tL67Fjx9rr6+s/DCjD4dmiDjHl6KICaNBBsGlDMqDCkESdAGgiQTlMDx069LN169b9Ce+pSU3gbnV5lEXnTgj/SCEefAD+yBE0qnvv3r3VAeD8CyB0E4jR/YN88vxp4Y9YjjmojS8+KjQ0NPThjh07XqyoqHgbfebqdgbMOUilUYCYkk+ePQ9NysMSTvW652lwcPD9urq6qurqamoMQfkHeMwWYAxAREQWX7gibkbkA6S/MX2v0sDAwMX169c/r202OZzOgsct8+MAIiCy9Ox1EdNdgGgD0/cadXd3txQVFZVrq9Z19G9CcNjvCQHiC5nbMSDio1fhDPk3TN8rdO3atbfmzZv37aamJu53uCg1gyc1RyYFiIDIrNO3xI2mMkR/xfTdTjRN5s+fX6X1owPhBfCk4DDflAAxg/ySGJFFzc9hdfs503crEZzVq1f/XpO/HeF7RvoyLUB6JXJlM3wI5ff09N0UHj9+/OUAcN6F7BeNym8YIFYoi5q2YnV7FlHuNO8KamhoqF2zZs1hCMuhxO3LVTOCmwKIFcvi5t0YmPQj5L7Bs0TTAf6OL61du/YohFTtKoSdZgU2DRAbkIXNfxDSX4R5iUuk50gzHV4KMB24ATQNDjtmCSAWlCvPN4ph+QSiV5j2ClFzNNPhLcg0znQwK6dlgNiQLGn6pxj25yH6b7MNhyv/iRMn6qYyHcy2awsgNiafOt+G86Tvmm04XPkxKdOuInEDOM50UN+Y+LEN0O22cDTrEcrKytLvy+4LhUihAUhRckMhTCjqwL1ZmlZPSA7/QgOQFHRN8QTNmTNH1+aQXDDYBkh1yAzhzaldlOPj4x/R6qAG2e6f7QpwwOaZ4UVgfD5ftHY1zb7BJ8ke2QdI+HLsiRD60rm5uelarTF2a7cPkPTOBK2DkZKSwjs+0qzbgfVfWwDhNi0CTS+13nx4SsIzVgco1m4LtgASsQvhsGDcpdeusEbLR0dHJ2t56a5n6zsPewD5lM8YFdrpfJqHPpu9307b9gCS0rMAZWZmhmSitgeQCL0GwUODJ362KWDDaGsesgyQ6jUvxKdt9ySoArj7fmvLli3fgSfGa0GvTCXj4uLmawVcGmKDvmWmJDaW+Qyy9dXU1DRnZ2e/sm3btgr4+tQbKzo2V2RkZEx5eTkNV3q5WTY7LGsQ9qyhm3941S3lF3F78ig683cwz477eK6zdOnSTbt27ars6Ojg0akpKikp0e0yyxtG6wCFwoKnowQvAW40L5Yrm34X0PtOxAkU56PBysrK0xkZGbV79ux5Af48dE8xRAEbRsvDTPUPMtRaUCZ4pnWic/w/G1boCsrWioToHerl5NQ18I+YCH4YrDqFcgmHdjzDD+6mKtrb2/vfuXPnfh15eMFAwE2TJYBUZ84Ixcox6wcYSi+L+7peVa+2zYlLoJLA3ASqQPGb1oKCgi/PmjVLH0pjauT5dEJCAv2eSDyjNn3CaG2I+RSTBqrsAjA/FdEjqRhKdRbAYQd5dXMZ/Fcwb0aHeWuBYVRx+PDhmom2B1LKGdpnVMhubcNoDSAp8tiiAerD1dAvxJAvBcDUys9eoCepXSJQF8HvgHm/7i8rKzvO7QEvCenWgmejtGTJEt0uszRRWxtiR9M5nqcyUoeEkK9CazbKledM3WSO9sx4hLbWPDCHn0oHDhz4HI48vjlz5swH6M2hOSzwDu+clsVwYBog9dOmvthutKDOA0Et8Ur610IZqVUdsYJehjlJw5RAPai3w/8kk5eXVw7rvhTPKFuj/s5oaB4g/p8xRfwxqAE0LveKEVGLu7LWoHdOJ8cAhe86HoDZEa05lb8NYXiZaJgm0oJpCstsuAsH5nkNzp8/Uf0bA5+6FycAF8Ccn1LgRRYoCc+pwwzQnQ1ig/D7AQy8Y71J3PtwzokFc2vAPRs3jKbmRPMapMhbwqc8Dn8hwztaCOUmcb4kUAkam5Ll/3eOxdjOBHY1AAAAAElFTkSuQmCC)}}.cube-select{box-sizing:border-box;padding:10px 20px 10px 10px;border-radius:2px;font-size:14px;line-height:1.429;color:#666;background-color:#fff;position:relative}.cube-select:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select>span{display:inline-block}.cube-select_active{position:relative}.cube-select_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select_active .cube-select-icon{-webkit-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.cube-select_disabled{color:#b8b8b8;background-color:rgba(0,0,0,.04);cursor:not-allowed}.cube-select-placeholder{color:#ccc}.cube-select-icon{position:absolute;right:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-style:solid;border-color:#999 transparent transparent;border-width:4px 4px 0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.cube-switch{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-switch .cube-switch-input{position:absolute;z-index:1;width:48px;height:28px;opacity:0}.cube-switch .cube-switch-input:checked+.cube-switch-ui{border-color:#fc9153;background-color:#fc9153}.cube-switch .cube-switch-input:checked+.cube-switch-ui:before{-webkit-transform:scale(0);transform:scale(0)}.cube-switch .cube-switch-input:checked+.cube-switch-ui:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.cube-switch .cube-switch-input:disabled+.cube-switch-ui{opacity:.3}.cube-switch .cube-switch-ui{position:relative;display:block;width:48px;height:28px;box-sizing:content-box;border:1px solid #e4e4e4;border-radius:28px;background-color:#e4e4e4}.cube-switch .cube-switch-ui:after,.cube-switch .cube-switch-ui:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:28px;background-color:#fff;-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28),-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28)}.cube-switch .cube-switch-ui:after{width:28px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cube-switch .cube-switch-label{display:block;margin-left:10px}.cube-switch .cube-switch-label:empty{margin-left:0}.cube-textarea-wrapper{-webkit-transition:height .2s;transition:height .2s;height:40px;font-size:14px;line-height:1.429;position:relative}.cube-textarea-wrapper textarea::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-textarea-wrapper:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea-wrapper:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea-wrapper:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea_expanded{height:80px}.cube-textarea_active{position:relative}.cube-textarea_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea-indicator{position:absolute;bottom:7px;right:10px;color:#ccc}.cube-textarea{width:100%;height:100%;text-align:left;padding:10px;box-sizing:border-box;font-size:100%;line-height:inherit;color:#666;background-color:#fff;border-radius:2px;resize:none;border:none;outline:none}.cube-upload{position:relative}.cube-upload-def{margin-right:-10px}.cube-upload-def .cube-upload-btn,.cube-upload-def .cube-upload-file{float:left;margin:0 10px 10px 0}.cube-upload-btn{position:relative;overflow:hidden}.cube-upload-btn:active .cube-upload-btn-def{background-color:rgba(0,0,0,.04)}.cube-upload-input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;font-size:0;opacity:0}.cube-upload-btn-def{width:80px;height:80px;box-sizing:border-box;background-color:#fff;box-shadow:0 0 6px 2px rgba(0,0,0,.08);border-radius:2px;position:relative}.cube-upload-btn-def:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e5e5e5;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-upload-btn-def:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-upload-btn-def:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-upload-btn-def>i:after,.cube-upload-btn-def>i:before{content:\"\";position:absolute;top:50%;left:50%;width:20px;height:2px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#666}.cube-upload-btn-def>i:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.cube-upload-file{position:relative}.cube-upload-file-def{position:relative;width:80px;height:80px;box-sizing:border-box;background:#fff no-repeat 50%;background-size:cover;border-radius:2px}.cube-upload-file-def>.cubeic-wrong{position:absolute;z-index:2;top:-2px;right:-2px;color:rgba(0,0,0,.8);font-size:16px;background-color:#fff;border-radius:50%}.cube-upload-file-def>.cubeic-wrong:before{display:inline-block;-webkit-transform:scale(1.625);transform:scale(1.625);-webkit-transform-origin:center;transform-origin:center}.cube-upload-file-state{position:relative;width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden;opacity:0;background-color:rgba(37,38,45,.4);border-radius:2px;-webkit-transition:opacity .1s;transition:opacity .1s}.cube-upload-file-state:before{content:\".\";position:relative;left:-50%;display:block;width:1px;height:1px;margin-left:-1px;background-color:rgba(0,0,0,.1)}.cube-upload-file_stat{opacity:1}.cube-upload-file-status{position:relative;z-index:1;font-size:30px;display:none}.cube-upload-file-status.cubeic-right{display:block;color:#fc9153}.cube-upload-file-status.cubeic-warn{display:block;color:#f43530}.cube-upload-file-status.cubeic-right:after,.cube-upload-file-status.cubeic-warn:after{content:\"\";z-index:-1;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:.56em;height:.56em;border-radius:50%;background-color:#fff}.cube-upload-file-status.cubeic-right+.cube-upload-file-progress,.cube-upload-file-status.cubeic-warn+.cube-upload-file-progress{display:none}.cube-upload-file-progress{color:#fff;font-size:20px}"
  },
  {
    "path": "lib/image-preview/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"image-preview\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"image-preview\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 328);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */,\n/* 85 */,\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */,\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(34);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */,\n/* 106 */,\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(143), __esModule: true };\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(12);\nvar aFunction = __webpack_require__(34);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(147);\nvar html = __webpack_require__(52);\nvar cel = __webpack_require__(28);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(21)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(141)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(142),\n  /* template */\n  __webpack_require__(161),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(109), __webpack_require__(154), __webpack_require__(157), __webpack_require__(88), __webpack_require__(90), __webpack_require__(107), __webpack_require__(158), __webpack_require__(108), __webpack_require__(120), __webpack_require__(87), __webpack_require__(47), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(54);\n__webpack_require__(38);\n__webpack_require__(45);\n__webpack_require__(144);\n__webpack_require__(152);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(82);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(34);\nvar anInstance = __webpack_require__(145);\nvar forOf = __webpack_require__(146);\nvar speciesConstructor = __webpack_require__(110);\nvar task = __webpack_require__(111).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(112);\nvar userAgent = __webpack_require__(149);\nvar promiseResolve = __webpack_require__(113);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(150)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(151)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(97)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar anObject = __webpack_require__(12);\nvar toLength = __webpack_require__(41);\nvar getIterFn = __webpack_require__(86);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(111).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(21)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(6);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(4);\nvar DESCRIPTORS = __webpack_require__(3);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(110);\nvar promiseResolve = __webpack_require__(113);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(112);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(155);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(156);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(109);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(159),\n  /* template */\n  __webpack_require__(160),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(251)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(252),\n  /* template */\n  __webpack_require__(253),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(249)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(250),\n  /* template */\n  __webpack_require__(254),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(193), __webpack_require__(90), __webpack_require__(108), __webpack_require__(120)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('./slide-item.vue'), require('better-scroll'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.slideItem, global.betterScroll, global.scroll, global.deprecated);\n    global.slide = mod.exports;\n  }\n})(this, function (module, exports, _assign, _slideItem, _betterScroll, _scroll, _deprecated) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-slide';\n  var EVENT_CHANGE = 'change';\n  var EVENT_SELECT = 'click';\n  var EVENT_SCROLL_END = 'scroll-end';\n  var EVENT_SCROLL = 'scroll';\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var DEFAULT_OPTIONS = {\n    momentum: false,\n    click: true,\n    observeDOM: false,\n    bounce: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      threshold: {\n        type: Number,\n        default: 0.3\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      autoPlay: {\n        type: Boolean,\n        default: true\n      },\n      interval: {\n        type: Number,\n        default: 4000\n      },\n      showDots: {\n        type: Boolean,\n        default: true\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_H\n      },\n\n      allowVertical: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      stopPropagation: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      refreshResetCurrent: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data: function data() {\n      return {\n        dots: 0,\n        currentPageIndex: this.initialIndex || 0\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      this._dataWatchers = [];\n      var needRefreshProps = ['data', 'loop', 'autoPlay', 'options.eventPassthrough', 'threshold', 'speed', 'allowVertical'];\n      needRefreshProps.forEach(function (key) {\n        _this._dataWatchers.push(_this.$watch(key, function () {\n          if (key === 'data') {\n            _this._destroy();\n          }\n\n          _this.$nextTick(function () {\n            _this.refresh();\n          });\n        }));\n      });\n    },\n\n    watch: {\n      initialIndex: function initialIndex(newIndex) {\n        if (newIndex !== this.currentPageIndex) {\n          this._goToPage(newIndex);\n        }\n      }\n    },\n    methods: {\n      clickItem: function clickItem(item, index) {\n        this.$emit(EVENT_SELECT, item, index);\n      },\n      refresh: function refresh() {\n        if (this.slide === null) {\n          return;\n        }\n        this._destroy();\n        clearTimeout(this._timer);\n\n        if (this.slide && this.refreshResetCurrent) {\n          this.currentPageIndex = 0;\n        }\n        this._updateSlideDom();\n        if (this.showDots) {\n          this._initDots();\n        }\n        if (this.currentPageIndex >= this.dots.length) {\n          this.currentPageIndex = this.dots.length - 1;\n        }\n        this._initSlide();\n\n        if (this.autoPlay) {\n          this._play();\n        }\n      },\n      play: function play() {\n        if (!this.autoPlay) return;\n        if (this._timer === null) {\n          this._play();\n        }\n      },\n      pause: function pause() {\n        if (!this.autoPlay) return;\n        clearTimeout(this._timer);\n        this._timer = null;\n      },\n      _destroy: function _destroy() {\n        this.slide && this.slide.destroy();\n      },\n      _refresh: function _refresh() {\n        this._updateSlideDom(true);\n        this.slide.refresh();\n      },\n      _updateSlideDom: function _updateSlideDom(isResize) {\n        this._setSlideStyle(isResize);\n      },\n      _setSlideStyle: function _setSlideStyle(isResize) {\n        this.children = this.$refs.slideGroup.children;\n\n        var target = this.direction === DIRECTION_H ? 'width' : 'height';\n        var allSize = 0;\n        var slideSize = this.$refs.slide['client' + (target[0].toUpperCase() + target.slice(1))];\n        var len = this.children.length;\n        for (var i = 0; i < len; i++) {\n          var child = this.children[i];\n          child.style[target] = slideSize + 'px';\n          allSize += slideSize;\n        }\n        if (this.loop && !isResize && len > 1) {\n          allSize += 2 * slideSize;\n        }\n        this.$refs.slideGroup.style[target] = allSize + 'px';\n      },\n      _initSlide: function _initSlide() {\n        var _this2 = this;\n\n        var eventPassthrough = this.direction === DIRECTION_H && this.allowVertical ? DIRECTION_V : '';\n\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, {\n          scrollX: this.direction === DIRECTION_H,\n          scrollY: this.direction === DIRECTION_V,\n          eventPassthrough: eventPassthrough,\n          snap: {\n            loop: this.loop,\n            threshold: this.threshold,\n            speed: this.speed\n          },\n          stopPropagation: this.stopPropagation\n        }, this.options);\n\n        this.slide = new _betterScroll2.default(this.$refs.slide, options);\n\n        this.slide.on('scrollEnd', this._onScrollEnd);\n\n        this._goToPage(this.currentPageIndex, 0);\n\n        if (this.options.listenScroll && this.options.probeType === 3) {\n          this.slide.on('scroll', this._onScroll);\n        }\n        var slideEl = this.$refs.slide;\n        slideEl.removeEventListener('touchend', this._touchEndEvent, false);\n        this._touchEndEvent = function () {\n          if (_this2.autoPlay) {\n            _this2._play();\n          }\n        };\n        slideEl.addEventListener('touchend', this._touchEndEvent, false);\n\n        this.slide.on('beforeScrollStart', function () {\n          if (_this2.autoPlay) {\n            clearTimeout(_this2._timer);\n          }\n        });\n      },\n      _onScrollEnd: function _onScrollEnd() {\n        var _slide$getCurrentPage = this.slide.getCurrentPage(),\n            pageX = _slide$getCurrentPage.pageX,\n            pageY = _slide$getCurrentPage.pageY;\n\n        var pageIndex = this.direction === DIRECTION_H ? pageX : pageY;\n        if (this.currentPageIndex !== pageIndex) {\n          this.currentPageIndex = pageIndex;\n          this.$emit(EVENT_CHANGE, pageIndex);\n        }\n\n        this.$emit(EVENT_SCROLL_END, pageIndex);\n\n        if (this.autoPlay) {\n          this._play();\n        }\n      },\n      _onScroll: function _onScroll(pos) {\n        this.$emit(EVENT_SCROLL, pos);\n      },\n      _initDots: function _initDots() {\n        this.dots = new Array(this.children.length);\n      },\n      _play: function _play() {\n        var _this3 = this;\n\n        clearTimeout(this._timer);\n        this._timer = setTimeout(function () {\n          _this3.slide && _this3.slide.next();\n        }, this.interval);\n      },\n      _deactivated: function _deactivated() {\n        clearTimeout(this._timer);\n        clearTimeout(this._resizeTimer);\n        window.removeEventListener('resize', this._resizeHandler);\n        var slideEl = this.$refs.slide;\n        if (slideEl) {\n          slideEl.removeEventListener('touchend', this._touchEndEvent, false);\n        }\n      },\n      _resizeHandler: function _resizeHandler() {\n        var _this4 = this;\n\n        if (!this.slide) {\n          return;\n        }\n        clearTimeout(this._resizeTimer);\n        this._resizeTimer = setTimeout(function () {\n          if (_this4.slide.isInTransition) {\n            _this4._onScrollEnd();\n          } else {\n            if (_this4.autoPlay) {\n              _this4._play();\n            }\n          }\n          _this4._refresh();\n        }, 60);\n      },\n      _goToPage: function _goToPage(index, time) {\n        if (this.direction === DIRECTION_H) {\n          this.slide && this.slide.goToPage(index, 0, time);\n        } else if (this.direction === DIRECTION_V) {\n          this.slide && this.slide.goToPage(0, index, time);\n        }\n      }\n    },\n    mounted: function mounted() {\n      var _this5 = this;\n\n      this.$nextTick(function () {\n        _this5.refresh();\n      });\n\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    activated: function activated() {\n      if (this.autoPlay) {\n        this._play();\n      }\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    deactivated: function deactivated() {\n      this._deactivated();\n    },\n    destroyed: function destroyed() {\n      this._deactivated();\n      this._destroy();\n      this.slide = null;\n\n      this._dataWatchers.forEach(function (cancalWatcher) {\n        cancalWatcher();\n      });\n      this._dataWatchers = null;\n    },\n\n    components: {\n      CubeSlideItem: _slideItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.slideItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-slide-item';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-slide-item\"\n  }, [_vm._t(\"default\", [_c('a', {\n    attrs: {\n      \"href\": _vm.item.url\n    }\n  }, [_c('img', {\n    attrs: {\n      \"src\": _vm.item.image\n    }\n  })])])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"slide\",\n    staticClass: \"cube-slide\"\n  }, [_c('div', {\n    ref: \"slideGroup\",\n    staticClass: \"cube-slide-group\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-slide-item', {\n      key: index,\n      attrs: {\n        \"item\": item\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.clickItem(item, index)\n        }\n      }\n    })\n  }))], 2), _vm._v(\" \"), (_vm.showDots) ? _c('div', {\n    staticClass: \"cube-slide-dots\"\n  }, [_vm._t(\"dots\", _vm._l((_vm.dots), function(item, index) {\n    return _c('span', {\n      key: index,\n      class: {\n        active: _vm.currentPageIndex === index\n      }\n    })\n  }), {\n    current: _vm.currentPageIndex,\n    dots: _vm.dots\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(329), __webpack_require__(333)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/image-preview/image-preview.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.imagePreview, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _imagePreview, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _imagePreview2 = _interopRequireDefault(_imagePreview);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _imagePreview2.default.install = function (Vue) {\n    Vue.component(_imagePreview2.default.name, _imagePreview2.default);\n    (0, _api2.default)(Vue, _imagePreview2.default);\n  };\n\n  exports.default = _imagePreview2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(330)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(331),\n  /* template */\n  __webpack_require__(332),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(101), __webpack_require__(248), __webpack_require__(193), __webpack_require__(136), __webpack_require__(58), __webpack_require__(69), __webpack_require__(49), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../popup/popup.vue'), require('../slide/slide.vue'), require('../slide/slide-item.vue'), require('../scroll/scroll.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/helpers/env'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.popup, global.slide, global.slideItem, global.scroll, global.visibility, global.popup, global.env, global.constants);\n    global.imagePreview = mod.exports;\n  }\n})(this, function (module, exports, _popup, _slide2, _slideItem, _scroll2, _visibility, _popup3, _env, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _slide3 = _interopRequireDefault(_slide2);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  var _scroll3 = _interopRequireDefault(_scroll2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-image-preview';\n  var EVENT_CHANGE = 'change';\n  var EVENT_HIDE = 'hide';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default],\n    props: {\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      imgs: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      preventDefault: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data: function data() {\n      return {\n        currentPageIndex: this.initialIndex,\n        options: {\n          observeDOM: false,\n          bounce: {\n            left: true,\n            right: true\n          },\n          useTransition: _env.isAndroid ? false : _constants.USE_TRANSITION,\n          probeType: 3,\n          preventDefault: this.preventDefault\n        },\n        scrollOptions: {\n          useTransition: _constants.USE_TRANSITION,\n          HWCompositing: _env.isAndroid,\n          observeDOM: false,\n          zoom: true,\n          bindToWrapper: true,\n          freeScroll: true,\n          scrollX: true,\n          scrollY: true,\n          probeType: 3,\n          bounce: false,\n          click: false,\n          dblclick: true,\n          bounceTime: 300,\n          preventDefault: this.preventDefault\n        }\n      };\n    },\n\n    watch: {\n      initialIndex: function initialIndex(newIndex) {\n        this.setPageIndex(newIndex);\n      }\n    },\n    methods: {\n      show: function show() {\n        var _this = this;\n\n        this.isVisible = true;\n        this.$nextTick(function () {\n          _this._listenSlide();\n          _this._listenScroll();\n        });\n      },\n      _listenSlide: function _listenSlide() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          var slide = _this2.$refs.slide.slide;\n          slide.on('scrollStart', _this2.slideScrollStartHandler);\n          slide.on('scrollEnd', _this2.slideScrollEndHandler);\n        });\n      },\n      _listenScroll: function _listenScroll() {\n        var _this3 = this;\n\n        this.$nextTick(function () {\n          _this3.$refs.items.forEach(function (scrollItem) {\n            var scroll = scrollItem.scroll;\n            scroll.on('zoomStart', _this3.zoomStartHandler.bind(_this3, scroll));\n            scroll.on('beforeScrollStart', _this3.beforeScrollHandler);\n            scroll.on('scroll', _this3.checkBoundary.bind(_this3, scroll));\n            scroll.on('scrollEnd', _this3.scrollEndHandler.bind(_this3, scroll));\n          });\n        });\n      },\n      hide: function hide() {\n        this.isVisible = false;\n        this.$emit(EVENT_HIDE);\n      },\n      prev: function prev() {\n        var slide = this.$refs.slide.slide;\n        slide && slide.prev();\n      },\n      next: function next() {\n        var slide = this.$refs.slide.slide;\n        slide && slide.next();\n      },\n      goTo: function goTo(index) {\n        var slide = this.$refs.slide.slide;\n        slide && slide.goToPage(index, 0);\n      },\n      imgLoad: function imgLoad(i) {\n        if (this.isVisible && this.$refs.items) {\n          this.$refs.items[i].scroll.refresh();\n        }\n      },\n      setPageIndex: function setPageIndex(currentPageIndex) {\n        if (this.currentPageIndex >= 0 && this.currentPageIndex !== currentPageIndex) {\n          var item = this.$refs.items[this.currentPageIndex];\n          if (item) {\n            var scroll = item.scroll;\n\n            if (scroll.scale !== 1) {\n              scroll.scale = 1;\n              scroll.lastcale = 1;\n              scroll.refresh();\n            }\n          }\n        }\n        this.currentPageIndex = currentPageIndex;\n      },\n      slideChangeHandler: function slideChangeHandler(currentPageIndex) {\n        this.setPageIndex(currentPageIndex);\n        this.slideScrollEndHandler();\n        this.$emit(EVENT_CHANGE, currentPageIndex);\n      },\n      slideScrollStartHandler: function slideScrollStartHandler() {\n        var slide = this.$refs.slide.slide;\n        if (this._scrolling && !this._hasEnableSlide) {\n          slide.disable();\n        } else {\n          slide.enable();\n        }\n      },\n      slideScrollEndHandler: function slideScrollEndHandler() {\n        var _this4 = this;\n\n        this.$refs.items.forEach(function (scrollItem) {\n          _this4.scrollEndHandler(scrollItem.scroll);\n        });\n      },\n      _scroll: function _scroll(scroll) {\n        var slide = this.$refs.slide.slide;\n        slide.disable();\n        slide.refresh();\n        scroll.enable();\n      },\n      _slide: function _slide(scroll) {\n        this.$refs.slide.slide.enable();\n        scroll.disable();\n      },\n      beforeScrollHandler: function beforeScrollHandler() {\n        clearTimeout(this.enableSlideTid);\n      },\n      scrollEndHandler: function scrollEndHandler(scroll) {\n        var _this5 = this;\n\n        clearTimeout(this.enableSlideTid);\n        if (this.dblZooming) {\n          this.dblZooming = false;\n          clearTimeout(this.clickTid);\n        }\n        this._hasEnableSlide = false;\n        this._scrolling = false;\n        scroll.enable();\n        this.enableSlideTid = setTimeout(function () {\n          _this5.$refs.slide.slide.enable();\n        });\n      },\n      checkBoundary: function checkBoundary(scroll, pos) {\n        if (scroll.distX && Math.abs(scroll.distX) > Math.abs(scroll.distY)) {\n          this._scrolling = true;\n          var reached = scroll.distX > 0 ? pos.x >= scroll.minScrollX : pos.x <= scroll.maxScrollX;\n          if (reached) {\n            this._hasEnableSlide = true;\n            this._slide(scroll);\n          } else {\n            if (!this._hasEnableSlide) {\n              this._scroll(scroll);\n            }\n          }\n        } else if (scroll.distY) {\n          this._scrolling = true;\n          this._scroll(scroll);\n        }\n      },\n      zoomStartHandler: function zoomStartHandler(scroll) {\n        this._scroll(scroll);\n      },\n      dblclickHandler: function dblclickHandler(index, e) {\n        var scroll = this.$refs.items[index].scroll;\n        this.dblZooming = true;\n        this.zoomTo(scroll, scroll.scale > 1 ? 1 : 2, e);\n        scroll.disable();\n      },\n      itemClickHandler: function itemClickHandler() {\n        var _this6 = this;\n\n        clearTimeout(this.clickTid);\n        this.clickTid = setTimeout(function () {\n          !_this6.dblZooming && _this6.hide();\n        }, this.scrollOptions.bounceTime);\n      },\n      zoomTo: function zoomTo(scroll, scale, e) {\n        scroll.zoomTo(scale, e.pageX, e.pageY);\n      }\n    },\n    components: {\n      CubePopup: _popup2.default,\n      CubeSlide: _slide3.default,\n      CubeSlideItem: _slideItem2.default,\n      CubeScroll: _scroll3.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-image-preview-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"image-preview\",\n      \"z-index\": _vm.zIndex,\n      \"center\": false\n    }\n  }, [_c('div', {\n    staticClass: \"cube-image-preview-container\"\n  }, [_c('div', {\n    staticClass: \"cube-image-preview-header\"\n  }, [_vm._t(\"header\", null, {\n    current: _vm.currentPageIndex\n  })], 2), _vm._v(\" \"), (_vm.isVisible) ? _c('cube-slide', {\n    ref: \"slide\",\n    attrs: {\n      \"data\": _vm.imgs,\n      \"initial-index\": _vm.currentPageIndex,\n      \"auto-play\": false,\n      \"loop\": _vm.loop,\n      \"speed\": _vm.speed,\n      \"options\": _vm.options\n    },\n    on: {\n      \"change\": _vm.slideChangeHandler\n    }\n  }, [_vm._l((_vm.imgs), function(img, index) {\n    return _c('cube-slide-item', {\n      key: index\n    }, [_c('div', {\n      staticClass: \"cube-image-preview-item\",\n      on: {\n        \"click\": _vm.itemClickHandler\n      }\n    }, [_c('cube-scroll', {\n      ref: \"items\",\n      refInFor: true,\n      attrs: {\n        \"options\": _vm.scrollOptions\n      },\n      nativeOn: {\n        \"dblclick\": function($event) {\n          _vm.dblclickHandler(index, $event)\n        }\n      }\n    }, [_c('img', {\n      staticClass: \"cube-image-preview-img\",\n      attrs: {\n        \"src\": img\n      },\n      on: {\n        \"load\": function($event) {\n          _vm.imgLoad(index)\n        }\n      }\n    })])], 1)])\n  }), _vm._v(\" \"), _c('template', {\n    slot: \"dots\"\n  }, [_c('i')])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-image-preview-footer\"\n  }, [_vm._t(\"footer\", [_c('span', {\n    staticClass: \"cube-image-preview-counter\"\n  }, [_vm._v(_vm._s(_vm.currentPageIndex + 1) + \"/\" + _vm._s(_vm.imgs.length))])], {\n    current: _vm.currentPageIndex\n  })], 2)], 1)])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addImagePreview;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addImagePreview(Vue, ImagePreview) {\n    (0, _createApi2.default)(Vue, ImagePreview, ['change', 'hide'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/image-preview/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-image-preview-fade-enter,.cube-image-preview-fade-leave-active{opacity:0}.cube-image-preview-fade-enter-active,.cube-image-preview-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-image-preview .cube-popup-mask{opacity:.6}.cube-image-preview .cube-popup-content{width:100%;height:100%}.cube-image-preview .cube-slide-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden}.cube-image-preview-container{height:100%;margin:0 -10px}.cube-image-preview-footer,.cube-image-preview-header{position:absolute;left:0;right:0}.cube-image-preview-header{top:0}.cube-image-preview-footer{bottom:0}.cube-image-preview-counter{position:absolute;bottom:50px;width:100%;text-align:center;font-size:14px;color:#fff}.cube-image-preview-item{position:relative;padding:0 10px;width:100%;height:100%}.cube-image-preview-item .cube-scroll-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-image-preview-item .cube-image-preview-img{display:block;height:auto;max-width:100%;max-height:100%}.cube-slide{min-height:1px}.cube-slide,.cube-slide-group{position:relative;height:100%;overflow:hidden}.cube-slide-group{white-space:nowrap;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.cube-slide-dots{position:absolute;bottom:2px;right:0;left:0;padding:0 6px;font-size:0;text-align:center;-webkit-transform:translateZ(1px);transform:translateZ(1px)}.cube-slide-dots>span{display:inline-block;vertical-align:bottom;margin:0 1px;width:10px;height:1px;background:#ccc}.cube-slide-dots>span.active{background:#fc9153}.cube-slide-item{float:left;box-sizing:border-box;height:100%;width:100%}.cube-slide-item>a{overflow:hidden;text-decoration:none}.cube-slide-item>a,.cube-slide-item>a>img{display:block;height:100%}"
  },
  {
    "path": "lib/index-list/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"index-list\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"index-list\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 334);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */,\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */,\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */,\n/* 85 */,\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */,\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */,\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */,\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(34);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(143), __esModule: true };\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(12);\nvar aFunction = __webpack_require__(34);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(147);\nvar html = __webpack_require__(52);\nvar cel = __webpack_require__(28);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(21)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(141)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(142),\n  /* template */\n  __webpack_require__(161),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(109), __webpack_require__(154), __webpack_require__(157), __webpack_require__(88), __webpack_require__(90), __webpack_require__(107), __webpack_require__(158), __webpack_require__(108), __webpack_require__(120), __webpack_require__(87), __webpack_require__(47), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(54);\n__webpack_require__(38);\n__webpack_require__(45);\n__webpack_require__(144);\n__webpack_require__(152);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(82);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(34);\nvar anInstance = __webpack_require__(145);\nvar forOf = __webpack_require__(146);\nvar speciesConstructor = __webpack_require__(110);\nvar task = __webpack_require__(111).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(112);\nvar userAgent = __webpack_require__(149);\nvar promiseResolve = __webpack_require__(113);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(150)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(151)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(97)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar anObject = __webpack_require__(12);\nvar toLength = __webpack_require__(41);\nvar getIterFn = __webpack_require__(86);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(111).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(21)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(6);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(4);\nvar DESCRIPTORS = __webpack_require__(3);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(110);\nvar promiseResolve = __webpack_require__(113);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(112);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(155);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(156);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(109);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(159),\n  /* template */\n  __webpack_require__(160),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(338),\n  /* template */\n  __webpack_require__(342),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(339)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(340),\n  /* template */\n  __webpack_require__(341),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(335), __webpack_require__(271), __webpack_require__(272)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/index-list/index-list.vue'), require('../../components/index-list/index-list-group.vue'), require('../../components/index-list/index-list-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.indexList, global.indexListGroup, global.indexListItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _indexList, _indexListGroup, _indexListItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _indexList2 = _interopRequireDefault(_indexList);\n\n  var _indexListGroup2 = _interopRequireDefault(_indexListGroup);\n\n  var _indexListItem2 = _interopRequireDefault(_indexListItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _indexList2.default.install = function (Vue) {\n    Vue.component(_indexList2.default.name, _indexList2.default);\n    Vue.component(_indexListGroup2.default.name, _indexListGroup2.default);\n    Vue.component(_indexListItem2.default.name, _indexListItem2.default);\n  };\n\n  _indexList2.default.Group = _indexListGroup2.default;\n  _indexList2.default.Item = _indexListItem2.default;\n\n  exports.default = _indexList2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(336)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(337),\n  /* template */\n  __webpack_require__(343),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(87), __webpack_require__(49), __webpack_require__(136), __webpack_require__(271), __webpack_require__(108), __webpack_require__(120)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/helpers/dom'), require('../../common/helpers/env'), require('../scroll/scroll.vue'), require('./index-list-group.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.dom, global.env, global.scroll, global.indexListGroup, global.scroll, global.deprecated);\n    global.indexList = mod.exports;\n  }\n})(this, function (module, exports, _assign, _dom, _env, _scroll, _indexListGroup, _scroll3, _deprecated) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _indexListGroup2 = _interopRequireDefault(_indexListGroup);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-index-list';\n  var EVENT_SELECT = 'select';\n  var EVENT_TITLE_CLICK = 'title-click';\n  var EVENT_PULLING_UP = 'pulling-up';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n\n  var ANCHOR_HEIGHT = _env.inBrowser ? window.innerHeight <= 480 ? 17 : 18 : 18;\n  var transformStyleKey = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll4.default, _deprecated2.default],\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      speed: {\n        type: Number,\n        default: 0\n      },\n      navbar: {\n        type: Boolean,\n        default: true\n      },\n      pullDownRefresh: {\n        type: [Object, Boolean],\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      pullUpLoad: {\n        type: [Object, Boolean],\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      }\n    },\n    data: function data() {\n      return {\n        scrollEvents: ['scroll'],\n        currentIndex: 0,\n        scrollY: -1,\n        diff: -1,\n        titleHeight: 0\n      };\n    },\n\n    computed: {\n      hasTitle: function hasTitle() {\n        return this.title || this.$slots.title;\n      },\n      fixedTitle: function fixedTitle() {\n        this.hasTitle && !this.titleHeight && this._caculateTitleHeight();\n\n        return this.scrollY <= -this.titleHeight && this.data[this.currentIndex] ? this.data[this.currentIndex].name : '';\n      },\n      shortcutList: function shortcutList() {\n        return this.data.map(function (group) {\n          return group ? group.shortcut || group.name.substr(0, 1) : '';\n        });\n      },\n      scrollOptions: function scrollOptions() {\n        return (0, _assign2.default)({}, {\n          pullDownRefresh: this.pullDownRefresh,\n          pullUpLoad: this.pullUpLoad\n        }, this.options);\n      }\n    },\n    created: function created() {\n      this.groupList = [];\n      this.listHeight = [];\n      this.touch = {};\n      this.subTitleHeight = 0;\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$nextTick(function () {\n        _this.refresh();\n      });\n    },\n\n    methods: {\n      refresh: function refresh() {\n        this._caculateTitleHeight();\n        this._calculateHeight();\n        this.$refs.scroll && this.$refs.scroll.refresh();\n      },\n      selectItem: function selectItem(item) {\n        this.$emit(EVENT_SELECT, item);\n      },\n      scroll: function scroll(pos) {\n        this.scrollY = pos.y;\n      },\n      titleClick: function titleClick() {\n        this.$emit(EVENT_TITLE_CLICK, this.title);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this2 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n        this.$refs.scroll.forceUpdate(dirty, nomore);\n        dirty && this.$nextTick(function () {\n          _this2._calculateHeight();\n        });\n      },\n      onShortcutTouchStart: function onShortcutTouchStart(e) {\n        var target = (0, _dom.getMatchedTarget)(e, 'cube-index-list-nav-item');\n        if (!target) return;\n        var anchorIndex = (0, _dom.getData)(target, 'index');\n        var firstTouch = e.touches[0];\n        this.touch.y1 = firstTouch.pageY;\n        this.touch.anchorIndex = anchorIndex;\n\n        this._scrollTo(anchorIndex);\n      },\n      onShortcutTouchMove: function onShortcutTouchMove(e) {\n        var firstTouch = e.touches[0];\n        this.touch.y2 = firstTouch.pageY;\n        var delta = (this.touch.y2 - this.touch.y1) / ANCHOR_HEIGHT | 0;\n        var anchorIndex = parseInt(this.touch.anchorIndex) + delta;\n\n        this._scrollTo(anchorIndex);\n      },\n      onPullingUp: function onPullingUp() {\n        this.$emit(EVENT_PULLING_UP);\n      },\n      onPullingDown: function onPullingDown() {\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _caculateTitleHeight: function _caculateTitleHeight() {\n        this.titleHeight = this.$refs.title ? (0, _dom.getRect)(this.$refs.title).height : 0;\n      },\n      _calculateHeight: function _calculateHeight() {\n        this.groupList = this.$el.getElementsByClassName('cube-index-list-group');\n        var subTitleEl = this.$el.getElementsByClassName('cube-index-list-anchor')[0];\n        this.subTitleHeight = subTitleEl ? (0, _dom.getRect)(subTitleEl).height : 0;\n        this.listHeight = [];\n\n        if (!this.groupList) {\n          return;\n        }\n\n        var height = this.titleHeight;\n        this.listHeight.push(height);\n        for (var i = 0; i < this.groupList.length; i++) {\n          var item = this.groupList[i];\n          height += item.clientHeight;\n          this.listHeight.push(height);\n        }\n      },\n      _scrollTo: function _scrollTo(index) {\n        if (index < 0) {\n          index = 0;\n        } else if (index > this.listHeight.length - 2) {\n          index = this.listHeight.length - 2;\n        }\n        this.$refs.scroll.scrollToElement(this.groupList[index], this.speed);\n        this.scrollY = this.$refs.scroll.scroll.y;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this3 = this;\n\n        this.$nextTick(function () {\n          _this3._calculateHeight();\n        });\n      },\n      title: function title(newVal) {\n        var _this4 = this;\n\n        this.$nextTick(function () {\n          _this4.refresh();\n        });\n      },\n      diff: function diff(newVal) {\n        var fixedTop = newVal > 0 && newVal < this.subTitleHeight ? newVal - this.subTitleHeight : 0;\n        if (this.fixedTop === fixedTop) {\n          return;\n        }\n        this.fixedTop = fixedTop;\n        this.$refs.fixed.style[transformStyleKey] = 'translate3d(0,' + fixedTop + 'px,0)';\n      },\n      scrollY: function scrollY(newY) {\n        var listHeight = this.listHeight;\n\n        if (newY > -this.titleHeight) {\n          this.currentIndex = 0;\n          return;\n        }\n\n        for (var i = 0; i < listHeight.length - 1; i++) {\n          var height1 = listHeight[i];\n          var height2 = listHeight[i + 1];\n          if (-newY >= height1 && -newY < height2) {\n            this.currentIndex = i;\n            this.diff = height2 + newY;\n            return;\n          }\n        }\n\n        this.currentIndex = listHeight.length - 2;\n      }\n    },\n    components: {\n      CubeScroll: _scroll2.default,\n      CubeIndexListGroup: _indexListGroup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(272)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./index-list-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.indexListItem);\n    global.indexListGroup = mod.exports;\n  }\n})(this, function (module, exports, _indexListItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _indexListItem2 = _interopRequireDefault(_indexListItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-index-list-group';\n  var EVENT_SELECT = 'select';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      group: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    methods: {\n      selectItem: function selectItem(item) {\n        this.$emit(EVENT_SELECT, item);\n      }\n    },\n    components: {\n      CubeIndexListItem: _indexListItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.indexListItem = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-index-list-item';\n  var ACTIVE_CLS = 'cube-index-list-item_active';\n  var EVENT_SELECT = 'select';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      itemClass: function itemClass() {\n        return this.item.active ? ACTIVE_CLS : '';\n      }\n    },\n    methods: {\n      addActiveCls: function addActiveCls(e) {\n        (0, _dom.addClass)(e.currentTarget, ACTIVE_CLS);\n      },\n      removeActiveCls: function removeActiveCls(e) {\n        (0, _dom.removeClass)(e.currentTarget, ACTIVE_CLS);\n      },\n      selectItem: function selectItem() {\n        this.$emit(EVENT_SELECT, this.item);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-index-list-item\",\n    class: _vm.itemClass,\n    on: {\n      \"touchstart\": _vm.addActiveCls,\n      \"touchend\": _vm.removeActiveCls,\n      \"click\": function($event) {\n        _vm.selectItem()\n      }\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-index-list-item-def border-bottom-1px\"\n  }, [_vm._v(\"\\n      \" + _vm._s(_vm.item.name) + \"\\n    \")])])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-index-list-group\"\n  }, [_c('h2', {\n    staticClass: \"cube-index-list-anchor\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.group.name)\n    }\n  }), _vm._v(\" \"), _c('ul', [_vm._t(\"default\", _vm._l((_vm.group.items), function(item, index) {\n    return _c('cube-index-list-item', {\n      key: index,\n      attrs: {\n        \"item\": item\n      },\n      on: {\n        \"select\": _vm.selectItem\n      }\n    })\n  }))], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-index-list\"\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"scroll-events\": _vm.scrollEvents,\n      \"options\": _vm.scrollOptions,\n      \"data\": _vm.data\n    },\n    on: {\n      \"scroll\": _vm.scroll,\n      \"pulling-down\": _vm.onPullingDown,\n      \"pulling-up\": _vm.onPullingUp\n    },\n    scopedSlots: _vm._u([{\n      key: \"pullup\",\n      fn: function(props) {\n        return _vm.$slots.pullup || _vm.$scopedSlots.pullup ? [_vm._t(\"pullup\", null, {\n          pullUpLoad: props.pullUpLoad,\n          isPullUpLoad: props.isPullUpLoad\n        })] : undefined\n      }\n    }, {\n      key: \"pulldown\",\n      fn: function(props) {\n        return _vm.$slots.pulldown || _vm.$scopedSlots.pulldown ? [_vm._t(\"pulldown\", null, {\n          pullDownRefresh: props.pullDownRefresh,\n          pullDownStyle: props.pullDownStyle,\n          beforePullDown: props.beforePullDown,\n          isPullingDown: props.isPullingDown,\n          bubbleY: props.bubbleY\n        })] : undefined\n      }\n    }])\n  }, [_c('div', {\n    ref: \"content\",\n    staticClass: \"cube-index-list-content\"\n  }, [(_vm.hasTitle) ? _c('h1', {\n    ref: \"title\",\n    staticClass: \"cube-index-list-title\",\n    on: {\n      \"click\": _vm.titleClick\n    }\n  }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2) : _vm._e(), _vm._v(\" \"), _c('ul', [_vm._t(\"default\", _vm._l((_vm.data), function(group, index) {\n    return _c('cube-index-list-group', {\n      key: index,\n      attrs: {\n        \"group\": group\n      },\n      on: {\n        \"select\": _vm.selectItem\n      }\n    })\n  }))], 2)])]), _vm._v(\" \"), (_vm.navbar) ? _c('div', {\n    staticClass: \"cube-index-list-nav\",\n    on: {\n      \"touchstart\": _vm.onShortcutTouchStart,\n      \"touchmove\": function($event) {\n        $event.stopPropagation();\n        $event.preventDefault();\n        return _vm.onShortcutTouchMove($event)\n      }\n    }\n  }, [_c('ul', {\n    staticClass: \"cube-index-list-nav-list\"\n  }, _vm._l((_vm.shortcutList), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-index-list-nav-item\",\n      class: {\n        active: _vm.currentIndex === index\n      },\n      attrs: {\n        \"data-index\": index\n      }\n    }, [_vm._t(\"nav-item\", [_vm._v(_vm._s(item))], {\n      item: item\n    })], 2)\n  }))]) : _vm._e(), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fixedTitle),\n      expression: \"fixedTitle\"\n    }],\n    ref: \"fixed\",\n    staticClass: \"cube-index-list-fixed cube-index-list-anchor\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.fixedTitle)\n    }\n  })], 1)\n},staticRenderFns: []}\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/index-list/style.css",
    "content": ".cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-index-list{position:relative;height:100%;overflow:hidden}.cube-index-list .cube-scroll-wrapper{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}.cube-index-list-content{background:#fff;border-radius:2px}.cube-index-list-title{padding:14px 16px;font-size:14px;line-height:1.6;color:#333}.cube-index-list-anchor{padding:16px 16px 10px;line-height:1;font-size:14px;color:#999;background:#f7f7f7}.cube-index-list-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-index-list-nav{position:absolute;z-index:30;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-family:Helvetica}.cube-index-list-nav>ul{padding:0;margin:0}.cube-index-list-nav>ul>li{padding:6px 16px 0;line-height:1;text-align:center;font-size:12px;color:#666}.cube-index-list-nav>ul>li.active{color:#fc9153}@media (max-height:480px){.cube-index-list-nav>ul>li{padding-top:3px}}.cube-index-list-item-def{position:relative;height:50px;line-height:50px;padding:0 16px;font-size:14px;color:#333}.cube-index-list-item-def:last-child:after,.cube-index-list-item-def:last-child:before{display:none}.cube-index-list-item_active{background:rgba(0,0,0,.04)}"
  },
  {
    "path": "lib/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cube\"] = factory();\n\telse\n\t\troot[\"cube\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 127);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(20), __webpack_require__(23), __webpack_require__(35), __webpack_require__(64)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(59)('wks');\nvar uid = __webpack_require__(45);\nvar Symbol = __webpack_require__(3).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(23), __webpack_require__(134), __webpack_require__(7), __webpack_require__(2), __webpack_require__(48)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(135)))\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(244)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(3);\nvar core = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(17);\nvar has = __webpack_require__(19);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(6), __webpack_require__(2), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(222), __esModule: true };\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(15);\nvar IE8_DOM_DEFINE = __webpack_require__(79);\nvar toPrimitive = __webpack_require__(54);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(16) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(18);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(24)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(14);\nvar createDesc = __webpack_require__(32);\nmodule.exports = __webpack_require__(16) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(136), __esModule: true };\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(81);\nvar defined = __webpack_require__(55);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(231)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(232),\n  /* template */\n  __webpack_require__(240),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(131);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(80);\nvar enumBugKeys = __webpack_require__(60);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(174)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(175),\n  /* template */\n  __webpack_require__(176),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(237)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(238),\n  /* template */\n  __webpack_require__(239),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(336)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(337),\n  /* template */\n  __webpack_require__(367),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(43);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(141);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(150);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(143)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(82)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(165)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(166),\n  /* template */\n  __webpack_require__(167),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(301),\n  /* template */\n  __webpack_require__(302),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(55);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(14).f;\nvar has = __webpack_require__(19);\nvar TAG = __webpack_require__(4)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(147);\nvar global = __webpack_require__(3);\nvar hide = __webpack_require__(17);\nvar Iterators = __webpack_require__(26);\nvar TO_STRING_TAG = __webpack_require__(4)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(161)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(162),\n  /* template */\n  __webpack_require__(163),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(220)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(221),\n  /* template */\n  __webpack_require__(225),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(233);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(18);\nvar document = __webpack_require__(3).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(18);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(57);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(59)('keys');\nvar uid = __webpack_require__(45);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(1);\nvar global = __webpack_require__(3);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(34) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(4);\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(3);\nvar core = __webpack_require__(1);\nvar LIBRARY = __webpack_require__(34);\nvar wksExt = __webpack_require__(61);\nvar defineProperty = __webpack_require__(14).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(215)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(216),\n  /* template */\n  __webpack_require__(217),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(67);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar Iterators = __webpack_require__(26);\nmodule.exports = __webpack_require__(1).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(33);\nvar TAG = __webpack_require__(4)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(39), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(257)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(258),\n  /* template */\n  __webpack_require__(262),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(259), __webpack_require__(260), __webpack_require__(105)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./rules'), require('./messages'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.rules, global.messages, global.types);\n    global.index = mod.exports;\n  }\n})(this, function (exports, _rules, _messages, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'rules', {\n    enumerable: true,\n    get: function () {\n      return _rules.rules;\n    }\n  });\n  Object.defineProperty(exports, 'addRule', {\n    enumerable: true,\n    get: function () {\n      return _rules.addRule;\n    }\n  });\n  Object.defineProperty(exports, 'addMessage', {\n    enumerable: true,\n    get: function () {\n      return _messages.addMessage;\n    }\n  });\n  Object.defineProperty(exports, 'types', {\n    enumerable: true,\n    get: function () {\n      return _types.types;\n    }\n  });\n  Object.defineProperty(exports, 'addType', {\n    enumerable: true,\n    get: function () {\n      return _types.addType;\n    }\n  });\n});\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../../common/helpers/env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.STATUS_SUCCESS = exports.STATUS_ERROR = exports.STATUS_UPLOADING = exports.STATUS_READY = exports.URL = undefined;\n  exports.processFiles = processFiles;\n  exports.processFile = processFile;\n  exports.newFile = newFile;\n  exports.evalOpts = evalOpts;\n  var URL = exports.URL = _env.inBrowser ? window.URL || window.webkitURL || window.mozURL : null;\n\n  var STATUS_READY = exports.STATUS_READY = 'ready';\n  var STATUS_UPLOADING = exports.STATUS_UPLOADING = 'uploading';\n  var STATUS_ERROR = exports.STATUS_ERROR = 'error';\n  var STATUS_SUCCESS = exports.STATUS_SUCCESS = 'success';\n\n  function processFiles(files, eachProcessFile, eachCb, cb) {\n    var fileItems = [];\n    var len = files.length;\n    var processedLen = 0;\n    for (var i = 0; i < len; i++) {\n      processFile(files[i], i, eachProcessFile, function (item, index) {\n        processedLen++;\n        fileItems[index] = item;\n        eachCb(item, index);\n        if (processedLen === len) {\n          return cb(fileItems);\n        }\n      });\n    }\n  }\n\n  function processFile(file, i, eachProcessFile, cb) {\n    eachProcessFile(file, function (file) {\n      var item = newFile(file.name, file.size, STATUS_READY, 0, file);\n      cb(item, i);\n    });\n  }\n\n  function newFile() {\n    var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var status = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n    var progress = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n    var file = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n    var base64 = file && file.base64 || '';\n    var url = base64 ? '' : createURL(file);\n\n    return {\n      name: name,\n      size: size,\n      url: url,\n      base64: base64,\n      status: status,\n      progress: progress,\n      file: file\n    };\n  }\n\n  function createURL(file) {\n    if (file && URL) {\n      return URL.createObjectURL(file);\n    }\n    return '';\n  }\n\n  function evalOpts(data) {\n    if (typeof data === 'function') {\n      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n        args[_key - 1] = arguments[_key];\n      }\n\n      return data.apply(this, args);\n    }\n    return data;\n  }\n});\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addCascadePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addCascadePicker(Vue, CascadePicker) {\n    var cascadePickerAPI = (0, _createApi2.default)(Vue, CascadePicker, ['select', 'cancel', 'change']);\n    cascadePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('CascadePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(43);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(356), __webpack_require__(363), __webpack_require__(7), __webpack_require__(64)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(379)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(380),\n  /* template */\n  __webpack_require__(381),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(410)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(411),\n  /* template */\n  __webpack_require__(412),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(417)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(418),\n  /* template */\n  __webpack_require__(419),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(6), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/locale'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _locale, _locale3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _locale4 = _interopRequireDefault(_locale3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _locale2.default.localeMixin = _locale4.default;\n\n  exports.default = _locale2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(16) && !__webpack_require__(24)(function () {\n  return Object.defineProperty(__webpack_require__(53)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(19);\nvar toIObject = __webpack_require__(21);\nvar arrayIndexOf = __webpack_require__(138)(false);\nvar IE_PROTO = __webpack_require__(58)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(33);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(34);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(83);\nvar hide = __webpack_require__(17);\nvar Iterators = __webpack_require__(26);\nvar $iterCreate = __webpack_require__(144);\nvar setToStringTag = __webpack_require__(46);\nvar getPrototypeOf = __webpack_require__(146);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(17);\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(15);\nvar dPs = __webpack_require__(145);\nvar enumBugKeys = __webpack_require__(60);\nvar IE_PROTO = __webpack_require__(58)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(53)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(85).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(3).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(80);\nvar hiddenKeys = __webpack_require__(60).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(189)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(190),\n  /* template */\n  __webpack_require__(191),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(197)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(198),\n  /* template */\n  __webpack_require__(199),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(203)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(204),\n  /* template */\n  __webpack_require__(205),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.groupCol = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var FLEXBASIS = (0, _dom.prefixStyle)('flexBasis');\n\n  exports.default = {\n    props: {\n      colNum: {\n        type: Number,\n        default: 1\n      }\n    },\n    watch: {\n      colNum: {\n        immediate: true,\n        handler: function handler(newValue) {\n          var _this = this;\n\n          if (newValue <= 1) return '';\n          this.$nextTick(function () {\n            var count = 100 / newValue + '%';\n            Array.prototype.forEach.call(_this.$refs.group.children, function (item) {\n              item.style[FLEXBASIS] = count;\n            });\n          });\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(207),\n  /* template */\n  __webpack_require__(211),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(208)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(209),\n  /* template */\n  __webpack_require__(210),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(213)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(214),\n  /* template */\n  __webpack_require__(218),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    methods: {\n      changeHander: function changeHander(e) {\n        this.$emit(EVENT_CHANGE, e);\n      },\n      focus: function focus() {\n        this.$refs.input.focus();\n      },\n      blur: function blur() {\n        this.$refs.input.blur();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(227)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(228),\n  /* template */\n  __webpack_require__(229),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(15);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(26);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(241)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(242),\n  /* template */\n  __webpack_require__(243),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(246)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(247),\n  /* template */\n  __webpack_require__(248),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(250)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(251),\n  /* template */\n  __webpack_require__(255),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(252)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(253),\n  /* template */\n  __webpack_require__(254),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.util);\n    global.types = mod.exports;\n  }\n})(this, function (exports, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addType = exports.types = undefined;\n\n\n  var DATE_RE = /^(1|2)\\d{3}[.\\-/]\\d{1,2}[.\\-/]\\d{1,2}$/;\n\n  var types = {\n    string: function string(val) {\n      return typeof val === 'string';\n    },\n    number: function number(val) {\n      return !isNaN(Number(val));\n    },\n    array: function array(val) {\n      return Array.isArray(val);\n    },\n    date: function date(val) {\n      return !isNaN(Number(val)) || DATE_RE.test(val);\n    },\n    email: function email(val) {\n      return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)+$/i.test(val);\n    },\n    tel: function tel(val) {\n      return typeof val === 'string' && /^(11|13|14|15|17|18|19)[0-9]{9}$/.test(val);\n    },\n    url: function url(val) {\n      return typeof val === 'string' && /(https?|ftp|file):\\/\\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/.test(val);\n    }\n  };\n\n  var addType = (0, _util.createAddAPI)(types);\n\n  exports.types = types;\n  exports.addType = addType;\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(264)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(265),\n  /* template */\n  __webpack_require__(273),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(266)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(267),\n  /* template */\n  __webpack_require__(268),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.btnMixin = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      multiple: {\n        type: Boolean,\n        default: true\n      },\n      accept: {\n        type: String,\n        default: 'image/*'\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(269)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(270),\n  /* template */\n  __webpack_require__(271),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(278)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(279),\n  /* template */\n  __webpack_require__(289),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(280)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(281),\n  /* template */\n  __webpack_require__(288),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(13);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.layouts = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var LAYOUTS = {\n    STANDARD: 'standard',\n    CLASSIC: 'classic',\n    FRESH: 'fresh'\n  };\n\n  exports.default = LAYOUTS;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.mixin = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    data: function data() {\n      return {\n        validating: false,\n        pending: false,\n        originValid: undefined\n      };\n    },\n\n    computed: {\n      valid: function valid() {\n        var originValid = this.originValid;\n        var pending = this.pending;\n        var validating = this.validating;\n        return pending || validating ? undefined : originValid;\n      },\n      invalid: function invalid() {\n        var valid = this.valid;\n        return valid === undefined ? valid : !valid;\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(334)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(335),\n  /* template */\n  __webpack_require__(371),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(338), __esModule: true };\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(15);\nvar aFunction = __webpack_require__(43);\nvar SPECIES = __webpack_require__(4)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(342);\nvar html = __webpack_require__(85);\nvar cel = __webpack_require__(53);\nvar global = __webpack_require__(3);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(33)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(15);\nvar isObject = __webpack_require__(18);\nvar newPromiseCapability = __webpack_require__(73);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(368)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(369),\n  /* template */\n  __webpack_require__(370),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(377)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(378),\n  /* template */\n  __webpack_require__(382),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(391),\n  /* template */\n  __webpack_require__(395),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(392)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(393),\n  /* template */\n  __webpack_require__(394),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(401)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(402),\n  /* template */\n  __webpack_require__(404),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(407)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(408),\n  /* template */\n  __webpack_require__(409),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(128), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./module'), require('./common/helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.module, global.util);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _module, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.keys(_module).forEach(function (key) {\n    if (key === \"default\" || key === \"__esModule\") return;\n    Object.defineProperty(exports, key, {\n      enumerable: true,\n      get: function () {\n        return _module[key];\n      }\n    });\n  });\n\n\n  var components = [_module.Locale, _module.Button, _module.Loading, _module.Tip, _module.Toolbar, _module.TabBar, _module.TabPanels, _module.Checkbox, _module.CheckboxGroup, _module.Checker, _module.Radio, _module.RadioGroup, _module.Input, _module.Textarea, _module.Select, _module.Switch, _module.Rate, _module.Validator, _module.Upload, _module.Form, _module.Popup, _module.Toast, _module.Picker, _module.CascadePicker, _module.DatePicker, _module.TimePicker, _module.SegmentPicker, _module.Dialog, _module.ActionSheet, _module.Drawer, _module.ImagePreview, _module.Scroll, _module.Slide, _module.IndexList, _module.Swipe, _module.Sticky, _module.ScrollNav, _module.ScrollNavBar, _module.RecycleList];\n\n  function install(Vue) {\n    if (install.installed) {\n      return;\n    }\n    install.installed = true;\n    components.forEach(function (Component) {\n      if (Component === _module.Radio) {\n        return;\n      }\n      Component.install(Vue);\n    });\n  }\n\n  var Cube = {\n    version: \"1.12.56\",\n    install: install,\n    BScroll: _module.BetterScroll,\n    createAPI: _module.createAPI\n  };\n\n  components.forEach(function (Component) {\n    var name = (0, _util.processComponentName)(Component, {\n      firstUpperCase: true\n    });\n    Cube[name] = Component;\n  });\n\n  if (typeof window !== 'undefined' && window.Vue) {\n    window.Vue.use(install);\n  }\n\n  exports.default = Cube;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(129), __webpack_require__(78), __webpack_require__(160), __webpack_require__(164), __webpack_require__(168), __webpack_require__(173), __webpack_require__(185), __webpack_require__(193), __webpack_require__(201), __webpack_require__(202), __webpack_require__(206), __webpack_require__(212), __webpack_require__(219), __webpack_require__(226), __webpack_require__(230), __webpack_require__(245), __webpack_require__(249), __webpack_require__(256), __webpack_require__(263), __webpack_require__(274), __webpack_require__(291), __webpack_require__(293), __webpack_require__(299), __webpack_require__(300), __webpack_require__(303), __webpack_require__(308), __webpack_require__(313), __webpack_require__(318), __webpack_require__(324), __webpack_require__(330), __webpack_require__(373), __webpack_require__(385), __webpack_require__(386), __webpack_require__(387), __webpack_require__(397), __webpack_require__(406), __webpack_require__(413), __webpack_require__(424), __webpack_require__(425), __webpack_require__(430), __webpack_require__(431)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./modules/style'), require('./modules/locale'), require('./modules/button'), require('./modules/loading'), require('./modules/tip'), require('./modules/toolbar'), require('./modules/tab-bar'), require('./modules/tab-panels'), require('./modules/checkbox'), require('./modules/checkbox-group'), require('./modules/checker'), require('./modules/radio-group'), require('./modules/input'), require('./modules/textarea'), require('./modules/select'), require('./modules/switch'), require('./modules/rate'), require('./modules/validator'), require('./modules/upload'), require('./modules/form'), require('./modules/popup'), require('./modules/toast'), require('./modules/picker'), require('./modules/cascade-picker'), require('./modules/date-picker'), require('./modules/time-picker'), require('./modules/segment-picker'), require('./modules/dialog'), require('./modules/action-sheet'), require('./modules/drawer'), require('./modules/image-preview'), require('./modules/scroll'), require('./modules/slide'), require('./modules/index-list'), require('./modules/swipe'), require('./modules/sticky'), require('./modules/scroll-nav'), require('./modules/scroll-nav-bar'), require('./modules/recycle-list'), require('./modules/better-scroll'), require('./modules/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.style, global.locale, global.button, global.loading, global.tip, global.toolbar, global.tabBar, global.tabPanels, global.checkbox, global.checkboxGroup, global.checker, global.radioGroup, global.input, global.textarea, global.select, global._switch, global.rate, global.validator, global.upload, global.form, global.popup, global.toast, global.picker, global.cascadePicker, global.datePicker, global.timePicker, global.segmentPicker, global.dialog, global.actionSheet, global.drawer, global.imagePreview, global.scroll, global.slide, global.indexList, global.swipe, global.sticky, global.scrollNav, global.scrollNavBar, global.recycleList, global.betterScroll, global.createApi);\n    global.module = mod.exports;\n  }\n})(this, function (exports, _style, _locale, _button, _loading, _tip, _toolbar, _tabBar, _tabPanels, _checkbox, _checkboxGroup, _checker, _radioGroup, _input, _textarea, _select, _switch, _rate, _validator, _upload, _form, _popup, _toast, _picker, _cascadePicker, _datePicker, _timePicker, _segmentPicker, _dialog, _actionSheet, _drawer, _imagePreview, _scroll, _slide, _indexList, _swipe, _sticky, _scrollNav, _scrollNavBar, _recycleList, _betterScroll, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.createAPI = exports.BetterScroll = exports.RecycleList = exports.ScrollNavBar = exports.ScrollNav = exports.ScrollNavPanel = exports.Sticky = exports.StickyEle = exports.Swipe = exports.SwipeItem = exports.IndexList = exports.Slide = exports.SlideItem = exports.Scroll = exports.ImagePreview = exports.Drawer = exports.DrawerPanel = exports.DrawerItem = exports.ActionSheet = exports.Dialog = exports.SegmentPicker = exports.TimePicker = exports.DatePicker = exports.CascadePicker = exports.Picker = exports.Toast = exports.Popup = exports.Form = exports.FormGroup = exports.FormItem = exports.Upload = exports.Validator = exports.Rate = exports.Switch = exports.Select = exports.Textarea = exports.Input = exports.RadioGroup = exports.Radio = exports.Checker = exports.CheckerItem = exports.CheckboxGroup = exports.Checkbox = exports.TabPanel = exports.TabPanels = exports.Tab = exports.TabBar = exports.Toolbar = exports.Tip = exports.Loading = exports.Button = exports.Locale = exports.Style = undefined;\n\n  var _style2 = _interopRequireDefault(_style);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _tip2 = _interopRequireDefault(_tip);\n\n  var _toolbar2 = _interopRequireDefault(_toolbar);\n\n  var _tabBar2 = _interopRequireDefault(_tabBar);\n\n  var _tabPanels2 = _interopRequireDefault(_tabPanels);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\n  var _checker2 = _interopRequireDefault(_checker);\n\n  var _radioGroup2 = _interopRequireDefault(_radioGroup);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _textarea2 = _interopRequireDefault(_textarea);\n\n  var _select2 = _interopRequireDefault(_select);\n\n  var _switch2 = _interopRequireDefault(_switch);\n\n  var _rate2 = _interopRequireDefault(_rate);\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  var _upload2 = _interopRequireDefault(_upload);\n\n  var _form2 = _interopRequireDefault(_form);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _toast2 = _interopRequireDefault(_toast);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _datePicker2 = _interopRequireDefault(_datePicker);\n\n  var _timePicker2 = _interopRequireDefault(_timePicker);\n\n  var _segmentPicker2 = _interopRequireDefault(_segmentPicker);\n\n  var _dialog2 = _interopRequireDefault(_dialog);\n\n  var _actionSheet2 = _interopRequireDefault(_actionSheet);\n\n  var _drawer2 = _interopRequireDefault(_drawer);\n\n  var _imagePreview2 = _interopRequireDefault(_imagePreview);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _slide2 = _interopRequireDefault(_slide);\n\n  var _indexList2 = _interopRequireDefault(_indexList);\n\n  var _swipe2 = _interopRequireDefault(_swipe);\n\n  var _sticky2 = _interopRequireDefault(_sticky);\n\n  var _scrollNav2 = _interopRequireDefault(_scrollNav);\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  var _recycleList2 = _interopRequireDefault(_recycleList);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var FormGroup = _form2.default.Group;\n  var FormItem = _form2.default.Item;\n  var SlideItem = _slide2.default.Item;\n  var Radio = _radioGroup2.default.Radio;\n  var SwipeItem = _swipe2.default.Item;\n  var DrawerPanel = _drawer2.default.Panel;\n  var DrawerItem = _drawer2.default.Item;\n  var StickyEle = _sticky2.default.Ele;\n  var ScrollNavPanel = _scrollNav2.default.Panel;\n  var Tab = _tabBar2.default.Tab;\n  var TabPanel = _tabPanels2.default.Panel;\n  var CheckerItem = _checker2.default.Item;\n\n  exports.Style = _style2.default;\n  exports.Locale = _locale2.default;\n  exports.Button = _button2.default;\n  exports.Loading = _loading2.default;\n  exports.Tip = _tip2.default;\n  exports.Toolbar = _toolbar2.default;\n  exports.TabBar = _tabBar2.default;\n  exports.Tab = Tab;\n  exports.TabPanels = _tabPanels2.default;\n  exports.TabPanel = TabPanel;\n  exports.Checkbox = _checkbox2.default;\n  exports.CheckboxGroup = _checkboxGroup2.default;\n  exports.CheckerItem = CheckerItem;\n  exports.Checker = _checker2.default;\n  exports.Radio = Radio;\n  exports.RadioGroup = _radioGroup2.default;\n  exports.Input = _input2.default;\n  exports.Textarea = _textarea2.default;\n  exports.Select = _select2.default;\n  exports.Switch = _switch2.default;\n  exports.Rate = _rate2.default;\n  exports.Validator = _validator2.default;\n  exports.Upload = _upload2.default;\n  exports.FormItem = FormItem;\n  exports.FormGroup = FormGroup;\n  exports.Form = _form2.default;\n  exports.Popup = _popup2.default;\n  exports.Toast = _toast2.default;\n  exports.Picker = _picker2.default;\n  exports.CascadePicker = _cascadePicker2.default;\n  exports.DatePicker = _datePicker2.default;\n  exports.TimePicker = _timePicker2.default;\n  exports.SegmentPicker = _segmentPicker2.default;\n  exports.Dialog = _dialog2.default;\n  exports.ActionSheet = _actionSheet2.default;\n  exports.DrawerItem = DrawerItem;\n  exports.DrawerPanel = DrawerPanel;\n  exports.Drawer = _drawer2.default;\n  exports.ImagePreview = _imagePreview2.default;\n  exports.Scroll = _scroll2.default;\n  exports.SlideItem = SlideItem;\n  exports.Slide = _slide2.default;\n  exports.IndexList = _indexList2.default;\n  exports.SwipeItem = SwipeItem;\n  exports.Swipe = _swipe2.default;\n  exports.StickyEle = StickyEle;\n  exports.Sticky = _sticky2.default;\n  exports.ScrollNavPanel = ScrollNavPanel;\n  exports.ScrollNav = _scrollNav2.default;\n  exports.ScrollNavBar = _scrollNavBar2.default;\n  exports.RecycleList = _recycleList2.default;\n  exports.BetterScroll = _betterScroll2.default;\n  exports.createAPI = _createApi2.default;\n});\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(130)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/stylus/index.styl'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.index);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    install: function install() {}\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(132), __esModule: true };\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(133);\nvar $Object = __webpack_require__(1).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(16), 'Object', { defineProperty: __webpack_require__(14).f });\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(137);\nmodule.exports = __webpack_require__(1).Object.keys;\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(44);\nvar $keys = __webpack_require__(25);\n\n__webpack_require__(140)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(21);\nvar toLength = __webpack_require__(56);\nvar toAbsoluteIndex = __webpack_require__(139);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(57);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(1);\nvar fails = __webpack_require__(24);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(142), __esModule: true };\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(36);\n__webpack_require__(47);\nmodule.exports = __webpack_require__(61).f('iterator');\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(57);\nvar defined = __webpack_require__(55);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(84);\nvar descriptor = __webpack_require__(32);\nvar setToStringTag = __webpack_require__(46);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(17)(IteratorPrototype, __webpack_require__(4)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(14);\nvar anObject = __webpack_require__(15);\nvar getKeys = __webpack_require__(25);\n\nmodule.exports = __webpack_require__(16) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(19);\nvar toObject = __webpack_require__(44);\nvar IE_PROTO = __webpack_require__(58)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(148);\nvar step = __webpack_require__(149);\nvar Iterators = __webpack_require__(26);\nvar toIObject = __webpack_require__(21);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(82)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(151), __esModule: true };\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(152);\n__webpack_require__(87);\n__webpack_require__(158);\n__webpack_require__(159);\nmodule.exports = __webpack_require__(1).Symbol;\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(3);\nvar has = __webpack_require__(19);\nvar DESCRIPTORS = __webpack_require__(16);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(83);\nvar META = __webpack_require__(153).KEY;\nvar $fails = __webpack_require__(24);\nvar shared = __webpack_require__(59);\nvar setToStringTag = __webpack_require__(46);\nvar uid = __webpack_require__(45);\nvar wks = __webpack_require__(4);\nvar wksExt = __webpack_require__(61);\nvar wksDefine = __webpack_require__(62);\nvar enumKeys = __webpack_require__(154);\nvar isArray = __webpack_require__(155);\nvar anObject = __webpack_require__(15);\nvar isObject = __webpack_require__(18);\nvar toIObject = __webpack_require__(21);\nvar toPrimitive = __webpack_require__(54);\nvar createDesc = __webpack_require__(32);\nvar _create = __webpack_require__(84);\nvar gOPNExt = __webpack_require__(156);\nvar $GOPD = __webpack_require__(157);\nvar $DP = __webpack_require__(14);\nvar $keys = __webpack_require__(25);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(86).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(37).f = $propertyIsEnumerable;\n  __webpack_require__(63).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(34)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(17)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(45)('meta');\nvar isObject = __webpack_require__(18);\nvar has = __webpack_require__(19);\nvar setDesc = __webpack_require__(14).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(24)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(25);\nvar gOPS = __webpack_require__(63);\nvar pIE = __webpack_require__(37);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(33);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(21);\nvar gOPN = __webpack_require__(86).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(37);\nvar createDesc = __webpack_require__(32);\nvar toIObject = __webpack_require__(21);\nvar toPrimitive = __webpack_require__(54);\nvar has = __webpack_require__(19);\nvar IE8_DOM_DEFINE = __webpack_require__(79);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(16) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(62)('asyncIterator');\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(62)('observable');\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/button/button.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _button) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _button2.default.install = function (Vue) {\n    Vue.component(_button2.default.name, _button2.default);\n  };\n\n  exports.default = _button2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.button = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-button';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      icon: {\n        type: String,\n        default: ''\n      },\n      active: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      primary: {\n        type: Boolean,\n        default: false\n      },\n      outline: {\n        type: Boolean,\n        default: false\n      },\n      light: {\n        type: Boolean,\n        default: false\n      },\n      type: {\n        type: String,\n        default: 'button'\n      }\n    },\n    computed: {\n      btnClass: function btnClass() {\n        return {\n          'cube-btn_active': this.active,\n          'cube-btn_disabled': this.disabled,\n          'cube-btn-inline': this.inline,\n          'cube-btn-primary': this.primary,\n          'cube-btn-outline': this.outline,\n          'cube-btn-outline-primary': this.outline && this.primary,\n          'cube-btn-light': this.light\n        };\n      }\n    },\n    methods: {\n      handleClick: function handleClick(event) {\n        if (this.disabled) {\n          event.preventDefault();\n          event.stopPropagation();\n          return;\n        }\n        this.$emit('click', event);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('button', {\n    staticClass: \"cube-btn\",\n    class: _vm.btnClass,\n    attrs: {\n      \"type\": _vm.type\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [(_vm.icon) ? _c('i', {\n    class: _vm.icon\n  }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(38)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/loading/loading.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _loading) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _loading2.default.install = function (Vue) {\n    Vue.component(_loading2.default.name, _loading2.default);\n  };\n\n  exports.default = _loading2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(169)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/tip/tip.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tip);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _tip) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tip2 = _interopRequireDefault(_tip);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _tip2.default.install = function (Vue) {\n    Vue.component(_tip2.default.name, _tip2.default);\n  };\n\n  exports.default = _tip2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(170)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(171),\n  /* template */\n  __webpack_require__(172),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(20), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('../../common/mixins/visibility'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.visibility);\n    global.tip = mod.exports;\n  }\n})(this, function (module, exports, _keys, _visibility) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-tip';\n  var EVENT_CLICK = 'click';\n  var EVENT_CLOSE = 'close';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default],\n    props: {\n      direction: {\n        type: String,\n        default: 'top'\n      },\n      offsetLeft: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetRight: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetTop: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetBottom: {\n        type: [String, Number],\n        default: 0\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$nextTick(function () {\n        var angleEleStyle = _this.$refs.angle.style;\n        var boxMap = {\n          left: 'right',\n          right: 'left',\n          top: 'bottom',\n          bottom: 'top'\n        };\n        var offsets = [{\n          name: 'offsetLeft',\n          target: 'left',\n          percentFix: {\n            marginLeft: '-6px'\n          }\n        }, {\n          name: 'offsetRight',\n          target: 'right',\n          percentFix: {\n            marginRight: '-6px'\n          }\n        }, {\n          name: 'offsetTop',\n          target: 'top',\n          percentFix: {\n            marginTop: '-6px'\n          }\n        }, {\n          name: 'offsetBottom',\n          target: 'bottom',\n          percentFix: {\n            marginBottom: '-6px'\n          }\n        }];\n        offsets.forEach(function (offset) {\n          var value = _this[offset.name];\n          if (value !== 0) {\n            var isNum = typeof value === 'number';\n            angleEleStyle[offset.target] = value + (isNum ? 'px' : '');\n            if (offset.percentFix && !isNum) {\n              (0, _keys2.default)(offset.percentFix).forEach(function (key) {\n                angleEleStyle[key] = offset.percentFix[key];\n              });\n            }\n            angleEleStyle[boxMap[offset.target]] = 'auto';\n          }\n        });\n      });\n    },\n\n    methods: {\n      handleClick: function handleClick() {\n        this.hide();\n        this.$emit(EVENT_CLICK);\n      },\n      close: function close() {\n        this.hide();\n        this.$emit(EVENT_CLOSE);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-tip-zoom\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-tip\",\n    attrs: {\n      \"data-dir\": _vm.direction\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [_c('i', {\n    ref: \"angle\",\n    staticClass: \"cube-tip-angle\"\n  }), _vm._v(\" \"), _c('button', {\n    staticClass: \"cube-tip-close cubeic-close\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n        return _vm.close($event)\n      }\n    }\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-tip-content\"\n  }, [_vm._t(\"default\")], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(49), __webpack_require__(27), __webpack_require__(177)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/button/button.vue'), require('../../components/checkbox/checkbox.vue'), require('../../components/toolbar/toolbar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button, global.checkbox, global.toolbar);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _button, _checkbox, _toolbar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _toolbar2 = _interopRequireDefault(_toolbar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _toolbar2.default.install = function (Vue) {\n    Vue.component(_button2.default.name, _button2.default);\n    Vue.component(_checkbox2.default.name, _checkbox2.default);\n    Vue.component(_toolbar2.default.name, _toolbar2.default);\n  };\n\n  _toolbar2.default.Button = _button2.default;\n  _toolbar2.default.Checkbox = _checkbox2.default;\n\n  exports.default = _toolbar2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkbox = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checkbox';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [Boolean, String]\n      },\n      label: {\n        type: [Boolean, String]\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      option: {\n        type: [Boolean, String, Object],\n        default: function _default() {\n          return {\n            _def_option: true\n          };\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      var parent = this.$parent;\n      var isInGroup = parent.$data._checkboxGroup;\n      var isInHorizontalGroup = isInGroup && (parent.$props.horizontal || parent.$props.colNum > 1);\n      return {\n        isInGroup: isInGroup,\n        isInHorizontalGroup: isInHorizontalGroup\n      };\n    },\n\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        var label = this.label;\n        var disabled = this.disabled;\n        if (option._def_option === true) {\n          option = {\n            label: label,\n            value: label,\n            disabled: disabled\n          };\n        } else if (typeof option === 'string') {\n          option = {\n            label: option,\n            value: option,\n            disabled: false\n          };\n        }\n        return option;\n      },\n\n      checkValue: {\n        get: function get() {\n          if (this.isInGroup) {\n            return this.$parent.value.indexOf(this.computedOption.value) > -1;\n          } else {\n            return Boolean(this.value);\n          }\n        },\n        set: function set(newValue) {\n          var value = this.computedOption.value;\n          var emitValue = value && newValue ? value : newValue;\n          this.$emit(EVENT_INPUT, emitValue);\n          if (this.isInGroup) {\n            newValue = !this.checkValue;\n            var parentEmitEvent = newValue ? EVENT_CHECKED : EVENT_CANCLE_CHECKED;\n            this.$parent.$emit(parentEmitEvent, value || newValue);\n          }\n        }\n      },\n      _containerClass: function _containerClass() {\n        return {\n          'cube-checkbox-hollow': this.hollowStyle,\n          'cube-checkbox_checked': this.checkValue,\n          'cube-checkbox_disabled': this.computedOption.disabled,\n          'border-right-1px': this.isInHorizontalGroup\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        if (this.isInGroup && !this.isInHorizontalGroup) {\n          return 'border-bottom-1px';\n        }\n      },\n      isSquare: function isSquare() {\n        return this.shape === 'square' || this.hollowStyle;\n      },\n      _borderIconClass: function _borderIconClass() {\n        return this.isSquare ? 'cubeic-square-border' : 'cubeic-round-border';\n      },\n      _rightIconClass: function _rightIconClass() {\n        return this.isSquare ? 'cubeic-square-right' : 'cubeic-right';\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-checkbox\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-checkbox-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkValue),\n      expression: \"checkValue\"\n    }],\n    staticClass: \"cube-checkbox-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.computedOption.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkValue) ? _vm._i(_vm.checkValue, null) > -1 : (_vm.checkValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-ui\",\n    class: _vm._borderIconClass\n  }, [_c('i', {\n    class: _vm._rightIconClass\n  })]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-label\"\n  }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.computedOption.label))])], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(178)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(179),\n  /* template */\n  __webpack_require__(184),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(180)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./toolbar-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toolbarItem);\n    global.toolbar = mod.exports;\n  }\n})(this, function (module, exports, _toolbarItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toolbarItem2 = _interopRequireDefault(_toolbarItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-toolbar';\n  var EVENT_CLICK = 'click';\n  var EVENT_MORE_CLICK = 'more-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    components: {\n      CubeToolbarItem: _toolbarItem2.default\n    },\n    props: {\n      actions: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      moreActions: {\n        type: Array\n      }\n    },\n    data: function data() {\n      return {\n        showMore: false\n      };\n    },\n\n    computed: {\n      basicActions: function basicActions() {\n        var basicActions = this.actions.slice();\n        this.moreActions && basicActions.push({\n          icon: 'cubeic-more',\n          $cubeMore: true\n        });\n        return basicActions;\n      }\n    },\n    methods: {\n      itemClick: function itemClick(action) {\n        if (action.$cubeMore) {\n          this.showMore = !this.showMore;\n          this.$emit(EVENT_MORE_CLICK, this.showMore);\n        } else {\n          this.$emit(EVENT_CLICK, action);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(181)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(182),\n  /* template */\n  __webpack_require__(183),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(49), __webpack_require__(27)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../button/button.vue'), require('../checkbox/checkbox.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button, global.checkbox);\n    global.toolbarItem = mod.exports;\n  }\n})(this, function (module, exports, _button, _checkbox) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-toolbar-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    components: {\n      CubeButton: _button2.default,\n      CubeCheckbox: _checkbox2.default\n    },\n    props: {\n      action: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-toolbar-item border-right-1px\"\n  }, [_c('cube-button', {\n    attrs: {\n      \"icon\": _vm.action.icon\n    }\n  }, [(_vm.action.type == 'checkbox') ? _c('cube-checkbox', {\n    staticClass: \"cube-toolbar-chb\",\n    attrs: {\n      \"label\": _vm.action.text\n    },\n    model: {\n      value: (_vm.action.checked),\n      callback: function($$v) {\n        _vm.$set(_vm.action, \"checked\", $$v)\n      },\n      expression: \"action.checked\"\n    }\n  }) : _c('span', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.action.text)\n    }\n  })], 1), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-toolbar-down\"\n  })], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-toolbar\"\n  }, [(_vm.moreActions) ? _c('ul', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.showMore),\n      expression: \"showMore\"\n    }],\n    staticClass: \"cube-toolbar-group cube-toolbar-group-more\"\n  }, _vm._l((_vm.moreActions), function(action, index) {\n    return _c('cube-toolbar-item', {\n      key: index,\n      attrs: {\n        \"action\": action\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.itemClick(action)\n        }\n      }\n    })\n  })) : _vm._e(), _vm._v(\" \"), _c('ul', {\n    staticClass: \"cube-toolbar-group\"\n  }, _vm._l((_vm.basicActions), function(action, index) {\n    return _c('cube-toolbar-item', {\n      key: index,\n      attrs: {\n        \"action\": action\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.itemClick(action)\n        }\n      }\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(186), __webpack_require__(88)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/tab-bar/tab-bar.vue'), require('../../components/tab-bar/tab.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tabBar, global.tab);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _tabBar, _tab) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tabBar2 = _interopRequireDefault(_tabBar);\n\n  var _tab2 = _interopRequireDefault(_tab);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _tabBar2.default.install = function (Vue) {\n    Vue.component(_tabBar2.default.name, _tabBar2.default);\n    Vue.component(_tab2.default.name, _tab2.default);\n  };\n\n  _tabBar2.default.Tab = _tab2.default;\n\n  exports.default = _tabBar2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(187)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(188),\n  /* template */\n  __webpack_require__(192),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(12), __webpack_require__(2), __webpack_require__(88)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'), require('../../common/helpers/util'), require('./tab.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom, global.util, global.tab);\n    global.tabBar = mod.exports;\n  }\n})(this, function (module, exports, _dom, _util, _tab) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tab2 = _interopRequireDefault(_tab);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-tab-bar';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHANGE = 'change';\n  var EVENT_CLICK = 'click';\n\n  var TRANSFORM = (0, _dom.prefixStyle)('transform');\n  var TRANSITION = (0, _dom.prefixStyle)('transition');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    components: {\n      CubeTab: _tab2.default\n    },\n    props: {\n      value: {\n        type: [String, Number],\n        required: true\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      showSlider: {\n        type: Boolean,\n        default: false\n      },\n      useTransition: {\n        type: Boolean,\n        default: true\n      }\n    },\n    watch: {\n      value: function value() {\n        this._updateSliderStyle();\n      }\n    },\n    created: function created() {\n      this.tabs = [];\n    },\n    mounted: function mounted() {\n      this._updateSliderStyle();\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    activated: function activated() {\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    deactivated: function deactivated() {\n      this._cleanUp();\n    },\n    beforeDestroy: function beforeDestroy() {\n      this._cleanUp();\n    },\n\n    methods: {\n      addTab: function addTab(tab) {\n        this.tabs.push(tab);\n      },\n      removeTab: function removeTab(tab) {\n        var index = this.tabs.indexOf(tab);\n        if (index > -1) this.tabs.splice(index, 1);\n      },\n      trigger: function trigger(value) {\n        var _this = this;\n\n        this.$emit(EVENT_CLICK, value);\n\n        if (value !== this.value) {\n          var changedEvents = [EVENT_INPUT, EVENT_CHANGE];\n          changedEvents.forEach(function (eventType) {\n            _this.$emit(eventType, value);\n          });\n        }\n      },\n      _updateSliderStyle: function _updateSliderStyle() {\n        var _this2 = this;\n\n        if (!this.showSlider) return;\n        var slider = this.$refs.slider;\n        this.$nextTick(function () {\n          var _getSliderWidthAndInd = _this2._getSliderWidthAndIndex(),\n              width = _getSliderWidthAndInd.width,\n              index = _getSliderWidthAndInd.index;\n\n          slider.style.width = width + 'px';\n          _this2.setSliderTransform(_this2._getOffsetLeft(index));\n        });\n      },\n      setSliderTransform: function setSliderTransform(offset) {\n        var slider = this.$refs.slider;\n        if (typeof offset === 'number') {\n          offset = offset + 'px';\n        }\n        if (slider) {\n          if (this.useTransition) slider.style[TRANSITION] = TRANSFORM + ' 0.2s linear';\n          slider.style[TRANSFORM] = 'translateX(' + offset + ') translateZ(0)';\n        }\n      },\n      _getSliderWidthAndIndex: function _getSliderWidthAndIndex() {\n        var _this3 = this;\n\n        var width = 0;\n        var index = 0;\n        if (this.tabs.length > 0) {\n          index = (0, _util.findIndex)(this.tabs, function (tab) {\n            return tab.value === _this3.value;\n          });\n          width = this.tabs[index].$el.clientWidth;\n        }\n        return {\n          width: width,\n          index: index\n        };\n      },\n      _getOffsetLeft: function _getOffsetLeft(index) {\n        return this.tabs[index].$el.offsetLeft || 0;\n      },\n      _resizeHandler: function _resizeHandler() {\n        var _this4 = this;\n\n        clearTimeout(this._resizeTimer);\n        this._resizeTimer = setTimeout(function () {\n          _this4._updateSliderStyle();\n        }, 60);\n      },\n      _cleanUp: function _cleanUp() {\n        clearTimeout(this._resizeTimer);\n        window.removeEventListener('resize', this._resizeHandler);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.tab = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-tab';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      value: {\n        type: [String, Number],\n        default: function _default() {\n          return this.label;\n        }\n      },\n      icon: {\n        type: String,\n        default: ''\n      }\n    },\n    mounted: function mounted() {\n      this.$parent.addTab(this);\n    },\n    destroyed: function destroyed() {\n      this.$parent.removeTab(this);\n    },\n\n    computed: {\n      isActive: function isActive() {\n        return this.$parent.value === this.value;\n      }\n    },\n    methods: {\n      handleClick: function handleClick(item) {\n        this.$parent.trigger(this.value);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-tab\",\n    class: {\n      'cube-tab_active': _vm.isActive\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [_vm._t(\"icon\", [_c('i', {\n    class: _vm.icon\n  })]), _vm._v(\" \"), _vm._t(\"default\", [_c('div', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.label)\n    }\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-tab-bar\",\n    class: {\n      'cube-tab-bar_inline': _vm.inline\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-tab', {\n      key: item.value || item.label,\n      attrs: {\n        \"label\": item.label,\n        \"value\": item.value,\n        \"icon\": item.icon\n      }\n    })\n  })), _vm._v(\" \"), (_vm.showSlider) ? _c('div', {\n    ref: \"slider\",\n    staticClass: \"cube-tab-bar-slider\"\n  }) : _vm._e()], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(194), __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/tab-panels/tab-panels.vue'), require('../../components/tab-panels/tab-panel.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tabPanels, global.tabPanel);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _tabPanels, _tabPanel) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tabPanels2 = _interopRequireDefault(_tabPanels);\n\n  var _tabPanel2 = _interopRequireDefault(_tabPanel);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _tabPanels2.default.install = function (Vue) {\n    Vue.component(_tabPanels2.default.name, _tabPanels2.default);\n    Vue.component(_tabPanel2.default.name, _tabPanel2.default);\n  };\n\n  _tabPanels2.default.Panel = _tabPanel2.default;\n\n  exports.default = _tabPanels2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(195)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(196),\n  /* template */\n  __webpack_require__(200),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(2), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./tab-panel.vue'), require('../../common/helpers/util'), require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tabPanel, global.util, global.dom);\n    global.tabPanels = mod.exports;\n  }\n})(this, function (module, exports, _tabPanel, _util, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tabPanel2 = _interopRequireDefault(_tabPanel);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSFORM = (0, _dom.prefixStyle)('transform');\n\n  var COMPONENT_NAME = 'cube-tab-panels';\n  var INDEX_OUT_OF_BOUNDARY = -1;\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [String, Number]\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      }\n    },\n    created: function created() {\n      this.panels = [];\n    },\n    mounted: function mounted() {\n      this._move(this.value);\n    },\n\n    methods: {\n      _move: function _move(value) {\n        var curIndex = (0, _util.findIndex)(this.panels, function (panel) {\n          return panel.value === value;\n        });\n\n        if (curIndex === INDEX_OUT_OF_BOUNDARY) {\n          return;\n        }\n        var panelsGroup = this.$refs.panelsGroup;\n        var distance = -(curIndex * 100);\n        panelsGroup.style[TRANSFORM] = 'translateX(' + distance + '%)';\n      },\n      addPanel: function addPanel(panel) {\n        this.panels.push(panel);\n      },\n      removePanel: function removePanel(panel) {\n        var index = this.panels.indexOf(panel);\n        if (index > -1) this.panels.splice(index, 1);\n      }\n    },\n    watch: {\n      value: function value(newV) {\n        this._move(newV);\n      }\n    },\n    components: { TabPanel: _tabPanel2.default }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.tabPanel = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-tab-panel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      value: {\n        type: [String, Number],\n        default: function _default() {\n          return this.label;\n        }\n      }\n    },\n    mounted: function mounted() {\n      this.$parent.addPanel(this);\n    },\n    destroyed: function destroyed() {\n      this.$parent.removePanel(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-tab-panel\"\n  }, [_vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"panels\",\n    staticClass: \"cube-tab-panels\"\n  }, [_c('div', {\n    ref: \"panelsGroup\",\n    staticClass: \"cube-tab-panels-group\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-tab-panel', {\n      key: item.value || item.label,\n      attrs: {\n        \"label\": item.label,\n        \"value\": item.value\n      }\n    }, [_vm._v(\"\\n        \" + _vm._s(item.label) + \"\\n      \")])\n  }))], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(27)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/checkbox/checkbox.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _checkbox) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _checkbox2.default.install = function (Vue) {\n    Vue.component(_checkbox2.default.name, _checkbox2.default);\n  };\n\n  exports.default = _checkbox2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(27), __webpack_require__(90)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/checkbox/checkbox.vue'), require('../../components/checkbox-group/checkbox-group.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox, global.checkboxGroup);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _checkbox, _checkboxGroup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _checkboxGroup2.default.install = function (Vue) {\n    Vue.component(_checkbox2.default.name, _checkbox2.default);\n    Vue.component(_checkboxGroup2.default.name, _checkboxGroup2.default);\n  };\n\n  _checkboxGroup2.default.Checkbox = _checkbox2.default;\n\n  exports.default = _checkboxGroup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(27), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../checkbox/checkbox.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkbox, global.groupCol);\n    global.checkboxGroup = mod.exports;\n  }\n})(this, function (module, exports, _checkbox, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-checkbox-group';\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    props: {\n      value: {\n        type: Array\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      },\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: Infinity\n      }\n    },\n    data: function data() {\n      return {\n        _value: [],\n        _checkboxGroup: true\n      };\n    },\n\n    computed: {\n      groupClass: function groupClass() {\n        if (!this.horizontal || this.colNum > 1) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler: function handler(newValue, oldValue) {\n          this._value = this.value.concat();\n        }\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$on(EVENT_CHECKED, function (value) {\n        if (_this._value.length < _this.max && _this._value.indexOf(value) === -1) {\n          _this._value.push(value);\n        }\n        _this.$emit(EVENT_INPUT, _this._value);\n      });\n      this.$on(EVENT_CANCLE_CHECKED, function (value) {\n        var index = _this._value.indexOf(value);\n        if (_this._value.length > _this.min && index > -1) {\n          _this._value.splice(index, 1);\n        }\n        _this.$emit(EVENT_INPUT, _this._value);\n      });\n    },\n\n    components: {\n      CubeCheckbox: _checkbox2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-checkbox-group\",\n    class: _vm.groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-checkbox', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"shape\": _vm.shape,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(92), __webpack_require__(93)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/checker/checker.vue'), require('../../components/checker/checker-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checker, global.checkerItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _checker, _checkerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checker2 = _interopRequireDefault(_checker);\n\n  var _checkerItem2 = _interopRequireDefault(_checkerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _checker2.default.install = function (Vue) {\n    Vue.component(_checker2.default.name, _checker2.default);\n    Vue.component(_checkerItem2.default.name, _checkerItem2.default);\n  };\n\n  _checker2.default.Item = _checkerItem2.default;\n\n  exports.default = _checker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(93)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./checker-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.checkerItem);\n    global.checker = mod.exports;\n  }\n})(this, function (module, exports, _checkerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _checkerItem2 = _interopRequireDefault(_checkerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-checker';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: [String, Number, Array],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      type: {\n        type: String,\n        default: 'checkbox'\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: function _default() {\n          return this.options.length;\n        }\n      }\n    },\n    data: function data() {\n      return {\n        currentValue: this.value\n      };\n    },\n\n    computed: {\n      isRadio: function isRadio() {\n        return this.type === 'radio';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.currentValue = newValue;\n      },\n      currentValue: function currentValue(val) {\n        this.$emit(EVENT_INPUT, val);\n      }\n    },\n    methods: {\n      check: function check(option) {\n        if (this.isRadio) {\n          this.checkRadio(option);\n        } else {\n          this.checkCheckbox(option);\n        }\n      },\n      checkRadio: function checkRadio(option) {\n        this.currentValue = option.value;\n      },\n      checkCheckbox: function checkCheckbox(option) {\n        var value = option.value;\n        var currentValue = this.currentValue;\n        var valueLen = currentValue.length;\n        var min = this.min;\n        var max = this.max;\n\n        var index = currentValue.indexOf(value);\n\n        if (index > -1) {\n          valueLen > min && currentValue.splice(index, 1);\n        } else {\n          valueLen < max && currentValue.push(value);\n        }\n      }\n    },\n    components: {\n      CubeCheckerItem: _checkerItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkerItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checker-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      option: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      isActive: function isActive() {\n        var isRadio = this.$parent.isRadio;\n        var currentValue = this.$parent.currentValue;\n        var value = this.option.value;\n        return isRadio ? currentValue === value : currentValue.indexOf(value) >= 0;\n      },\n      isDisabled: function isDisabled() {\n        return this.option.disabled;\n      }\n    },\n    methods: {\n      clickHandler: function clickHandler() {\n        if (this.isDisabled) {\n          return;\n        }\n        this.$parent.check(this.option);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-checker-item\",\n    class: {\n      'cube-checker-item_active': _vm.isActive, 'cube-checker-item_disabled': _vm.isDisabled\n    },\n    on: {\n      \"click\": _vm.clickHandler\n    }\n  }, [_vm._t(\"default\", [_c('span', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.option.text)\n    }\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('ul', {\n    staticClass: \"cube-checker\"\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-checker-item', {\n      key: index,\n      attrs: {\n        \"option\": option\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(94), __webpack_require__(65)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/radio/radio-group.vue'), require('../../components/radio/radio.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radioGroup, global.radio);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _radioGroup, _radio) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radioGroup2 = _interopRequireDefault(_radioGroup);\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _radioGroup2.default.install = function (Vue) {\n    Vue.component(_radioGroup2.default.name, _radioGroup2.default);\n    Vue.component(_radio2.default.name, _radio2.default);\n  };\n\n  _radioGroup2.default.Radio = _radio2.default;\n\n  exports.default = _radioGroup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(65), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./radio.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radio, global.groupCol);\n    global.radioGroup = mod.exports;\n  }\n})(this, function (module, exports, _radio, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-radio-group';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    provide: function provide() {\n      return {\n        radioGroup: this\n      };\n    },\n\n    props: {\n      value: [String, Number],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        this.$emit(EVENT_INPUT, newV);\n      }\n    },\n    computed: {\n      _groupClass: function _groupClass() {\n        if (!this.horizontal) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    components: {\n      CubeRadio: _radio2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.radio = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-radio';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      radioGroup: {\n        default: null\n      }\n    },\n    props: {\n      value: [String, Number],\n      option: {\n        type: [String, Object],\n        required: true\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      var radioGroup = this.radioGroup;\n      if (radioGroup && radioGroup.radioValue !== void 0) {\n        this.radioValue = radioGroup.radioValue;\n        this._cancelWatchGroup = this.$watch(function () {\n          return radioGroup.radioValue;\n        }, function (newValue) {\n          _this.radioValue = newValue;\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this._cancelWatchGroup && this._cancelWatchGroup();\n      this._cancelWatchGroup = null;\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        if (typeof this.value === 'number') {\n          newV = Number(newV);\n        }\n        this.$emit(EVENT_INPUT, newV);\n        if (this.radioGroup) {\n          this.radioGroup.radioValue = newV;\n        }\n      }\n    },\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        if (typeof option === 'string') {\n          return {\n            value: option,\n            label: option\n          };\n        }\n        return option;\n      },\n      _containerClass: function _containerClass() {\n        var option = this.computedOption;\n        return {\n          'cube-radio-hollow': this.hollowStyle,\n          'cube-radio_selected': this.radioValue === option.value,\n          'cube-radio_disabled': option.disabled,\n          'border-right-1px': this.$parent.horizontal\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        var parent = this.$parent;\n        if (!(parent.horizontal || parent.$props.colNum > 1)) {\n          return 'border-bottom-1px';\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-radio\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-radio-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.radioValue),\n      expression: \"radioValue\"\n    }],\n    staticClass: \"cube-radio-input\",\n    attrs: {\n      \"type\": \"radio\",\n      \"disabled\": _vm.option.disabled\n    },\n    domProps: {\n      \"value\": _vm.computedOption.value,\n      \"checked\": _vm._q(_vm.radioValue, _vm.computedOption.value)\n    },\n    on: {\n      \"change\": function($event) {\n        _vm.radioValue = _vm.computedOption.value\n      }\n    }\n  }), _vm._v(\" \"), _vm._m(0), _vm._v(\" \"), _vm._t(\"default\", [_c('span', {\n    staticClass: \"cube-radio-label\"\n  }, [_vm._v(_vm._s(_vm.computedOption.label))])])], 2)])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('span', {\n    staticClass: \"cube-radio-ui cubeic-round-border\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-radio-group\",\n    class: _vm._groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-radio', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      },\n      model: {\n        value: (_vm.radioValue),\n        callback: function($$v) {\n          _vm.radioValue = $$v\n        },\n        expression: \"radioValue\"\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(50)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/input/input.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.input);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _input2.default.install = function (Vue) {\n    Vue.component(_input2.default.name, _input2.default);\n  };\n\n  exports.default = _input2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(13), __webpack_require__(95)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-input';\n  var EVENT_INPUT = 'input';\n  var EVENT_BLUR = 'blur';\n  var EVENT_FOCUS = 'focus';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    props: {\n      value: [String, Number],\n      type: {\n        type: String,\n        default: 'text'\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      placeholder: String,\n      readonly: {\n        type: Boolean,\n        default: false\n      },\n      autofocus: {\n        type: Boolean,\n        default: false\n      },\n      autocomplete: {\n        type: [Boolean, String],\n        default: false\n      },\n      name: String,\n      id: String,\n      form: String,\n      minlength: Number,\n      maxlength: Number,\n      resize: String,\n      min: Number,\n      max: Number,\n      step: Number,\n      tabindex: String,\n      pattern: String,\n      clearable: {\n        type: [Boolean, Object],\n        default: false\n      },\n      eye: {\n        type: [Boolean, Object],\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        inputValue: this.value,\n        isFocus: false,\n        formatedClearable: {\n          visible: false,\n          blurHidden: true\n        },\n        formatedEye: {\n          open: false,\n          reverse: false\n        }\n      };\n    },\n\n    computed: {\n      _type: function _type() {\n        var type = this.type;\n        if (type === 'password' && this.eye && this.pwdVisible) {\n          return 'text';\n        }\n        return type;\n      },\n      _showClear: function _showClear() {\n        var visible = this.formatedClearable.visible && this.inputValue && !this.readonly && !this.disabled;\n        if (this.formatedClearable.blurHidden && !this.isFocus) {\n          visible = false;\n        }\n        return visible;\n      },\n      _showPwdEye: function _showPwdEye() {\n        return this.type === 'password' && this.eye && !this.disabled;\n      },\n      pwdVisible: function pwdVisible() {\n        var eye = this.formatedEye;\n        return eye.reverse ? !eye.open : eye.open;\n      },\n      eyeClass: function eyeClass() {\n        return this.formatedEye.open ? 'cubeic-eye-visible' : 'cubeic-eye-invisible';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.inputValue = newValue;\n      },\n      inputValue: function inputValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n      },\n\n      clearable: {\n        handler: function handler() {\n          this.formatClearable();\n        },\n\n        deep: true,\n        immediate: true\n      },\n      eye: {\n        handler: function handler() {\n          this.formateEye();\n        },\n\n        deep: true,\n        immediate: true\n      }\n    },\n    methods: {\n      formatClearable: function formatClearable() {\n        if (typeof this.clearable === 'boolean') {\n          this.formatedClearable.visible = this.clearable;\n        } else {\n          (0, _assign2.default)(this.formatedClearable, this.clearable);\n        }\n      },\n      formateEye: function formateEye() {\n        if (typeof this.eye === 'boolean') {\n          this.formatedEye.open = this.eye;\n        } else {\n          (0, _assign2.default)(this.formatedEye, this.eye);\n        }\n      },\n      handleFocus: function handleFocus(e) {\n        this.$emit(EVENT_FOCUS, e);\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit(EVENT_BLUR, e);\n        this.isFocus = false;\n      },\n      handleClear: function handleClear(e) {\n        this.inputValue = '';\n        this.$refs.input.focus();\n      },\n      handlePwdEye: function handlePwdEye() {\n        this.formatedEye.open = !this.formatedEye.open;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(223);\nmodule.exports = __webpack_require__(1).Object.assign;\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(224) });\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(25);\nvar gOPS = __webpack_require__(63);\nvar pIE = __webpack_require__(37);\nvar toObject = __webpack_require__(44);\nvar IObject = __webpack_require__(81);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(24)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-input\",\n    class: {\n      'cube-input_active': _vm.isFocus\n    }\n  }, [(_vm.$slots.prepend) ? _c('div', {\n    staticClass: \"cube-input-prepend\"\n  }, [_vm._t(\"prepend\")], 2) : _vm._e(), _vm._v(\" \"), ((_vm._type) === 'checkbox') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"checkbox\"\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.inputValue) ? _vm._i(_vm.inputValue, null) > -1 : (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        var $$a = _vm.inputValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.inputValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.inputValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.inputValue = $$c\n        }\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : ((_vm._type) === 'radio') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"radio\"\n    },\n    domProps: {\n      \"checked\": _vm._q(_vm.inputValue, null)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        _vm.inputValue = null\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": _vm._type\n    },\n    domProps: {\n      \"value\": (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.inputValue = $event.target.value\n      }\n    }\n  }, 'input', _vm.$props, false)), _vm._v(\" \"), (_vm.$slots.append || _vm._showClear || _vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-append\"\n  }, [(_vm._showClear) ? _c('div', {\n    staticClass: \"cube-input-clear\",\n    on: {\n      \"touchend\": _vm.handleClear\n    }\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\"\n  })]) : _vm._e(), _vm._v(\" \"), (_vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-eye\",\n    on: {\n      \"click\": _vm.handlePwdEye\n    }\n  }, [_c('i', {\n    class: _vm.eyeClass\n  })]) : _vm._e(), _vm._v(\" \"), _vm._t(\"append\")], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(96)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/textarea/textarea.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.textarea);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _textarea) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _textarea2 = _interopRequireDefault(_textarea);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _textarea2.default.install = function (Vue) {\n    Vue.component(_textarea2.default.name, _textarea2.default);\n  };\n\n  exports.default = _textarea2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(13), __webpack_require__(95)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.textarea = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-textarea';\n  var EVENT_INPUT = 'input';\n\n  var DEFAULT_INDICATOR = {\n    negative: true,\n    remain: true\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    data: function data() {\n      return {\n        textareaValue: this.value,\n        expanded: this.forceExpand ? true : this.autoExpand ? !!this.value : false,\n        isFocus: false\n      };\n    },\n\n    props: {\n      value: {\n        type: String,\n        default: ''\n      },\n      cols: Number,\n      rows: Number,\n      readonly: Boolean,\n      wrap: String,\n      required: Boolean,\n      placeholder: {\n        type: String,\n        default: 'please type here...'\n      },\n      dirname: String,\n      form: String,\n      name: String,\n      autofocus: Boolean,\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      maxlength: {\n        type: Number,\n        default: 60\n      },\n      indicator: {\n        type: [Boolean, Object],\n        default: true\n      },\n      autoExpand: {\n        type: Boolean,\n        default: false\n      },\n      forceExpand: {\n        type: Boolean,\n        default: false\n      }\n    },\n    computed: {\n      indicatorConf: function indicatorConf() {\n        var indicator = this.indicator;\n        if (typeof indicator === 'boolean') {\n          indicator = {};\n        }\n        return (0, _assign2.default)({}, DEFAULT_INDICATOR, indicator);\n      },\n      count: function count() {\n        return this.textareaValue.length;\n      },\n      remain: function remain() {\n        var diff = this.maxlength - this.count;\n        if (!this.indicatorConf.negative && diff < 0) {\n          diff = 0;\n        }\n        return diff;\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.textareaValue = newValue;\n      },\n      textareaValue: function textareaValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n        if (!this.forceExpand && !this.isFocus && this.expanded) {\n          this.expanded = false;\n        }\n      }\n    },\n    methods: {\n      handleFocus: function handleFocus(e) {\n        this.$emit('focus', e);\n        this.expanded = true;\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit('blur', e);\n        if (!this.forceExpand && this.textareaValue.length === 0) {\n          this.expanded = false;\n        }\n        this.isFocus = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-textarea-wrapper\",\n    class: {\n      'cube-textarea_expanded': _vm.expanded, 'cube-textarea_active': _vm.isFocus\n    }\n  }, [_c('textarea', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.textareaValue),\n      expression: \"textareaValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-textarea\",\n    attrs: {\n      \"placeholder\": _vm.placeholder,\n      \"maxlength\": _vm.maxlength,\n      \"disabled\": _vm.disabled\n    },\n    domProps: {\n      \"value\": (_vm.textareaValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.textareaValue = $event.target.value\n      }\n    }\n  }, 'textarea', _vm.$props, false)), _vm._v(\" \"), _vm._t(\"indicator\", [(_vm.indicator) ? _c('span', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.expanded),\n      expression: \"expanded\"\n    }],\n    staticClass: \"cube-textarea-indicator\"\n  }, [_vm._v(_vm._s(_vm.indicatorConf.remain ? _vm.remain : _vm.count))]) : _vm._e()], {\n    remain: _vm.remain,\n    count: _vm.count\n  })], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(101), __webpack_require__(29), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/select/select.vue'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.select, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _select, _api, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _select2 = _interopRequireDefault(_select);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _select2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_select2.default.name, _select2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _picker2.default);\n  };\n\n  _select2.default.Picker = _picker2.default;\n\n  exports.default = _select2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(51), __webpack_require__(52), __webpack_require__(28), __webpack_require__(5), __webpack_require__(8), __webpack_require__(100), __webpack_require__(40), __webpack_require__(11), __webpack_require__(68)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(234), __esModule: true };\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(36);\n__webpack_require__(235);\nmodule.exports = __webpack_require__(1).Array.from;\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(44);\nvar call = __webpack_require__(97);\nvar isArrayIter = __webpack_require__(98);\nvar toLength = __webpack_require__(56);\nvar createProperty = __webpack_require__(236);\nvar getIterFn = __webpack_require__(66);\n\n$export($export.S + $export.F * !__webpack_require__(99)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(14);\nvar createDesc = __webpack_require__(32);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(23), __webpack_require__(5), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(35), __webpack_require__(2), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/typeof'), require('../../common/helpers/util'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._typeof, global.util, global.locale);\n    global.select = mod.exports;\n  }\n})(this, function (module, exports, _typeof2, _util, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-select';\n\n  var EVENT_CHANGE = 'change';\n  var EVENT_INPUT = 'input';\n  var EVENT_PICKER_SHOW = 'picker-show';\n  var EVENT_PICKER_HIDE = 'picker-hide';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_locale2.default],\n    data: function data() {\n      return {\n        active: false\n      };\n    },\n\n    props: {\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      value: null,\n      placeholder: {\n        type: String,\n        default: ''\n      },\n      autoPop: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      adaptOptions: function adaptOptions() {\n        return [this.options.map(function (item) {\n          if ((typeof item === 'undefined' ? 'undefined' : (0, _typeof3.default)(item)) !== 'object') {\n            item = {\n              value: item,\n              text: item\n            };\n          }\n          return item;\n        })];\n      },\n      valueIndex: function valueIndex() {\n        var val = this.value;\n        var index = (0, _util.findIndex)(this.adaptOptions[0], function (item) {\n          return item.value === val;\n        });\n        this.picker && this.picker.setData(this.adaptOptions, index !== -1 ? [index] : [0]);\n\n        return index;\n      },\n      selectedIndex: function selectedIndex() {\n        return this.valueIndex !== -1 ? [this.valueIndex] : [0];\n      },\n      selectedText: function selectedText() {\n        return this.valueIndex !== -1 ? this.adaptOptions[0][this.valueIndex].text : '';\n      },\n      _placeholder: function _placeholder() {\n        return this.placeholder || this.$t('selectText');\n      },\n      _title: function _title() {\n        return this.title || this.$t('selectText');\n      },\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    },\n    created: function created() {\n      this.picker = this.$createPicker({\n        $props: {\n          title: '_title',\n          data: 'adaptOptions',\n          selectedIndex: 'selectedIndex',\n          cancelTxt: '_cancelTxt',\n          confirmTxt: '_confirmTxt'\n        },\n        $events: {\n          select: 'selectHandler',\n          cancel: this.hided\n        }\n      });\n      this.autoPop && this.showPicker();\n    },\n\n    methods: {\n      showPicker: function showPicker() {\n        if (this.disabled) {\n          return;\n        }\n        this.picker.show();\n        this.active = true;\n        this.$emit(EVENT_PICKER_SHOW);\n      },\n      hided: function hided() {\n        this.active = false;\n        this.$emit(EVENT_PICKER_HIDE);\n      },\n      selectHandler: function selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.hided();\n        if (selectedVal[0] !== this.value) {\n          this.$emit(EVENT_INPUT, selectedVal[0]);\n          this.$emit(EVENT_CHANGE, selectedVal[0], selectedIndex[0], selectedText[0]);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-select\",\n    class: {\n      'cube-select_active': _vm.active, 'cube-select_disabled': _vm.disabled\n    },\n    on: {\n      \"click\": _vm.showPicker\n    }\n  }, [(_vm.selectedText) ? _c('span', {\n    staticClass: \"cube-select-text\"\n  }, [_vm._v(_vm._s(_vm.selectedText))]) : _c('span', {\n    staticClass: \"cube-select-placeholder\"\n  }, [_vm._v(_vm._s(_vm._placeholder))]), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-select-icon\"\n  })])\n},staticRenderFns: []}\n\n/***/ }),\n/* 244 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(102)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/switch/switch.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._switch);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _switch) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _switch2 = _interopRequireDefault(_switch);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _switch2.default.install = function (Vue) {\n    Vue.component(_switch2.default.name, _switch2.default);\n  };\n\n  exports.default = _switch2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global._switch = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-switch';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        checkboxValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newVal) {\n        this.checkboxValue = newVal;\n      },\n      checkboxValue: function checkboxValue(newVal) {\n        this.$emit(EVENT_INPUT, newVal);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-switch\"\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkboxValue),\n      expression: \"checkboxValue\"\n    }],\n    staticClass: \"cube-switch-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkboxValue) ? _vm._i(_vm.checkboxValue, null) > -1 : (_vm.checkboxValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkboxValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkboxValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkboxValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkboxValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-switch-ui\"\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-switch-label\"\n  }, [_vm._t(\"default\")], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(103), __webpack_require__(104)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/rate/rate.vue'), require('../../components/rate/rate-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.rate, global.rateItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _rate, _rateItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _rate2 = _interopRequireDefault(_rate);\n\n  var _rateItem2 = _interopRequireDefault(_rateItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _rate2.default.install = function (Vue) {\n    Vue.component(_rate2.default.name, _rate2.default);\n    Vue.component(_rateItem2.default.name, _rateItem2.default);\n  };\n  _rate2.default.Item = _rateItem2.default;\n  exports.default = _rate2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(104)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./rate-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.rateItem);\n    global.rate = mod.exports;\n  }\n})(this, function (module, exports, _rateItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _rateItem2 = _interopRequireDefault(_rateItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-rate';\n  var EVENT_INPUT = 'input';\n\n  var EVENT_TYPE_MOUSE = 'mouse';\n  function isMouseEvent(e) {\n    return e.type.indexOf(EVENT_TYPE_MOUSE) > -1;\n  }\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: 5\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      justify: {\n        type: Boolean,\n        default: false\n      },\n      allowHalf: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        tempValue: 0\n      };\n    },\n    created: function created() {\n      this.mousePressed = false;\n    },\n\n    computed: {\n      rateClass: function rateClass() {\n        return this.justify && 'cube-rate-justify';\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler: function handler(val) {\n          if (val !== this.tempValue) {\n            this.tempValue = this.handleNum(val);\n          }\n        }\n      }\n    },\n    methods: {\n      handleStart: function handleStart(e) {\n        if (!this.disabled) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = true;\n            document.addEventListener('mouseup', this.handleEnd);\n            document.addEventListener('mousemove', this.handleMove);\n          }\n          var rect = this.$refs.rateContainer.getBoundingClientRect();\n          this.left = rect.left;\n          this.containerWidth = rect.width;\n        }\n      },\n      handleMove: function handleMove(e) {\n        if (this.disabled) return;\n\n        if (!isMouseEvent(e)) {\n          this.computeTempValue(e.touches[0]);\n        } else if (this.mousePressed) {\n          this.computeTempValue(e);\n        }\n      },\n      handleEnd: function handleEnd(e) {\n        if (this.disabled) return;\n        if (!isMouseEvent(e) || this.mousePressed) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = false;\n            document.removeEventListener('mouseup', this.handleEnd);\n            document.removeEventListener('mousemove', this.handleMove);\n          }\n          this.computeTempValue(isMouseEvent(e) ? e : e.changedTouches[0]);\n          this.$emit(EVENT_INPUT, this.tempValue);\n        }\n      },\n      handleNum: function handleNum(num) {\n        if (this.allowHalf) {\n          var baseNum = Math.ceil(num) - 0.5;\n          num = num <= baseNum ? baseNum : baseNum + 0.5;\n        } else {\n          num = Math.ceil(num);\n        }\n        return num;\n      },\n      computeTempValue: function computeTempValue(touch) {\n        var num = (touch.clientX - this.left) / this.containerWidth * this.max;\n        num = this.handleNum(num);\n        if (num > 0 && num <= this.max) {\n          this.tempValue = num;\n        } else if (num <= 0) {\n          this.tempValue = 0;\n        } else {\n          this.tempValue = this.max;\n        }\n      }\n    },\n    components: {\n      CubeRateItem: _rateItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.rateItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-rate-item';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      index: {\n        type: Number,\n        default: 0\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-rate-item\",\n    class: {\n      'cube-rate-item_active': _vm.index <= _vm.$parent.tempValue,\n        'cube-rate-item_half_active': _vm.index === _vm.$parent.tempValue + 0.5\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-rate-item-def\"\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('ul', {\n    ref: \"rateContainer\",\n    staticClass: \"cube-rate\",\n    class: _vm.rateClass,\n    on: {\n      \"touchstart\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleStart($event)\n      },\n      \"touchmove\": function($event) {\n        $event.stopPropagation();\n        $event.preventDefault();\n        return _vm.handleMove($event)\n      },\n      \"touchend\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleEnd($event)\n      },\n      \"mousedown\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleStart($event)\n      },\n      \"mousemove\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleMove($event)\n      },\n      \"mouseup\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleEnd($event)\n      }\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.max), function(n) {\n    return _c('cube-rate-item', {\n      key: n,\n      attrs: {\n        \"index\": n\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(69), __webpack_require__(6), __webpack_require__(70)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/validator/validator.vue'), require('../../common/locale'), require('../../common/helpers/validator'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.validator, global.locale, global.validator);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _validator, _locale, _validator3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _validator2.default.install = function (Vue) {\n    Vue.component(_validator2.default.name, _validator2.default);\n    _locale2.default.install(Vue);\n    _validator2.default._base = Vue;\n  };\n\n  _validator2.default.addRule = _validator3.addRule;\n  _validator2.default.addMessage = _validator3.addMessage;\n  _validator2.default.addType = _validator3.addType;\n  _validator2.default.addHelper = _locale2.default.addHelper;\n\n  exports.default = _validator2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(35), __webpack_require__(20), __webpack_require__(2), __webpack_require__(70), __webpack_require__(11), __webpack_require__(261)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/typeof'), require('babel-runtime/core-js/object/keys'), require('../../common/helpers/util'), require('../../common/helpers/validator'), require('../../common/mixins/locale'), require('../../common/helpers/string-template'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._typeof, global.keys, global.util, global.validator, global.locale, global.stringTemplate);\n    global.validator = mod.exports;\n  }\n})(this, function (module, exports, _typeof2, _keys, _util, _validator, _locale, _stringTemplate) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _stringTemplate2 = _interopRequireDefault(_stringTemplate);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-validator';\n  var EVENT_INPUT = 'input';\n  var EVENT_VALIDATING = 'validating';\n  var EVENT_VALIDATED = 'validated';\n  var EVENT_MSG_CLICK = 'msg-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_locale2.default],\n    props: {\n      model: {\n        required: true\n      },\n      modelKey: {\n        type: String,\n        default: ''\n      },\n      rules: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      messages: {\n        type: [Object, String],\n        default: function _default() {\n          return {};\n        }\n      },\n      value: {},\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      immediate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        valid: this.value,\n        validated: false,\n        msg: '',\n        dirty: false,\n        validating: false,\n        result: {}\n      };\n    },\n\n    computed: {\n      targetModel: function targetModel() {\n        var modelKey = this.modelKey;\n        var model = this.model;\n        return modelKey ? model[modelKey] : model;\n      },\n      invalid: function invalid() {\n        var valid = this.valid;\n        return (0, _util.isUndef)(valid) ? undefined : !valid;\n      },\n      isDisabled: function isDisabled() {\n        var disabled = this.disabled;\n        var noRules = (0, _keys2.default)(this.rules).length <= 0;\n        return disabled || noRules;\n      },\n      dirtyOrValidated: function dirtyOrValidated() {\n        return (this.dirty || this.validated) && !this.validating;\n      },\n      containerClass: function containerClass() {\n        var disabled = this.isDisabled;\n        if (disabled) {\n          return;\n        }\n        return {\n          'cube-validator_invalid': this.invalid,\n          'cube-validator_valid': this.valid,\n          'cube-validator_validating': this.validating\n        };\n      }\n    },\n    watch: {\n      value: function value(newVal) {\n        this.valid = newVal;\n      },\n\n      targetModel: {\n        handler: function handler() {\n          if (this.isDisabled) {\n            return;\n          }\n          if (!this.dirty) {\n            this.dirty = true;\n          }\n\n          this.validate();\n        },\n\n        sync: true\n      },\n      rules: function rules() {\n        this.validate();\n      },\n      isDisabled: function isDisabled(newVal) {\n        if (!newVal && this.trigger && !this.validated) {\n          this.validate();\n        }\n      }\n    },\n    created: function created() {\n      this._validateCount = 0;\n      if (!this.isDisabled && this.immediate) {\n        this.validate();\n      }\n    },\n\n    methods: {\n      validate: function validate(cb) {\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        if (this.isDisabled) {\n          cb && cb(this.valid);\n          return promise;\n        }\n        this._validateCount++;\n        var validateCount = this._validateCount;\n        var val = this.targetModel;\n\n        var configRules = this.rules;\n        var type = configRules.type;\n        var allTasks = [];\n\n        var requiredValid = true;\n        if (!configRules.required) {\n          requiredValid = _validator.rules.required(val, true, type);\n        }\n\n        if (requiredValid) {\n          var _loop = function _loop(key) {\n            var ruleValue = configRules[key];\n            var ret = void 0;\n            if ((0, _util.isFunc)(ruleValue)) {\n              ret = ruleValue(val, configRules[key], type);\n            } else {\n              ret = !_validator.rules[key] || _validator.rules[key](val, configRules[key], type);\n            }\n            allTasks.push(function (next) {\n              var resolve = function resolve(_ret) {\n                next({\n                  key: key,\n                  valid: _ret === true,\n                  ret: _ret\n                });\n              };\n              var reject = function reject(err) {\n                next({\n                  key: key,\n                  valid: false,\n                  ret: err\n                });\n              };\n              if ((typeof ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(ret)) === 'object' && (0, _util.isFunc)(ret.then)) {\n                ret.then(resolve).catch(reject);\n              } else if ((0, _util.isFunc)(ret)) {\n                ret(resolve, reject);\n              } else {\n                next({\n                  key: key,\n                  valid: ret === true,\n                  ret: ret\n                });\n              }\n            });\n          };\n\n          for (var key in configRules) {\n            _loop(key);\n          }\n        }\n        this._checkTasks(allTasks, validateCount, cb);\n        return promise;\n      },\n      _checkTasks: function _checkTasks(allTasks, validateCount, cb) {\n        var _this = this;\n\n        var configRules = this.rules;\n        var isValid = true;\n        var result = {};\n        var sync = true;\n        this.validating = true;\n        var model = this.targetModel;\n        (0, _util.parallel)(allTasks, function (results) {\n          if (_this._validateCount !== validateCount) {\n            return;\n          }\n          _this.validating = false;\n          results.forEach(function (_ref) {\n            var key = _ref.key,\n                valid = _ref.valid,\n                ret = _ref.ret;\n\n            var msg = _this.messages[key] ? (0, _util.isFunc)(_this.messages[key]) ? _this.messages[key](ret, valid) : _this.messages[key] : _this.findMessage(key, configRules[key], configRules.type, model);\n            if (isValid && !valid) {\n              isValid = false;\n              _this.msg = msg;\n            }\n            result[key] = {\n              valid: valid,\n              invalid: !valid,\n              message: msg\n            };\n          });\n          if (!sync) {\n            _this.$emit(EVENT_VALIDATED, isValid);\n          }\n          _this._updateModel(isValid, result);\n          cb && cb(_this.valid);\n        });\n        if (this.validating) {\n          sync = false;\n\n          this.$emit(EVENT_VALIDATING);\n          this.valid = undefined;\n          this.$emit(EVENT_INPUT, this.valid);\n        }\n      },\n      _updateModel: function _updateModel(valid, result) {\n        this.validated = true;\n        this.result = result;\n        if (result.required && result.required.invalid) {\n          this.msg = result.required.message;\n        }\n\n        if (valid) {\n          this.msg = '';\n        }\n        this.valid = valid;\n        this.$emit(EVENT_INPUT, this.valid);\n      },\n      reset: function reset() {\n        this._validateCount++;\n        this.validating = false;\n        this.dirty = false;\n        this.result = {};\n        this.msg = '';\n        this.validated = false;\n        this.valid = undefined;\n        this.$emit(EVENT_INPUT, this.valid);\n      },\n      msgClickHandler: function msgClickHandler() {\n        this.$emit(EVENT_MSG_CLICK);\n      },\n      findMessage: function findMessage(key, config, type, val) {\n        var messages = this.$cubeMessages;\n        var lang = this.$cubeLang;\n        var NAMESPACE = 'validator';\n        var target = messages[lang][NAMESPACE][key];\n        if (!target) {\n          return '';\n        }\n        if ((0, _util.isString)(target)) {\n          return target;\n        } else if ((0, _util.isFunc)(target)) {\n          return target(config);\n        } else {\n          if (!target[type]) {\n            type = (0, _util.isArray)(val) ? 'array' : typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val);\n          }\n          return typeof target[type] === 'function' ? target[type](config) : (0, _stringTemplate2.default)(target[type], config);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(20), __webpack_require__(35), __webpack_require__(2), __webpack_require__(105)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/typeof'), require('../util'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global._typeof, global.util, global.types);\n    global.rules = mod.exports;\n  }\n})(this, function (exports, _keys, _typeof2, _util, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addRule = exports.rules = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var rules = {\n    required: function required(val, _required, type) {\n      type = type || (Array.isArray(val) ? 'array' : typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'array' && Array.isArray(val)) {\n        return val.length > 0;\n      }\n      return val !== '' && val !== undefined && val !== null;\n    },\n    type: function type(val, _type) {\n      return !_types.types[_type] || _types.types[_type](val);\n    },\n    min: function min(val, _min, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'number' || type === 'date') {\n        return Number(val) >= _min;\n      } else {\n        return val.length >= _min;\n      }\n    },\n    max: function max(val, _max, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'number' || type === 'date') {\n        return Number(val) <= _max;\n      } else {\n        return val.length <= _max;\n      }\n    },\n    len: function len(val, _len, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      var target = val;\n      if (target.length === undefined) {\n        target = type === 'object' ? (0, _keys2.default)(target) : String(target);\n      }\n      return target.length === _len;\n    },\n    notWhitespace: function notWhitespace(val, config, type) {\n      return !/^\\s+$/.test(val);\n    },\n    pattern: function pattern(val, _pattern, type) {\n      return _pattern.test(val);\n    },\n    custom: function custom(val, _custom, type) {\n      return _custom(val);\n    }\n  };\n\n  var addRule = (0, _util.createAddAPI)(rules);\n\n  exports.rules = rules;\n  exports.addRule = addRule;\n});\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(23), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/helpers/defineProperty'), require('../util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.defineProperty, global.util);\n    global.messages = mod.exports;\n  }\n})(this, function (exports, _defineProperty2, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addMessage = undefined;\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addMessage() {\n    var NAMESPACE = 'validator';\n    var vueProto = this._base.prototype;\n    var lang = vueProto.$cubeLang;\n    var baseMessages = vueProto.$cubeMessages[lang][NAMESPACE];\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    if (typeof args[0] === 'string') {\n      args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n    }\n\n    (0, _util.deepAssign)(baseMessages, args[0]);\n  }\n\n  exports.addMessage = addMessage;\n});\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(2), __webpack_require__(7), __webpack_require__(78)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./util'), require('./debug'), require('../../modules/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.util, global.debug, global.locale);\n    global.stringTemplate = mod.exports;\n  }\n})(this, function (module, exports, _util, _debug, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var stringRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\n  var quoteRe = /['\"]/g;\n  var INVALID_INDEX = -1;\n\n  function format(string) {\n    var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    return string.replace(stringRE, function (match, group1, index) {\n      var helpersArr = group1.split('|').slice(1).map(function (_) {\n        return _.trim();\n      });\n      var hasHelpers = helpersArr.length;\n      var result = config;\n\n      if (hasHelpers) {\n        helpersArr.forEach(function (helperString) {\n          var _resolveHelperFnStrin = resolveHelperFnString(helperString),\n              fnName = _resolveHelperFnStrin.fnName,\n              args = _resolveHelperFnStrin.args;\n\n          args.unshift(result);\n\n          if ((0, _util.isFunc)(_locale2.default.helpers[fnName])) {\n            result = _locale2.default.helpers[fnName].apply(null, args);\n          } else {\n            (0, _debug.warn)('A helper function named \"' + fnName + '\" is not registered, ' + 'please register it by Validator.addHelper()');\n            result = '';\n          }\n        });\n      }\n\n      return result;\n    });\n  }\n\n  function resolveHelperFnString(helperString) {\n    var leftBracketsIndex = helperString.indexOf('(');\n    var rightBracketsIndex = helperString.indexOf(')');\n    var fnName = '';\n    var args = [];\n\n    if (leftBracketsIndex === INVALID_INDEX) {\n      args = [];\n      fnName = helperString;\n    } else if (leftBracketsIndex !== INVALID_INDEX && rightBracketsIndex !== INVALID_INDEX) {\n      var argsStr = helperString.slice(leftBracketsIndex + 1, rightBracketsIndex);\n      args = argsStr.split(',').map(function (_) {\n        return _.trim().replace(quoteRe, '');\n      });\n      fnName = helperString.slice(0, leftBracketsIndex);\n    }\n    return { fnName: fnName, args: args };\n  }\n\n  exports.default = format;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-validator\",\n    class: _vm.containerClass\n  }, [_c('div', {\n    staticClass: \"cube-validator-content\"\n  }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-validator-msg\",\n    on: {\n      \"click\": _vm.msgClickHandler\n    }\n  }, [_vm._t(\"message\", [_c('span', {\n    staticClass: \"cube-validator-msg-def\"\n  }, [_vm._v(_vm._s(_vm.dirtyOrValidated ? _vm.msg : ''))])], {\n    message: _vm.msg,\n    dirty: _vm.dirty,\n    validated: _vm.validated,\n    validating: _vm.validating,\n    result: _vm.result\n  })], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(106), __webpack_require__(107), __webpack_require__(109)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/upload/upload.vue'), require('../../components/upload/btn.vue'), require('../../components/upload/file.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.upload, global.btn, global.file);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _upload, _btn, _file) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _upload2 = _interopRequireDefault(_upload);\n\n  var _btn2 = _interopRequireDefault(_btn);\n\n  var _file2 = _interopRequireDefault(_file);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _upload2.default.install = function (Vue) {\n    Vue.component(_upload2.default.name, _upload2.default);\n    Vue.component(_btn2.default.name, _btn2.default);\n    Vue.component(_file2.default.name, _file2.default);\n  };\n\n  _upload2.default.Btn = _btn2.default;\n  _upload2.default.File = _file2.default;\n\n  exports.default = _upload2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(107), __webpack_require__(109), __webpack_require__(272), __webpack_require__(108), __webpack_require__(71)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./btn.vue'), require('./file.vue'), require('./ajax'), require('./btn-mixin'), require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.btn, global.file, global.ajax, global.btnMixin, global.util);\n    global.upload = mod.exports;\n  }\n})(this, function (module, exports, _btn, _file, _ajax, _btnMixin, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _btn2 = _interopRequireDefault(_btn);\n\n  var _file2 = _interopRequireDefault(_file);\n\n  var _ajax2 = _interopRequireDefault(_ajax);\n\n  var _btnMixin2 = _interopRequireDefault(_btnMixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-upload';\n  var EVENT_INPUT = 'input';\n  var EVENT_ADDED = 'files-added';\n  var EVENT_SUBMITTED = 'file-submitted';\n  var EVENT_REMOVED = 'file-removed';\n  var EVENT_SUCCESS = 'file-success';\n  var EVENT_ERROR = 'file-error';\n  var EVENT_CLICK = 'file-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_btnMixin2.default],\n    props: {\n      value: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      action: {\n        type: [String, Object],\n        default: ''\n      },\n      max: {\n        type: Number,\n        default: 10\n      },\n      auto: {\n        type: Boolean,\n        default: true\n      },\n      simultaneousUploads: {\n        type: Number,\n        default: 1\n      },\n      processFile: {\n        type: Function,\n        default: function _default(file, cb) {\n          cb(file);\n        }\n      }\n    },\n    data: function data() {\n      return {\n        files: this.value,\n        paused: !this.auto\n      };\n    },\n\n    computed: {\n      actionOptions: function actionOptions() {\n        var action = this.action;\n        if (typeof action === 'string') {\n          return action ? {\n            target: action\n          } : null;\n        } else {\n          return action;\n        }\n      },\n      isShowBtn: function isShowBtn() {\n        return this.files.length < this.max;\n      }\n    },\n    watch: {\n      value: function value(newVal) {\n        this.files = newVal;\n      },\n      files: function files(newFiles) {\n        this.$emit(EVENT_INPUT, newFiles);\n      }\n    },\n    methods: {\n      addFiles: function addFiles(files) {\n        var _this = this;\n\n        this.$emit(EVENT_ADDED, files);\n        var filesLen = this.files.length;\n        var newFiles = [];\n        var maxLen = this.max - filesLen;\n        var i = 0;\n        var file = files[i];\n        while (newFiles.length < maxLen && file) {\n          if (!file.ignore) {\n            newFiles.push(file);\n            this.files.push((0, _util.newFile)());\n          }\n          file = files[++i];\n        }\n        (0, _util.processFiles)(newFiles, this.processFile, function (file, index) {\n          _this.$set(_this.files, filesLen + index, file);\n          _this.$emit(EVENT_SUBMITTED, file);\n        }, function () {\n          _this.$nextTick(function () {\n            _this.upload();\n          });\n        });\n      },\n      removeFile: function removeFile(file) {\n        this.$emit(EVENT_REMOVED, file);\n        file._xhr && file._xhr.abort();\n        if (file.url) {\n          _util.URL.revokeObjectURL(file.url);\n        }\n        var index = this.files.indexOf(file);\n        this.files.splice(index, 1);\n        this.upload();\n      },\n      fileClick: function fileClick(file, index) {\n        this.$emit(EVENT_CLICK, file, index);\n      },\n      upload: function upload(retry) {\n        var _this2 = this;\n\n        var options = this.actionOptions;\n        if (this.paused || !options) {\n          return;\n        }\n        var len = this.files.length;\n        var uploadingCount = 0;\n        var i = 0;\n\n        var _loop = function _loop() {\n          var file = _this2.files[i];\n          var status = file.status;\n          if (status === _util.STATUS_READY || retry && status === _util.STATUS_ERROR && file._retryId !== _this2.retryId) {\n            (0, _ajax2.default)(file, options, function (file) {\n              if (status === _util.STATUS_ERROR) {\n                file._retryId = _this2.retryId;\n              }\n              _this2.$emit(file.status === _util.STATUS_SUCCESS ? EVENT_SUCCESS : EVENT_ERROR, file);\n              _this2.upload(retry);\n            });\n            uploadingCount++;\n          } else if (status === _util.STATUS_UPLOADING) {\n            uploadingCount++;\n          }\n          i++;\n        };\n\n        while (i < len && uploadingCount < this.simultaneousUploads) {\n          _loop();\n        }\n      },\n      start: function start() {\n        this.paused = false;\n        this.upload();\n      },\n      pause: function pause() {\n        this.paused = true;\n        this.files.forEach(function (file) {\n          if (file.status === _util.STATUS_UPLOADING) {\n            file._xhr.abort();\n            file.status = _util.STATUS_READY;\n          }\n        });\n      },\n      retry: function retry() {\n        this.retryId = Date.now();\n        this.paused = false;\n        this.upload(true);\n      }\n    },\n    components: {\n      UploadBtn: _btn2.default,\n      UploadFile: _file2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(108)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./btn-mixin'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.btnMixin);\n    global.btn = mod.exports;\n  }\n})(this, function (module, exports, _btnMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _btnMixin2 = _interopRequireDefault(_btnMixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-upload-btn';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_btnMixin2.default],\n    methods: {\n      changeHandler: function changeHandler(e) {\n        var fileEle = e.currentTarget;\n        var files = fileEle.files;\n        if (files) {\n          this.$parent.addFiles(files);\n          fileEle.value = null;\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-btn\"\n  }, [_vm._t(\"default\", [_vm._m(0)]), _vm._v(\" \"), _c('input', {\n    staticClass: \"cube-upload-input\",\n    attrs: {\n      \"type\": \"file\",\n      \"multiple\": _vm.multiple,\n      \"accept\": _vm.accept\n    },\n    on: {\n      \"change\": _vm.changeHandler\n    }\n  })], 2)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-btn-def\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(71)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.util);\n    global.file = mod.exports;\n  }\n})(this, function (module, exports, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-upload-file';\n  var STATUS_CLASS_MAP = {\n    success: 'cubeic-right',\n    error: 'cubeic-warn'\n  };\n  var EVENT_CLICK = 'click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      file: {\n        type: Object,\n        required: true\n      }\n    },\n    computed: {\n      fileCls: function fileCls() {\n        return 'cube-upload-file_' + this.file.status;\n      },\n      fileStatusCls: function fileStatusCls() {\n        var file = this.file;\n        var status = file.status;\n        if (file.progress >= 0.01 || status === _util.STATUS_SUCCESS || status === _util.STATUS_ERROR) {\n          return 'cube-upload-file_stat';\n        }\n      },\n      fileStyle: function fileStyle() {\n        var url = this.file.url || this.file.base64;\n        if (!url) {\n          return;\n        }\n        return {\n          'background-image': 'url(\"' + url + '\")'\n        };\n      },\n      statusCls: function statusCls() {\n        var status = this.file.status;\n        return STATUS_CLASS_MAP[status];\n      },\n      fileProgress: function fileProgress() {\n        if (this.statusCls) {\n          return '100%';\n        }\n        var p = Math.min(Math.floor(this.file.progress * 100), 99);\n        return p + '%';\n      }\n    },\n    methods: {\n      clickHandler: function clickHandler() {\n        this.$emit(EVENT_CLICK, this.file);\n      },\n      removeFile: function removeFile() {\n        this.$parent.removeFile(this.file);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-file\",\n    class: _vm.fileCls,\n    on: {\n      \"click\": _vm.clickHandler\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-upload-file-def\",\n    style: (_vm.fileStyle)\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n        return _vm.removeFile($event)\n      }\n    }\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-upload-file-state\",\n    class: _vm.fileStatusCls\n  }, [_c('i', {\n    staticClass: \"cube-upload-file-status\",\n    class: _vm.statusCls\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-upload-file-progress\"\n  }, [_vm._v(_vm._s(_vm.fileProgress))])])])], {\n    imgStyle: _vm.fileStyle,\n    progress: _vm.fileProgress\n  })], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(20), __webpack_require__(71)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.util);\n    global.ajax = mod.exports;\n  }\n})(this, function (module, exports, _keys, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = ajaxUpload;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function ajaxUpload(file, options, changeHandler) {\n    var target = options.target,\n        _options$headers = options.headers,\n        headers = _options$headers === undefined ? {} : _options$headers,\n        _options$data = options.data,\n        data = _options$data === undefined ? {} : _options$data,\n        _options$fileName = options.fileName,\n        fileName = _options$fileName === undefined ? 'file' : _options$fileName,\n        withCredentials = options.withCredentials,\n        timeout = options.timeout,\n        _options$prop = options.prop,\n        prop = _options$prop === undefined ? 'file' : _options$prop,\n        _options$progressInte = options.progressInterval,\n        progressInterval = _options$progressInte === undefined ? 100 : _options$progressInte,\n        _options$checkSuccess = options.checkSuccess,\n        checkSuccess = _options$checkSuccess === undefined ? function () {\n      return true;\n    } : _options$checkSuccess;\n\n\n    var realTarget = (0, _util.evalOpts)(target, file);\n\n    file.progress = 0;\n    file.status = _util.STATUS_UPLOADING;\n\n    var xhr = new window.XMLHttpRequest();\n    file._xhr = xhr;\n    var progressTid = 0;\n    if (xhr.upload) {\n      var lastProgressTime = Date.now();\n      xhr.upload.onprogress = function (e) {\n        if (e.total > 0) {\n          if (progressTid) {\n            clearTimeout(progressTid);\n            var now = Date.now();\n            var diff = now - lastProgressTime;\n            if (diff >= progressInterval) {\n              computed();\n            } else {\n              progressTid = setTimeout(computed, diff);\n            }\n          } else {\n            computed();\n            progressTid = 1;\n          }\n        }\n        function computed() {\n          file.progress = e.loaded / e.total;\n          lastProgressTime = Date.now();\n        }\n      };\n    }\n\n    var formData = new window.FormData();\n    var realData = (0, _util.evalOpts)(data, file);\n    (0, _keys2.default)(realData).forEach(function (key) {\n      formData.append(key, realData[key]);\n    });\n    formData.append(fileName, file[prop]);\n\n    xhr.onload = function () {\n      if (xhr.status < 200 || xhr.status >= 300) {\n        setStatus(_util.STATUS_ERROR);\n        return;\n      }\n      setResponse();\n      var response = file.response;\n\n      if (checkSuccess.length <= 2) {\n        var isSuccess = checkSuccess(response, file);\n        setStatus(isSuccess ? _util.STATUS_SUCCESS : _util.STATUS_ERROR);\n      } else {\n        checkSuccess(response, file, function (isSuccess) {\n          setStatus(isSuccess ? _util.STATUS_SUCCESS : _util.STATUS_ERROR);\n        });\n      }\n    };\n    xhr.onerror = function () {\n      setResponse();\n      setStatus(_util.STATUS_ERROR);\n    };\n    xhr.ontimeout = function () {\n      setResponse();\n      setStatus(_util.STATUS_ERROR);\n    };\n\n    xhr.open('POST', realTarget, true);\n    if (withCredentials) {\n      xhr.withCredentials = true;\n    }\n    var realHeaders = (0, _util.evalOpts)(headers, file);\n    (0, _keys2.default)(realHeaders).forEach(function (key) {\n      xhr.setRequestHeader(key, realHeaders[key]);\n    });\n    if (timeout > 0) {\n      xhr.timeout = timeout;\n    }\n\n    xhr.send(formData);\n    function setStatus(status) {\n      clearTimeout(progressTid);\n      progressTid = 0;\n      file.progress = 1;\n      file.status = status;\n      changeHandler && changeHandler(file);\n    }\n    function setResponse() {\n      var response = xhr.responseText || xhr.response;\n      try {\n        response = JSON.parse(response);\n      } catch (e) {}\n      file.response = response;\n      file.responseHeaders = xhr.getAllResponseHeaders();\n    }\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload\"\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-upload-def clear-fix\"\n  }, [_vm._l((_vm.files), function(file, i) {\n    return _c('upload-file', {\n      key: i,\n      attrs: {\n        \"file\": file\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.fileClick(file, i)\n        }\n      }\n    })\n  }), _vm._v(\" \"), _c('upload-btn', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isShowBtn),\n      expression: \"isShowBtn\"\n    }],\n    attrs: {\n      \"multiple\": _vm.multiple,\n      \"accept\": _vm.accept\n    }\n  })], 2)])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(275), __webpack_require__(110), __webpack_require__(111), __webpack_require__(6), __webpack_require__(69), __webpack_require__(70)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/form/form.vue'), require('../../components/form/form-group.vue'), require('../../components/form/form-item.vue'), require('../../common/locale'), require('../../components/validator/validator.vue'), require('../../common/helpers/validator'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.form, global.formGroup, global.formItem, global.locale, global.validator, global.validator);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _form, _formGroup, _formItem, _locale, _validator, _validator3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _form2 = _interopRequireDefault(_form);\n\n  var _formGroup2 = _interopRequireDefault(_formGroup);\n\n  var _formItem2 = _interopRequireDefault(_formItem);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _form2.default.install = function (Vue) {\n    Vue.component(_form2.default.name, _form2.default);\n    Vue.component(_formGroup2.default.name, _formGroup2.default);\n    Vue.component(_formItem2.default.name, _formItem2.default);\n    Vue.component(_validator2.default.name, _validator2.default);\n    _locale2.default.install(Vue);\n    _validator2.default._base = Vue;\n  };\n\n  _form2.default.Group = _formGroup2.default;\n  _form2.default.Item = _formItem2.default;\n  _form2.default.Validator = _validator2.default;\n\n  _validator2.default.addRule = _validator3.addRule;\n  _validator2.default.addMessage = _validator3.addMessage;\n  _validator2.default.addType = _validator3.addType;\n  _validator2.default.addHelper = _locale2.default.addHelper;\n\n  exports.default = _form2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(276)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(277),\n  /* template */\n  __webpack_require__(290),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(13), __webpack_require__(12), __webpack_require__(2), __webpack_require__(110), __webpack_require__(113), __webpack_require__(114)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/helpers/dom'), require('../../common/helpers/util'), require('./form-group.vue'), require('./layouts'), require('./mixin'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.dom, global.util, global.formGroup, global.layouts, global.mixin);\n    global.form = mod.exports;\n  }\n})(this, function (module, exports, _assign, _dom, _util, _formGroup, _layouts, _mixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _formGroup2 = _interopRequireDefault(_formGroup);\n\n  var _layouts2 = _interopRequireDefault(_layouts);\n\n  var _mixin2 = _interopRequireDefault(_mixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-form';\n  var EVENT_SUBMIT = 'submit';\n  var EVENT_RESET = 'reset';\n  var EVENT_VALIDATE = 'validate';\n  var EVENT_VALID = 'valid';\n  var EVENT_INVALID = 'invalid';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_mixin2.default],\n    props: {\n      action: String,\n      model: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      schema: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      options: {\n        type: Object,\n        default: function _default() {\n          return {\n            scrollToInvalidField: false,\n            layout: _layouts2.default.STANDARD\n          };\n        }\n      },\n      immediateValidate: {\n        type: Boolean,\n        default: false\n      },\n      submitAlwaysValidate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        validatedCount: 0,\n        dirty: false,\n        firstInvalidField: null,\n        firstInvalidFieldIndex: -1\n      };\n    },\n\n    computed: {\n      fieldsModel: function fieldsModel() {\n        var model = {};\n        this.fields.forEach(function (fieldComponent) {\n          if (!fieldComponent.isBtnField) {\n            model[fieldComponent.fieldValue.modelKey] = fieldComponent.modelValue;\n          }\n        });\n        return model;\n      },\n      groups: function groups() {\n        var schema = this.schema;\n        var groups = schema.groups || [];\n        if (schema.fields) {\n          groups.unshift({\n            fields: schema.fields\n          });\n        }\n        return groups;\n      },\n      fieldsData: function fieldsData() {\n        return this.groups.reduce(function (fields, group) {\n          group.fields.reduce(function (fields, field) {\n            fields.push(field);\n            return fields;\n          }, fields);\n          return fields;\n        }, []);\n      },\n      layout: function layout() {\n        var options = this.options;\n        var layout = options && options.layout || _layouts2.default.STANDARD;\n        return layout;\n      },\n      formClass: function formClass() {\n        var invalid = this.invalid;\n        var valid = this.valid;\n        var layout = this.layout;\n        return {\n          'cube-form_standard': layout === _layouts2.default.STANDARD,\n          'cube-form_groups': this.groups.length > 1,\n          'cube-form_validating': this.validating,\n          'cube-form_pending': this.pending,\n          'cube-form_valid': valid,\n          'cube-form_invalid': invalid,\n          'cube-form_classic': layout === _layouts2.default.CLASSIC,\n          'cube-form_fresh': layout === _layouts2.default.FRESH\n        };\n      }\n    },\n    watch: {\n      validatedCount: function validatedCount() {\n        this.$emit(EVENT_VALIDATE, {\n          validity: this.validity,\n          valid: this.valid,\n          invalid: this.invalid,\n          dirty: this.dirty,\n          firstInvalidFieldIndex: this.firstInvalidFieldIndex\n        });\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      this.form = this;\n      this.fields = [];\n      this.validity = {};\n    },\n    mounted: function mounted() {\n      if (this.immediateValidate) {\n        this.validate();\n      }\n    },\n\n    methods: {\n      submit: function submit() {\n        var skipValidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        this.skipValidate = skipValidate;\n        (0, _dom.dispatchEvent)(this.$refs.form, 'submit');\n        this.skipValidate = false;\n      },\n      reset: function reset() {\n        (0, _dom.dispatchEvent)(this.$refs.form, 'reset');\n      },\n      submitHandler: function submitHandler(e) {\n        var _this = this;\n\n        this.syncValidatorValues();\n        if (this.skipValidate) {\n          this.$emit(EVENT_SUBMIT, e, this.model, this.fieldsModel);\n          return;\n        }\n        var submited = function submited(submitResult) {\n          if (submitResult) {\n            _this.$emit(EVENT_VALID, _this.validity);\n            _this.$emit(EVENT_SUBMIT, e, _this.model, _this.fieldsModel);\n          } else {\n            if (_this.options.scrollToInvalidField && _this.firstInvalidField) {\n              _this.firstInvalidField.$el.scrollIntoView();\n            }\n            e.preventDefault();\n            _this.$emit(EVENT_INVALID, _this.validity);\n          }\n        };\n        if (this.submitAlwaysValidate || this.valid === undefined) {\n          this._submit(submited);\n          if (this.validating || this.pending) {\n            e.preventDefault();\n          }\n        } else {\n          submited(this.valid);\n        }\n      },\n      resetHandler: function resetHandler(e) {\n        this._reset();\n        this.$emit(EVENT_RESET, e);\n      },\n      _submit: function _submit(cb) {\n        var _this2 = this;\n\n        this.validate(function () {\n          cb && cb(_this2.valid);\n        });\n      },\n      _reset: function _reset() {\n        this.fields.forEach(function (fieldComponent) {\n          fieldComponent.reset();\n        });\n        this.setValidity();\n        this.setValidating();\n        this.setPending();\n      },\n      syncValidatorValues: function syncValidatorValues() {\n        this.fields.forEach(function (fieldComponent) {\n          fieldComponent.syncValidatorValue();\n        });\n      },\n      validate: function validate(cb) {\n        var _this3 = this;\n\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        var doneCount = 0;\n        var len = this.fields.length;\n        this.originValid = undefined;\n        this.fields.forEach(function (fieldComponent) {\n          fieldComponent.validate(function () {\n            doneCount++;\n            if (doneCount === len) {\n              cb && cb(_this3.valid);\n            }\n          });\n        });\n        return promise;\n      },\n      updateValidating: function updateValidating() {\n        var validating = this.fields.some(function (fieldComponent) {\n          return fieldComponent.validating;\n        });\n        this.setValidating(validating);\n      },\n      updatePending: function updatePending() {\n        var pending = this.fields.some(function (fieldComponent) {\n          return fieldComponent.pending;\n        });\n        this.setPending(pending);\n      },\n      setValidating: function setValidating() {\n        var validating = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        this.validating = validating;\n      },\n      setPending: function setPending() {\n        var pending = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        this.pending = pending;\n      },\n      updateValidity: function updateValidity(modelKey, valid, result, dirty) {\n        var curResult = this.validity[modelKey];\n        if (curResult && curResult.valid === valid && curResult.result === result && curResult.dirty === dirty) {\n          return;\n        }\n        this.setValidity(modelKey, {\n          valid: valid,\n          result: result,\n          dirty: dirty\n        });\n      },\n      setValidity: function setValidity(key, val) {\n        var validity = {};\n        if (key) {\n          (0, _assign2.default)(validity, this.validity);\n          if (val === undefined) {\n            delete validity[key];\n          } else {\n            validity[key] = val;\n          }\n        }\n\n        var dirty = false;\n        var invalid = false;\n        var valid = true;\n        var firstInvalidFieldKey = '';\n        this.fields.forEach(function (fieldComponent) {\n          var modelKey = fieldComponent.fieldValue.modelKey;\n          if (modelKey) {\n            var retVal = validity[modelKey];\n            if (retVal) {\n              if (retVal.dirty) {\n                dirty = true;\n              }\n              if (retVal.valid === false) {\n                valid = false;\n              } else if (valid && !retVal.valid) {\n                valid = retVal.valid;\n              }\n\n              if (!invalid && retVal.valid === false) {\n                invalid = true;\n                firstInvalidFieldKey = modelKey;\n              }\n            } else if (fieldComponent.hasRules) {\n              if (valid) {\n                valid = undefined;\n              }\n              validity[modelKey] = {\n                valid: undefined,\n                result: {},\n                dirty: false\n              };\n            }\n          }\n        });\n        this.validity = validity;\n        this.dirty = dirty;\n        this.originValid = valid;\n        this.setFirstInvalid(firstInvalidFieldKey);\n        this.validatedCount++;\n      },\n      setFirstInvalid: function setFirstInvalid(key) {\n        var _this4 = this;\n\n        if (!key) {\n          this.firstInvalidField = null;\n          this.firstInvalidFieldIndex = -1;\n          return;\n        }\n        this.fields.some(function (fieldComponent, index) {\n          if (fieldComponent.fieldValue.modelKey === key) {\n            _this4.firstInvalidField = fieldComponent;\n            _this4.firstInvalidFieldIndex = index;\n            return true;\n          }\n        });\n      },\n      addField: function addField(fieldComponent) {\n        var i = this.fieldsData.indexOf(fieldComponent.field);\n        this.fields.splice(i, 0, fieldComponent);\n        var modelKey = fieldComponent.fieldValue.modelKey;\n        modelKey && this.setValidity(modelKey);\n      },\n      destroyField: function destroyField(fieldComponent) {\n        var i = this.fields.indexOf(fieldComponent);\n        this.fields.splice(i, 1);\n        var modelKey = fieldComponent.fieldValue.modelKey;\n        modelKey && this.setValidity(modelKey);\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.form = null;\n      this.firstInvalidField = null;\n    },\n\n    components: {\n      CubeFormGroup: _formGroup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(111)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./form-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.formItem);\n    global.formGroup = mod.exports;\n  }\n})(this, function (module, exports, _formItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _formItem2 = _interopRequireDefault(_formItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-form-group';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      legend: {\n        type: String,\n        default: ''\n      },\n      fields: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      this.form = this.$parent.form;\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.form = null;\n    },\n\n    components: {\n      CubeFormItem: _formItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(20), __webpack_require__(23), __webpack_require__(282), __webpack_require__(2), __webpack_require__(69), __webpack_require__(113), __webpack_require__(286), __webpack_require__(114), __webpack_require__(287)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('./fields/index'), require('../../common/helpers/util'), require('../validator/validator.vue'), require('./layouts'), require('./fields/reset'), require('./mixin'), require('./components'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.defineProperty, global.index, global.util, global.validator, global.layouts, global.reset, global.mixin, global.components);\n    global.formItem = mod.exports;\n  }\n})(this, function (module, exports, _keys, _defineProperty2, _index, _util, _validator, _layouts, _reset, _mixin, _components) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  var _layouts2 = _interopRequireDefault(_layouts);\n\n  var _mixin2 = _interopRequireDefault(_mixin);\n\n  var _components2 = _interopRequireDefault(_components);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _components2.default.CubeValidator = _validator2.default;\n\n  var COMPONENT_NAME = 'cube-form-item';\n  var EVENT_FOCUSIN = 'focusin';\n  var EVENT_FOCUSOUT = 'focusout';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_mixin2.default],\n    props: {\n      field: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    data: function data() {\n      var validatorModelKey = 'value';\n      var modelKey = this.field.modelKey;\n      var modelValue = modelKey ? this.form.model[modelKey] : null;\n      return {\n        validatorDisabled: false,\n        validatorModelKey: validatorModelKey,\n        modelValue: modelValue,\n        validatorModel: (0, _defineProperty3.default)({}, validatorModelKey, modelValue)\n      };\n    },\n\n    computed: {\n      fieldValue: function fieldValue() {\n        return (0, _index.processField)(this.field);\n      },\n      hasRules: function hasRules() {\n        return (0, _keys2.default)(this.fieldValue.rules || {}).length > 0;\n      },\n      isBtnField: function isBtnField() {\n        return this.fieldValue.type === 'button';\n      },\n      itemClass: function itemClass() {\n        var rules = this.fieldValue.rules;\n        return {\n          'cube-form-item_required': rules && rules.required,\n          'cube-form-item_btn': this.isBtnField,\n          'cube-form-item_validating': this.validating,\n          'cube-form-item_pending': this.pending,\n          'cube-form-item_valid': this.valid,\n          'cube-form-item_invalid': this.invalid\n        };\n      },\n      modelVal: function modelVal() {\n        return this.form.model[this.fieldValue.modelKey];\n      },\n      componentName: function componentName() {\n        var fieldValue = this.fieldValue;\n        var component = fieldValue.component;\n        if (component) {\n          return component;\n        }\n        var type = fieldValue.type;\n        var cubeType = 'cube-' + type;\n        if (_components2.default[cubeType]) {\n          return cubeType;\n        }\n        return type;\n      }\n    },\n    watch: {\n      modelVal: function modelVal(newModel) {\n        if (this.modelValue !== newModel) {\n          this.modelValue = newModel;\n        }\n      },\n\n      modelValue: {\n        handler: function handler(newModel) {\n          this.form.model[this.fieldValue.modelKey] = newModel;\n          this.updateValidatorModel();\n        },\n\n        sync: true\n      },\n      originValid: function originValid(newVal) {\n        this.lastOriginValid = newVal;\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      this.form = this.$parent.form;\n    },\n    created: function created() {\n      var _this = this;\n\n      this.form.addField(this);\n      this.getValidatorModel = function (modelValue) {\n        _this.pending = false;\n        return modelValue;\n      };\n    },\n    mounted: function mounted() {\n      this.initDebounce();\n      this.initFocusEvents();\n    },\n\n    methods: {\n      initDebounce: function initDebounce() {\n        var _this2 = this;\n\n        var debounceTime = this.fieldValue.debounce;\n        if (debounceTime === true) {\n          debounceTime = 200;\n        }\n        if (!debounceTime && debounceTime !== 0 || debounceTime < 0 || this.fieldValue.trigger === 'blur') return;\n        this.getValidatorModel = (0, _util.debounce)(function (modelValue) {\n          _this2.syncValidatorValue();\n          _this2.validate();\n          return modelValue;\n        }, debounceTime, false, this.validatorModel[this.validatorModelKey]);\n      },\n      focusInHandler: function focusInHandler() {\n        this.focused = true;\n      },\n      focusOutHandler: function focusOutHandler() {\n        this.focused = false;\n        this.updateValidatorModel();\n        this.validate();\n      },\n      initFocusEvents: function initFocusEvents() {\n        var _this3 = this;\n\n        if (this.fieldValue.trigger === 'blur') {\n          var formItem = this.$refs.formItem;\n          formItem.addEventListener(EVENT_FOCUSIN, this.focusInHandler, false);\n          formItem.addEventListener(EVENT_FOCUSOUT, this.focusOutHandler, false);\n          this.getValidatorModel = function (modelValue) {\n            if (_this3.focused) {\n              return _this3.validatorModel[_this3.validatorModelKey];\n            } else {\n              _this3.pending = false;\n              _this3.form.updatePending();\n              return modelValue;\n            }\n          };\n        }\n      },\n      removeFocusEvents: function removeFocusEvents() {\n        var formItem = this.$refs.formItem;\n        formItem.removeEventListener(EVENT_FOCUSIN, this.focusInHandler, false);\n        formItem.removeEventListener(EVENT_FOCUSOUT, this.focusOutHandler, false);\n      },\n      updateValidatorModel: function updateValidatorModel() {\n        this.pending = true;\n        this.validatorModel[this.validatorModelKey] = this.getValidatorModel(this.modelValue);\n        if (this.pending) {\n          this.form.setPending(this.pending);\n          this.originValid = undefined;\n        }\n      },\n      syncValidatorValue: function syncValidatorValue() {\n        this.pending = false;\n        this.validatorModel[this.validatorModelKey] = this.modelValue;\n        this.form.updatePending();\n      },\n      validatorChangeHandler: function validatorChangeHandler() {\n        if (this.validatorDisabled || this.originValid && this.lastOriginValid) {\n          return;\n        }\n        this.updateValidity();\n      },\n      validatingHandler: function validatingHandler() {\n        this.validating = true;\n        this.form.setValidating(true);\n      },\n      validatedHandler: function validatedHandler() {\n        this.validating = false;\n        this.form.updateValidating();\n      },\n      updateValidity: function updateValidity() {\n        var validator = this.$refs.validator;\n        if (validator) {\n          this.form.updateValidity(this.fieldValue.modelKey, validator.valid, validator.result, validator.dirty);\n        }\n      },\n      validate: function validate(cb) {\n        var _this4 = this;\n\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        var validator = this.$refs.validator;\n        if (validator) {\n          validator.validate(function () {\n            _this4.validatorDisabled = true;\n            _this4.updateValidity();\n            cb && cb();\n            _this4.$nextTick(function () {\n              _this4.validatorDisabled = false;\n            });\n          });\n        } else {\n          cb && cb();\n        }\n        return promise;\n      },\n      reset: function reset() {\n        var _this5 = this;\n\n        var fieldValue = this.fieldValue;\n        if (fieldValue.modelKey) {\n          var defValue = (0, _reset.getResetValueByType)(fieldValue.type);\n          this.validatorDisabled = true;\n          (0, _util.resetTypeValue)(this, 'modelValue', defValue);\n\n          this.syncValidatorValue();\n          this.$refs.validator && this.$refs.validator.reset();\n          this.$nextTick(function () {\n            _this5.validatorDisabled = false;\n          });\n        }\n        this.validating = false;\n        this.pending = false;\n      },\n      msgClick: function msgClick() {\n        if (this.form.layout !== _layouts2.default.STANDARD) {\n          return;\n        }\n\n        this.$createToast && this.$createToast({\n          type: 'warn',\n          txt: this.$refs.validator.msg,\n          time: 1000\n        }).show();\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.removeFocusEvents();\n      this.form.destroyField(this);\n      this.form = null;\n    },\n\n    components: _components2.default\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(112), __webpack_require__(283)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/helpers/extends'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global._extends, global.types);\n    global.index = mod.exports;\n  }\n})(this, function (exports, _extends2, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.processField = undefined;\n\n  var _extends3 = _interopRequireDefault(_extends2);\n\n  var _types2 = _interopRequireDefault(_types);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function processField(field) {\n    var _field = (0, _extends3.default)({}, field);\n    (0, _types2.default)(_field);\n    return _field;\n  }\n\n  exports.processField = processField;\n});\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(284), __webpack_require__(285)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./validate'), require('./props'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.validate, global.props);\n    global.types = mod.exports;\n  }\n})(this, function (module, exports, _validate, _props) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = processTypes;\n\n\n  var typesMap = {\n    submit: function submit(field) {\n      (0, _props.toButtonHandler)(field, 'submit');\n    },\n    reset: function reset(field) {\n      (0, _props.toButtonHandler)(field, 'reset');\n    },\n    checkbox: function checkbox(field) {\n      (0, _validate.boolRequiredHandler)(field);\n    },\n    switch: function _switch(field) {\n      (0, _validate.boolRequiredHandler)(field);\n    },\n    rate: function rate(field) {\n      (0, _validate.numberGT0RequiredHandler)(field);\n    }\n  };\n  function processTypes(field) {\n    var typeFn = typesMap[field.type];\n    if (typeFn) {\n      typeFn(field);\n    }\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.validate = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var handleValidateRule = function handleValidateRule(field, type, custom) {\n    var ruleValue = field.rules && field.rules[type];\n    if (type !== 'custom' && ruleValue && typeof ruleValue !== 'function') {\n      field.rules[type] = custom;\n    }\n  };\n  var createHandler = function createHandler(type) {\n    return function (field, custom) {\n      return handleValidateRule(field, type, custom);\n    };\n  };\n\n  var handleRequired = createHandler('required');\n  var boolRequiredHandler = function boolRequiredHandler(field) {\n    return handleRequired(field, function (val) {\n      return val !== false;\n    });\n  };\n  var numberGT0RequiredHandler = function numberGT0RequiredHandler(field) {\n    return handleRequired(field, function (val) {\n      return val > 0;\n    });\n  };\n\n  exports.boolRequiredHandler = boolRequiredHandler;\n  exports.numberGT0RequiredHandler = numberGT0RequiredHandler;\n});\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.props = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var toButtonHandler = function toButtonHandler(field, type) {\n    field.type = 'button';\n    if (!field.props) {\n      field.props = {};\n    }\n    field.props.type = type;\n  };\n\n  exports.toButtonHandler = toButtonHandler;\n});\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.reset = mod.exports;\n  }\n})(this, function (exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var typesResetMap = {\n    checkbox: function checkbox() {\n      return false;\n    },\n    select: function select() {\n      return null;\n    }\n  };\n  function getResetValueByType(type) {\n    var resetHandler = typesResetMap[type];\n    return resetHandler && resetHandler();\n  }\n\n  exports.getResetValueByType = getResetValueByType;\n});\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(49), __webpack_require__(27), __webpack_require__(90), __webpack_require__(92), __webpack_require__(50), __webpack_require__(65), __webpack_require__(94), __webpack_require__(103), __webpack_require__(101), __webpack_require__(102), __webpack_require__(96), __webpack_require__(106)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../button/button.vue'), require('../checkbox/checkbox.vue'), require('../checkbox-group/checkbox-group.vue'), require('../checker/checker.vue'), require('../input/input.vue'), require('../radio/radio.vue'), require('../radio/radio-group.vue'), require('../rate/rate.vue'), require('../select/select.vue'), require('../switch/switch.vue'), require('../textarea/textarea.vue'), require('../upload/upload.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button, global.checkbox, global.checkboxGroup, global.checker, global.input, global.radio, global.radioGroup, global.rate, global.select, global._switch, global.textarea, global.upload);\n    global.components = mod.exports;\n  }\n})(this, function (module, exports, _button, _checkbox, _checkboxGroup, _checker, _input, _radio, _radioGroup, _rate, _select, _switch, _textarea, _upload) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _checkboxGroup2 = _interopRequireDefault(_checkboxGroup);\n\n  var _checker2 = _interopRequireDefault(_checker);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  var _radioGroup2 = _interopRequireDefault(_radioGroup);\n\n  var _rate2 = _interopRequireDefault(_rate);\n\n  var _select2 = _interopRequireDefault(_select);\n\n  var _switch2 = _interopRequireDefault(_switch);\n\n  var _textarea2 = _interopRequireDefault(_textarea);\n\n  var _upload2 = _interopRequireDefault(_upload);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var allComponents = [_button2.default, _checkbox2.default, _checkboxGroup2.default, _checker2.default, _input2.default, _radio2.default, _radioGroup2.default, _rate2.default, _select2.default, _switch2.default, _textarea2.default, _upload2.default];\n\n  var components = {};\n  allComponents.forEach(function (Component) {\n    components[Component.name] = Component;\n  });\n\n  exports.default = components;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"formItem\",\n    staticClass: \"cube-form-item border-bottom-1px\",\n    class: _vm.itemClass\n  }, [(!_vm.isBtnField) ? [_vm._t(\"label\", [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fieldValue.label),\n      expression: \"fieldValue.label\"\n    }],\n    staticClass: \"cube-form-label\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.fieldValue.label))])])]), _vm._v(\" \"), (_vm.hasRules) ? _c('cube-validator', {\n    ref: \"validator\",\n    staticClass: \"cube-form-field\",\n    attrs: {\n      \"disabled\": _vm.validatorDisabled,\n      \"model\": _vm.validatorModel,\n      \"model-key\": _vm.validatorModelKey,\n      \"rules\": _vm.fieldValue.rules,\n      \"messages\": _vm.fieldValue.messages\n    },\n    on: {\n      \"input\": _vm.validatorChangeHandler,\n      \"validating\": _vm.validatingHandler,\n      \"validated\": _vm.validatedHandler,\n      \"msg-click\": _vm.msgClick\n    },\n    model: {\n      value: (_vm.originValid),\n      callback: function($$v) {\n        _vm.originValid = $$v\n      },\n      expression: \"originValid\"\n    }\n  }, [_vm._t(\"default\", [_c(_vm.componentName, _vm._g(_vm._b({\n    tag: \"component\",\n    model: {\n      value: (_vm.modelValue),\n      callback: function($$v) {\n        _vm.modelValue = $$v\n      },\n      expression: \"modelValue\"\n    }\n  }, 'component', _vm.fieldValue.props, false), _vm.fieldValue.events))])], 2) : _c('div', {\n    staticClass: \"cube-form-field\"\n  }, [_vm._t(\"default\", [_c(_vm.componentName, _vm._g(_vm._b({\n    tag: \"component\",\n    model: {\n      value: (_vm.modelValue),\n      callback: function($$v) {\n        _vm.modelValue = $$v\n      },\n      expression: \"modelValue\"\n    }\n  }, 'component', _vm.fieldValue.props, false), _vm.fieldValue.events))])], 2)] : _c('cube-button', _vm._g(_vm._b({}, 'cube-button', _vm.fieldValue.props, false), _vm.fieldValue.events), [_vm._v(_vm._s(_vm.fieldValue.label))])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-form-group\"\n  }, [_c('p', {\n    staticClass: \"cube-form-group-legend\"\n  }, [_vm._v(_vm._s(_vm.legend))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-form-group-content\"\n  }, [_vm._t(\"default\", _vm._l((_vm.fields), function(field, index) {\n    return _c('cube-form-item', {\n      key: field.key || index,\n      attrs: {\n        \"field\": field\n      }\n    })\n  }))], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('form', {\n    ref: \"form\",\n    staticClass: \"cube-form\",\n    class: _vm.formClass,\n    attrs: {\n      \"action\": _vm.action\n    },\n    on: {\n      \"submit\": _vm.submitHandler,\n      \"reset\": _vm.resetHandler\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.groups), function(group, index) {\n    return _c('cube-form-group', {\n      key: group.key || index,\n      attrs: {\n        \"fields\": group.fields,\n        \"legend\": group.legend\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(28), __webpack_require__(292)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/popup/popup.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.popup, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _popup, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _popup2.default.install = function (Vue) {\n    Vue.component(_popup2.default.name, _popup2.default);\n    (0, _api2.default)(Vue, _popup2.default);\n  };\n\n  exports.default = _popup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPopup;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPopup(Vue, Popup) {\n    (0, _createApi2.default)(Vue, Popup, ['mask-click'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(38), __webpack_require__(294), __webpack_require__(298)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/loading/loading.vue'), require('../../components/toast/toast.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading, global.toast, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _loading, _toast, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _toast2 = _interopRequireDefault(_toast);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _toast2.default.install = function (Vue) {\n    Vue.component(_loading2.default.name, _loading2.default);\n    Vue.component(_toast2.default.name, _toast2.default);\n    (0, _api2.default)(Vue, _toast2.default);\n  };\n\n  _toast2.default.Loading = _loading2.default;\n\n  exports.default = _toast2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(295)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(296),\n  /* template */\n  __webpack_require__(297),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(38), __webpack_require__(28), __webpack_require__(5), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../loading/loading.vue'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading, global.popup, global.visibility, global.popup);\n    global.toast = mod.exports;\n  }\n})(this, function (module, exports, _loading, _popup, _visibility, _popup3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-toast';\n\n  var EVENT_TIMEOUT = 'timeout';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default],\n    props: {\n      type: {\n        type: String,\n        default: 'loading'\n      },\n      icon: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: false\n      },\n      txt: {\n        type: String,\n        default: ''\n      },\n      time: {\n        type: Number,\n        default: 3000\n      },\n\n      zIndex: {\n        type: Number,\n        default: 900\n      }\n    },\n    computed: {\n      iconClass: function iconClass() {\n        var iconClass = [];\n        if (this.icon) {\n          iconClass.push(this.icon);\n        }\n        var classMap = {\n          correct: 'cubeic-right',\n          error: 'cubeic-wrong',\n          warn: 'cubeic-warn'\n        };\n        var icon = classMap[this.type];\n        if (icon) {\n          iconClass.push(icon);\n        }\n        return iconClass;\n      },\n      isLoading: function isLoading() {\n        return this.type === 'loading';\n      }\n    },\n    methods: {\n      maskClick: function maskClick() {\n        this.maskClosable && this.hide();\n      },\n      show: function show() {\n        var _this = this;\n\n        this.isVisible = true;\n        this.clearTimer();\n        this.$nextTick(function () {\n          if (_this.time !== 0) {\n            _this.timer = setTimeout(function () {\n              _this.hide();\n              _this.$emit(EVENT_TIMEOUT);\n            }, _this.time);\n          }\n        });\n      },\n      hide: function hide() {\n        this.isVisible = false;\n        this.clearTimer();\n      },\n      clearTimer: function clearTimer() {\n        clearTimeout(this.timer);\n        this.timer = null;\n      }\n    },\n    components: {\n      CubePopup: _popup2.default,\n      CubeLoading: _loading2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-toast-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"toast\",\n      \"z-index\": _vm.zIndex,\n      \"mask\": _vm.mask\n    },\n    on: {\n      \"mask-click\": _vm.maskClick\n    }\n  }, [(!_vm.isLoading && _vm.iconClass.length) ? _c('i', {\n    staticClass: \"cube-toast-icon\",\n    class: _vm.iconClass\n  }) : _vm._e(), _vm._v(\" \"), (_vm.isLoading) ? _c('cube-loading') : _vm._e(), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.txt),\n      expression: \"txt\"\n    }],\n    staticClass: \"cube-toast-tip\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.txt)\n    }\n  })], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addToast;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addToast(Vue, Toast) {\n    (0, _createApi2.default)(Vue, Toast, ['timeout'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(29), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('./api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _api, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _picker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _picker2.default);\n  };\n\n  exports.default = _picker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(41), __webpack_require__(72), __webpack_require__(29), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/cascade-picker/cascade-picker.vue'), require('./api'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.cascadePicker, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _cascadePicker, _api, _api3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _cascadePicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_cascadePicker2.default.name, _cascadePicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api4.default)(Vue, _picker2.default);\n    (0, _api2.default)(Vue, _cascadePicker2.default);\n  };\n\n  _cascadePicker2.default.Picker = _picker2.default;\n\n  exports.default = _cascadePicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(5), __webpack_require__(8), __webpack_require__(100), __webpack_require__(40), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../picker/picker.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.visibility, global.popup, global.basicPicker, global.picker, global.locale);\n    global.cascadePicker = mod.exports;\n  }\n})(this, function (module, exports, _picker, _visibility, _popup, _basicPicker, _picker3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker4 = _interopRequireDefault(_picker3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-cascade-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _basicPicker2.default, _picker4.default, _locale2.default],\n    props: {\n      async: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        cascadeData: this.data.slice(),\n        pickerSelectedIndex: this.selectedIndex.slice(),\n        pickerData: [],\n        pending: false\n      };\n    },\n    created: function created() {\n      this._updatePickerData();\n    },\n\n    methods: {\n      setData: function setData(data) {\n        var selectedIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n        this.pending = false;\n        this.cascadeData = data.slice();\n        this.pickerSelectedIndex = selectedIndex.slice();\n        this._updatePickerData();\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        if (newIndex !== this.pickerSelectedIndex[i]) {\n          this.pickerSelectedIndex.splice(i, 1, newIndex);\n          this.async ? this.pending = i !== this.pickerData.length - 1 : this._updatePickerData(i + 1);\n        }\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _updatePickerData: function _updatePickerData() {\n        var _this = this;\n\n        var fromColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        var data = this.cascadeData;\n        var i = 0;\n        while (data) {\n          if (i >= fromColumn) {\n            (function () {\n              var columnData = [];\n              data.forEach(function (item) {\n                columnData.push({\n                  value: item[_this.valueKey],\n                  text: item[_this.textKey],\n                  order: item[_this.orderKey]\n                });\n              });\n              _this.pickerData[i] = columnData;\n\n              _this.pickerSelectedIndex[i] = fromColumn === 0 ? _this.pickerSelectedIndex[i] < data.length ? _this.pickerSelectedIndex[i] || 0 : 0 : _this.$refs.picker.refillColumn(i, columnData);\n            })();\n          }\n          data = data.length ? data[this.pickerSelectedIndex[i]].children : null;\n\n          i++;\n        }\n\n        if (i < this.pickerData.length) {\n          this.pickerData.splice(i, this.pickerData.length - i);\n        }\n\n        this.pickerData = this.pickerData.slice();\n      }\n    },\n    components: {\n      CubePicker: _picker2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.pickerData,\n      \"selected-index\": _vm.pickerSelectedIndex,\n      \"pending\": _vm.pending,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"z-index\": _vm.zIndex,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(41), __webpack_require__(304), __webpack_require__(307), __webpack_require__(72), __webpack_require__(29), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/cascade-picker/cascade-picker.vue'), require('../../components/date-picker/date-picker.vue'), require('./api'), require('../cascade-picker/api'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.cascadePicker, global.datePicker, global.api, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _cascadePicker, _datePicker, _api, _api3, _api5, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _datePicker2 = _interopRequireDefault(_datePicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _api6 = _interopRequireDefault(_api5);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _datePicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_cascadePicker2.default.name, _cascadePicker2.default);\n    Vue.component(_datePicker2.default.name, _datePicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api6.default)(Vue, _picker2.default);\n    (0, _api4.default)(Vue, _cascadePicker2.default);\n    (0, _api2.default)(Vue, _datePicker2.default);\n  };\n\n  _datePicker2.default.Picker = _picker2.default;\n  _cascadePicker2.default.Picker = _picker2.default;\n  _datePicker2.default.CascadePicker = _cascadePicker2.default;\n\n  exports.default = _datePicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(305),\n  /* template */\n  __webpack_require__(306),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(20), __webpack_require__(13), __webpack_require__(5), __webpack_require__(8), __webpack_require__(40), __webpack_require__(11), __webpack_require__(2), __webpack_require__(48), __webpack_require__(41)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/core-js/object/assign'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/helpers/util'), require('../../common/lang/date'), require('../cascade-picker/cascade-picker.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.assign, global.visibility, global.popup, global.picker, global.locale, global.util, global.date, global.cascadePicker);\n    global.datePicker = mod.exports;\n  }\n})(this, function (module, exports, _keys, _assign, _visibility, _popup, _picker, _locale, _util, _date, _cascadePicker) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-date-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  var TYPE_LIST = ['year', 'month', 'date', 'hour', 'minute', 'second'];\n  var NATURE_BOUNDARY_MAP = {\n    month: {\n      natureMin: 1,\n      natureMax: 12\n    },\n    date: {\n      natureMin: 1,\n      natureMax: 31\n    },\n    hour: {\n      natureMin: 0,\n      natureMax: 23\n    },\n    minute: {\n      natureMin: 0,\n      natureMax: 59\n    },\n    second: {\n      natureMin: 0,\n      natureMax: 59\n    }\n  };\n\n  var DEFAULT_FORMAT = {\n    year: 'YYYY',\n    month: 'M',\n    date: 'D',\n    hour: 'hh',\n    minute: 'mm',\n    second: 'ss'\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _picker2.default, _locale2.default],\n    components: {\n      CubeCascadePicker: _cascadePicker2.default\n    },\n    props: {\n      min: {\n        type: [Date, Array],\n        default: function _default() {\n          return new Date(2010, 0, 1);\n        }\n      },\n      max: {\n        type: [Date, Array],\n        default: function _default() {\n          return [new Date().getFullYear() + 1, 12, 31, 23, 59, 59];\n        }\n      },\n      startColumn: {\n        type: String,\n        default: function _default() {\n          return 'year';\n        }\n      },\n      columnCount: {\n        type: Number,\n        default: 3\n      },\n      format: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      value: {\n        type: [Date, Array],\n        default: function _default() {\n          return this.min;\n        }\n      },\n      columnOrder: {\n        type: Array,\n        default: function _default() {\n          return ['year', 'month', 'date', 'hour', 'minute', 'second'];\n        }\n      }\n    },\n    computed: {\n      formatConfig: function formatConfig() {\n        var formatConfig = (0, _assign2.default)({}, DEFAULT_FORMAT);\n        (0, _util.deepAssign)(formatConfig, this.format);\n\n        return formatConfig;\n      },\n      natureRangeCache: function natureRangeCache() {\n        var _this = this;\n\n        var natureRangeCache = {\n          hour: [],\n          minute: [],\n          second: []\n        };\n\n        (0, _keys2.default)(natureRangeCache).forEach(function (key) {\n          natureRangeCache[key] = _this._range(key, NATURE_BOUNDARY_MAP[key].natureMin, NATURE_BOUNDARY_MAP[key].natureMax);\n        });\n\n        return natureRangeCache;\n      },\n      startIndex: function startIndex() {\n        var startIndex = TYPE_LIST.indexOf(this.startColumn);\n        return startIndex < 0 ? 0 : startIndex;\n      },\n      minArray: function minArray() {\n        return this.min instanceof Date ? dateToArray(this.min).slice(this.startIndex, this.startIndex + this.columnCount) : this.min;\n      },\n      maxArray: function maxArray() {\n        return this.max instanceof Date ? dateToArray(this.max).slice(this.startIndex, this.startIndex + this.columnCount) : this.max;\n      },\n      valueArray: function valueArray() {\n        return this.value instanceof Date ? dateToArray(this.value).slice(this.startIndex, this.startIndex + this.columnCount) : this.value;\n      },\n      data: function data() {\n        var data = [];\n        this._generateData(this.startIndex, 0, data);\n        return data;\n      },\n      selectedIndex: function selectedIndex() {\n        var _this2 = this;\n\n        var selectedIndex = [];\n        var data = this.data;\n        var index = void 0;\n\n        var _loop = function _loop(i) {\n          index = (0, _util.findIndex)(data, function (item) {\n            return _this2.valueArray[i] && item.value === _this2.valueArray[i];\n          });\n          selectedIndex[i] = index !== -1 ? index : 0;\n          data = data[selectedIndex[i]] && data[selectedIndex[i]].children;\n        };\n\n        for (var i = 0; i < this.columnCount && i < 6 - this.startIndex; i++) {\n          _loop(i);\n        }\n\n        return selectedIndex;\n      }\n    },\n    methods: {\n      _select: function _select(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, this._arrayToDate(selectedVal), selectedVal, selectedText);\n      },\n      _cancel: function _cancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _change: function _change(i, newIndex) {\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _generateData: function _generateData(i, count, item) {\n        var _this3 = this;\n\n        if (count === 0) {\n          var min = i === 0 ? this.minArray[0] : Math.max(this.minArray[0], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin);\n          var max = i === 0 ? this.maxArray[0] : Math.min(this.maxArray[0], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMax);\n          item.push.apply(item, this._range(TYPE_LIST[i], min, max, true, true));\n        } else {\n          if (i < 3 || item.isMin || item.isMax) {\n            var natureMax = i === 2 ? (0, _date.computeNatureMaxDay)(item.value, item.year) : NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMax;\n            var _min = item.isMin ? Math.max(this.minArray[count], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin) : NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin;\n            var _max = item.isMax ? Math.min(this.maxArray[count], natureMax) : natureMax;\n\n            var storageYear = i === 1 && this.startIndex === 0 && this.columnCount >= 3 && item.value;\n            item.children = this._range(TYPE_LIST[i], _min, _max, item.isMin, item.isMax, storageYear);\n          } else {\n            item.children = this.natureRangeCache[TYPE_LIST[i]];\n          }\n        }\n        if (count < this.columnCount - 1 && i < 5) {\n          (item.children || item).forEach(function (subItem) {\n            (!subItem.children || subItem.isMin || subItem.isMax) && _this3._generateData(i + 1, count + 1, subItem);\n          });\n        }\n      },\n      _arrayToDate: function _arrayToDate(selectedVal) {\n        var args = [];\n        var defaultDateArray = dateToArray(new Date(0));\n\n        for (var i = 0; i < 6; i++) {\n          if (i < this.startIndex) {\n            args[i] = defaultDateArray[i];\n          } else if (i >= this.startIndex + this.columnCount) {\n            args[i] = NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin;\n          } else {\n            args[i] = selectedVal[i - this.startIndex];\n          }\n        }\n\n        args[1]--;\n\n        return new (Function.prototype.bind.apply(Date, [null].concat(args)))();\n      },\n      _range: function _range(type, min, max, fatherIsMin, fatherIsMax) {\n        var year = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n        if (!this._rangeCache) {\n          this._rangeCache = {};\n        }\n        var k = type + year + min + max + fatherIsMin + fatherIsMax;\n        if (this._rangeCache[k]) {\n          return this._rangeCache[k];\n        }\n        var arr = [];\n        var format = this.formatConfig[type];\n        for (var i = min; i <= max; i++) {\n          var object = {\n            text: (0, _date.formatType)(type, format, i, 'i'),\n            value: i,\n            order: this.columnOrder.indexOf(type)\n          };\n\n          if (fatherIsMin && i === min) object.isMin = true;\n          if (fatherIsMax && i === max) object.isMax = true;\n          if (year) object.year = year;\n\n          arr.push(object);\n        }\n        this._rangeCache[k] = arr;\n        return arr;\n      }\n    }\n  };\n\n\n  function dateToArray(date) {\n    return [date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()];\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-cascade-picker', {\n    attrs: {\n      \"data\": _vm.data,\n      \"selected-index\": _vm.selectedIndex,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"z-index\": _vm.zIndex,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._select,\n      \"cancel\": _vm._cancel,\n      \"change\": _vm._change\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addDatePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addDatePicker(Vue, DatePicker) {\n    var datePickerAPI = (0, _createApi2.default)(Vue, DatePicker, ['select', 'cancel', 'change']);\n    datePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('DatePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(309), __webpack_require__(312), __webpack_require__(29), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/time-picker/time-picker.vue'), require('./api'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.timePicker, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _timePicker, _api, _api3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _timePicker2 = _interopRequireDefault(_timePicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _timePicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_timePicker2.default.name, _timePicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api4.default)(Vue, _picker2.default);\n    (0, _api2.default)(Vue, _timePicker2.default);\n  };\n\n  _timePicker2.default.Picker = _picker2.default;\n\n  exports.default = _timePicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(310),\n  /* template */\n  __webpack_require__(311),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(51), __webpack_require__(35), __webpack_require__(13), __webpack_require__(48), __webpack_require__(5), __webpack_require__(8), __webpack_require__(40), __webpack_require__(11), __webpack_require__(41), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('babel-runtime/helpers/typeof'), require('babel-runtime/core-js/object/assign'), require('../../common/lang/date'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../cascade-picker/cascade-picker.vue'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global._typeof, global.assign, global.date, global.visibility, global.popup, global.picker, global.locale, global.cascadePicker, global.debug);\n    global.timePicker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _typeof2, _assign, _date, _visibility, _popup, _picker, _locale, _cascadePicker, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-time-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  var NOW = {\n    value: 'now'\n  };\n\n  var INT_RULE = {\n    floor: 'floor',\n    ceil: 'ceil',\n    round: 'round'\n  };\n\n  var DEFAULT_STEP = 10;\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _picker2.default, _locale2.default],\n    components: {\n      CubeCascadePicker: _cascadePicker2.default\n    },\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      delay: {\n        type: Number,\n        default: 15\n      },\n      day: {\n        type: Object,\n        default: function _default() {\n          return {\n            len: 3\n          };\n        }\n      },\n      showNow: {\n        type: [Boolean, Object],\n        default: true\n      },\n      minuteStep: {\n        type: [Number, Object],\n        default: DEFAULT_STEP\n      },\n      format: {\n        type: String,\n        default: 'YYYY/M/D hh:mm'\n      },\n      min: {\n        type: [Date, Number],\n        default: null\n      },\n      max: {\n        type: [Date, Number],\n        default: null\n      }\n    },\n    data: function data() {\n      return {\n        now: new Date(),\n        selectedIndex: [0, 0, 0],\n        value: 0\n      };\n    },\n\n    computed: {\n      _title: function _title() {\n        return this.title || this.$t('selectTime');\n      },\n      _day: function _day() {\n        var defaultDay = {\n          filter: [this.$t('today')],\n          format: this.$t('formatDate')\n        };\n        return (0, _assign2.default)({}, defaultDay, this.day);\n      },\n      nowText: function nowText() {\n        var defaultText = this.$t('now');\n        return this.showNow && this.showNow.text || defaultText;\n      },\n      minuteStepRule: function minuteStepRule() {\n        var minuteStep = this.minuteStep;\n        return (typeof minuteStep === 'undefined' ? 'undefined' : (0, _typeof3.default)(minuteStep)) === 'object' && Math[INT_RULE[minuteStep.rule]] || Math[INT_RULE.floor];\n      },\n      minuteStepNumber: function minuteStepNumber() {\n        var minuteStep = this.minuteStep;\n        return typeof minuteStep === 'number' ? minuteStep : minuteStep.step || DEFAULT_STEP;\n      },\n      minTime: function minTime() {\n        var minTimeStamp = +this.min || +this.now + this.delay * _date.MINUTE_TIMESTAMP;\n\n        var minute = new Date(minTimeStamp).getMinutes();\n        var intMinute = Math.min(this.minuteStepRule(minute / this.minuteStepNumber) * this.minuteStepNumber, 60);\n\n        minTimeStamp += (intMinute - minute) * _date.MINUTE_TIMESTAMP;\n        return new Date(minTimeStamp);\n      },\n      maxTime: function maxTime() {\n        var maxTimeStamp = +this.max || (0, _date.getZeroStamp)(new Date(+this.minTime + this._day.len * _date.DAY_TIMESTAMP)) - 1;\n\n        var minute = new Date(maxTimeStamp).getMinutes();\n        var intMinute = Math.floor(minute / this.minuteStepNumber) * this.minuteStepNumber;\n        maxTimeStamp -= (minute - intMinute) * _date.MINUTE_TIMESTAMP;\n\n        return new Date(maxTimeStamp);\n      },\n      days: function days() {\n        var days = [];\n        var dayDiff = (0, _date.getDayDiff)(this.minTime, this.now);\n        var len = this.max ? (0, _date.getDayDiff)(this.maxTime, this.minTime) + 1 : this._day.len;\n\n        for (var i = 0; i < len; i++) {\n          var timestamp = +this.minTime + i * _date.DAY_TIMESTAMP;\n          days.push({\n            value: timestamp,\n            text: this._day.filter && this._day.filter[dayDiff + i] || (0, _date.formatDate)(new Date(timestamp), this._day.format)\n          });\n        }\n        return days;\n      },\n      hours: function hours() {\n        var hours = [];\n        for (var i = 0; i < 24; i++) {\n          hours.push({\n            value: i,\n            text: '' + i + this.$t('hours'),\n            children: this.minutes\n          });\n        }\n        return hours;\n      },\n      minutes: function minutes() {\n        var minutes = [];\n        for (var i = 0; i < 60; i += this.minuteStepNumber) {\n          minutes.push({\n            value: i,\n            text: '' + (0, _date.pad)(i) + this.$t('minutes')\n          });\n        }\n        return minutes;\n      },\n      cascadeData: function cascadeData() {\n        var _this = this;\n\n        var days = this.days.slice();\n\n        if (this.maxTime - this.minTime <= -60000) {\n          (0, _debug.warn)('The max is smaller than the min optional time.', COMPONENT_NAME);\n          return [];\n        }\n\n        days.forEach(function (day, index) {\n          var isMinDay = index === 0;\n          var isMaxDay = index === days.length - 1;\n\n          if (!isMinDay && !isMaxDay) {\n            day.children = _this.hours;\n            return;\n          }\n\n          var partHours = [];\n          var minHour = isMinDay ? _this.minTime.getHours() : 0;\n          var maxHour = isMaxDay ? _this.maxTime.getHours() : 23;\n\n          for (var i = minHour; i <= maxHour; i++) {\n            var isMinHour = isMinDay && i === minHour;\n            var isMaxHour = isMaxDay && i === maxHour;\n\n            if (!isMinHour && !isMaxHour) {\n              partHours.push({\n                value: i,\n                text: '' + i + _this.$t('hours'),\n                children: _this.minutes\n              });\n              continue;\n            }\n\n            var start = isMinHour ? Math.round(_this.minTime.getMinutes() / _this.minuteStepNumber) : 0;\n            var end = isMaxHour ? Math.round(_this.maxTime.getMinutes() / _this.minuteStepNumber) : Math.floor(59 / _this.minuteStepNumber);\n\n            var partMinutes = _this.minutes.slice(start, end + 1);\n            partHours.push({\n              value: i,\n              text: '' + i + _this.$t('hours'),\n              children: partMinutes\n            });\n          }\n\n          day.children = partHours;\n        });\n\n        var dayDiff = (0, _date.getDayDiff)(this.minTime, this.now);\n\n        if (this.showNow && dayDiff <= 0) {\n          var index = Math.abs(dayDiff);\n          var daysData = days[index];\n\n          if (daysData) {\n            daysData.children = [].concat((0, _toConsumableArray3.default)(daysData.children));\n            daysData.children.unshift({\n              value: NOW.value,\n              text: this.nowText,\n              children: []\n            });\n          }\n        }\n\n        return days;\n      }\n    },\n    methods: {\n      show: function show() {\n        if (this.isVisible) {\n          return;\n        }\n        this.isVisible = true;\n\n        this._updateNow();\n        this._updateSelectedIndex();\n      },\n      setTime: function setTime(value) {\n        this.value = value;\n\n        this.isVisible && this._updateSelectedIndex();\n      },\n      _updateSelectedIndex: function _updateSelectedIndex() {\n        var value = this.value;\n        var minTime = this.minTime;\n\n        var comparativeTime = this.min || this.min === 0 ? +minTime : Math.floor(minTime / _date.MINUTE_TIMESTAMP) * _date.MINUTE_TIMESTAMP;\n        if (value < comparativeTime) {\n          this.selectedIndex = [0, 0, 0];\n        } else {\n          var valueDate = new Date(value);\n          var dayIndex = (0, _date.getDayDiff)(valueDate, minTime);\n\n          if (dayIndex >= this.days.length) {\n            (0, _debug.warn)('Use \"setTime\" to set a time exceeded to the option range do not actually work.', COMPONENT_NAME);\n            return;\n          }\n\n          var hour = valueDate.getHours();\n          var beginHour = dayIndex === 0 ? this.showNow ? this.minTime.getHours() - 1 : this.minTime.getHours() : 0;\n          var hourIndex = hour - beginHour;\n\n          var minute = this.minuteStepRule(valueDate.getMinutes() / this.minuteStepNumber);\n          var beginMinute = !dayIndex && (this.showNow ? hourIndex === 1 : !hourIndex) ? this.minuteStepRule(this.minTime.getMinutes() / this.minuteStepNumber) : 0;\n          var minuteIndex = minute - beginMinute;\n\n          this.selectedIndex = [dayIndex, hourIndex, minuteIndex];\n        }\n      },\n      _updateNow: function _updateNow() {\n        this.now = new Date();\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        var timestamp = void 0;\n        var text = void 0;\n        if (selectedVal[1] === NOW.value) {\n          timestamp = +new Date();\n          text = this.nowText;\n        } else {\n          timestamp = (0, _date.getZeroStamp)(new Date(selectedVal[0])) + selectedVal[1] * _date.HOUR_TIMESTAMP + selectedVal[2] * _date.MINUTE_TIMESTAMP;\n          text = selectedText[0] + ' ' + selectedText[1] + ':' + selectedText[2];\n        }\n\n        this.value = timestamp;\n        var formatedTime = (0, _date.formatDate)(new Date(timestamp), this.format);\n        this.$emit(EVENT_SELECT, timestamp, text, formatedTime);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-cascade-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.cascadeData,\n      \"selected-index\": _vm.selectedIndex,\n      \"title\": _vm._title,\n      \"subtitle\": _vm.subtitle,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"z-index\": _vm.zIndex,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addTimePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addTimePicker(Vue, TimePicker) {\n    var timePickerAPI = (0, _createApi2.default)(Vue, TimePicker, ['select', 'cancel', 'change']);\n    timePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('TimePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(22), __webpack_require__(41), __webpack_require__(314), __webpack_require__(29), __webpack_require__(72), __webpack_require__(317), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/cascade-picker/cascade-picker.vue'), require('../../components/segment-picker/segment-picker.vue'), require('../picker/api'), require('../cascade-picker/api'), require('./api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.cascadePicker, global.segmentPicker, global.api, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _cascadePicker, _segmentPicker, _api, _api3, _api5, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _segmentPicker2 = _interopRequireDefault(_segmentPicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _api6 = _interopRequireDefault(_api5);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _segmentPicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_cascadePicker2.default.name, _cascadePicker2.default);\n    Vue.component(_segmentPicker2.default.name, _segmentPicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _picker2.default);\n    (0, _api4.default)(Vue, _cascadePicker2.default);\n    (0, _api6.default)(Vue, _segmentPicker2.default);\n  };\n\n  _segmentPicker2.default.Picker = _picker2.default;\n  _cascadePicker2.default.Picker = _picker2.default;\n  _segmentPicker2.default.CascadePicker = _cascadePicker2.default;\n\n  exports.default = _segmentPicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(315),\n  /* template */\n  __webpack_require__(316),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(51), __webpack_require__(5), __webpack_require__(8), __webpack_require__(40), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.visibility, global.popup, global.picker, global.locale);\n    global.segmentPicker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _visibility, _popup, _picker, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-segment-picker';\n  var EVENT_NEXT = 'next';\n  var EVENT_PREV = 'prev';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _picker2.default, _locale2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      nextTxt: {\n        type: String,\n        default: ''\n      },\n      prevTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        current: 0,\n        selectedVal: [],\n        selectedIndex: [],\n        selectedText: []\n      };\n    },\n\n    computed: {\n      currentPicker: function currentPicker() {\n        for (var i = 0; i < this.data.length; i++) {\n          var item = this.$refs.pickers[i];\n          if (item.$attrs.index === this.current) {\n            return item;\n          }\n        }\n      },\n      _nextTxt: function _nextTxt() {\n        return this.nextTxt || this.$t('next');\n      },\n      _prevTxt: function _prevTxt() {\n        return this.prevTxt || this.$t('prev');\n      }\n    },\n    watch: {\n      data: function data() {\n        this.current = 0;\n        this.selectedVal = [];\n        this.selectedIndex = [];\n        this.selectedText = [];\n      }\n    },\n    methods: {\n      show: function show() {\n        if (this.isVisible || !this.data.length) {\n          return;\n        }\n        this.isVisible = true;\n        this.currentPicker.show();\n      },\n      hide: function hide() {\n        if (!this.isVisible || !this.data.length) {\n          return;\n        }\n        this.isVisible = false;\n        this.currentPicker.hide();\n      },\n      _select: function _select() {\n        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n          args[_key] = arguments[_key];\n        }\n\n        this.selectedVal[this.current] = args[0];\n        this.selectedIndex[this.current] = args[1];\n        this.selectedText[this.current] = args[2];\n\n        if (this.current < this.data.length - 1) {\n          this.$emit.apply(this, [EVENT_NEXT, this.current].concat((0, _toConsumableArray3.default)(args)));\n          this.current++;\n          this.currentPicker.show();\n        } else {\n          this.isVisible = false;\n          this.$emit(EVENT_SELECT, this.selectedVal, this.selectedIndex, this.selectedText);\n          this.current = 0;\n        }\n      },\n      _cancel: function _cancel() {\n        if (this.current > 0) {\n          for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n            args[_key2] = arguments[_key2];\n          }\n\n          this.$emit.apply(this, [EVENT_PREV, this.current].concat((0, _toConsumableArray3.default)(args)));\n          this.current--;\n          this.currentPicker.show();\n        } else {\n          this.isVisible = false;\n          this.$emit(EVENT_CANCEL);\n        }\n      },\n      _change: function _change() {\n        for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n          args[_key3] = arguments[_key3];\n        }\n\n        this.$emit.apply(this, [EVENT_CHANGE, this.current].concat((0, _toConsumableArray3.default)(args)));\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-segment-picker\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c(item.is || 'cube-picker', _vm._b({\n      key: index,\n      ref: \"pickers\",\n      refInFor: true,\n      tag: \"component\",\n      attrs: {\n        \"index\": index,\n        \"title\": item.title || _vm.title,\n        \"subtitle\": item.subtitle || _vm.subtitle,\n        \"confirm-txt\": item.confirmTxt || (index === _vm.data.length - 1 ? _vm._confirmTxt : _vm._nextTxt),\n        \"cancel-txt\": item.cancelTxt || (index === 0 ? _vm._cancelTxt : _vm._prevTxt),\n        \"swipe-time\": item.swipeTime || _vm.swipeTime,\n        \"z-index\": item.zIndex || _vm.zIndex,\n        \"mask-closable\": _vm.maskClosable\n      },\n      on: {\n        \"select\": _vm._select,\n        \"cancel\": _vm._cancel,\n        \"change\": _vm._change\n      }\n    }, 'component', item, false))\n  }))\n},staticRenderFns: []}\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addSegmentPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addSegmentPicker(Vue, SegmentPicker) {\n    var segmentPickerAPI = (0, _createApi2.default)(Vue, SegmentPicker, ['select', 'cancel', 'change', 'next', 'prev']);\n    segmentPickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('SegmentPicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(319), __webpack_require__(6), __webpack_require__(50), __webpack_require__(323)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/dialog/dialog.vue'), require('../../common/locale'), require('../../components/input/input.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dialog, global.locale, global.input, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _dialog, _locale, _input, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _dialog2 = _interopRequireDefault(_dialog);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _dialog2.default.install = function (Vue) {\n    Vue.component(_input2.default.name, _input2.default);\n    Vue.component(_dialog2.default.name, _dialog2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _dialog2.default);\n  };\n\n  _dialog2.default.Input = _input2.default;\n\n  exports.default = _dialog2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(320)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(321),\n  /* template */\n  __webpack_require__(322),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(112), __webpack_require__(13), __webpack_require__(28), __webpack_require__(50), __webpack_require__(5), __webpack_require__(8), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/extends'), require('babel-runtime/core-js/object/assign'), require('../popup/popup.vue'), require('../input/input.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._extends, global.assign, global.popup, global.input, global.visibility, global.popup, global.locale);\n    global.dialog = mod.exports;\n  }\n})(this, function (module, exports, _extends2, _assign, _popup, _input, _visibility, _popup3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _extends3 = _interopRequireDefault(_extends2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-dialog';\n  var EVENT_CONFIRM = 'confirm';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CLOSE = 'close';\n\n  var defHref = 'javascript:;';\n  var defConfirmBtn = {\n    textType: 'ok',\n    active: true,\n    disabled: false,\n    href: defHref\n  };\n  var defCancelBtn = {\n    textType: 'cancel',\n    active: false,\n    disabled: false,\n    href: defHref\n  };\n  var parseBtn = function parseBtn(btn, defBtn) {\n    if (typeof btn === 'string') {\n      btn = {\n        text: btn\n      };\n    }\n    var text = defBtn && this.$t(defBtn.textType);\n    return (0, _assign2.default)({}, defBtn, { text: text }, btn);\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _locale2.default],\n    props: {\n      type: {\n        type: String,\n        default: 'alert'\n      },\n      prompt: {\n        type: Object,\n        default: function _default() {\n          return {\n            value: '',\n            placeholder: ''\n          };\n        }\n      },\n      icon: {\n        type: String,\n        default: ''\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      showClose: {\n        type: Boolean,\n        default: false\n      },\n      confirmBtn: {\n        type: [Object, String],\n        default: function _default() {\n          return (0, _extends3.default)({}, defConfirmBtn);\n        }\n      },\n      cancelBtn: {\n        type: [Object, String],\n        default: function _default() {\n          return (0, _extends3.default)({}, defCancelBtn);\n        }\n      }\n    },\n    data: function data() {\n      return {\n        defHref: defHref,\n        promptValue: this.prompt.value\n      };\n    },\n\n    computed: {\n      _confirmBtn: function _confirmBtn() {\n        return parseBtn.call(this, this.confirmBtn, defConfirmBtn);\n      },\n      _cancelBtn: function _cancelBtn() {\n        return parseBtn.call(this, this.cancelBtn, defCancelBtn);\n      },\n      isConfirm: function isConfirm() {\n        return this.type === 'confirm';\n      },\n      isPrompt: function isPrompt() {\n        return this.type === 'prompt';\n      },\n      containerClass: function containerClass() {\n        return 'cube-dialog-' + this.type;\n      }\n    },\n    watch: {\n      'prompt.value': {\n        handler: function handler(newVal) {\n          this.promptValue = newVal;\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.maskClosable && this.cancel(e);\n      },\n      confirm: function confirm(e) {\n        if (this._confirmBtn.disabled) {\n          return;\n        }\n        this.hide();\n        this.$emit(EVENT_CONFIRM, e, this.promptValue);\n      },\n      cancel: function cancel(e) {\n        if (this._cancelBtn.disabled) {\n          return;\n        }\n        this.hide();\n        this.$emit(EVENT_CANCEL, e);\n      },\n      close: function close(e) {\n        this.hide();\n        this.$emit(EVENT_CLOSE, e);\n      }\n    },\n    components: {\n      CubePopup: _popup2.default,\n      CubeInput: _input2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-dialog-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"dialog\",\n      \"z-index\": _vm.zIndex,\n      \"mask\": true,\n      \"center\": true\n    },\n    on: {\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('div', {\n    staticClass: \"cube-dialog-main\"\n  }, [_c('span', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.showClose),\n      expression: \"showClose\"\n    }],\n    staticClass: \"cube-dialog-close\",\n    on: {\n      \"click\": _vm.close\n    }\n  }, [_c('i', {\n    staticClass: \"cubeic-close\"\n  })]), _vm._v(\" \"), _c('div', {\n    class: _vm.containerClass\n  }, [(_vm.icon) ? _c('p', {\n    staticClass: \"cube-dialog-icon\"\n  }, [_c('i', {\n    class: _vm.icon\n  })]) : _vm._e(), _vm._v(\" \"), (_vm.title || _vm.$slots.title) ? _c('h2', {\n    staticClass: \"cube-dialog-title\"\n  }, [_vm._t(\"title\", [_c('p', {\n    staticClass: \"cube-dialog-title-def\"\n  }, [_vm._v(_vm._s(_vm.title))])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-dialog-content\"\n  }, [_vm._t(\"content\", [_c('div', {\n    staticClass: \"cube-dialog-content-def\"\n  }, [(_vm.content) ? _c('p', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  }) : _vm._e(), _vm._v(\" \"), (_vm.isPrompt) ? _c('cube-input', _vm._b({\n    model: {\n      value: (_vm.promptValue),\n      callback: function($$v) {\n        _vm.promptValue = $$v\n      },\n      expression: \"promptValue\"\n    }\n  }, 'cube-input', _vm.prompt, false)) : _vm._e()], 1)])], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-dialog-btns\",\n    class: {\n      'border-right-1px': _vm.isConfirm || _vm.isPrompt\n    }\n  }, [_vm._t(\"btns\", [(_vm.isConfirm || _vm.isPrompt) ? _c('a', {\n    staticClass: \"cube-dialog-btn border-top-1px\",\n    class: {\n      'cube-dialog-btn_highlight': _vm._cancelBtn.active, 'cube-dialog-btn_disabled': _vm._cancelBtn.disabled\n    },\n    attrs: {\n      \"href\": _vm._cancelBtn.href\n    },\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelBtn.text))]) : _vm._e(), _vm._v(\" \"), _c('a', {\n    staticClass: \"cube-dialog-btn border-top-1px\",\n    class: {\n      'cube-dialog-btn_highlight': _vm._confirmBtn.active, 'cube-dialog-btn_disabled': _vm._confirmBtn.disabled\n    },\n    attrs: {\n      \"href\": _vm._confirmBtn.href\n    },\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmBtn.text))])])], 2)])])])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addDialog;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addDialog(Vue, Dialog) {\n    (0, _createApi2.default)(Vue, Dialog, ['confirm', 'cancel', 'close', 'btn-click', 'link-click'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(325), __webpack_require__(329), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/action-sheet/action-sheet.vue'), require('./api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.actionSheet, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _actionSheet, _api, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _actionSheet2 = _interopRequireDefault(_actionSheet);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _actionSheet2.default.install = function (Vue) {\n    Vue.component(_actionSheet2.default.name, _actionSheet2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _actionSheet2.default);\n  };\n\n  exports.default = _actionSheet2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(326)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(327),\n  /* template */\n  __webpack_require__(328),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(28), __webpack_require__(5), __webpack_require__(8), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.popup, global.visibility, global.popup, global.locale);\n    global.actionSheet = mod.exports;\n  }\n})(this, function (module, exports, _popup, _visibility, _popup3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-action-sheet';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _locale2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      active: {\n        type: Number,\n        default: -1\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      pickerStyle: {\n        type: Boolean,\n        default: false\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      }\n    },\n    methods: {\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      itemClick: function itemClick(item, index) {\n        this.hide();\n        this.$emit(EVENT_SELECT, item, index);\n      }\n    },\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-action-sheet-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    class: {\n      'cube-action-sheet_picker': _vm.pickerStyle\n    },\n    attrs: {\n      \"type\": \"action-sheet\",\n      \"center\": false,\n      \"mask\": true,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-action-sheet-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-action-sheet-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('h1', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.pickerStyle || _vm.title),\n      expression: \"pickerStyle || title\"\n    }],\n    staticClass: \"cube-action-sheet-title border-bottom-1px\"\n  }, [_vm._v(_vm._s(_vm.title))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-action-sheet-content\"\n  }, [_c('ul', {\n    staticClass: \"cube-action-sheet-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      staticClass: \"cube-action-sheet-item border-bottom-1px\",\n      class: [\n        item.class || '',\n        index === _vm.active ? 'cube-action-sheet-item_active' : ''\n      ],\n      attrs: {\n        \"data-align\": item.align\n      },\n      domProps: {\n        \"innerHTML\": _vm._s(item.content)\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.itemClick(item, index)\n        }\n      }\n    })\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-action-sheet-space\"\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-action-sheet-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_c('span', [_vm._v(_vm._s(_vm._cancelTxt))])])])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addActionSheet;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addActionSheet(Vue, ActionSheet) {\n    (0, _createApi2.default)(Vue, ActionSheet, ['select', 'cancel'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(331), __webpack_require__(115), __webpack_require__(121)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/drawer/drawer.vue'), require('../../components/drawer/drawer-panel.vue'), require('../../components/drawer/drawer-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.drawer, global.drawerPanel, global.drawerItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _drawer, _drawerPanel, _drawerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _drawer2 = _interopRequireDefault(_drawer);\n\n  var _drawerPanel2 = _interopRequireDefault(_drawerPanel);\n\n  var _drawerItem2 = _interopRequireDefault(_drawerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _drawer2.default.install = function (Vue) {\n    Vue.component(_drawer2.default.name, _drawer2.default);\n    Vue.component(_drawerPanel2.default.name, _drawerPanel2.default);\n    Vue.component(_drawerItem2.default.name, _drawerItem2.default);\n  };\n\n  _drawer2.default.Panel = _drawerPanel2.default;\n  _drawer2.default.Item = _drawerItem2.default;\n\n  exports.default = _drawer2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(332)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(333),\n  /* template */\n  __webpack_require__(372),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(23), __webpack_require__(51), __webpack_require__(12), __webpack_require__(115), __webpack_require__(5), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/toConsumableArray'), require('../../common/helpers/dom'), require('./drawer-panel.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.toConsumableArray, global.dom, global.drawerPanel, global.visibility, global.popup);\n    global.drawer = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _toConsumableArray2, _dom, _drawerPanel, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _drawerPanel2 = _interopRequireDefault(_drawerPanel);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-drawer';\n  var EVENT_CHANGE = 'change';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n\n  var transform = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      }\n    },\n    data: function data() {\n      return {\n        index: -1,\n        selectedVal: [],\n        selectedText: [],\n        selected: [].concat((0, _toConsumableArray3.default)(this.selectedIndex)),\n        slideStyle: (0, _defineProperty3.default)({}, transform, 'translate3d(0, 0, 0)')\n      };\n    },\n\n    watch: {\n      selectedIndex: function selectedIndex(newVal) {\n        this.selected = [].concat((0, _toConsumableArray3.default)(newVal));\n      },\n      index: function index(newIndex, oldIndex) {\n        this.showPanel();\n        if (newIndex < oldIndex) {\n          this.hidePanel();\n        }\n      }\n    },\n    created: function created() {\n      this.panels = [];\n    },\n\n    methods: {\n      show: function show() {\n        if (this.isVisible) {\n          return;\n        }\n        this.isVisible = true;\n\n        var len = this.data.length;\n        for (var i = 0; i < len; i++) {\n          this.index = i;\n          if (this.selected[i] < 0 || this.selected[i] === undefined) {\n            if (i > 0) {\n              var lastIndex = i - 1;\n              var index = this.selected[lastIndex];\n              this.changeHandler(lastIndex, this.data[lastIndex][index], index);\n            }\n            break;\n          }\n        }\n        this.computedStyle();\n      },\n      hide: function hide() {\n        this.slideStyle[transform] = 'translate3d(0, 0, 0)';\n        this.shouldHide = true;\n      },\n      addPanel: function addPanel(panel) {\n        this.panels.push(panel);\n      },\n      removePanel: function removePanel(panel) {\n        var i = this.panels.indexOf(panel);\n        this.panels.splice(i, 1);\n      },\n      transitionend: function transitionend() {\n        if (this.shouldHide) {\n          this.isVisible = false;\n          this.shouldHide = false;\n        }\n      },\n      refill: function refill(panelIndex, data, index) {\n        this.$set(this.data, panelIndex, data);\n        this.index = panelIndex;\n        this.selected = this.selected.slice(0, panelIndex);\n        this.selectedVal = this.selectedVal.slice(0, panelIndex);\n        this.selectedText = this.selectedText.slice(0, panelIndex);\n        if (index >= 0) {\n          this.$set(this.selected, panelIndex, index);\n          this.changeHandler(panelIndex, this.data[panelIndex][index], index);\n        }\n      },\n      showPanel: function showPanel() {\n        var index = this.index;\n        var i = 0;\n        while (i <= index) {\n          this.panels[i].show();\n          i++;\n        }\n        this.computedStyle();\n      },\n      hidePanel: function hidePanel() {\n        var len = this.data.length;\n        var i = this.index + 1;\n        while (i < len) {\n          this.panels[i].hide();\n          i++;\n        }\n      },\n      computedStyle: function computedStyle() {\n        var _this = this;\n\n        this.$nextTick(function () {\n          var allWidth = 0;\n          var i = 0;\n          var index = _this.index;\n          while (i <= index) {\n            var el = _this.panels[i].$el;\n            allWidth += el.offsetWidth;\n            var elStyle = window.getComputedStyle(el);\n            allWidth += parseInt(elStyle.marginLeft);\n            allWidth += parseInt(elStyle.marginRight);\n            i++;\n          }\n          _this.slideStyle[transform] = 'translate3d(-' + allWidth + 'px, 0, 0)';\n        });\n      },\n      changeHandler: function changeHandler(panelIndex, item, index) {\n        if (typeof item === 'string') {\n          this.selectedVal[panelIndex] = item;\n          this.selectedText[panelIndex] = item;\n        } else {\n          this.selectedVal[panelIndex] = item.value;\n          this.selectedText[panelIndex] = item.text;\n        }\n        this.$set(this.selected, panelIndex, index);\n        if (panelIndex === this.data.length - 1) {\n          this.$emit(EVENT_SELECT, this.selectedVal, this.selected, this.selectedText);\n          this.hide();\n        } else {\n          this.$emit(EVENT_CHANGE, panelIndex, item, this.selectedVal, this.selected, this.selectedText);\n        }\n      },\n      drawerClick: function drawerClick() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      }\n    },\n    components: {\n      CubeDrawerPanel: _drawerPanel2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(5), __webpack_require__(30), __webpack_require__(121)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/visibility'), require('../scroll/scroll.vue'), require('./drawer-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.visibility, global.scroll, global.drawerItem);\n    global.drawerPanel = mod.exports;\n  }\n})(this, function (module, exports, _visibility, _scroll, _drawerItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _drawerItem2 = _interopRequireDefault(_drawerItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-drawer-panel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      index: {\n        type: Number,\n        default: -1\n      }\n    },\n    computed: {\n      selectedIndex: function selectedIndex() {\n        var selectedIndex = this.$parent.selected[this.index];\n        return selectedIndex === undefined ? -1 : selectedIndex;\n      }\n    },\n    watch: {\n      data: function data() {\n        this.scrollToTop();\n      },\n      isVisible: function isVisible() {\n        var _this = this;\n\n        this.$nextTick(function () {\n          _this.refresh();\n        });\n      }\n    },\n    mounted: function mounted() {\n      this.$parent.addPanel(this);\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.$parent.removePanel(this);\n    },\n\n    methods: {\n      refresh: function refresh() {\n        this.$refs.scroll.refresh();\n      },\n      scrollToTop: function scrollToTop() {\n        this.$refs.scroll.scroll && this.$refs.scroll.scroll.scrollTo(0, 0, 0);\n      },\n      itemClickHandler: function itemClickHandler(item, index) {\n        if (this.selectedIndex !== index) {\n          this.$parent.changeHandler(this.index, item, index);\n        }\n      }\n    },\n    components: {\n      CubeScroll: _scroll2.default,\n      CubeDrawerItem: _drawerItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(116), __webpack_require__(349), __webpack_require__(352), __webpack_require__(13), __webpack_require__(52), __webpack_require__(38), __webpack_require__(353), __webpack_require__(42), __webpack_require__(74), __webpack_require__(12), __webpack_require__(64), __webpack_require__(68)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(87);\n__webpack_require__(36);\n__webpack_require__(47);\n__webpack_require__(339);\n__webpack_require__(347);\n__webpack_require__(348);\nmodule.exports = __webpack_require__(1).Promise;\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(34);\nvar global = __webpack_require__(3);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(67);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(18);\nvar aFunction = __webpack_require__(43);\nvar anInstance = __webpack_require__(340);\nvar forOf = __webpack_require__(341);\nvar speciesConstructor = __webpack_require__(117);\nvar task = __webpack_require__(118).set;\nvar microtask = __webpack_require__(343)();\nvar newPromiseCapabilityModule = __webpack_require__(73);\nvar perform = __webpack_require__(119);\nvar userAgent = __webpack_require__(344);\nvar promiseResolve = __webpack_require__(120);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(4)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(345)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(46)($Promise, PROMISE);\n__webpack_require__(346)(PROMISE);\nWrapper = __webpack_require__(1)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(99)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(97);\nvar isArrayIter = __webpack_require__(98);\nvar anObject = __webpack_require__(15);\nvar toLength = __webpack_require__(56);\nvar getIterFn = __webpack_require__(66);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(3);\nvar macrotask = __webpack_require__(118).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(33)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(3);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(17);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(3);\nvar core = __webpack_require__(1);\nvar dP = __webpack_require__(14);\nvar DESCRIPTORS = __webpack_require__(16);\nvar SPECIES = __webpack_require__(4)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(1);\nvar global = __webpack_require__(3);\nvar speciesConstructor = __webpack_require__(117);\nvar promiseResolve = __webpack_require__(120);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(73);\nvar perform = __webpack_require__(119);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(350);\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(351);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(116);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(354),\n  /* template */\n  __webpack_require__(355),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 355 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(357);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(360);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(358), __esModule: true };\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(47);\n__webpack_require__(36);\nmodule.exports = __webpack_require__(359);\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(67);\nvar ITERATOR = __webpack_require__(4)('iterator');\nvar Iterators = __webpack_require__(26);\nmodule.exports = __webpack_require__(1).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(361), __esModule: true };\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(47);\n__webpack_require__(36);\nmodule.exports = __webpack_require__(362);\n\n\n/***/ }),\n/* 362 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(15);\nvar get = __webpack_require__(66);\nmodule.exports = __webpack_require__(1).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 363 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(364), __esModule: true };\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(365);\nmodule.exports = __webpack_require__(1).Object.entries;\n\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(366)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 366 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(25);\nvar toIObject = __webpack_require__(21);\nvar isEnum = __webpack_require__(37).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 367 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 369 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.drawerItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-drawer-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: [String, Object],\n        default: ''\n      },\n      index: {\n        type: Number,\n        default: -1\n      }\n    },\n    computed: {\n      itemClass: function itemClass() {\n        return this.$parent.$parent.selectedIndex === this.index ? 'cube-drawer-item_active' : '';\n      }\n    },\n    methods: {\n      clickItem: function clickItem(item) {\n        this.$parent.$parent.itemClickHandler(item, this.index);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-drawer-item border-bottom-1px\",\n    class: _vm.itemClass,\n    on: {\n      \"click\": function($event) {\n        _vm.clickItem(_vm.item)\n      }\n    }\n  }, [_vm._t(\"default\", [_vm._v(\"\\n    \" + _vm._s(_vm.item.text || _vm.item) + \"\\n  \")])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-drawer-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-drawer-panel\"\n  }, [_c('div', {\n    staticClass: \"cube-drawer-scroll-wrapper\"\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"data\": _vm.data\n    }\n  }, [_c('ul', {\n    staticClass: \"cube-drawer-list\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, i) {\n    return _c('cube-drawer-item', {\n      key: i,\n      attrs: {\n        \"item\": item,\n        \"index\": i\n      }\n    })\n  }))], 2)])], 1)])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 372 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-drawer\",\n    on: {\n      \"click\": _vm.drawerClick\n    }\n  }, [_c('div', {\n    staticClass: \"cube-drawer-main\",\n    style: (_vm.slideStyle),\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      },\n      \"transitionend\": _vm.transitionend\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.$slots.title || _vm.title),\n      expression: \"$slots.title || title\"\n    }],\n    staticClass: \"cube-drawer-title\"\n  }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-drawer-panels\",\n    on: {\n      \"transitionend\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(panel, index) {\n    return _c('cube-drawer-panel', {\n      key: index,\n      attrs: {\n        \"index\": index,\n        \"data\": panel\n      }\n    })\n  }))], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 373 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(374), __webpack_require__(384)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/image-preview/image-preview.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.imagePreview, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _imagePreview, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _imagePreview2 = _interopRequireDefault(_imagePreview);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _imagePreview2.default.install = function (Vue) {\n    Vue.component(_imagePreview2.default.name, _imagePreview2.default);\n    (0, _api2.default)(Vue, _imagePreview2.default);\n  };\n\n  exports.default = _imagePreview2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 374 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(375)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(376),\n  /* template */\n  __webpack_require__(383),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 375 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 376 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(28), __webpack_require__(122), __webpack_require__(75), __webpack_require__(30), __webpack_require__(5), __webpack_require__(8), __webpack_require__(39), __webpack_require__(68)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../popup/popup.vue'), require('../slide/slide.vue'), require('../slide/slide-item.vue'), require('../scroll/scroll.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/helpers/env'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.popup, global.slide, global.slideItem, global.scroll, global.visibility, global.popup, global.env, global.constants);\n    global.imagePreview = mod.exports;\n  }\n})(this, function (module, exports, _popup, _slide2, _slideItem, _scroll2, _visibility, _popup3, _env, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _slide3 = _interopRequireDefault(_slide2);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  var _scroll3 = _interopRequireDefault(_scroll2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-image-preview';\n  var EVENT_CHANGE = 'change';\n  var EVENT_HIDE = 'hide';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default],\n    props: {\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      imgs: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      preventDefault: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data: function data() {\n      return {\n        currentPageIndex: this.initialIndex,\n        options: {\n          observeDOM: false,\n          bounce: {\n            left: true,\n            right: true\n          },\n          useTransition: _env.isAndroid ? false : _constants.USE_TRANSITION,\n          probeType: 3,\n          preventDefault: this.preventDefault\n        },\n        scrollOptions: {\n          useTransition: _constants.USE_TRANSITION,\n          HWCompositing: _env.isAndroid,\n          observeDOM: false,\n          zoom: true,\n          bindToWrapper: true,\n          freeScroll: true,\n          scrollX: true,\n          scrollY: true,\n          probeType: 3,\n          bounce: false,\n          click: false,\n          dblclick: true,\n          bounceTime: 300,\n          preventDefault: this.preventDefault\n        }\n      };\n    },\n\n    watch: {\n      initialIndex: function initialIndex(newIndex) {\n        this.setPageIndex(newIndex);\n      }\n    },\n    methods: {\n      show: function show() {\n        var _this = this;\n\n        this.isVisible = true;\n        this.$nextTick(function () {\n          _this._listenSlide();\n          _this._listenScroll();\n        });\n      },\n      _listenSlide: function _listenSlide() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          var slide = _this2.$refs.slide.slide;\n          slide.on('scrollStart', _this2.slideScrollStartHandler);\n          slide.on('scrollEnd', _this2.slideScrollEndHandler);\n        });\n      },\n      _listenScroll: function _listenScroll() {\n        var _this3 = this;\n\n        this.$nextTick(function () {\n          _this3.$refs.items.forEach(function (scrollItem) {\n            var scroll = scrollItem.scroll;\n            scroll.on('zoomStart', _this3.zoomStartHandler.bind(_this3, scroll));\n            scroll.on('beforeScrollStart', _this3.beforeScrollHandler);\n            scroll.on('scroll', _this3.checkBoundary.bind(_this3, scroll));\n            scroll.on('scrollEnd', _this3.scrollEndHandler.bind(_this3, scroll));\n          });\n        });\n      },\n      hide: function hide() {\n        this.isVisible = false;\n        this.$emit(EVENT_HIDE);\n      },\n      prev: function prev() {\n        var slide = this.$refs.slide.slide;\n        slide && slide.prev();\n      },\n      next: function next() {\n        var slide = this.$refs.slide.slide;\n        slide && slide.next();\n      },\n      goTo: function goTo(index) {\n        var slide = this.$refs.slide.slide;\n        slide && slide.goToPage(index, 0);\n      },\n      imgLoad: function imgLoad(i) {\n        if (this.isVisible && this.$refs.items) {\n          this.$refs.items[i].scroll.refresh();\n        }\n      },\n      setPageIndex: function setPageIndex(currentPageIndex) {\n        if (this.currentPageIndex >= 0 && this.currentPageIndex !== currentPageIndex) {\n          var item = this.$refs.items[this.currentPageIndex];\n          if (item) {\n            var scroll = item.scroll;\n\n            if (scroll.scale !== 1) {\n              scroll.scale = 1;\n              scroll.lastcale = 1;\n              scroll.refresh();\n            }\n          }\n        }\n        this.currentPageIndex = currentPageIndex;\n      },\n      slideChangeHandler: function slideChangeHandler(currentPageIndex) {\n        this.setPageIndex(currentPageIndex);\n        this.slideScrollEndHandler();\n        this.$emit(EVENT_CHANGE, currentPageIndex);\n      },\n      slideScrollStartHandler: function slideScrollStartHandler() {\n        var slide = this.$refs.slide.slide;\n        if (this._scrolling && !this._hasEnableSlide) {\n          slide.disable();\n        } else {\n          slide.enable();\n        }\n      },\n      slideScrollEndHandler: function slideScrollEndHandler() {\n        var _this4 = this;\n\n        this.$refs.items.forEach(function (scrollItem) {\n          _this4.scrollEndHandler(scrollItem.scroll);\n        });\n      },\n      _scroll: function _scroll(scroll) {\n        var slide = this.$refs.slide.slide;\n        slide.disable();\n        slide.refresh();\n        scroll.enable();\n      },\n      _slide: function _slide(scroll) {\n        this.$refs.slide.slide.enable();\n        scroll.disable();\n      },\n      beforeScrollHandler: function beforeScrollHandler() {\n        clearTimeout(this.enableSlideTid);\n      },\n      scrollEndHandler: function scrollEndHandler(scroll) {\n        var _this5 = this;\n\n        clearTimeout(this.enableSlideTid);\n        if (this.dblZooming) {\n          this.dblZooming = false;\n          clearTimeout(this.clickTid);\n        }\n        this._hasEnableSlide = false;\n        this._scrolling = false;\n        scroll.enable();\n        this.enableSlideTid = setTimeout(function () {\n          _this5.$refs.slide.slide.enable();\n        });\n      },\n      checkBoundary: function checkBoundary(scroll, pos) {\n        if (scroll.distX && Math.abs(scroll.distX) > Math.abs(scroll.distY)) {\n          this._scrolling = true;\n          var reached = scroll.distX > 0 ? pos.x >= scroll.minScrollX : pos.x <= scroll.maxScrollX;\n          if (reached) {\n            this._hasEnableSlide = true;\n            this._slide(scroll);\n          } else {\n            if (!this._hasEnableSlide) {\n              this._scroll(scroll);\n            }\n          }\n        } else if (scroll.distY) {\n          this._scrolling = true;\n          this._scroll(scroll);\n        }\n      },\n      zoomStartHandler: function zoomStartHandler(scroll) {\n        this._scroll(scroll);\n      },\n      dblclickHandler: function dblclickHandler(index, e) {\n        var scroll = this.$refs.items[index].scroll;\n        this.dblZooming = true;\n        this.zoomTo(scroll, scroll.scale > 1 ? 1 : 2, e);\n        scroll.disable();\n      },\n      itemClickHandler: function itemClickHandler() {\n        var _this6 = this;\n\n        clearTimeout(this.clickTid);\n        this.clickTid = setTimeout(function () {\n          !_this6.dblZooming && _this6.hide();\n        }, this.scrollOptions.bounceTime);\n      },\n      zoomTo: function zoomTo(scroll, scale, e) {\n        scroll.zoomTo(scale, e.pageX, e.pageY);\n      }\n    },\n    components: {\n      CubePopup: _popup2.default,\n      CubeSlide: _slide3.default,\n      CubeSlideItem: _slideItem2.default,\n      CubeScroll: _scroll3.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 377 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 378 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(13), __webpack_require__(75), __webpack_require__(52), __webpack_require__(42), __webpack_require__(74)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('./slide-item.vue'), require('better-scroll'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.slideItem, global.betterScroll, global.scroll, global.deprecated);\n    global.slide = mod.exports;\n  }\n})(this, function (module, exports, _assign, _slideItem, _betterScroll, _scroll, _deprecated) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-slide';\n  var EVENT_CHANGE = 'change';\n  var EVENT_SELECT = 'click';\n  var EVENT_SCROLL_END = 'scroll-end';\n  var EVENT_SCROLL = 'scroll';\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var DEFAULT_OPTIONS = {\n    momentum: false,\n    click: true,\n    observeDOM: false,\n    bounce: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      threshold: {\n        type: Number,\n        default: 0.3\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      autoPlay: {\n        type: Boolean,\n        default: true\n      },\n      interval: {\n        type: Number,\n        default: 4000\n      },\n      showDots: {\n        type: Boolean,\n        default: true\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_H\n      },\n\n      allowVertical: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      stopPropagation: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      refreshResetCurrent: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data: function data() {\n      return {\n        dots: 0,\n        currentPageIndex: this.initialIndex || 0\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      this._dataWatchers = [];\n      var needRefreshProps = ['data', 'loop', 'autoPlay', 'options.eventPassthrough', 'threshold', 'speed', 'allowVertical'];\n      needRefreshProps.forEach(function (key) {\n        _this._dataWatchers.push(_this.$watch(key, function () {\n          if (key === 'data') {\n            _this._destroy();\n          }\n\n          _this.$nextTick(function () {\n            _this.refresh();\n          });\n        }));\n      });\n    },\n\n    watch: {\n      initialIndex: function initialIndex(newIndex) {\n        if (newIndex !== this.currentPageIndex) {\n          this._goToPage(newIndex);\n        }\n      }\n    },\n    methods: {\n      clickItem: function clickItem(item, index) {\n        this.$emit(EVENT_SELECT, item, index);\n      },\n      refresh: function refresh() {\n        if (this.slide === null) {\n          return;\n        }\n        this._destroy();\n        clearTimeout(this._timer);\n\n        if (this.slide && this.refreshResetCurrent) {\n          this.currentPageIndex = 0;\n        }\n        this._updateSlideDom();\n        if (this.showDots) {\n          this._initDots();\n        }\n        if (this.currentPageIndex >= this.dots.length) {\n          this.currentPageIndex = this.dots.length - 1;\n        }\n        this._initSlide();\n\n        if (this.autoPlay) {\n          this._play();\n        }\n      },\n      play: function play() {\n        if (!this.autoPlay) return;\n        if (this._timer === null) {\n          this._play();\n        }\n      },\n      pause: function pause() {\n        if (!this.autoPlay) return;\n        clearTimeout(this._timer);\n        this._timer = null;\n      },\n      _destroy: function _destroy() {\n        this.slide && this.slide.destroy();\n      },\n      _refresh: function _refresh() {\n        this._updateSlideDom(true);\n        this.slide.refresh();\n      },\n      _updateSlideDom: function _updateSlideDom(isResize) {\n        this._setSlideStyle(isResize);\n      },\n      _setSlideStyle: function _setSlideStyle(isResize) {\n        this.children = this.$refs.slideGroup.children;\n\n        var target = this.direction === DIRECTION_H ? 'width' : 'height';\n        var allSize = 0;\n        var slideSize = this.$refs.slide['client' + (target[0].toUpperCase() + target.slice(1))];\n        var len = this.children.length;\n        for (var i = 0; i < len; i++) {\n          var child = this.children[i];\n          child.style[target] = slideSize + 'px';\n          allSize += slideSize;\n        }\n        if (this.loop && !isResize && len > 1) {\n          allSize += 2 * slideSize;\n        }\n        this.$refs.slideGroup.style[target] = allSize + 'px';\n      },\n      _initSlide: function _initSlide() {\n        var _this2 = this;\n\n        var eventPassthrough = this.direction === DIRECTION_H && this.allowVertical ? DIRECTION_V : '';\n\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, {\n          scrollX: this.direction === DIRECTION_H,\n          scrollY: this.direction === DIRECTION_V,\n          eventPassthrough: eventPassthrough,\n          snap: {\n            loop: this.loop,\n            threshold: this.threshold,\n            speed: this.speed\n          },\n          stopPropagation: this.stopPropagation\n        }, this.options);\n\n        this.slide = new _betterScroll2.default(this.$refs.slide, options);\n\n        this.slide.on('scrollEnd', this._onScrollEnd);\n\n        this._goToPage(this.currentPageIndex, 0);\n\n        if (this.options.listenScroll && this.options.probeType === 3) {\n          this.slide.on('scroll', this._onScroll);\n        }\n        var slideEl = this.$refs.slide;\n        slideEl.removeEventListener('touchend', this._touchEndEvent, false);\n        this._touchEndEvent = function () {\n          if (_this2.autoPlay) {\n            _this2._play();\n          }\n        };\n        slideEl.addEventListener('touchend', this._touchEndEvent, false);\n\n        this.slide.on('beforeScrollStart', function () {\n          if (_this2.autoPlay) {\n            clearTimeout(_this2._timer);\n          }\n        });\n      },\n      _onScrollEnd: function _onScrollEnd() {\n        var _slide$getCurrentPage = this.slide.getCurrentPage(),\n            pageX = _slide$getCurrentPage.pageX,\n            pageY = _slide$getCurrentPage.pageY;\n\n        var pageIndex = this.direction === DIRECTION_H ? pageX : pageY;\n        if (this.currentPageIndex !== pageIndex) {\n          this.currentPageIndex = pageIndex;\n          this.$emit(EVENT_CHANGE, pageIndex);\n        }\n\n        this.$emit(EVENT_SCROLL_END, pageIndex);\n\n        if (this.autoPlay) {\n          this._play();\n        }\n      },\n      _onScroll: function _onScroll(pos) {\n        this.$emit(EVENT_SCROLL, pos);\n      },\n      _initDots: function _initDots() {\n        this.dots = new Array(this.children.length);\n      },\n      _play: function _play() {\n        var _this3 = this;\n\n        clearTimeout(this._timer);\n        this._timer = setTimeout(function () {\n          _this3.slide && _this3.slide.next();\n        }, this.interval);\n      },\n      _deactivated: function _deactivated() {\n        clearTimeout(this._timer);\n        clearTimeout(this._resizeTimer);\n        window.removeEventListener('resize', this._resizeHandler);\n        var slideEl = this.$refs.slide;\n        if (slideEl) {\n          slideEl.removeEventListener('touchend', this._touchEndEvent, false);\n        }\n      },\n      _resizeHandler: function _resizeHandler() {\n        var _this4 = this;\n\n        if (!this.slide) {\n          return;\n        }\n        clearTimeout(this._resizeTimer);\n        this._resizeTimer = setTimeout(function () {\n          if (_this4.slide.isInTransition) {\n            _this4._onScrollEnd();\n          } else {\n            if (_this4.autoPlay) {\n              _this4._play();\n            }\n          }\n          _this4._refresh();\n        }, 60);\n      },\n      _goToPage: function _goToPage(index, time) {\n        if (this.direction === DIRECTION_H) {\n          this.slide && this.slide.goToPage(index, 0, time);\n        } else if (this.direction === DIRECTION_V) {\n          this.slide && this.slide.goToPage(0, index, time);\n        }\n      }\n    },\n    mounted: function mounted() {\n      var _this5 = this;\n\n      this.$nextTick(function () {\n        _this5.refresh();\n      });\n\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    activated: function activated() {\n      if (this.autoPlay) {\n        this._play();\n      }\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    deactivated: function deactivated() {\n      this._deactivated();\n    },\n    destroyed: function destroyed() {\n      this._deactivated();\n      this._destroy();\n      this.slide = null;\n\n      this._dataWatchers.forEach(function (cancalWatcher) {\n        cancalWatcher();\n      });\n      this._dataWatchers = null;\n    },\n\n    components: {\n      CubeSlideItem: _slideItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 379 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 380 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.slideItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-slide-item';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 381 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-slide-item\"\n  }, [_vm._t(\"default\", [_c('a', {\n    attrs: {\n      \"href\": _vm.item.url\n    }\n  }, [_c('img', {\n    attrs: {\n      \"src\": _vm.item.image\n    }\n  })])])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 382 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"slide\",\n    staticClass: \"cube-slide\"\n  }, [_c('div', {\n    ref: \"slideGroup\",\n    staticClass: \"cube-slide-group\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-slide-item', {\n      key: index,\n      attrs: {\n        \"item\": item\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.clickItem(item, index)\n        }\n      }\n    })\n  }))], 2), _vm._v(\" \"), (_vm.showDots) ? _c('div', {\n    staticClass: \"cube-slide-dots\"\n  }, [_vm._t(\"dots\", _vm._l((_vm.dots), function(item, index) {\n    return _c('span', {\n      key: index,\n      class: {\n        active: _vm.currentPageIndex === index\n      }\n    })\n  }), {\n    current: _vm.currentPageIndex,\n    dots: _vm.dots\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 383 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-image-preview-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"image-preview\",\n      \"z-index\": _vm.zIndex,\n      \"center\": false\n    }\n  }, [_c('div', {\n    staticClass: \"cube-image-preview-container\"\n  }, [_c('div', {\n    staticClass: \"cube-image-preview-header\"\n  }, [_vm._t(\"header\", null, {\n    current: _vm.currentPageIndex\n  })], 2), _vm._v(\" \"), (_vm.isVisible) ? _c('cube-slide', {\n    ref: \"slide\",\n    attrs: {\n      \"data\": _vm.imgs,\n      \"initial-index\": _vm.currentPageIndex,\n      \"auto-play\": false,\n      \"loop\": _vm.loop,\n      \"speed\": _vm.speed,\n      \"options\": _vm.options\n    },\n    on: {\n      \"change\": _vm.slideChangeHandler\n    }\n  }, [_vm._l((_vm.imgs), function(img, index) {\n    return _c('cube-slide-item', {\n      key: index\n    }, [_c('div', {\n      staticClass: \"cube-image-preview-item\",\n      on: {\n        \"click\": _vm.itemClickHandler\n      }\n    }, [_c('cube-scroll', {\n      ref: \"items\",\n      refInFor: true,\n      attrs: {\n        \"options\": _vm.scrollOptions\n      },\n      nativeOn: {\n        \"dblclick\": function($event) {\n          _vm.dblclickHandler(index, $event)\n        }\n      }\n    }, [_c('img', {\n      staticClass: \"cube-image-preview-img\",\n      attrs: {\n        \"src\": img\n      },\n      on: {\n        \"load\": function($event) {\n          _vm.imgLoad(index)\n        }\n      }\n    })])], 1)])\n  }), _vm._v(\" \"), _c('template', {\n    slot: \"dots\"\n  }, [_c('i')])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-image-preview-footer\"\n  }, [_vm._t(\"footer\", [_c('span', {\n    staticClass: \"cube-image-preview-counter\"\n  }, [_vm._v(_vm._s(_vm.currentPageIndex + 1) + \"/\" + _vm._s(_vm.imgs.length))])], {\n    current: _vm.currentPageIndex\n  })], 2)], 1)])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 384 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addImagePreview;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addImagePreview(Vue, ImagePreview) {\n    (0, _createApi2.default)(Vue, ImagePreview, ['change', 'hide'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 385 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(30)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/scroll/scroll.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _scroll) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _scroll2.default.install = function (Vue) {\n    Vue.component(_scroll2.default.name, _scroll2.default);\n  };\n\n  exports.default = _scroll2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 386 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(122), __webpack_require__(75)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/slide/slide.vue'), require('../../components/slide/slide-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slide, global.slideItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _slide, _slideItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slide2 = _interopRequireDefault(_slide);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _slide2.default.install = function (Vue) {\n    Vue.component(_slide2.default.name, _slide2.default);\n    Vue.component(_slideItem2.default.name, _slideItem2.default);\n  };\n\n  _slide2.default.Item = _slideItem2.default;\n\n  exports.default = _slide2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 387 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(388), __webpack_require__(123), __webpack_require__(124)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/index-list/index-list.vue'), require('../../components/index-list/index-list-group.vue'), require('../../components/index-list/index-list-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.indexList, global.indexListGroup, global.indexListItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _indexList, _indexListGroup, _indexListItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _indexList2 = _interopRequireDefault(_indexList);\n\n  var _indexListGroup2 = _interopRequireDefault(_indexListGroup);\n\n  var _indexListItem2 = _interopRequireDefault(_indexListItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _indexList2.default.install = function (Vue) {\n    Vue.component(_indexList2.default.name, _indexList2.default);\n    Vue.component(_indexListGroup2.default.name, _indexListGroup2.default);\n    Vue.component(_indexListItem2.default.name, _indexListItem2.default);\n  };\n\n  _indexList2.default.Group = _indexListGroup2.default;\n  _indexList2.default.Item = _indexListItem2.default;\n\n  exports.default = _indexList2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 388 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(389)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(390),\n  /* template */\n  __webpack_require__(396),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 389 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 390 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(13), __webpack_require__(12), __webpack_require__(39), __webpack_require__(30), __webpack_require__(123), __webpack_require__(42), __webpack_require__(74)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/helpers/dom'), require('../../common/helpers/env'), require('../scroll/scroll.vue'), require('./index-list-group.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.dom, global.env, global.scroll, global.indexListGroup, global.scroll, global.deprecated);\n    global.indexList = mod.exports;\n  }\n})(this, function (module, exports, _assign, _dom, _env, _scroll, _indexListGroup, _scroll3, _deprecated) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _indexListGroup2 = _interopRequireDefault(_indexListGroup);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-index-list';\n  var EVENT_SELECT = 'select';\n  var EVENT_TITLE_CLICK = 'title-click';\n  var EVENT_PULLING_UP = 'pulling-up';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n\n  var ANCHOR_HEIGHT = _env.inBrowser ? window.innerHeight <= 480 ? 17 : 18 : 18;\n  var transformStyleKey = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll4.default, _deprecated2.default],\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      speed: {\n        type: Number,\n        default: 0\n      },\n      navbar: {\n        type: Boolean,\n        default: true\n      },\n      pullDownRefresh: {\n        type: [Object, Boolean],\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      pullUpLoad: {\n        type: [Object, Boolean],\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      }\n    },\n    data: function data() {\n      return {\n        scrollEvents: ['scroll'],\n        currentIndex: 0,\n        scrollY: -1,\n        diff: -1,\n        titleHeight: 0\n      };\n    },\n\n    computed: {\n      hasTitle: function hasTitle() {\n        return this.title || this.$slots.title;\n      },\n      fixedTitle: function fixedTitle() {\n        this.hasTitle && !this.titleHeight && this._caculateTitleHeight();\n\n        return this.scrollY <= -this.titleHeight && this.data[this.currentIndex] ? this.data[this.currentIndex].name : '';\n      },\n      shortcutList: function shortcutList() {\n        return this.data.map(function (group) {\n          return group ? group.shortcut || group.name.substr(0, 1) : '';\n        });\n      },\n      scrollOptions: function scrollOptions() {\n        return (0, _assign2.default)({}, {\n          pullDownRefresh: this.pullDownRefresh,\n          pullUpLoad: this.pullUpLoad\n        }, this.options);\n      }\n    },\n    created: function created() {\n      this.groupList = [];\n      this.listHeight = [];\n      this.touch = {};\n      this.subTitleHeight = 0;\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$nextTick(function () {\n        _this.refresh();\n      });\n    },\n\n    methods: {\n      refresh: function refresh() {\n        this._caculateTitleHeight();\n        this._calculateHeight();\n        this.$refs.scroll && this.$refs.scroll.refresh();\n      },\n      selectItem: function selectItem(item) {\n        this.$emit(EVENT_SELECT, item);\n      },\n      scroll: function scroll(pos) {\n        this.scrollY = pos.y;\n      },\n      titleClick: function titleClick() {\n        this.$emit(EVENT_TITLE_CLICK, this.title);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this2 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n        this.$refs.scroll.forceUpdate(dirty, nomore);\n        dirty && this.$nextTick(function () {\n          _this2._calculateHeight();\n        });\n      },\n      onShortcutTouchStart: function onShortcutTouchStart(e) {\n        var target = (0, _dom.getMatchedTarget)(e, 'cube-index-list-nav-item');\n        if (!target) return;\n        var anchorIndex = (0, _dom.getData)(target, 'index');\n        var firstTouch = e.touches[0];\n        this.touch.y1 = firstTouch.pageY;\n        this.touch.anchorIndex = anchorIndex;\n\n        this._scrollTo(anchorIndex);\n      },\n      onShortcutTouchMove: function onShortcutTouchMove(e) {\n        var firstTouch = e.touches[0];\n        this.touch.y2 = firstTouch.pageY;\n        var delta = (this.touch.y2 - this.touch.y1) / ANCHOR_HEIGHT | 0;\n        var anchorIndex = parseInt(this.touch.anchorIndex) + delta;\n\n        this._scrollTo(anchorIndex);\n      },\n      onPullingUp: function onPullingUp() {\n        this.$emit(EVENT_PULLING_UP);\n      },\n      onPullingDown: function onPullingDown() {\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _caculateTitleHeight: function _caculateTitleHeight() {\n        this.titleHeight = this.$refs.title ? (0, _dom.getRect)(this.$refs.title).height : 0;\n      },\n      _calculateHeight: function _calculateHeight() {\n        this.groupList = this.$el.getElementsByClassName('cube-index-list-group');\n        var subTitleEl = this.$el.getElementsByClassName('cube-index-list-anchor')[0];\n        this.subTitleHeight = subTitleEl ? (0, _dom.getRect)(subTitleEl).height : 0;\n        this.listHeight = [];\n\n        if (!this.groupList) {\n          return;\n        }\n\n        var height = this.titleHeight;\n        this.listHeight.push(height);\n        for (var i = 0; i < this.groupList.length; i++) {\n          var item = this.groupList[i];\n          height += item.clientHeight;\n          this.listHeight.push(height);\n        }\n      },\n      _scrollTo: function _scrollTo(index) {\n        if (index < 0) {\n          index = 0;\n        } else if (index > this.listHeight.length - 2) {\n          index = this.listHeight.length - 2;\n        }\n        this.$refs.scroll.scrollToElement(this.groupList[index], this.speed);\n        this.scrollY = this.$refs.scroll.scroll.y;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this3 = this;\n\n        this.$nextTick(function () {\n          _this3._calculateHeight();\n        });\n      },\n      title: function title(newVal) {\n        var _this4 = this;\n\n        this.$nextTick(function () {\n          _this4.refresh();\n        });\n      },\n      diff: function diff(newVal) {\n        var fixedTop = newVal > 0 && newVal < this.subTitleHeight ? newVal - this.subTitleHeight : 0;\n        if (this.fixedTop === fixedTop) {\n          return;\n        }\n        this.fixedTop = fixedTop;\n        this.$refs.fixed.style[transformStyleKey] = 'translate3d(0,' + fixedTop + 'px,0)';\n      },\n      scrollY: function scrollY(newY) {\n        var listHeight = this.listHeight;\n\n        if (newY > -this.titleHeight) {\n          this.currentIndex = 0;\n          return;\n        }\n\n        for (var i = 0; i < listHeight.length - 1; i++) {\n          var height1 = listHeight[i];\n          var height2 = listHeight[i + 1];\n          if (-newY >= height1 && -newY < height2) {\n            this.currentIndex = i;\n            this.diff = height2 + newY;\n            return;\n          }\n        }\n\n        this.currentIndex = listHeight.length - 2;\n      }\n    },\n    components: {\n      CubeScroll: _scroll2.default,\n      CubeIndexListGroup: _indexListGroup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 391 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(124)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./index-list-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.indexListItem);\n    global.indexListGroup = mod.exports;\n  }\n})(this, function (module, exports, _indexListItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _indexListItem2 = _interopRequireDefault(_indexListItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-index-list-group';\n  var EVENT_SELECT = 'select';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      group: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    methods: {\n      selectItem: function selectItem(item) {\n        this.$emit(EVENT_SELECT, item);\n      }\n    },\n    components: {\n      CubeIndexListItem: _indexListItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 392 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 393 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.indexListItem = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-index-list-item';\n  var ACTIVE_CLS = 'cube-index-list-item_active';\n  var EVENT_SELECT = 'select';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      itemClass: function itemClass() {\n        return this.item.active ? ACTIVE_CLS : '';\n      }\n    },\n    methods: {\n      addActiveCls: function addActiveCls(e) {\n        (0, _dom.addClass)(e.currentTarget, ACTIVE_CLS);\n      },\n      removeActiveCls: function removeActiveCls(e) {\n        (0, _dom.removeClass)(e.currentTarget, ACTIVE_CLS);\n      },\n      selectItem: function selectItem() {\n        this.$emit(EVENT_SELECT, this.item);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 394 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-index-list-item\",\n    class: _vm.itemClass,\n    on: {\n      \"touchstart\": _vm.addActiveCls,\n      \"touchend\": _vm.removeActiveCls,\n      \"click\": function($event) {\n        _vm.selectItem()\n      }\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-index-list-item-def border-bottom-1px\"\n  }, [_vm._v(\"\\n      \" + _vm._s(_vm.item.name) + \"\\n    \")])])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 395 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-index-list-group\"\n  }, [_c('h2', {\n    staticClass: \"cube-index-list-anchor\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.group.name)\n    }\n  }), _vm._v(\" \"), _c('ul', [_vm._t(\"default\", _vm._l((_vm.group.items), function(item, index) {\n    return _c('cube-index-list-item', {\n      key: index,\n      attrs: {\n        \"item\": item\n      },\n      on: {\n        \"select\": _vm.selectItem\n      }\n    })\n  }))], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 396 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-index-list\"\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"scroll-events\": _vm.scrollEvents,\n      \"options\": _vm.scrollOptions,\n      \"data\": _vm.data\n    },\n    on: {\n      \"scroll\": _vm.scroll,\n      \"pulling-down\": _vm.onPullingDown,\n      \"pulling-up\": _vm.onPullingUp\n    },\n    scopedSlots: _vm._u([{\n      key: \"pullup\",\n      fn: function(props) {\n        return _vm.$slots.pullup || _vm.$scopedSlots.pullup ? [_vm._t(\"pullup\", null, {\n          pullUpLoad: props.pullUpLoad,\n          isPullUpLoad: props.isPullUpLoad\n        })] : undefined\n      }\n    }, {\n      key: \"pulldown\",\n      fn: function(props) {\n        return _vm.$slots.pulldown || _vm.$scopedSlots.pulldown ? [_vm._t(\"pulldown\", null, {\n          pullDownRefresh: props.pullDownRefresh,\n          pullDownStyle: props.pullDownStyle,\n          beforePullDown: props.beforePullDown,\n          isPullingDown: props.isPullingDown,\n          bubbleY: props.bubbleY\n        })] : undefined\n      }\n    }])\n  }, [_c('div', {\n    ref: \"content\",\n    staticClass: \"cube-index-list-content\"\n  }, [(_vm.hasTitle) ? _c('h1', {\n    ref: \"title\",\n    staticClass: \"cube-index-list-title\",\n    on: {\n      \"click\": _vm.titleClick\n    }\n  }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2) : _vm._e(), _vm._v(\" \"), _c('ul', [_vm._t(\"default\", _vm._l((_vm.data), function(group, index) {\n    return _c('cube-index-list-group', {\n      key: index,\n      attrs: {\n        \"group\": group\n      },\n      on: {\n        \"select\": _vm.selectItem\n      }\n    })\n  }))], 2)])]), _vm._v(\" \"), (_vm.navbar) ? _c('div', {\n    staticClass: \"cube-index-list-nav\",\n    on: {\n      \"touchstart\": _vm.onShortcutTouchStart,\n      \"touchmove\": function($event) {\n        $event.stopPropagation();\n        $event.preventDefault();\n        return _vm.onShortcutTouchMove($event)\n      }\n    }\n  }, [_c('ul', {\n    staticClass: \"cube-index-list-nav-list\"\n  }, _vm._l((_vm.shortcutList), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-index-list-nav-item\",\n      class: {\n        active: _vm.currentIndex === index\n      },\n      attrs: {\n        \"data-index\": index\n      }\n    }, [_vm._t(\"nav-item\", [_vm._v(_vm._s(item))], {\n      item: item\n    })], 2)\n  }))]) : _vm._e(), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fixedTitle),\n      expression: \"fixedTitle\"\n    }],\n    ref: \"fixed\",\n    staticClass: \"cube-index-list-fixed cube-index-list-anchor\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.fixedTitle)\n    }\n  })], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 397 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(398), __webpack_require__(125)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/swipe/swipe.vue'), require('../../components/swipe/swipe-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.swipe, global.swipeItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _swipe, _swipeItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _swipe2 = _interopRequireDefault(_swipe);\n\n  var _swipeItem2 = _interopRequireDefault(_swipeItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _swipe2.default.install = function (Vue) {\n    Vue.component(_swipe2.default.name, _swipe2.default);\n    Vue.component(_swipeItem2.default.name, _swipeItem2.default);\n  };\n\n  _swipe2.default.Item = _swipeItem2.default;\n\n  exports.default = _swipe2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 398 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(399)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(400),\n  /* template */\n  __webpack_require__(405),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 399 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 400 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./swipe-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.swipeItem);\n    global.swipe = mod.exports;\n  }\n})(this, function (module, exports, _swipeItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _swipeItem2 = _interopRequireDefault(_swipeItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-swipe';\n  var EVENT_ITEM_CLICK = 'item-click';\n  var EVENT_BTN_CLICK = 'btn-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        swipe: this\n      };\n    },\n\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      autoShrink: {\n        type: Boolean,\n        default: false\n      }\n    },\n    created: function created() {\n      this.activeIndex = -1;\n      this.items = [];\n    },\n\n    methods: {\n      addItem: function addItem(item) {\n        this.items.push(item);\n      },\n      removeItem: function removeItem(item) {\n        var index = this.items.indexOf(item);\n        this.items.splice(index, 1);\n        if (index <= this.activeIndex) {\n          this.activeIndex -= 1;\n        }\n      },\n      onItemClick: function onItemClick(item, index) {\n        this.$emit(EVENT_ITEM_CLICK, item, index);\n      },\n      onBtnClick: function onBtnClick(btn, index) {\n        var item = this.data[index];\n        this.$emit(EVENT_BTN_CLICK, btn, index, item);\n      },\n      onItemActive: function onItemActive(index) {\n        if (index === this.activeIndex) {\n          return;\n        }\n        if (this.activeIndex !== -1) {\n          var activeItem = this.items[this.activeIndex];\n          activeItem.shrink();\n        }\n        this.activeIndex = index;\n      }\n    },\n    components: {\n      CubeSwipeItem: _swipeItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 402 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(12), __webpack_require__(403), __webpack_require__(48)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'), require('../../common/helpers/ease'), require('../../common/lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom, global.ease, global.date);\n    global.swipeItem = mod.exports;\n  }\n})(this, function (module, exports, _dom, _ease, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-swipe-item';\n  var EVENT_ITEM_CLICK = 'item-click';\n  var EVENT_BTN_CLICK = 'btn-click';\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_ACTIVE = 'active';\n  var DIRECTION_LEFT = 1;\n  var DIRECTION_RIGHT = -1;\n  var STATE_SHRINK = 0;\n  var STATE_GROW = 1;\n  var easingTime = 600;\n  var momentumLimitTime = 300;\n  var momentumLimitDistance = 15;\n  var directionLockThreshold = 5;\n\n  var transform = (0, _dom.prefixStyle)('transform');\n  var transitionProperty = (0, _dom.prefixStyle)('transitionProperty');\n  var transitionDuration = (0, _dom.prefixStyle)('transitionDuration');\n  var transitionTimingFunction = (0, _dom.prefixStyle)('transitionTimingFunction');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['swipe'],\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      btns: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      index: {\n        type: Number,\n        index: -1\n      },\n      autoShrink: {\n        type: Boolean,\n        default: false\n      }\n    },\n    watch: {\n      btns: function btns() {\n        var _this = this;\n\n        this.$nextTick(function () {\n          _this.refresh();\n        });\n      }\n    },\n    created: function created() {\n      this.x = 0;\n      this.state = STATE_SHRINK;\n      this.swipe.addItem(this);\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.scrollerStyle = this.$refs.swipeItem.style;\n      this.$nextTick(function () {\n        _this2.refresh();\n      });\n      this.$on(EVENT_SCROLL, this._handleBtns);\n    },\n\n    methods: {\n      _initCachedBtns: function _initCachedBtns() {\n        this.cachedBtns = [];\n        var len = this.$refs.btns.length;\n        for (var i = 0; i < len; i++) {\n          this.cachedBtns.push({\n            width: (0, _dom.getRect)(this.$refs.btns[i]).width\n          });\n        }\n      },\n      _handleBtns: function _handleBtns(x) {\n        if (this.btns.length === 0) {\n          return;\n        }\n        var len = this.$refs.btns.length;\n        var delta = 0;\n        var totalWidth = -this.maxScrollX;\n        for (var i = 0; i < len; i++) {\n          var btn = this.$refs.btns[i];\n          var rate = (totalWidth - delta) / totalWidth;\n          var width = void 0;\n          var translate = rate * x - x;\n          if (x < this.maxScrollX) {\n            width = this.cachedBtns[i].width + rate * (this.maxScrollX - x);\n          } else {\n            width = this.cachedBtns[i].width;\n          }\n          delta += this.cachedBtns[i].width;\n          btn.style.width = width + 'px';\n          btn.style[transform] = 'translate(' + translate + 'px)';\n          btn.style[transitionDuration] = '0ms';\n        }\n      },\n      _isInBtns: function _isInBtns(target) {\n        var parent = target;\n        var flag = false;\n        while (parent && parent.className.indexOf('cube-swipe-item') < 0) {\n          if (parent.className.indexOf('cube-swipe-btns') >= 0) {\n            flag = true;\n            break;\n          }\n          parent = parent.parentNode;\n        }\n        return flag;\n      },\n      _calculateBtnsWidth: function _calculateBtnsWidth() {\n        var width = 0;\n        var len = this.cachedBtns.length;\n        for (var i = 0; i < len; i++) {\n          width += this.cachedBtns[i].width;\n        }\n        this.maxScrollX = -width;\n      },\n      _translate: function _translate(x, useZ) {\n        var translateZ = useZ ? ' translateZ(0)' : '';\n        this.scrollerStyle[transform] = 'translate(' + x + 'px,0)' + translateZ;\n        this.x = x;\n      },\n      _transitionProperty: function _transitionProperty() {\n        var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n\n        this.scrollerStyle[transitionProperty] = property;\n      },\n      _transitionTimingFunction: function _transitionTimingFunction(easing) {\n        this.scrollerStyle[transitionTimingFunction] = easing;\n      },\n      _transitionTime: function _transitionTime() {\n        var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        this.scrollerStyle[transitionDuration] = time + 'ms';\n      },\n      _getComputedPositionX: function _getComputedPositionX() {\n        var matrix = window.getComputedStyle(this.$refs.swipeItem, null);\n        matrix = matrix[transform].split(')')[0].split(', ');\n        var x = +(matrix[12] || matrix[4]);\n        return x;\n      },\n      _translateBtns: function _translateBtns(time, easing, extend) {\n        if (this.btns.length === 0) {\n          return;\n        }\n        var len = this.$refs.btns.length;\n        var delta = 0;\n        var translate = 0;\n        for (var i = 0; i < len; i++) {\n          var btn = this.$refs.btns[i];\n          if (this.state === STATE_GROW) {\n            translate = delta;\n          } else {\n            translate = 0;\n          }\n          delta += this.cachedBtns[i].width;\n          btn.style[transform] = 'translate(' + translate + 'px,0) translateZ(0)';\n          btn.style[transitionProperty] = 'all';\n          btn.style[transitionTimingFunction] = easing;\n          btn.style[transitionDuration] = time + 'ms';\n          if (extend) {\n            btn.style.width = this.cachedBtns[i].width + 'px';\n          }\n        }\n      },\n      refresh: function refresh() {\n        if (this.btns.length > 0) {\n          this._initCachedBtns();\n          this._calculateBtnsWidth();\n        }\n        this.endTime = 0;\n      },\n      shrink: function shrink() {\n        var _this3 = this;\n\n        this.stop();\n        this.state = STATE_SHRINK;\n        this.$nextTick(function () {\n          _this3.scrollTo(0, easingTime, _ease.easeOutQuart);\n          _this3._translateBtns(easingTime, _ease.easeOutQuart);\n        });\n      },\n      grow: function grow() {\n        this.state = STATE_GROW;\n        var extend = this.x < this.maxScrollX;\n        var easing = _ease.easeOutCubic;\n        this.scrollTo(this.maxScrollX, easingTime, easing);\n        this._translateBtns(easingTime, easing, extend);\n      },\n      scrollTo: function scrollTo(x, time, easing) {\n        this._transitionProperty();\n        this._transitionTimingFunction(easing);\n        this._transitionTime(time);\n        this._translate(x, true);\n        if (time) {\n          this.isInTransition = true;\n        }\n      },\n      genBtnStyl: function genBtnStyl(btn) {\n        return 'background: ' + btn.color;\n      },\n      clickItem: function clickItem() {\n        this.swipe.onItemClick(this.item, this.index);\n        this.$emit(EVENT_ITEM_CLICK, this.item, this.index);\n      },\n      clickBtn: function clickBtn(btn) {\n        this.swipe.onBtnClick(btn, this.index);\n        this.$emit(EVENT_BTN_CLICK, btn, this.index);\n        if (this.autoShrink) {\n          this.shrink();\n        }\n      },\n      stop: function stop() {\n        if (this.isInTransition) {\n          this.isInTransition = false;\n          var x = this.state === STATE_SHRINK ? 0 : this._getComputedPositionX();\n          this._translate(x);\n          this.$emit(EVENT_SCROLL, this.x);\n        }\n      },\n      onTouchStart: function onTouchStart(e) {\n        var _this4 = this;\n\n        this.swipe.onItemActive(this.index);\n        this.$emit(EVENT_ACTIVE, this.index);\n        this.stop();\n        this.moved = false;\n        this.movingDirectionX = 0;\n        var point = e.touches[0];\n        this.pointX = point.pageX;\n        this.pointY = point.pageY;\n        this.distX = 0;\n        this.distY = 0;\n        this.startX = this.x;\n        this._transitionTime();\n        this.startTime = (0, _date.getNow)();\n        if (this.state === STATE_GROW && !this._isInBtns(e.target)) {\n          this.shrinkTimer = setTimeout(function () {\n            _this4.shrink();\n          }, 300);\n        }\n      },\n      onTouchMove: function onTouchMove(e) {\n        if (this.moved) {\n          clearTimeout(this.shrinkTimer);\n          e.stopPropagation();\n        }\n\n        if (this.isInTransition) {\n          return;\n        }\n        e.preventDefault();\n        var point = e.touches[0];\n        var deltaX = point.pageX - this.pointX;\n        var deltaY = point.pageY - this.pointY;\n        this.pointX = point.pageX;\n        this.pointY = point.pageY;\n\n        this.distX += deltaX;\n        this.distY += deltaY;\n        var absDistX = Math.abs(this.distX);\n        var absDistY = Math.abs(this.distY);\n\n        if (absDistX + directionLockThreshold <= absDistY) {\n          return;\n        }\n\n        var timestamp = (0, _date.getNow)();\n        if (timestamp - this.endTime > momentumLimitTime && absDistX < momentumLimitDistance) {\n          return;\n        }\n\n        this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n\n        var newX = this.x + deltaX;\n        if (newX > 0) {\n          newX = 0;\n        }\n        if (newX < this.maxScrollX) {\n          newX = this.x + deltaX / 3;\n        }\n        if (!this.moved) {\n          this.moved = true;\n        }\n\n        this._translate(newX, true);\n\n        if (timestamp - this.startTime > momentumLimitTime) {\n          this.startTime = timestamp;\n          this.startX = this.x;\n        }\n\n        this.$emit(EVENT_SCROLL, this.x);\n      },\n      onTouchEnd: function onTouchEnd() {\n        if (!this.moved) {\n          return;\n        }\n        if (this.movingDirectionX === DIRECTION_RIGHT) {\n          this.shrink();\n          return;\n        }\n        this.endTime = (0, _date.getNow)();\n        var duration = this.endTime - this.startTime;\n        var absDistX = Math.abs(this.x - this.startX);\n        if (duration < momentumLimitTime && absDistX > momentumLimitDistance || this.x < this.maxScrollX / 2) {\n          this.grow();\n        } else {\n          this.shrink();\n        }\n      },\n      onTransitionEnd: function onTransitionEnd() {\n        this.isInTransition = false;\n        this._transitionTime();\n        this._translate(this.x);\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.swipe.removeItem(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 403 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.ease = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var easeOutBack = exports.easeOutBack = 'cubic-bezier(0.18, 0.89, 0.32, 1.28)';\n  var easeOutQuart = exports.easeOutQuart = 'cubic-bezier(0.165, 0.84, 0.44, 1)';\n  var easeOutCubic = exports.easeOutCubic = 'cubic-bezier(0.22, 0.61, 0.36, 1)';\n});\n\n/***/ }),\n/* 404 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"swipeItem\",\n    staticClass: \"cube-swipe-item\",\n    on: {\n      \"transitionend\": _vm.onTransitionEnd,\n      \"touchstart\": _vm.onTouchStart,\n      \"touchmove\": _vm.onTouchMove,\n      \"touchend\": _vm.onTouchEnd\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-swipe-item-inner border-bottom-1px\",\n    on: {\n      \"click\": _vm.clickItem\n    }\n  }, [_c('span', [_vm._v(_vm._s(_vm.item.text))])])]), _vm._v(\" \"), _c('ul', {\n    staticClass: \"cube-swipe-btns\"\n  }, _vm._l((_vm.btns), function(btn) {\n    return _c('li', {\n      ref: \"btns\",\n      refInFor: true,\n      staticClass: \"cube-swipe-btn\",\n      style: (_vm.genBtnStyl(btn)),\n      on: {\n        \"click\": function($event) {\n          $event.preventDefault();\n          _vm.clickBtn(btn)\n        }\n      }\n    }, [_c('span', {\n      staticClass: \"text\"\n    }, [_vm._v(_vm._s(btn.text))])])\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-swipe\"\n  }, [_vm._t(\"default\", [_c('transition-group', {\n    attrs: {\n      \"name\": \"cube-swipe\",\n      \"tag\": \"ul\"\n    }\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: item.item.value\n    }, [_c('cube-swipe-item', {\n      attrs: {\n        \"btns\": item.btns,\n        \"item\": item.item,\n        \"index\": index,\n        \"auto-shrink\": _vm.autoShrink\n      }\n    })], 1)\n  }))])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(126), __webpack_require__(76)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/sticky/sticky.vue'), require('../../components/sticky/sticky-ele.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.sticky, global.stickyEle);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _sticky, _stickyEle) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _sticky2 = _interopRequireDefault(_sticky);\n\n  var _stickyEle2 = _interopRequireDefault(_stickyEle);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _sticky2.default.install = function (Vue) {\n    Vue.component(_sticky2.default.name, _sticky2.default);\n    Vue.component(_stickyEle2.default.name, _stickyEle2.default);\n  };\n\n  _sticky2.default.Ele = _stickyEle2.default;\n\n  exports.default = _sticky2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 407 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.sticky = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-sticky';\n  var EVENT_CHANGE = 'change';\n  var EVENT_DIFF_CHANGE = 'diff-change';\n\n  var transformStyleKey = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        sticky: this\n      };\n    },\n\n    props: {\n      pos: {\n        type: Number,\n        required: true\n      },\n      checkTop: {\n        type: Boolean,\n        default: true\n      },\n      fixedShowAni: {\n        type: String,\n        default: function _default() {\n          return this.checkTop ? '' : 'cube-sticky-fixed-fade';\n        }\n      },\n      offset: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        diff: 0,\n        currentDiff: 0,\n        currentIndex: -1,\n        currentKey: ''\n      };\n    },\n\n    computed: {\n      fixedShow: function fixedShow() {\n        var targetEle = this.eles[this.currentIndex];\n        return !!targetEle;\n      }\n    },\n    watch: {\n      diff: function diff(newVal) {\n        if (newVal >= 0) {\n          newVal = 0;\n        }\n        newVal = Math.ceil(newVal);\n        if (this._fixedTop === newVal) {\n          return;\n        }\n        this._fixedTop = newVal;\n        this.$refs.fixedEle.style[transformStyleKey] = 'translate3d(0, ' + newVal + 'px, 0)';\n      },\n\n      pos: 'computeCurrentSticky',\n      currentIndex: function currentIndex(newIndex, oldIndex) {\n        var _this = this;\n\n        var oldEle = this.eles[oldIndex];\n        var newEle = this.eles[newIndex];\n\n        var currentKey = newEle && newEle.eleKey !== undefined ? newEle.eleKey : newIndex === -1 ? '' : newIndex;\n        var fixedEle = this.$refs.fixedEle;\n        var fixedSlot = this.$slots.fixed || this.$scopedSlots.fixed;\n\n        this.$nextTick(function () {\n          if (fixedSlot) {\n            _this.fixedEleHeight = fixedEle.offsetHeight;\n          } else {\n            var oldChild = fixedEle.firstElementChild;\n            if (oldEle) {\n              oldEle.$el.appendChild(oldChild);\n              oldEle.refresh();\n            }\n            if (newEle) {\n              fixedEle.appendChild(newEle.$el.firstElementChild);\n              _this.fixedEleHeight = fixedEle.offsetHeight;\n            } else {\n              _this.fixedEleHeight = 0;\n            }\n          }\n          var onClass = 'cube-sticky-ele-on';\n          if (oldEle) {\n            (0, _dom.removeClass)(oldEle.$el, onClass);\n          }\n          if (newEle) {\n            (0, _dom.addClass)(newEle.$el, onClass);\n          }\n        });\n\n        this.currentKey = currentKey;\n        this.$emit(EVENT_CHANGE, currentKey, newIndex);\n      },\n      currentDiff: function currentDiff(newVal) {\n        var height = this.heights[this.currentIndex] || 0;\n        this.$emit(EVENT_DIFF_CHANGE, newVal, height);\n      }\n    },\n    created: function created() {\n      this.fixedEleHeight = 0;\n      this.eles = [];\n      this.positions = [];\n      this.heights = [];\n    },\n    mounted: function mounted() {\n      this.refresh();\n    },\n\n    methods: {\n      addEle: function addEle(ele) {\n        this.eles.push(ele);\n      },\n      removeEle: function removeEle(ele) {\n        var i = this.eles.indexOf(ele);\n        this.eles.splice(i, 1);\n        this.positions.splice(i, 1);\n      },\n      refresh: function refresh() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          _this2.eles.forEach(function (ele) {\n            ele.refresh();\n          });\n          _this2._calculateHeight();\n          _this2.computeCurrentSticky(_this2.pos);\n        });\n      },\n      computeCurrentSticky: function computeCurrentSticky(scrollY) {\n        scrollY += this.offset;\n\n        var positions = this.positions;\n        var heights = this.heights;\n        var checkTop = this.checkTop;\n\n        var len = positions.length;\n        for (var i = len - 1; i >= 0; i--) {\n          var isLast = i === len - 1;\n          var nextTop = isLast ? scrollY : positions[i + 1];\n          var top = void 0;\n          var bottom = void 0;\n          if (checkTop) {\n            top = positions[i];\n            bottom = top + heights[i];\n          } else {\n            top = positions[i] + heights[i];\n            bottom = top;\n          }\n          var max = Math.max(bottom, nextTop);\n\n          if (scrollY >= top && scrollY <= max) {\n            this.currentIndex = i;\n            this.currentDiff = scrollY - top;\n            var diff = nextTop - scrollY;\n            if (diff >= 0 && !isLast) {\n              this.diff = diff - (this.fixedEleHeight || heights[i]);\n            } else {\n              this.diff = 0;\n            }\n            return;\n          }\n        }\n        this.currentIndex = -1;\n        this.currentDiff = 0;\n      },\n      _calculateHeight: function _calculateHeight() {\n        var _this3 = this;\n\n        var eles = this.eles;\n        eles.forEach(function (ele, i) {\n          var _getRect = (0, _dom.getRect)(ele.$el),\n              top = _getRect.top,\n              height = _getRect.height;\n\n          _this3.positions[i] = top;\n          _this3.heights[i] = height;\n        });\n        this.fixedEleHeight = this.$refs.fixedEle.offsetHeight;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 409 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-sticky\"\n  }, [_vm._t(\"default\"), _vm._v(\" \"), _c('transition', {\n    attrs: {\n      \"name\": _vm.fixedShowAni\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fixedShow),\n      expression: \"fixedShow\"\n    }],\n    ref: \"fixedEle\",\n    staticClass: \"cube-sticky-fixed\"\n  }, [_vm._t(\"fixed\", null, {\n    current: _vm.currentKey,\n    index: _vm.currentIndex\n  })], 2)])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 410 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 411 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.stickyEle = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-sticky-ele';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['sticky'],\n    props: {\n      eleKey: {\n        type: [Number, String]\n      }\n    },\n    mounted: function mounted() {\n      this.sticky.addEle(this);\n    },\n\n    methods: {\n      refresh: function refresh() {\n        var el = this.$el;\n        if (el.firstElementChild) {\n          el.style.height = '';\n          el.style.height = el.offsetHeight + 'px';\n        }\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.sticky.removeEle(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 412 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-sticky-ele\"\n  }, [_c('div', {\n    staticClass: \"cube-sticky-content\"\n  }, [_vm._t(\"default\")], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 413 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(414), __webpack_require__(421), __webpack_require__(77)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/scroll-nav/scroll-nav.vue'), require('../../components/scroll-nav/scroll-nav-panel.vue'), require('../../components/scroll-nav-bar/scroll-nav-bar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scrollNav, global.scrollNavPanel, global.scrollNavBar);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _scrollNav, _scrollNavPanel, _scrollNavBar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scrollNav2 = _interopRequireDefault(_scrollNav);\n\n  var _scrollNavPanel2 = _interopRequireDefault(_scrollNavPanel);\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _scrollNav2.default.install = function (Vue) {\n    Vue.component(_scrollNav2.default.name, _scrollNav2.default);\n    Vue.component(_scrollNavPanel2.default.name, _scrollNavPanel2.default);\n    Vue.component(_scrollNavBar2.default.name, _scrollNavBar2.default);\n  };\n\n  _scrollNav2.default.Panel = _scrollNavPanel2.default;\n  _scrollNav2.default.Bar = _scrollNavBar2.default;\n\n  exports.default = _scrollNav2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(415)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(416),\n  /* template */\n  __webpack_require__(420),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 415 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 416 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(42), __webpack_require__(126), __webpack_require__(76), __webpack_require__(30), __webpack_require__(77)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/scroll'), require('../sticky/sticky.vue'), require('../sticky/sticky-ele.vue'), require('../scroll/scroll.vue'), require('../scroll-nav-bar/scroll-nav-bar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll, global.sticky, global.stickyEle, global.scroll, global.scrollNavBar);\n    global.scrollNav = mod.exports;\n  }\n})(this, function (module, exports, _scroll, _sticky, _stickyEle, _scroll3, _scrollNavBar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _sticky2 = _interopRequireDefault(_sticky);\n\n  var _stickyEle2 = _interopRequireDefault(_stickyEle);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var COMPONENT_NAME = 'cube-scroll-nav';\n  var EVENT_CHANGE = 'change';\n  var EVENT_STICKY_CHANGE = 'sticky-change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        scrollNav: this\n      };\n    },\n\n    mixins: [_scroll2.default],\n    props: {\n      data: {\n        type: Array\n      },\n      speed: {\n        type: Number,\n        default: 300\n      },\n      side: {\n        type: Boolean,\n        default: false\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        scrollEvents: ['scroll', 'scroll-end'],\n        scrollY: 0,\n        panels: [],\n        active: this.current,\n        pageStickyOffset: 0\n      };\n    },\n\n    computed: {\n      labels: function labels() {\n        return this.panels.map(function (panel) {\n          return panel.label;\n        });\n      },\n      barTxts: function barTxts() {\n        return this.panels.map(function (panel) {\n          return panel.title;\n        });\n      },\n      barDirection: function barDirection() {\n        return this.side ? DIRECTION_V : DIRECTION_H;\n      }\n    },\n    watch: {\n      current: function current(newVal) {\n        this.stickyCurrent = newVal;\n        this.active = newVal;\n        this.jumpTo(newVal);\n      },\n      active: function active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal);\n      }\n    },\n    created: function created() {\n      this.navBar = null;\n      this.stickyCurrent = this.current;\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$nextTick(function () {\n        if (_this.side) {\n          var fixedEle = _this.$refs.pageSticky.$refs.fixedEle;\n          _this.$refs.scroll.$el.appendChild(fixedEle);\n        }\n        if (!_this.current) {\n          _this.active = _this.stickyCurrent = _this.labels[0];\n        }\n        _this.refresh();\n        _this.jumpTo(_this.current);\n      });\n    },\n\n    methods: {\n      scrollTo: function scrollTo() {\n        this.$refs.scroll && this.$refs.scroll.scrollTo.apply(this.$refs.scroll, arguments);\n      },\n      refresh: function refresh() {\n        this.navBar && this.navBar.refresh();\n        this.$refs.sticky.refresh();\n        this.$refs.pageSticky.refresh();\n        this.pageStickyOffset = this.side ? 0 : this.$refs.navBarEle.$el.offsetHeight;\n        this.$refs.scroll.refresh();\n      },\n      setBar: function setBar(bar) {\n        this.navBar = bar;\n      },\n      barChange: function barChange(label) {\n        var _this2 = this;\n\n        this.active = label;\n\n        setTimeout(function () {\n          _this2.jumpTo(label);\n        });\n      },\n      jumpTo: function jumpTo(label) {\n        if (!label) {\n          return;\n        }\n        var panel = this.getPanel(label);\n        if (panel) {\n          this._jumping = true;\n          var offset = this.pageStickyOffset;\n          this.$refs.scroll.scrollToElement(panel.$el, this.speed, 0, this.side ? offset : -offset);\n        }\n      },\n      getPanel: function getPanel(label) {\n        var panel = null;\n        this.panels.some(function (_panel) {\n          if (_panel.label === label) {\n            panel = _panel;\n            return true;\n          }\n        });\n        return panel;\n      },\n      pageStickyChangeHandler: function pageStickyChangeHandler(current) {\n        if (current === '') {\n          current = this.labels[0];\n        }\n        this.stickyCurrent = current;\n        if (this._jumping) {\n          return;\n        }\n        this.active = current;\n      },\n      stickyChangeHandler: function stickyChangeHandler(current) {\n        var _this3 = this;\n\n        this.$nextTick(function () {\n          _this3.navBar && _this3.navBar.refresh();\n        });\n        this.$emit(EVENT_STICKY_CHANGE, current);\n      },\n      scrollHandler: function scrollHandler(pos) {\n        this.scrollY = -pos.y;\n        if (!this._jumping) {\n          this.active = this.stickyCurrent;\n        }\n      },\n      scrollEndHandler: function scrollEndHandler() {\n        this._jumping = false;\n      },\n      addPanel: function addPanel(panel) {\n        this.panels.push(panel);\n      },\n      removePanel: function removePanel(panel) {\n        var i = this.panels.indexOf(panel);\n        this.panels.splice(i, 1);\n      }\n    },\n    components: {\n      CubeSticky: _sticky2.default,\n      CubeStickyEle: _stickyEle2.default,\n      CubeScroll: _scroll4.default,\n      CubeScrollNavBar: _scrollNavBar2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 418 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(42), __webpack_require__(30)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/scroll'), require('../scroll/scroll.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll, global.scroll);\n    global.scrollNavBar = mod.exports;\n  }\n})(this, function (module, exports, _scroll, _scroll3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var COMPONENT_NAME = 'cube-scroll-nav-bar';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      scrollNav: {\n        default: null\n      }\n    },\n    mixins: [_scroll2.default],\n    props: {\n      direction: {\n        type: String,\n        default: DIRECTION_H,\n        validator: function validator(val) {\n          return val === DIRECTION_H || val === DIRECTION_V;\n        }\n      },\n      labels: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      txts: {\n        type: Array,\n        default: function _default() {\n          this._defaultTxts = true;\n\n          return this.labels;\n        }\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        active: this.current,\n        usedTxts: this.txts\n      };\n    },\n\n    watch: {\n      labels: function labels(newLabels) {\n        if (this._defaultTxts) {\n          this.usedTxts = newLabels;\n        }\n      },\n      txts: function txts(newTxts) {\n        this.usedTxts = newTxts;\n      },\n      current: function current(newVal) {\n        this.active = newVal;\n      },\n      active: function active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal);\n        this._adjust();\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.scrollNav && this.scrollNav.setBar(this);\n      if (this.active) {\n        this.$nextTick(function () {\n          _this._adjust();\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.scrollNav && this.scrollNav.setBar(null);\n    },\n\n    methods: {\n      clickHandler: function clickHandler(label) {\n        if (label === this.active) {\n          return;\n        }\n        this.active = label;\n        this.scrollNav && this.scrollNav.barChange(label);\n      },\n      refresh: function refresh() {\n        this.$refs.scroll.refresh();\n        this._adjust();\n      },\n      _adjust: function _adjust() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          var isHorizontal = _this2.direction === DIRECTION_H;\n          var targetProp = isHorizontal ? 'clientWidth' : 'clientHeight';\n          var active = _this2.active;\n          var viewportSize = _this2.$refs.scroll.$el[targetProp];\n          var itemsEle = _this2.$refs.items;\n          var scrollerSize = itemsEle[targetProp];\n          var minTranslate = Math.min(0, viewportSize - scrollerSize);\n          var middleTranslate = viewportSize / 2;\n          var items = itemsEle.children;\n          var size = 0;\n          _this2.labels.every(function (label, index) {\n            if (label === active) {\n              size += items[index][targetProp] / 2;\n              return false;\n            }\n            size += items[index][targetProp];\n            return true;\n          });\n          var translate = middleTranslate - size;\n          translate = Math.max(minTranslate, Math.min(0, translate));\n          _this2.$refs.scroll.scrollTo(isHorizontal ? translate : 0, isHorizontal ? 0 : translate, 300);\n        });\n      }\n    },\n    components: {\n      CubeScroll: _scroll4.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 419 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav-bar\",\n    class: 'cube-scroll-nav-bar_' + _vm.direction\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"nestMode\": \"none\",\n      \"options\": _vm.options,\n      \"direction\": _vm.direction\n    }\n  }, [_c('div', {\n    ref: \"items\",\n    staticClass: \"cube-scroll-nav-bar-items\"\n  }, _vm._l((_vm.usedTxts), function(txt, index) {\n    return _c('div', {\n      key: index,\n      staticClass: \"cube-scroll-nav-bar-item\",\n      class: {\n        'cube-scroll-nav-bar-item_active': _vm.active === _vm.labels[index]\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.clickHandler(_vm.labels[index])\n        }\n      }\n    }, [_vm._t(\"default\", [_c('span', {\n      domProps: {\n        \"innerHTML\": _vm._s(txt)\n      }\n    })], {\n      txt: txt,\n      index: index,\n      active: _vm.active,\n      label: _vm.labels[index]\n    })], 2)\n  }))])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 420 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav\",\n    class: {\n      'cube-scroll-nav_side': _vm.side\n    }\n  }, [_c('cube-sticky', {\n    ref: \"sticky\",\n    attrs: {\n      \"pos\": _vm.scrollY\n    },\n    on: {\n      \"change\": _vm.stickyChangeHandler\n    }\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"scroll-events\": _vm.scrollEvents,\n      \"options\": _vm.options,\n      \"data\": _vm.data\n    },\n    on: {\n      \"scroll\": _vm.scrollHandler,\n      \"scroll-end\": _vm.scrollEndHandler\n    }\n  }, [_vm._t(\"prepend\"), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-scroll-nav-main\"\n  }, [_c('cube-sticky-ele', {\n    ref: \"navBarEle\",\n    attrs: {\n      \"ele-key\": \"cube-scroll-nav-bar\"\n    }\n  }, [_vm._t(\"bar\", [_c('cube-scroll-nav-bar', {\n    attrs: {\n      \"direction\": _vm.barDirection,\n      \"txts\": _vm.barTxts,\n      \"labels\": _vm.labels,\n      \"current\": _vm.active\n    }\n  })], {\n    txts: _vm.barTxts,\n    labels: _vm.labels,\n    current: _vm.active\n  })], 2), _vm._v(\" \"), _c('cube-sticky', {\n    ref: \"pageSticky\",\n    attrs: {\n      \"offset\": _vm.pageStickyOffset,\n      \"pos\": _vm.scrollY\n    },\n    on: {\n      \"change\": _vm.pageStickyChangeHandler\n    }\n  }, [_c('div', {\n    staticClass: \"cube-scroll-nav-panels\"\n  }, [_vm._t(\"default\")], 2), _vm._v(\" \"), (!_vm.side) ? _c('template', {\n    slot: \"fixed\"\n  }, [_c('div')]) : _vm._e()], 2)], 1)], 2)], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 421 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(422),\n  /* template */\n  __webpack_require__(423),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 422 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(76)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../sticky/sticky-ele.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.stickyEle);\n    global.scrollNavPanel = mod.exports;\n  }\n})(this, function (module, exports, _stickyEle) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _stickyEle2 = _interopRequireDefault(_stickyEle);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll-nav-panel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['scrollNav'],\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      title: {\n        type: [String, Number],\n        default: function _default() {\n          return this.label;\n        }\n      }\n    },\n    mounted: function mounted() {\n      this.scrollNav.addPanel(this);\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.scrollNav.removePanel(this);\n    },\n\n    components: {\n      CubeStickyEle: _stickyEle2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 423 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav-panel\"\n  }, [_c('cube-sticky-ele', {\n    attrs: {\n      \"ele-key\": _vm.label\n    }\n  }, [_c('h2', {\n    staticClass: \"cube-scroll-nav-panel-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  })]), _vm._v(\" \"), _vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 424 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(77)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/scroll-nav-bar/scroll-nav-bar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scrollNavBar);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _scrollNavBar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _scrollNavBar2.default.install = function (Vue) {\n    Vue.component(_scrollNavBar2.default.name, _scrollNavBar2.default);\n  };\n\n  exports.default = _scrollNavBar2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 425 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(426)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/recycle-list/recycle-list.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.recycleList);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _recycleList) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _recycleList2 = _interopRequireDefault(_recycleList);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _recycleList2.default.install = function (Vue) {\n    Vue.component(_recycleList2.default.name, _recycleList2.default);\n  };\n\n  exports.default = _recycleList2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 426 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(427)\n}\nvar Component = __webpack_require__(0)(\n  /* script */\n  __webpack_require__(428),\n  /* template */\n  __webpack_require__(429),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 427 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 428 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(38), __webpack_require__(7), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../loading/loading.vue'), require('../../common/helpers/debug.js'), require('../../common/helpers/util.js'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading, global.debug, global.util);\n    global.recycleList = mod.exports;\n  }\n})(this, function (module, exports, _loading, _debug, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-recycle-list';\n  var PROMISE_ERROR = 'requires a Promise polyfill in this browser.';\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_RESIZE = 'resize';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        items: [],\n        heights: 0,\n        startIndex: 0,\n        loadings: [],\n        noMore: false\n      };\n    },\n\n    props: {\n      infinite: {\n        type: Boolean,\n        default: false\n      },\n      size: {\n        type: Number,\n        default: 20\n      },\n      offset: {\n        type: Number,\n        default: 100\n      },\n      onFetch: {\n        type: Function,\n        required: true\n      }\n    },\n    computed: {\n      visibleItems: function visibleItems() {\n        return this.items.slice(Math.max(0, this.startIndex - this.size), Math.min(this.items.length, this.startIndex + this.size));\n      },\n      tombHeight: function tombHeight() {\n        return this.infinite ? this.$refs.tomb && this.$refs.tomb.offsetHeight : 0;\n      },\n      loading: function loading() {\n        return this.loadings.length;\n      }\n    },\n    created: function created() {\n      this.list = [];\n      this.promiseStack = [];\n    },\n    mounted: function mounted() {\n      this.checkPromiseCompatibility();\n      this.$el.addEventListener(EVENT_SCROLL, this._onScroll);\n      window.addEventListener(EVENT_RESIZE, this._onResize);\n      this.load();\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.$el.removeEventListener(EVENT_SCROLL, this._onScroll);\n      window.removeEventListener(EVENT_RESIZE, this._onResize);\n    },\n\n    methods: {\n      checkPromiseCompatibility: function checkPromiseCompatibility() {\n        if ((0, _util.isUndef)(window.Promise)) {\n          (0, _debug.warn)(PROMISE_ERROR);\n        }\n      },\n      load: function load() {\n        if (this.infinite) {\n          var items = this.items;\n          var start = items.length;\n\n          items.length += this.size;\n          var end = items.length;\n          this.loadItems(start, end);\n          this.getItems();\n        } else if (!this.loading) {\n          this.getItems();\n        }\n      },\n      getItems: function getItems() {\n        var _this = this;\n\n        var index = this.promiseStack.length;\n        var promiseFetch = this.onFetch();\n        this.loadings.push('pending');\n        this.promiseStack.push(promiseFetch);\n        promiseFetch.then(function (res) {\n          _this.loadings.pop();\n\n          if (!res) {\n            _this.stopScroll(index);\n          } else {\n            _this.setList(index, res);\n            _this.loadItemsByIndex(index);\n            if (res.length < _this.size) {\n              _this.stopScroll(index);\n            }\n          }\n        });\n      },\n      removeUnusedTombs: function removeUnusedTombs(copy, index) {\n        var cursor = void 0;\n        var size = this.size;\n        var start = index * size;\n        var end = (index + 1) * size;\n        for (cursor = start; cursor < end; cursor++) {\n          if (copy[cursor] && copy[cursor].isTombstone) break;\n        }\n        this.items = copy.slice(0, cursor);\n      },\n      stopScroll: function stopScroll(index) {\n        this.noMore = true;\n        this.removeUnusedTombs(this.items.slice(0), index);\n        this.updateItemTop();\n        this.updateStartIndex();\n      },\n      setList: function setList(index, res) {\n        var list = this.list;\n        var baseIndex = index * this.size;\n        for (var i = 0; i < res.length; i++) {\n          list[baseIndex + i] = res[i];\n        }\n      },\n      loadItemsByIndex: function loadItemsByIndex(index) {\n        var size = this.size;\n        var start = index * size;\n        var end = (index + 1) * size;\n        this.loadItems(start, end);\n      },\n      loadItems: function loadItems(start, end) {\n        var _this2 = this;\n\n        var items = this.items;\n        var promiseTasks = [];\n        var item = void 0;\n\n        var _loop = function _loop(i) {\n          item = items[i];\n\n          if (item && item.loaded) {\n            return 'continue';\n          }\n          _this2.setItem(i, _this2.list[i]);\n\n          promiseTasks.push(_this2.$nextTick().then(function () {\n            _this2.updateItemHeight(i);\n          }));\n        };\n\n        for (var i = start; i < end; i++) {\n          var _ret = _loop(i);\n\n          if (_ret === 'continue') continue;\n        }\n\n        window.Promise.all(promiseTasks).then(function () {\n          _this2.updateItemTop();\n          _this2.updateStartIndex();\n        });\n      },\n      setItem: function setItem(index, data) {\n        this.$set(this.items, index, {\n          data: data || {},\n          height: 0,\n          top: -1000,\n          isTombstone: !data,\n          loaded: data ? 1 : 0\n        });\n      },\n      updateItemHeight: function updateItemHeight(index) {\n        var cur = this.items[index];\n        var dom = this.$refs['preloads' + index];\n        if (dom && dom[0]) {\n          cur.height = dom[0].offsetHeight;\n        } else if (cur) {\n          cur.height = this.tombHeight;\n        }\n      },\n      updateItemTop: function updateItemTop() {\n        var heights = 0;\n        var items = this.items;\n        var pre = void 0;\n        var current = void 0;\n\n        for (var i = 0; i < items.length; i++) {\n          pre = items[i - 1];\n          current = items[i];\n\n          if (!items[i]) {\n            heights += 0;\n          } else {\n            current.top = pre ? pre.top + pre.height : 0;\n            heights += current.height;\n          }\n        }\n        this.heights = heights;\n      },\n      updateStartIndex: function updateStartIndex() {\n        var top = this.$el.scrollTop;\n        var item = void 0;\n        var items = this.items;\n        for (var i = 0; i < items.length; i++) {\n          item = items[i];\n          if (!item || item.top > top) {\n            this.startIndex = Math.max(0, i - 1);\n            break;\n          }\n        }\n      },\n      reset: function reset() {\n        var _this3 = this;\n\n        var map = [{\n          key: 'items',\n          value: []\n        }, {\n          key: 'heights',\n          value: 0\n        }, {\n          key: 'startIndex',\n          value: 0\n        }, {\n          key: 'loadings',\n          value: []\n        }, {\n          key: 'noMore',\n          value: false\n        }, {\n          key: 'list',\n          value: []\n        }, {\n          key: 'promiseStack',\n          value: []\n        }];\n        map.forEach(function (_ref) {\n          var key = _ref.key,\n              value = _ref.value;\n\n          _this3[key] = value;\n        });\n        this.$el.scrollTop = 0;\n        this.load();\n      },\n      _onScroll: function _onScroll() {\n        if (!this.noMore && this.$el.scrollTop + this.$el.offsetHeight > this.heights - this.offset) {\n          this.load();\n        }\n        this.updateStartIndex();\n      },\n      _onResize: function _onResize() {\n        var items = this.items;\n        items.forEach(function (item) {\n          item.loaded = false;\n        });\n        this.loadItems(0, items.length);\n      }\n    },\n    components: {\n      CubeLoading: _loading2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 429 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-recycle-list\"\n  }, [_c('div', {\n    staticClass: \"cube-recycle-list-main\"\n  }, [_c('div', {\n    staticClass: \"cube-recycle-list-items\",\n    style: ({\n      height: _vm.heights + 'px'\n    })\n  }, [_vm._l((_vm.visibleItems), function(item) {\n    return _c('div', {\n      staticClass: \"cube-recycle-list-item\",\n      style: ({\n        transform: 'translate(0,' + item.top + 'px)'\n      })\n    }, [(_vm.infinite) ? _c('div', {\n      class: {\n        'cube-recycle-list-transition': _vm.infinite\n      },\n      style: ({\n        opacity: +!item.loaded\n      })\n    }, [_vm._t(\"tombstone\")], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n      class: {\n        'cube-recycle-list-transition': _vm.infinite\n      },\n      style: ({\n        opacity: item.loaded\n      })\n    }, [_vm._t(\"item\", null, {\n      data: item.data\n    })], 2)])\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-recycle-list-pool\"\n  }, [_vm._l((_vm.items), function(item, index) {\n    return (item && !item.isTombstone && !item.height) ? _c('div', {\n      ref: 'preloads' + index,\n      refInFor: true,\n      staticClass: \"cube-recycle-list-item cube-recycle-list-invisible\"\n    }, [_vm._t(\"item\", null, {\n      data: item.data\n    })], 2) : _vm._e()\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"tomb\",\n    staticClass: \"cube-recycle-list-item cube-recycle-list-invisible\"\n  }, [_vm._t(\"tombstone\")], 2)], 2)], 2), _vm._v(\" \"), (!_vm.infinite && !_vm.noMore) ? _c('div', {\n    staticClass: \"cube-recycle-list-loading\",\n    style: ({\n      visibility: _vm.loading ? 'visible' : 'hidden'\n    })\n  }, [_vm._t(\"spinner\", [_c('div', {\n    staticClass: \"cube-recycle-list-loading-content\"\n  }, [_c('cube-loading', {\n    staticClass: \"cube-recycle-list-spinner\"\n  })], 1)])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.noMore),\n      expression: \"noMore\"\n    }],\n    staticClass: \"cube-recycle-list-noMore\"\n  }, [_vm._t(\"noMore\")], 2)]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-recycle-list-fake\"\n  })])\n},staticRenderFns: []}\n\n/***/ }),\n/* 430 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(52)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('better-scroll'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.betterScroll);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _betterScroll) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = _betterScroll2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 431 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(9)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = _createApi2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/input/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"input\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"input\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 344);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 165:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    methods: {\n      changeHander: function changeHander(e) {\n        this.$emit(EVENT_CHANGE, e);\n      },\n      focus: function focus() {\n        this.$refs.input.focus();\n      },\n      blur: function blur() {\n        this.$refs.input.blur();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 174:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(179)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(180),\n  /* template */\n  __webpack_require__(181),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 179:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 180:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(165)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-input';\n  var EVENT_INPUT = 'input';\n  var EVENT_BLUR = 'blur';\n  var EVENT_FOCUS = 'focus';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    props: {\n      value: [String, Number],\n      type: {\n        type: String,\n        default: 'text'\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      placeholder: String,\n      readonly: {\n        type: Boolean,\n        default: false\n      },\n      autofocus: {\n        type: Boolean,\n        default: false\n      },\n      autocomplete: {\n        type: [Boolean, String],\n        default: false\n      },\n      name: String,\n      id: String,\n      form: String,\n      minlength: Number,\n      maxlength: Number,\n      resize: String,\n      min: Number,\n      max: Number,\n      step: Number,\n      tabindex: String,\n      pattern: String,\n      clearable: {\n        type: [Boolean, Object],\n        default: false\n      },\n      eye: {\n        type: [Boolean, Object],\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        inputValue: this.value,\n        isFocus: false,\n        formatedClearable: {\n          visible: false,\n          blurHidden: true\n        },\n        formatedEye: {\n          open: false,\n          reverse: false\n        }\n      };\n    },\n\n    computed: {\n      _type: function _type() {\n        var type = this.type;\n        if (type === 'password' && this.eye && this.pwdVisible) {\n          return 'text';\n        }\n        return type;\n      },\n      _showClear: function _showClear() {\n        var visible = this.formatedClearable.visible && this.inputValue && !this.readonly && !this.disabled;\n        if (this.formatedClearable.blurHidden && !this.isFocus) {\n          visible = false;\n        }\n        return visible;\n      },\n      _showPwdEye: function _showPwdEye() {\n        return this.type === 'password' && this.eye && !this.disabled;\n      },\n      pwdVisible: function pwdVisible() {\n        var eye = this.formatedEye;\n        return eye.reverse ? !eye.open : eye.open;\n      },\n      eyeClass: function eyeClass() {\n        return this.formatedEye.open ? 'cubeic-eye-visible' : 'cubeic-eye-invisible';\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.inputValue = newValue;\n      },\n      inputValue: function inputValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n      },\n\n      clearable: {\n        handler: function handler() {\n          this.formatClearable();\n        },\n\n        deep: true,\n        immediate: true\n      },\n      eye: {\n        handler: function handler() {\n          this.formateEye();\n        },\n\n        deep: true,\n        immediate: true\n      }\n    },\n    methods: {\n      formatClearable: function formatClearable() {\n        if (typeof this.clearable === 'boolean') {\n          this.formatedClearable.visible = this.clearable;\n        } else {\n          (0, _assign2.default)(this.formatedClearable, this.clearable);\n        }\n      },\n      formateEye: function formateEye() {\n        if (typeof this.eye === 'boolean') {\n          this.formatedEye.open = this.eye;\n        } else {\n          (0, _assign2.default)(this.formatedEye, this.eye);\n        }\n      },\n      handleFocus: function handleFocus(e) {\n        this.$emit(EVENT_FOCUS, e);\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit(EVENT_BLUR, e);\n        this.isFocus = false;\n      },\n      handleClear: function handleClear(e) {\n        this.inputValue = '';\n        this.$refs.input.focus();\n      },\n      handlePwdEye: function handlePwdEye() {\n        this.formatedEye.open = !this.formatedEye.open;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 181:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-input\",\n    class: {\n      'cube-input_active': _vm.isFocus\n    }\n  }, [(_vm.$slots.prepend) ? _c('div', {\n    staticClass: \"cube-input-prepend\"\n  }, [_vm._t(\"prepend\")], 2) : _vm._e(), _vm._v(\" \"), ((_vm._type) === 'checkbox') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"checkbox\"\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.inputValue) ? _vm._i(_vm.inputValue, null) > -1 : (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        var $$a = _vm.inputValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.inputValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.inputValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.inputValue = $$c\n        }\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : ((_vm._type) === 'radio') ? _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": \"radio\"\n    },\n    domProps: {\n      \"checked\": _vm._q(_vm.inputValue, null)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": [function($event) {\n        _vm.inputValue = null\n      }, _vm.changeHander]\n    }\n  }, 'input', _vm.$props, false)) : _c('input', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.inputValue),\n      expression: \"inputValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-input-field\",\n    attrs: {\n      \"disabled\": _vm.disabled,\n      \"readonly\": _vm.readonly,\n      \"autocomplete\": _vm.autocomplete,\n      \"autofocus\": _vm.autofocus,\n      \"type\": _vm._type\n    },\n    domProps: {\n      \"value\": (_vm.inputValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.inputValue = $event.target.value\n      }\n    }\n  }, 'input', _vm.$props, false)), _vm._v(\" \"), (_vm.$slots.append || _vm._showClear || _vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-append\"\n  }, [(_vm._showClear) ? _c('div', {\n    staticClass: \"cube-input-clear\",\n    on: {\n      \"touchend\": _vm.handleClear\n    }\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\"\n  })]) : _vm._e(), _vm._v(\" \"), (_vm._showPwdEye) ? _c('div', {\n    staticClass: \"cube-input-eye\",\n    on: {\n      \"click\": _vm.handlePwdEye\n    }\n  }, [_c('i', {\n    class: _vm.eyeClass\n  })]) : _vm._e(), _vm._v(\" \"), _vm._t(\"append\")], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 344:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(174)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/input/input.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.input);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _input2.default.install = function (Vue) {\n    Vue.component(_input2.default.name, _input2.default);\n  };\n\n  exports.default = _input2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 88:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 92:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n\n/***/ 93:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n\n/***/ 94:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/input/style.css",
    "content": ".cube-input{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:14px;line-height:1.429;background-color:#fff;position:relative}.cube-input:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-input:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-input:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-input-field{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%;min-width:0;padding:10px;box-sizing:border-box;color:#666;line-height:inherit;background-color:inherit;border-radius:2px;outline:none}.cube-input-field::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-input-field+.cube-input-append .cube-input-clear:first-child,.cube-input-field+.cube-input-append .cube-input-eye:first-child{margin-left:-5px}.cube-input_active:after{border-color:#fc9153}.cube-input-append,.cube-input-prepend{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-input-clear,.cube-input-eye{width:1em;height:1em;line-height:1;padding:10px;box-sizing:content-box;color:#999}.cube-input-clear>i,.cube-input-eye>i{display:inline-block;-webkit-transform:scale(1.2);transform:scale(1.2)}.cube-input-eye>.cubeic-eye-invisible,.cube-input-eye>.cubeic-eye-visible{-webkit-transform:scale(1.4);transform:scale(1.4)}"
  },
  {
    "path": "lib/loading/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"loading\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"loading\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 345);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 107:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 114:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 115:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 116:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 345:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(107)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/loading/loading.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _loading) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _loading2.default.install = function (Vue) {\n    Vue.component(_loading2.default.name, _loading2.default);\n  };\n\n  exports.default = _loading2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/loading/style.css",
    "content": ".cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}"
  },
  {
    "path": "lib/locale/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locale\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"locale\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 184);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */,\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */,\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */,\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */,\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */,\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */,\n/* 87 */,\n/* 88 */,\n/* 89 */,\n/* 90 */,\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */,\n/* 100 */,\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/locale'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _locale, _locale3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _locale4 = _interopRequireDefault(_locale3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _locale2.default.localeMixin = _locale4.default;\n\n  exports.default = _locale2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/picker/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"picker\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"picker\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 346);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */,\n/* 88 */,\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(137)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(138),\n  /* template */\n  __webpack_require__(139),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 120 */,\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(90), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(140), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('./api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _api, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _picker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _picker2.default);\n  };\n\n  exports.default = _picker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/picker/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}"
  },
  {
    "path": "lib/popup/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"popup\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"popup\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 347);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 101:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 102:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 103:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 104:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 347:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(101), __webpack_require__(348)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/popup/popup.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.popup, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _popup, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _popup2.default.install = function (Vue) {\n    Vue.component(_popup2.default.name, _popup2.default);\n    (0, _api2.default)(Vue, _popup2.default);\n  };\n\n  exports.default = _popup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 348:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPopup;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPopup(Vue, Popup) {\n    (0, _createApi2.default)(Vue, Popup, ['mask-click'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n\n/***/ 58:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 69:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 89:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 99:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/popup/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}"
  },
  {
    "path": "lib/radio/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"radio\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"radio\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 349);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 164:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.groupCol = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var FLEXBASIS = (0, _dom.prefixStyle)('flexBasis');\n\n  exports.default = {\n    props: {\n      colNum: {\n        type: Number,\n        default: 1\n      }\n    },\n    watch: {\n      colNum: {\n        immediate: true,\n        handler: function handler(newValue) {\n          var _this = this;\n\n          if (newValue <= 1) return '';\n          this.$nextTick(function () {\n            var count = 100 / newValue + '%';\n            Array.prototype.forEach.call(_this.$refs.group.children, function (item) {\n              item.style[FLEXBASIS] = count;\n            });\n          });\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 166:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(185)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(186),\n  /* template */\n  __webpack_require__(187),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 185:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 186:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.radio = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-radio';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      radioGroup: {\n        default: null\n      }\n    },\n    props: {\n      value: [String, Number],\n      option: {\n        type: [String, Object],\n        required: true\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      var radioGroup = this.radioGroup;\n      if (radioGroup && radioGroup.radioValue !== void 0) {\n        this.radioValue = radioGroup.radioValue;\n        this._cancelWatchGroup = this.$watch(function () {\n          return radioGroup.radioValue;\n        }, function (newValue) {\n          _this.radioValue = newValue;\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this._cancelWatchGroup && this._cancelWatchGroup();\n      this._cancelWatchGroup = null;\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        if (typeof this.value === 'number') {\n          newV = Number(newV);\n        }\n        this.$emit(EVENT_INPUT, newV);\n        if (this.radioGroup) {\n          this.radioGroup.radioValue = newV;\n        }\n      }\n    },\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        if (typeof option === 'string') {\n          return {\n            value: option,\n            label: option\n          };\n        }\n        return option;\n      },\n      _containerClass: function _containerClass() {\n        var option = this.computedOption;\n        return {\n          'cube-radio-hollow': this.hollowStyle,\n          'cube-radio_selected': this.radioValue === option.value,\n          'cube-radio_disabled': option.disabled,\n          'border-right-1px': this.$parent.horizontal\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        var parent = this.$parent;\n        if (!(parent.horizontal || parent.$props.colNum > 1)) {\n          return 'border-bottom-1px';\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 187:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-radio\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-radio-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.radioValue),\n      expression: \"radioValue\"\n    }],\n    staticClass: \"cube-radio-input\",\n    attrs: {\n      \"type\": \"radio\",\n      \"disabled\": _vm.option.disabled\n    },\n    domProps: {\n      \"value\": _vm.computedOption.value,\n      \"checked\": _vm._q(_vm.radioValue, _vm.computedOption.value)\n    },\n    on: {\n      \"change\": function($event) {\n        _vm.radioValue = _vm.computedOption.value\n      }\n    }\n  }), _vm._v(\" \"), _vm._m(0), _vm._v(\" \"), _vm._t(\"default\", [_c('span', {\n    staticClass: \"cube-radio-label\"\n  }, [_vm._v(_vm._s(_vm.computedOption.label))])])], 2)])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('span', {\n    staticClass: \"cube-radio-ui cubeic-round-border\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n\n/***/ 188:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(189)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(190),\n  /* template */\n  __webpack_require__(191),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 189:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 190:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(166), __webpack_require__(164)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./radio.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radio, global.groupCol);\n    global.radioGroup = mod.exports;\n  }\n})(this, function (module, exports, _radio, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-radio-group';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    provide: function provide() {\n      return {\n        radioGroup: this\n      };\n    },\n\n    props: {\n      value: [String, Number],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        this.$emit(EVENT_INPUT, newV);\n      }\n    },\n    computed: {\n      _groupClass: function _groupClass() {\n        if (!this.horizontal) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    components: {\n      CubeRadio: _radio2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 191:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-radio-group\",\n    class: _vm._groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-radio', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      },\n      model: {\n        value: (_vm.radioValue),\n        callback: function($$v) {\n          _vm.radioValue = $$v\n        },\n        expression: \"radioValue\"\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 349:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(188), __webpack_require__(166)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/radio/radio-group.vue'), require('../../components/radio/radio.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radioGroup, global.radio);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _radioGroup, _radio) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radioGroup2 = _interopRequireDefault(_radioGroup);\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _radioGroup2.default.install = function (Vue) {\n    Vue.component(_radioGroup2.default.name, _radioGroup2.default);\n    Vue.component(_radio2.default.name, _radio2.default);\n  };\n\n  _radioGroup2.default.Radio = _radio2.default;\n\n  exports.default = _radioGroup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/radio/style.css",
    "content": ".cube-radio{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-radio[data-pos=right] .cube-radio-ui{margin-right:0;position:absolute;right:0}.cube-radio[data-pos=right] .cube-radio-label{margin-right:1.42em}.cube-radio-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-radio-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-radio-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;color:transparent;background-color:transparent;border-radius:50%}.cube-radio-ui:before,.cube-radio-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-radio-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-radio-ui i{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(.4);transform:scale(.4)}.cube-radio-ui i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%) scale(.8);transform:translate(-50%,-50%) scale(.8);border-radius:50%}.cube-radio_selected .cube-radio-ui{background-color:#fc9153}.cube-radio_selected .cube-radio-ui:before{color:transparent}.cube-radio_selected .cube-radio-ui i{-webkit-transform:scale(1);transform:scale(1)}.cube-radio_selected .cube-radio-ui i:before{background-color:#fff}.cube-radio_disabled .cube-radio-ui{background-color:#eee}.cube-radio_disabled .cube-radio-ui:before,.cube-radio_disabled .cube-radio-ui i{-webkit-transition:none;transition:none}.cube-radio_disabled .cube-radio-ui:before{color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui,.cube-radio-hollow.cube-radio_selected .cube-radio-ui{background-color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui i:before,.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.cube-radio-hollow.cube-radio_selected .cube-radio-ui:before{color:#fc9153}.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{background-color:#fc9153}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui:before{color:#eee}.cube-radio-hollow.cube-radio_disabled.cube-radio_selected .cube-radio-ui i:before{background-color:#eee}.cube-radio-group{z-index:1;overflow:hidden;background-color:#fff}.cube-radio-group .cube-radio:last-child .cube-radio-wrap:after,.cube-radio-group .cube-radio:last-child .cube-radio-wrap:before{display:none}.cube-radio-group[data-col=true],.cube-radio-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-radio-group[data-col=true] .cube-radio,.cube-radio-group[data-horz=true] .cube-radio{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-radio-group[data-col=true] .cube-radio:after,.cube-radio-group[data-horz=true] .cube-radio:after{border-color:#ccc}.cube-radio-group[data-col=true] .cube-radio:last-child:after,.cube-radio-group[data-col=true] .cube-radio:last-child:before,.cube-radio-group[data-horz=true] .cube-radio:last-child:after,.cube-radio-group[data-horz=true] .cube-radio:last-child:before{display:none}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-ui,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-label,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-label{margin-right:0}.cube-radio-group[data-col=true] .cube-radio-wrap,.cube-radio-group[data-horz=true] .cube-radio-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-radio-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-radio-group[data-col=true] .cube-radio{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-radio-group[data-col=true] .cube-radio:after{display:none}"
  },
  {
    "path": "lib/radio-group/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"radio-group\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"radio-group\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 350);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 164:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.groupCol = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var FLEXBASIS = (0, _dom.prefixStyle)('flexBasis');\n\n  exports.default = {\n    props: {\n      colNum: {\n        type: Number,\n        default: 1\n      }\n    },\n    watch: {\n      colNum: {\n        immediate: true,\n        handler: function handler(newValue) {\n          var _this = this;\n\n          if (newValue <= 1) return '';\n          this.$nextTick(function () {\n            var count = 100 / newValue + '%';\n            Array.prototype.forEach.call(_this.$refs.group.children, function (item) {\n              item.style[FLEXBASIS] = count;\n            });\n          });\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 166:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(185)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(186),\n  /* template */\n  __webpack_require__(187),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 185:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 186:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.radio = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-radio';\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      radioGroup: {\n        default: null\n      }\n    },\n    props: {\n      value: [String, Number],\n      option: {\n        type: [String, Object],\n        required: true\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      var radioGroup = this.radioGroup;\n      if (radioGroup && radioGroup.radioValue !== void 0) {\n        this.radioValue = radioGroup.radioValue;\n        this._cancelWatchGroup = this.$watch(function () {\n          return radioGroup.radioValue;\n        }, function (newValue) {\n          _this.radioValue = newValue;\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this._cancelWatchGroup && this._cancelWatchGroup();\n      this._cancelWatchGroup = null;\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        if (typeof this.value === 'number') {\n          newV = Number(newV);\n        }\n        this.$emit(EVENT_INPUT, newV);\n        if (this.radioGroup) {\n          this.radioGroup.radioValue = newV;\n        }\n      }\n    },\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        if (typeof option === 'string') {\n          return {\n            value: option,\n            label: option\n          };\n        }\n        return option;\n      },\n      _containerClass: function _containerClass() {\n        var option = this.computedOption;\n        return {\n          'cube-radio-hollow': this.hollowStyle,\n          'cube-radio_selected': this.radioValue === option.value,\n          'cube-radio_disabled': option.disabled,\n          'border-right-1px': this.$parent.horizontal\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        var parent = this.$parent;\n        if (!(parent.horizontal || parent.$props.colNum > 1)) {\n          return 'border-bottom-1px';\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 187:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-radio\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-radio-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.radioValue),\n      expression: \"radioValue\"\n    }],\n    staticClass: \"cube-radio-input\",\n    attrs: {\n      \"type\": \"radio\",\n      \"disabled\": _vm.option.disabled\n    },\n    domProps: {\n      \"value\": _vm.computedOption.value,\n      \"checked\": _vm._q(_vm.radioValue, _vm.computedOption.value)\n    },\n    on: {\n      \"change\": function($event) {\n        _vm.radioValue = _vm.computedOption.value\n      }\n    }\n  }), _vm._v(\" \"), _vm._m(0), _vm._v(\" \"), _vm._t(\"default\", [_c('span', {\n    staticClass: \"cube-radio-label\"\n  }, [_vm._v(_vm._s(_vm.computedOption.label))])])], 2)])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('span', {\n    staticClass: \"cube-radio-ui cubeic-round-border\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n\n/***/ 188:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(189)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(190),\n  /* template */\n  __webpack_require__(191),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 189:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 190:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(166), __webpack_require__(164)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./radio.vue'), require('../../common/mixins/group-col'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radio, global.groupCol);\n    global.radioGroup = mod.exports;\n  }\n})(this, function (module, exports, _radio, _groupCol) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  var _groupCol2 = _interopRequireDefault(_groupCol);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-radio-group';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_groupCol2.default],\n    provide: function provide() {\n      return {\n        radioGroup: this\n      };\n    },\n\n    props: {\n      value: [String, Number],\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        radioValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newV) {\n        this.radioValue = newV;\n      },\n      radioValue: function radioValue(newV) {\n        this.$emit(EVENT_INPUT, newV);\n      }\n    },\n    computed: {\n      _groupClass: function _groupClass() {\n        if (!this.horizontal) {\n          return 'border-top-1px border-bottom-1px';\n        }\n      }\n    },\n    components: {\n      CubeRadio: _radio2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 191:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"group\",\n    staticClass: \"cube-radio-group\",\n    class: _vm._groupClass,\n    attrs: {\n      \"data-horz\": _vm.horizontal,\n      \"data-col\": _vm.colNum > 1\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.options), function(option, index) {\n    return _c('cube-radio', {\n      key: index,\n      attrs: {\n        \"option\": option,\n        \"position\": _vm.position,\n        \"hollow-style\": _vm.hollowStyle\n      },\n      model: {\n        value: (_vm.radioValue),\n        callback: function($$v) {\n          _vm.radioValue = $$v\n        },\n        expression: \"radioValue\"\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 350:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(188), __webpack_require__(166)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/radio/radio-group.vue'), require('../../components/radio/radio.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.radioGroup, global.radio);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _radioGroup, _radio) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _radioGroup2 = _interopRequireDefault(_radioGroup);\n\n  var _radio2 = _interopRequireDefault(_radio);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _radioGroup2.default.install = function (Vue) {\n    Vue.component(_radioGroup2.default.name, _radioGroup2.default);\n    Vue.component(_radio2.default.name, _radio2.default);\n  };\n\n  _radioGroup2.default.Radio = _radio2.default;\n\n  exports.default = _radioGroup2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/radio-group/style.css",
    "content": ".cube-radio{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-radio[data-pos=right] .cube-radio-ui{margin-right:0;position:absolute;right:0}.cube-radio[data-pos=right] .cube-radio-label{margin-right:1.42em}.cube-radio-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-radio-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-radio-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;color:transparent;background-color:transparent;border-radius:50%}.cube-radio-ui:before,.cube-radio-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-radio-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-radio-ui i{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(.4);transform:scale(.4)}.cube-radio-ui i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%) scale(.8);transform:translate(-50%,-50%) scale(.8);border-radius:50%}.cube-radio_selected .cube-radio-ui{background-color:#fc9153}.cube-radio_selected .cube-radio-ui:before{color:transparent}.cube-radio_selected .cube-radio-ui i{-webkit-transform:scale(1);transform:scale(1)}.cube-radio_selected .cube-radio-ui i:before{background-color:#fff}.cube-radio_disabled .cube-radio-ui{background-color:#eee}.cube-radio_disabled .cube-radio-ui:before,.cube-radio_disabled .cube-radio-ui i{-webkit-transition:none;transition:none}.cube-radio_disabled .cube-radio-ui:before{color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui,.cube-radio-hollow.cube-radio_selected .cube-radio-ui{background-color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui i:before,.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.cube-radio-hollow.cube-radio_selected .cube-radio-ui:before{color:#fc9153}.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{background-color:#fc9153}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui:before{color:#eee}.cube-radio-hollow.cube-radio_disabled.cube-radio_selected .cube-radio-ui i:before{background-color:#eee}.cube-radio-group{z-index:1;overflow:hidden;background-color:#fff}.cube-radio-group .cube-radio:last-child .cube-radio-wrap:after,.cube-radio-group .cube-radio:last-child .cube-radio-wrap:before{display:none}.cube-radio-group[data-col=true],.cube-radio-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-radio-group[data-col=true] .cube-radio,.cube-radio-group[data-horz=true] .cube-radio{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-radio-group[data-col=true] .cube-radio:after,.cube-radio-group[data-horz=true] .cube-radio:after{border-color:#ccc}.cube-radio-group[data-col=true] .cube-radio:last-child:after,.cube-radio-group[data-col=true] .cube-radio:last-child:before,.cube-radio-group[data-horz=true] .cube-radio:last-child:after,.cube-radio-group[data-horz=true] .cube-radio:last-child:before{display:none}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-ui,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-label,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-label{margin-right:0}.cube-radio-group[data-col=true] .cube-radio-wrap,.cube-radio-group[data-horz=true] .cube-radio-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-radio-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-radio-group[data-col=true] .cube-radio{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-radio-group[data-col=true] .cube-radio:after{display:none}"
  },
  {
    "path": "lib/rate/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rate\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"rate\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 351);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 196:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(221)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(222),\n  /* template */\n  __webpack_require__(223),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 218:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(219)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(220),\n  /* template */\n  __webpack_require__(224),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 219:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 220:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(196)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./rate-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.rateItem);\n    global.rate = mod.exports;\n  }\n})(this, function (module, exports, _rateItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _rateItem2 = _interopRequireDefault(_rateItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-rate';\n  var EVENT_INPUT = 'input';\n\n  var EVENT_TYPE_MOUSE = 'mouse';\n  function isMouseEvent(e) {\n    return e.type.indexOf(EVENT_TYPE_MOUSE) > -1;\n  }\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: 5\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      justify: {\n        type: Boolean,\n        default: false\n      },\n      allowHalf: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        tempValue: 0\n      };\n    },\n    created: function created() {\n      this.mousePressed = false;\n    },\n\n    computed: {\n      rateClass: function rateClass() {\n        return this.justify && 'cube-rate-justify';\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler: function handler(val) {\n          if (val !== this.tempValue) {\n            this.tempValue = this.handleNum(val);\n          }\n        }\n      }\n    },\n    methods: {\n      handleStart: function handleStart(e) {\n        if (!this.disabled) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = true;\n            document.addEventListener('mouseup', this.handleEnd);\n            document.addEventListener('mousemove', this.handleMove);\n          }\n          var rect = this.$refs.rateContainer.getBoundingClientRect();\n          this.left = rect.left;\n          this.containerWidth = rect.width;\n        }\n      },\n      handleMove: function handleMove(e) {\n        if (this.disabled) return;\n\n        if (!isMouseEvent(e)) {\n          this.computeTempValue(e.touches[0]);\n        } else if (this.mousePressed) {\n          this.computeTempValue(e);\n        }\n      },\n      handleEnd: function handleEnd(e) {\n        if (this.disabled) return;\n        if (!isMouseEvent(e) || this.mousePressed) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = false;\n            document.removeEventListener('mouseup', this.handleEnd);\n            document.removeEventListener('mousemove', this.handleMove);\n          }\n          this.computeTempValue(isMouseEvent(e) ? e : e.changedTouches[0]);\n          this.$emit(EVENT_INPUT, this.tempValue);\n        }\n      },\n      handleNum: function handleNum(num) {\n        if (this.allowHalf) {\n          var baseNum = Math.ceil(num) - 0.5;\n          num = num <= baseNum ? baseNum : baseNum + 0.5;\n        } else {\n          num = Math.ceil(num);\n        }\n        return num;\n      },\n      computeTempValue: function computeTempValue(touch) {\n        var num = (touch.clientX - this.left) / this.containerWidth * this.max;\n        num = this.handleNum(num);\n        if (num > 0 && num <= this.max) {\n          this.tempValue = num;\n        } else if (num <= 0) {\n          this.tempValue = 0;\n        } else {\n          this.tempValue = this.max;\n        }\n      }\n    },\n    components: {\n      CubeRateItem: _rateItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 221:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 222:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.rateItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-rate-item';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      index: {\n        type: Number,\n        default: 0\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 223:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-rate-item\",\n    class: {\n      'cube-rate-item_active': _vm.index <= _vm.$parent.tempValue,\n        'cube-rate-item_half_active': _vm.index === _vm.$parent.tempValue + 0.5\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-rate-item-def\"\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 224:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('ul', {\n    ref: \"rateContainer\",\n    staticClass: \"cube-rate\",\n    class: _vm.rateClass,\n    on: {\n      \"touchstart\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleStart($event)\n      },\n      \"touchmove\": function($event) {\n        $event.stopPropagation();\n        $event.preventDefault();\n        return _vm.handleMove($event)\n      },\n      \"touchend\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleEnd($event)\n      },\n      \"mousedown\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleStart($event)\n      },\n      \"mousemove\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleMove($event)\n      },\n      \"mouseup\": function($event) {\n        $event.stopPropagation();\n        return _vm.handleEnd($event)\n      }\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.max), function(n) {\n    return _c('cube-rate-item', {\n      key: n,\n      attrs: {\n        \"index\": n\n      }\n    })\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 351:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(218), __webpack_require__(196)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/rate/rate.vue'), require('../../components/rate/rate-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.rate, global.rateItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _rate, _rateItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _rate2 = _interopRequireDefault(_rate);\n\n  var _rateItem2 = _interopRequireDefault(_rateItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _rate2.default.install = function (Vue) {\n    Vue.component(_rate2.default.name, _rate2.default);\n    Vue.component(_rateItem2.default.name, _rateItem2.default);\n  };\n  _rate2.default.Item = _rateItem2.default;\n  exports.default = _rate2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/rate/style.css",
    "content": ".cube-rate{list-style:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;vertical-align:top;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%}.cube-rate-justify{width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.cube-rate-item{position:relative;width:32px;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;margin-right:6px}.cube-rate-item:after{content:\"\";display:block;padding:50% 0}.cube-rate-item:last-child{margin-right:0}.cube-rate-item .cube-rate-item-def{position:absolute;width:100%;height:100%;background-size:100%;background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAsVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHx8cAAADt7e2ysrJ6enoAAADu7u7MzMzBwcGHh4cAAAAAAADa2trS0tLExMS+vr42NjYAAADv7+/r6+vq6uro6Ojm5ubKysq8vLwAAADr6+vf39/c3NzPz8+1tbWrq6vo6Ojm5ubOzs6vr6+RkZHj4+Pi4uLV1dW4uLienp6ampplZWVWVlbv7+8EiCYnAAAAOnRSTlMAPCsDJgsGOg4hNyMapgj3jGQX/K2eah4Sx7eim0ow/fHv6uGqlzTz0820j4Xo5LGJcNzYvZR7eFpV7G3f4gAAAcpJREFUSMeVVulyskAQdBZwWQ4F5FREjUeiMdd3JvP+DxZCUVskzMrSf+mu3pqZnmGigG1PxoGxcXw7DK1xBsvLKAsLcANjLMwXxNjU589gg7iAmb7BAWv4rr7BAmvMYapr4GODlabF9MugseB6Fu4KW5SZnsEcW2y5oSEQCUocNSwMfo8ST86wRVZiB4/ewPtzj++6gr3j2bSJYUcuc9Zvj3v8hl9BunaYG3VkhhWJmpq+xucdkrg7H16/ZCKyapmA8OoXdziIp8K/hiDqQQjuURPbwGwKHzzr8feBmDTw4EGH/wCyxhEUw/wCoolEDn+G+EvIv60V/nKbH3P7x55wDrf4vmP1cnlK1PzkNCPmqCpV/GNFRs+oLor3MMWQWyEt+FBF2wtowb9ctV6WiicJheC0V8xEpUgzII050IL8DRVQHJeM7px6FbBCOXj0qeDbDmfXzffziVzy753YHx3n2Mn5mmpddJXRLXlmGBkvZdj/U61z47aICRdGU2bBk3l7KajWVb+xxmIFrvSfurBqbsWZUW2rP238li4lJhw2tSsnbn+KGIM569XChJhsnff3AozsqMVgGfRbx1JJ77uztN860775syIFn72pvWujU85XAAAAAElFTkSuQmCC)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAvVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsbGQkJCenp4AAADu7u7i4uKVlZWIiIgAAADm5uajo6OTk5N1dXVlZWXn5+fc3Nza2trW1tbPz8+urq7t7e3j4+PT09PCwsJMTEzr6+vo6Ojh4eHf39/Ly8u/v7+5ubmqqqqamprr6+vR0dGnp6daWlrY2NjGxsaAgIArKyvp6em1tbXv7+8lBY1eAAAAPnRSTlMAPQI5EicFOwgLFzUeMiQsGw6LcHov+tl1ayHhfnJhWubNx7+ziPbdup9R8evW0ayblIV387aCVsKjZ0fujx+LC04AAAL3SURBVFjDrZjXcuJAFAXdGgkJZXIwYGywCc457c7/f9bKwFIEoxkJ9TPVdUo6dy6jEw0qlZNiiKJiPBUoFxMIrCI8ZSgmkkW1WkQkB26G4BQQ6FLKJ8ICAg2lnGCXjhSFPMmEHt2jA01kwu2xkUJ6ckEd/xhPyaa1FJ0jjCNE3STQijb+UYHu5IqLYyL5PMs1feK8HkNwLteM8Izcgdpygxpu7kAXm6LXvJFi+nKLDm7OQB/bonuCPCKXmtyhg5kjkMd0V/RJo4hACYPMkYyyx3hfNKNRNrQVpm95sAy0HwkCyzedVJ2TKAKWDP7KX6mescAOrNh09qfTjK2GzYKz3mx02pQHaU5GD/X/ukYYm6XVHo3DhmDB+/PDtJUodLhqTR/b7ywQia5yYtrAvP84vr2SmXm5HT/W5oBtJpFs6k15BM06orLYyYL2S37PdR9RXr0tj85NXs9NB89Zv7SAwTCfZzggKG28/gbvp3k8p3Mapa0+R3xPsntuv4mMncmw4Dyr5wKs/VkJYZTNU4Xu72c91Ywe/9AhzaW+5xLcw4cZT7qeN+yUQ8606emOReJJoSKoX2mMRftnLFIpC/rqPIuxUOB4zNTPORkLJSY1legMR2tTP6pEz1pbyVIXfKb1H9dDeaKcE6k9Jebqkx/b0HjWdalkQFkp6vKpM6+uUtTgTi16xVKufhuNETnFU98XB1IDUFXb1Tvc2pjKOr7qiGb4yjrur6VWK3slSyB3uP+Cr/vdfw+IjKM/7kAQQGe8cwAoKunzIDeY1iAwE38AtenWkaSoZLR5axj1wVv93vWg/7GRVHHvFlyv12gbhGusm+oKaK+X8YQg/S58JpfcPYOIja3SxwLqqwFqplfS5W35wusgfGNvfnwBvWUZaqmVDLn/maQe2N3Sr/Xo2vD2U7WH1EoGtOTwaa35VRUClzfyIq2SBvypAqGT+iAtoHqdVskKHcBaaFSqedpOigGrrPV1KgLclNGPlJp1+ojwsCjTd0JzS/QPzjyulaV+8pQAAAAASUVORK5CYII=)}}.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAilBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyoEd/G7AAAALXRSTlMA+fUzFQ/vioT9vJE9tqNmLRsL2KuYe005JiID6ebhoJtxbF/qzMSxWx9FQgn3q32nAAABYUlEQVRIx5XV2XKDMAwFUJt9h5BAyL5vbe///14zNMShWNg+T8wgwSAZiRGShJmJUrN4G7CNEm7AzCS+ABAuDBJmeMr04xchnvhSO2GHVqUbv+Ro8YlmQoUXXy9+wrsEy9FKiPEW6MQ7lkjwXKbm40Ot9wJh/aNMCNBzVDz+++ihZ5Mn8lK5TR5Ha0htojhvxOeX9slPt1Dapv7JLhnzQxgIfbbaw0C1EnVREp0/QNOBvZw4NPA7e5tbULLmvbnlQcFrWI+9xqhNMfgvR3s3fUh+tClIF0d6nK4gRC41UAkPJpeDMCfnF4EaN+RXX+XxLt3klTThCwRqudQgUKMgBYFaFR5IU+kWwafzGZ9kR+MOwavLsvYUrYtFFQO3LXNgjY7xSxcev9/vxLw7fsP48u8erya9M7/nVOuSdk5ly0EtsnbSFUwQs2ZWSLf8DUAu2eWpzQh2hB37L2vYiGTfXf0Cn7ynb0Flqc0AAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAApVBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uypACjwZAAAANnRSTlMA+/T4lygF8CQaCQPp39ShckQv2s63pz0RDe7lw6yPgX14aGJcTjMXyZxsILyyVFFJQIiFOYkbrXkuAAACJ0lEQVRYw62Y55KCMBSFQxMRxEKx17XvWrad93+03UFHRTC5Sfx+M9/AwD0nF0ag02GvIUle41kBq5eI9sDoFZ42AMNh+qT4p6HvcQz8Y7xrixrIsHU9VQMZlqcpsnFhrOfxLFww11qiMa5MdDxrE1fcnoboC3fM1D1dE3cENWXRBDl2qp6eixyDiqJohgfe1Dy1AA9EvpKoiQILpRsaoECoIpqjhKW8p1JHCRt50RtKacneTztCKUOnQlU4h8koMvAUK0ynx6rPTcPlLI0tkDDjxuxUDHKv1dxuTEhjbrbNlncp9p097EOL/tDeddjSwguwlox9utDG/cwOCQE0CdqXMq1Di3r1+tJCaBB7d+G8gTLDbi4zEiiyrz1MRgolGoXR820oMOaUjwhCZ+4gh/G0VRaG1Fgc2VNOptRYcPghB0GwEhyGB+SxEPAegUDoMSEtEKiqNLVqUY5A4JsgIoXTh9izptWHLxQdQaItFP2CxFwoGhJzSOTxidMWifdFIl3hOY3ISbjncaHvOBEytD/JHj3XfPnRj2OU4HBFUxQID4wdQkBun0gKSbjIHsFfFGZ5yxU9RPZgXrlW8XwgsQVU8/nezPV6rRnkWo23mi5ww50WruxNXeLZ3b4FznfpDHS/brM45YhinLHG66fBN7ZwJuFsVsb56W2PW1jb82V9zs+0TNMQdo2TZiqH20QjhxFo77mf5AjJihH5+eD8Cko7TIJWTvQHI0vKWTT1X7EAAAAASUVORK5CYII=)}}.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAIKUlEQVRoBcVZb1BUVRQ/d/8CIoIIrNJAhbkCRf79wExhmeIgqahBHxSdiWxsnAlNPzWjSTOV4+hoo31w1LJsmik/9EGnGRjFELOc0XAIWTUNAQnjnyCEC7v7br/zhA3Wfcsj39Zl7u7j3vvOPb97/t1zliiMTVbOXADyk8K4BZnCRVyefTKCfOYy0E9FD9s+YSNMnsiFYPsFMB+FHjYphAWAvPBEJAnT22QV5tLS0kwAcIRLCmEBQH2xL5KgPBpQaNOmTW/GxsYmAMBEdMOb4QDkzpcsRHIrmfGHlpiYOHf79u3z8DjFcO5B0HAA9EJbtqr7ilT5jYiIsObm5ubFxcVNxUC00SDUUzKKqLw010oPPGVkN80j70MAfyWtJ6hQMoDUnz59uhl79Ri1H9MxVgI97tkkRCENKn4epZRksVjs+fn5yyIjI9mYI/2TBjwYC0Chd8ksIujh4fvZ8/l85HA4srdu3ZqFwST/hAEPhgGQVc/PJrPMpX8O388eA4iOjo5cuXLlUqvVmogJjg2GNENsQO6EKibHvwfdX0Ce0cfvnlaiMqooCk2cODFZCFF7/vz5FgzeNwKBMRJYMGMGXGcx+32txgCioqKiV69enQdbYI8UobV2POPGAPBaSslqmhSo+4GMsCqlpKQsWL9+vRNzhsSFxwYgK51ORN2CYLofCMDr9bIaxRYXFy/FHNuCLXDNeP9/bADksxSTTTjIN1r3tRgZHByktLS03A0bNqRjTbzWOr3jCPvja7L6uTjyDCaCcb7fpENt3go03FAU2RZiYmImr1mzZsnhw4drsdaH7kYfRPcM/Y8vfU1oLZNn+U7TG0tu90z4mAwyKTOJxNPoyTDYZKjNVLJBgBy0Qhx+97wfH9nCZFIF33/u3Lkj+/bt+6G2trarp6fH7fF4+rH4AToDGv4ewDODDLqLUE900BtD0pRIUk5DJHWSIp8Dg3wNTgXDuBrLCLIIgSAFUqDDzobvOkFJYm5ECwaAp81mM7FRwy76oFYMoKmjo6Ph9u3bjU1NTa0NDQ1dFy9e7Kyrq7uH5X3oDIrBcGdJcfcKWZFejLv7zocnOhTmVQYxPXQhw5MuZtV1AR9aAHgZYoK/s1QYFH/39/f7BgYGOt1udweeO7q7u1uam5ubXC7X7TNnzrRWV1d34HVWuUYhT86NIrv7fbLIbSSFaRTTvMtjtlAAtEgziJGAWFJQL4mxgStXrpxYvnz5ZwDVgPebVRvAfUtQeSZ8Oe3Gk1WvR9FiYOT4vwEw8n1+Zsmw8YP5L9euXfv5nTt3rmH4Ls+pXgiShDZf3S8rMh5Az/eQSUQbLQne7N80lgRutB7Yw+dLliz5AjRuorcN0xoVB0Ru/SGc/htQ+HvIZ4fX/G/fNpuNDX2goqJiH5g/Akauo/uZZ8ZGAeABgDgBj7QOCcldeB4e+l8aM9/X19d66tSpjwoLC78GE3zynYHMPAKAF4hFdafwVQR3+TuibOA7Yf8f2Rv19vY27969e8e6deu+w4ZssOxOH2lBAfAqsai+mnzidRqUrv8ShN1up66urub9+/d/sHfv3p/Byu/omldvTQAqiNy6SySUAtjFRbKHXxJ88nCPt3bt2rUD/SfwwGrzF/Oi1UIC4JfEoms34AZeJ49SFU7DZp1va2u7VlZWtvPAgQPM/G/oHH1DtjEB8NviFVcjmXyvkZdOws3quECE3PORSaSZHH1b9+zZ8/GhQ4eY+VvoHGnHbLoAMBXx8o0OgNgLdfIi2BnaOFDB47QfO3aMjZXTTa/eDXQDUAl6zXPVSG2wDDjRgf5PWbZsmQP7jCvhHx8AQbPC4ZH4roN8OXHWrFnTwgZAns2MhjHP0HOF1iv+4XVc/EKib3E6nU9hjMuPupVUvwQeUAridqqaWgzvbOA3q1FqaqoTBs0AdOfK+gHYAMAikoy8qY7EzwASEhLS4+PjuQxvHzkX6lk/AIWy4EJ1izbUpsHm+LoMQ07Kzs7mcovumpEuAGq+IGT2cMU5GANaYxyg+HrA2ddYDe7UhsLX81inuwCsCwCdyI6AWc3WU/vxM8n8Ioe+fPny8fb29noGgCq1JhA2ZOi/afr06c4hAGMjxkJ9AGI64X1kErqfv5APD2+wXvIpP+Xk5Hy4atWqLeXl5btwz7mBBEWyRII1Tl4mT56cCo8Uh3ldhqwPgMk8H0cXmuDQifOp4wb7I8CW0D3Xi2DkOqRwuaio6DjSwW1VVVUHOJ/l60OgRDgeoIrtwG8JU/GeLjXSCUDMRw0IuV2wc8MYZ28MwCd/gZ0UU78vTyx2fSmK/E6XE5HrYP4Cou1hAClFTejg/fv37zAIBsONAeD0HVlZWRyRJ6iDY3yMWZmT32bacJrPBGWeT1tlnK4ihz5K/coRseJ6r8aeXJxiIN2VlZWd6I0FBQU/bN68OT8jIyNvwoQJjqGIbEXpEcUzFQBT1zo2TOmIePL7Z9PIqlRCNVL8MYBTTSbtkTcB7iD839cip6Zdpaj/g4+da6NJK1aseAa/3uQjEufjV82Empqa7+fMmbMDc7+ih7yVMhshmyxPz0Hp/AxOmF0IPAuW+6gRHukrsiufihxXa0gCY0+ybbHKTNm4cWN6SUlJIQw5Dcb/TktLyyWMa0lUpTw2gNOZmyhSHFRPf0D5A1W8oxDqEbH4apNKwbgPDl6qRLZs2TIbZZSOC2gYCylZHQAyjpPF9Cp5lW9QrfhELK5zGcdzUEp8nWYvxFL5E53TSs0W0oiHDPgujHOhWFpfo0nF2AmuUHNGxvUflggfsqYh/w0Dks+ZwQ7q7wAAAABJRU5ErkJggg==)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAJmUlEQVR4AeVcfUxW1xk/5wUjdBQESxdcxdExpSioLUQGo1IRSjNmjN1H3Wg2t8nWlWUjzRhrl7GMZFqzYGpMOs2M/uHHMlejCzpaa9Rtjm6tc5sC2rEVFG2sHco3KLx3v9/1Xnx5+bof73vv1T7J855z7j0fz/nxnI/nnOcihIdIeTM9H+LEekgk4fOSMEIRL0KeZC/J5BmAlNfTHgMwJeB48Me8ApJnABIRvpoAUB4KiLsa9QRASsPCxRhenw9A4kHEPaFFngAIM2G1Ds7BgwdXaXFPaJHrACmvZ6QJqXxBB2jZsmVf1eLUoij9uVuh6wAJn//H6HykDkBUVFTS/v37OVmTXNciVwHC3JMqhPKV21jc+c3JyXlGS30c4Yw7b5yPuQqQiFBeQJdHtUfvfkxMzMO7d+9+AmnK56oWuQaQ8saCOej8Oh2U4DA/P1/XIuZzTYtcA0jIyB+i4zODgdHTsbGxj+zcuZOmB2VM0p87HboCkPLmIswtyvrpOgstelrL8wmErsjqSqNCjFSiw9NuBGfPnv3o1q1bc5CX85Qrc5HjACn1GfFCkRXosCEqLi5eo2V0RYscB0hEjfwAHZ5We3T0EhMTc6BF2UhTixyfixwFSPnzgvuhPd/XO280XLFihW6ncUVzVGZHGxMDkc9jco4zCoyeLykpqWDz5s08DqHpkag/dyJ0DCDlLw9FAxxOzpYIWlSsFeSBmmNyO9aQ6I97Dh2jAWqJkpOTn9q4cWMmCjuqRY4ApGqPopoVlsDRCxUWFtL8IHFFc4QcAUj0xn4NveEEa4tSU1Of1rSIq2CCrcoMFg47QMo7j83AjPEjg/JMm2358uXcOJLm3g7C+xt2gMT1gWdxnPrJUHUjLS2trKqqCsck6vVQ2LUobABRc9SzZnHnODVUIJWWlj6u1UUt4nALWz+kXaHVIfS/m58SEf5FWMYzoC0LUSdXmxTwuLOe6dq7kXVquizq+w0bNnxj06ZNrQGZ+xAnD4B7wf3gm2A/2DKZAkg9AfSJdCHBiliMs+QFaDkdPOmxhVnJjALEek+ePPnLI0eOnNm+ffulSdohOASMwBE0xgncINgQTQiQepjl86HjvkzgjxCaIVXNoDqHlcwApAuiKMqtvr6+Sz09PRevXr3a2tbW9l5jY2PbNMARMF3jCFwP+JZepx5K9T5ckYsBAofGIhUIRb3d1PM4GloBaDIB/X7/AIHr6upqv3z58rutra3tp06dat+3b9/7k5QZxnNqmA5cj1TeWLgKQ+W3eBiyYTJJ44YehxKgyRocHh7u7e/vv9TZ2fkfaFx7S0tL67Fjx9rr6+s/DCjD4dmiDjHl6KICaNBBsGlDMqDCkESdAGgiQTlMDx069LN169b9Ce+pSU3gbnV5lEXnTgj/SCEefAD+yBE0qnvv3r3VAeD8CyB0E4jR/YN88vxp4Y9YjjmojS8+KjQ0NPThjh07XqyoqHgbfebqdgbMOUilUYCYkk+ePQ9NysMSTvW652lwcPD9urq6qurqamoMQfkHeMwWYAxAREQWX7gibkbkA6S/MX2v0sDAwMX169c/r202OZzOgsct8+MAIiCy9Ox1EdNdgGgD0/cadXd3txQVFZVrq9Z19G9CcNjvCQHiC5nbMSDio1fhDPk3TN8rdO3atbfmzZv37aamJu53uCg1gyc1RyYFiIDIrNO3xI2mMkR/xfTdTjRN5s+fX6X1owPhBfCk4DDflAAxg/ySGJFFzc9hdfs503crEZzVq1f/XpO/HeF7RvoyLUB6JXJlM3wI5ff09N0UHj9+/OUAcN6F7BeNym8YIFYoi5q2YnV7FlHuNO8KamhoqF2zZs1hCMuhxO3LVTOCmwKIFcvi5t0YmPQj5L7Bs0TTAf6OL61du/YohFTtKoSdZgU2DRAbkIXNfxDSX4R5iUuk50gzHV4KMB24ATQNDjtmCSAWlCvPN4ph+QSiV5j2ClFzNNPhLcg0znQwK6dlgNiQLGn6pxj25yH6b7MNhyv/iRMn6qYyHcy2awsgNiafOt+G86Tvmm04XPkxKdOuInEDOM50UN+Y+LEN0O22cDTrEcrKytLvy+4LhUihAUhRckMhTCjqwL1ZmlZPSA7/QgOQFHRN8QTNmTNH1+aQXDDYBkh1yAzhzaldlOPj4x/R6qAG2e6f7QpwwOaZ4UVgfD5ftHY1zb7BJ8ke2QdI+HLsiRD60rm5uelarTF2a7cPkPTOBK2DkZKSwjs+0qzbgfVfWwDhNi0CTS+13nx4SsIzVgco1m4LtgASsQvhsGDcpdeusEbLR0dHJ2t56a5n6zsPewD5lM8YFdrpfJqHPpu9307b9gCS0rMAZWZmhmSitgeQCL0GwUODJ362KWDDaGsesgyQ6jUvxKdt9ySoArj7fmvLli3fgSfGa0GvTCXj4uLmawVcGmKDvmWmJDaW+Qyy9dXU1DRnZ2e/sm3btgr4+tQbKzo2V2RkZEx5eTkNV3q5WTY7LGsQ9qyhm3941S3lF3F78ig683cwz477eK6zdOnSTbt27ars6Ojg0akpKikp0e0yyxtG6wCFwoKnowQvAW40L5Yrm34X0PtOxAkU56PBysrK0xkZGbV79ux5Af48dE8xRAEbRsvDTPUPMtRaUCZ4pnWic/w/G1boCsrWioToHerl5NQ18I+YCH4YrDqFcgmHdjzDD+6mKtrb2/vfuXPnfh15eMFAwE2TJYBUZ84Ixcox6wcYSi+L+7peVa+2zYlLoJLA3ASqQPGb1oKCgi/PmjVLH0pjauT5dEJCAv2eSDyjNn3CaG2I+RSTBqrsAjA/FdEjqRhKdRbAYQd5dXMZ/Fcwb0aHeWuBYVRx+PDhmom2B1LKGdpnVMhubcNoDSAp8tiiAerD1dAvxJAvBcDUys9eoCepXSJQF8HvgHm/7i8rKzvO7QEvCenWgmejtGTJEt0uszRRWxtiR9M5nqcyUoeEkK9CazbKledM3WSO9sx4hLbWPDCHn0oHDhz4HI48vjlz5swH6M2hOSzwDu+clsVwYBog9dOmvthutKDOA0Et8Ur610IZqVUdsYJehjlJw5RAPai3w/8kk5eXVw7rvhTPKFuj/s5oaB4g/p8xRfwxqAE0LveKEVGLu7LWoHdOJ8cAhe86HoDZEa05lb8NYXiZaJgm0oJpCstsuAsH5nkNzp8/Uf0bA5+6FycAF8Ccn1LgRRYoCc+pwwzQnQ1ig/D7AQy8Y71J3PtwzokFc2vAPRs3jKbmRPMapMhbwqc8Dn8hwztaCOUmcb4kUAkam5Ll/3eOxdjOBHY1AAAAAElFTkSuQmCC)}}"
  },
  {
    "path": "lib/recycle-list/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"recycle-list\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"recycle-list\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 352);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 107:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 114:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 115:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 116:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 29:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 35:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n\n/***/ 352:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(353)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/recycle-list/recycle-list.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.recycleList);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _recycleList) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _recycleList2 = _interopRequireDefault(_recycleList);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _recycleList2.default.install = function (Vue) {\n    Vue.component(_recycleList2.default.name, _recycleList2.default);\n  };\n\n  exports.default = _recycleList2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 353:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(354)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(355),\n  /* template */\n  __webpack_require__(356),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 354:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 355:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(107), __webpack_require__(39), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../loading/loading.vue'), require('../../common/helpers/debug.js'), require('../../common/helpers/util.js'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading, global.debug, global.util);\n    global.recycleList = mod.exports;\n  }\n})(this, function (module, exports, _loading, _debug, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-recycle-list';\n  var PROMISE_ERROR = 'requires a Promise polyfill in this browser.';\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_RESIZE = 'resize';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        items: [],\n        heights: 0,\n        startIndex: 0,\n        loadings: [],\n        noMore: false\n      };\n    },\n\n    props: {\n      infinite: {\n        type: Boolean,\n        default: false\n      },\n      size: {\n        type: Number,\n        default: 20\n      },\n      offset: {\n        type: Number,\n        default: 100\n      },\n      onFetch: {\n        type: Function,\n        required: true\n      }\n    },\n    computed: {\n      visibleItems: function visibleItems() {\n        return this.items.slice(Math.max(0, this.startIndex - this.size), Math.min(this.items.length, this.startIndex + this.size));\n      },\n      tombHeight: function tombHeight() {\n        return this.infinite ? this.$refs.tomb && this.$refs.tomb.offsetHeight : 0;\n      },\n      loading: function loading() {\n        return this.loadings.length;\n      }\n    },\n    created: function created() {\n      this.list = [];\n      this.promiseStack = [];\n    },\n    mounted: function mounted() {\n      this.checkPromiseCompatibility();\n      this.$el.addEventListener(EVENT_SCROLL, this._onScroll);\n      window.addEventListener(EVENT_RESIZE, this._onResize);\n      this.load();\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.$el.removeEventListener(EVENT_SCROLL, this._onScroll);\n      window.removeEventListener(EVENT_RESIZE, this._onResize);\n    },\n\n    methods: {\n      checkPromiseCompatibility: function checkPromiseCompatibility() {\n        if ((0, _util.isUndef)(window.Promise)) {\n          (0, _debug.warn)(PROMISE_ERROR);\n        }\n      },\n      load: function load() {\n        if (this.infinite) {\n          var items = this.items;\n          var start = items.length;\n\n          items.length += this.size;\n          var end = items.length;\n          this.loadItems(start, end);\n          this.getItems();\n        } else if (!this.loading) {\n          this.getItems();\n        }\n      },\n      getItems: function getItems() {\n        var _this = this;\n\n        var index = this.promiseStack.length;\n        var promiseFetch = this.onFetch();\n        this.loadings.push('pending');\n        this.promiseStack.push(promiseFetch);\n        promiseFetch.then(function (res) {\n          _this.loadings.pop();\n\n          if (!res) {\n            _this.stopScroll(index);\n          } else {\n            _this.setList(index, res);\n            _this.loadItemsByIndex(index);\n            if (res.length < _this.size) {\n              _this.stopScroll(index);\n            }\n          }\n        });\n      },\n      removeUnusedTombs: function removeUnusedTombs(copy, index) {\n        var cursor = void 0;\n        var size = this.size;\n        var start = index * size;\n        var end = (index + 1) * size;\n        for (cursor = start; cursor < end; cursor++) {\n          if (copy[cursor] && copy[cursor].isTombstone) break;\n        }\n        this.items = copy.slice(0, cursor);\n      },\n      stopScroll: function stopScroll(index) {\n        this.noMore = true;\n        this.removeUnusedTombs(this.items.slice(0), index);\n        this.updateItemTop();\n        this.updateStartIndex();\n      },\n      setList: function setList(index, res) {\n        var list = this.list;\n        var baseIndex = index * this.size;\n        for (var i = 0; i < res.length; i++) {\n          list[baseIndex + i] = res[i];\n        }\n      },\n      loadItemsByIndex: function loadItemsByIndex(index) {\n        var size = this.size;\n        var start = index * size;\n        var end = (index + 1) * size;\n        this.loadItems(start, end);\n      },\n      loadItems: function loadItems(start, end) {\n        var _this2 = this;\n\n        var items = this.items;\n        var promiseTasks = [];\n        var item = void 0;\n\n        var _loop = function _loop(i) {\n          item = items[i];\n\n          if (item && item.loaded) {\n            return 'continue';\n          }\n          _this2.setItem(i, _this2.list[i]);\n\n          promiseTasks.push(_this2.$nextTick().then(function () {\n            _this2.updateItemHeight(i);\n          }));\n        };\n\n        for (var i = start; i < end; i++) {\n          var _ret = _loop(i);\n\n          if (_ret === 'continue') continue;\n        }\n\n        window.Promise.all(promiseTasks).then(function () {\n          _this2.updateItemTop();\n          _this2.updateStartIndex();\n        });\n      },\n      setItem: function setItem(index, data) {\n        this.$set(this.items, index, {\n          data: data || {},\n          height: 0,\n          top: -1000,\n          isTombstone: !data,\n          loaded: data ? 1 : 0\n        });\n      },\n      updateItemHeight: function updateItemHeight(index) {\n        var cur = this.items[index];\n        var dom = this.$refs['preloads' + index];\n        if (dom && dom[0]) {\n          cur.height = dom[0].offsetHeight;\n        } else if (cur) {\n          cur.height = this.tombHeight;\n        }\n      },\n      updateItemTop: function updateItemTop() {\n        var heights = 0;\n        var items = this.items;\n        var pre = void 0;\n        var current = void 0;\n\n        for (var i = 0; i < items.length; i++) {\n          pre = items[i - 1];\n          current = items[i];\n\n          if (!items[i]) {\n            heights += 0;\n          } else {\n            current.top = pre ? pre.top + pre.height : 0;\n            heights += current.height;\n          }\n        }\n        this.heights = heights;\n      },\n      updateStartIndex: function updateStartIndex() {\n        var top = this.$el.scrollTop;\n        var item = void 0;\n        var items = this.items;\n        for (var i = 0; i < items.length; i++) {\n          item = items[i];\n          if (!item || item.top > top) {\n            this.startIndex = Math.max(0, i - 1);\n            break;\n          }\n        }\n      },\n      reset: function reset() {\n        var _this3 = this;\n\n        var map = [{\n          key: 'items',\n          value: []\n        }, {\n          key: 'heights',\n          value: 0\n        }, {\n          key: 'startIndex',\n          value: 0\n        }, {\n          key: 'loadings',\n          value: []\n        }, {\n          key: 'noMore',\n          value: false\n        }, {\n          key: 'list',\n          value: []\n        }, {\n          key: 'promiseStack',\n          value: []\n        }];\n        map.forEach(function (_ref) {\n          var key = _ref.key,\n              value = _ref.value;\n\n          _this3[key] = value;\n        });\n        this.$el.scrollTop = 0;\n        this.load();\n      },\n      _onScroll: function _onScroll() {\n        if (!this.noMore && this.$el.scrollTop + this.$el.offsetHeight > this.heights - this.offset) {\n          this.load();\n        }\n        this.updateStartIndex();\n      },\n      _onResize: function _onResize() {\n        var items = this.items;\n        items.forEach(function (item) {\n          item.loaded = false;\n        });\n        this.loadItems(0, items.length);\n      }\n    },\n    components: {\n      CubeLoading: _loading2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 356:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-recycle-list\"\n  }, [_c('div', {\n    staticClass: \"cube-recycle-list-main\"\n  }, [_c('div', {\n    staticClass: \"cube-recycle-list-items\",\n    style: ({\n      height: _vm.heights + 'px'\n    })\n  }, [_vm._l((_vm.visibleItems), function(item) {\n    return _c('div', {\n      staticClass: \"cube-recycle-list-item\",\n      style: ({\n        transform: 'translate(0,' + item.top + 'px)'\n      })\n    }, [(_vm.infinite) ? _c('div', {\n      class: {\n        'cube-recycle-list-transition': _vm.infinite\n      },\n      style: ({\n        opacity: +!item.loaded\n      })\n    }, [_vm._t(\"tombstone\")], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n      class: {\n        'cube-recycle-list-transition': _vm.infinite\n      },\n      style: ({\n        opacity: item.loaded\n      })\n    }, [_vm._t(\"item\", null, {\n      data: item.data\n    })], 2)])\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-recycle-list-pool\"\n  }, [_vm._l((_vm.items), function(item, index) {\n    return (item && !item.isTombstone && !item.height) ? _c('div', {\n      ref: 'preloads' + index,\n      refInFor: true,\n      staticClass: \"cube-recycle-list-item cube-recycle-list-invisible\"\n    }, [_vm._t(\"item\", null, {\n      data: item.data\n    })], 2) : _vm._e()\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"tomb\",\n    staticClass: \"cube-recycle-list-item cube-recycle-list-invisible\"\n  }, [_vm._t(\"tombstone\")], 2)], 2)], 2), _vm._v(\" \"), (!_vm.infinite && !_vm.noMore) ? _c('div', {\n    staticClass: \"cube-recycle-list-loading\",\n    style: ({\n      visibility: _vm.loading ? 'visible' : 'hidden'\n    })\n  }, [_vm._t(\"spinner\", [_c('div', {\n    staticClass: \"cube-recycle-list-loading-content\"\n  }, [_c('cube-loading', {\n    staticClass: \"cube-recycle-list-spinner\"\n  })], 1)])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.noMore),\n      expression: \"noMore\"\n    }],\n    staticClass: \"cube-recycle-list-noMore\"\n  }, [_vm._t(\"noMore\")], 2)]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-recycle-list-fake\"\n  })])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ 39:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 42:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n\n/***/ 44:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 45:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ 46:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ 47:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n\n/***/ 48:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 52:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ 53:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n\n/***/ 54:\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 65:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ 66:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 70:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n\n/***/ 71:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n\n/***/ 72:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n\n/***/ 73:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n\n/***/ 74:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ 75:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n\n/***/ 76:\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n\n/***/ 77:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ 78:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n\n/***/ 79:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 80:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n\n/***/ 81:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n\n/***/ 83:\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/recycle-list/style.css",
    "content": ".cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-recycle-list{position:relative;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.cube-recycle-list-main{min-height:100%}.cube-recycle-list-fake{height:1px}.cube-recycle-list-invisible{top:-1000px;visibility:hidden}.cube-recycle-list-item{width:100%;position:absolute;box-sizing:border-box}.cube-recycle-list-transition{position:absolute;opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:.5s;transition-duration:.5s}.cube-recycle-list-loading{overflow:hidden}.cube-recycle-list-loading-content{text-align:center}.cube-recycle-list-spinner{margin:10px auto;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}"
  },
  {
    "path": "lib/scroll/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"scroll\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"scroll\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 357);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */,\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */,\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */,\n/* 85 */,\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */,\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */,\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */,\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(34);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(143), __esModule: true };\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(12);\nvar aFunction = __webpack_require__(34);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(147);\nvar html = __webpack_require__(52);\nvar cel = __webpack_require__(28);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(21)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(141)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(142),\n  /* template */\n  __webpack_require__(161),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(109), __webpack_require__(154), __webpack_require__(157), __webpack_require__(88), __webpack_require__(90), __webpack_require__(107), __webpack_require__(158), __webpack_require__(108), __webpack_require__(120), __webpack_require__(87), __webpack_require__(47), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(54);\n__webpack_require__(38);\n__webpack_require__(45);\n__webpack_require__(144);\n__webpack_require__(152);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(82);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(34);\nvar anInstance = __webpack_require__(145);\nvar forOf = __webpack_require__(146);\nvar speciesConstructor = __webpack_require__(110);\nvar task = __webpack_require__(111).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(112);\nvar userAgent = __webpack_require__(149);\nvar promiseResolve = __webpack_require__(113);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(150)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(151)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(97)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar anObject = __webpack_require__(12);\nvar toLength = __webpack_require__(41);\nvar getIterFn = __webpack_require__(86);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(111).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(21)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(6);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(4);\nvar DESCRIPTORS = __webpack_require__(3);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(110);\nvar promiseResolve = __webpack_require__(113);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(112);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(155);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(156);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(109);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(159),\n  /* template */\n  __webpack_require__(160),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(136)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/scroll/scroll.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _scroll) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _scroll2.default.install = function (Vue) {\n    Vue.component(_scroll2.default.name, _scroll2.default);\n  };\n\n  exports.default = _scroll2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/scroll/style.css",
    "content": ".cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}"
  },
  {
    "path": "lib/scroll-nav/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"scroll-nav\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"scroll-nav\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 358);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */,\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */,\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */,\n/* 85 */,\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */,\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */,\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */,\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(34);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(143), __esModule: true };\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(12);\nvar aFunction = __webpack_require__(34);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(147);\nvar html = __webpack_require__(52);\nvar cel = __webpack_require__(28);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(21)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(141)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(142),\n  /* template */\n  __webpack_require__(161),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(109), __webpack_require__(154), __webpack_require__(157), __webpack_require__(88), __webpack_require__(90), __webpack_require__(107), __webpack_require__(158), __webpack_require__(108), __webpack_require__(120), __webpack_require__(87), __webpack_require__(47), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(54);\n__webpack_require__(38);\n__webpack_require__(45);\n__webpack_require__(144);\n__webpack_require__(152);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(82);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(34);\nvar anInstance = __webpack_require__(145);\nvar forOf = __webpack_require__(146);\nvar speciesConstructor = __webpack_require__(110);\nvar task = __webpack_require__(111).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(112);\nvar userAgent = __webpack_require__(149);\nvar promiseResolve = __webpack_require__(113);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(150)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(151)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(97)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar anObject = __webpack_require__(12);\nvar toLength = __webpack_require__(41);\nvar getIterFn = __webpack_require__(86);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(111).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(21)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(6);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(4);\nvar DESCRIPTORS = __webpack_require__(3);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(110);\nvar promiseResolve = __webpack_require__(113);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(112);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(155);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(156);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(109);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(159),\n  /* template */\n  __webpack_require__(160),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(259)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(260),\n  /* template */\n  __webpack_require__(261),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(262)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(263),\n  /* template */\n  __webpack_require__(264),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(256)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(257),\n  /* template */\n  __webpack_require__(258),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.sticky = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-sticky';\n  var EVENT_CHANGE = 'change';\n  var EVENT_DIFF_CHANGE = 'diff-change';\n\n  var transformStyleKey = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        sticky: this\n      };\n    },\n\n    props: {\n      pos: {\n        type: Number,\n        required: true\n      },\n      checkTop: {\n        type: Boolean,\n        default: true\n      },\n      fixedShowAni: {\n        type: String,\n        default: function _default() {\n          return this.checkTop ? '' : 'cube-sticky-fixed-fade';\n        }\n      },\n      offset: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        diff: 0,\n        currentDiff: 0,\n        currentIndex: -1,\n        currentKey: ''\n      };\n    },\n\n    computed: {\n      fixedShow: function fixedShow() {\n        var targetEle = this.eles[this.currentIndex];\n        return !!targetEle;\n      }\n    },\n    watch: {\n      diff: function diff(newVal) {\n        if (newVal >= 0) {\n          newVal = 0;\n        }\n        newVal = Math.ceil(newVal);\n        if (this._fixedTop === newVal) {\n          return;\n        }\n        this._fixedTop = newVal;\n        this.$refs.fixedEle.style[transformStyleKey] = 'translate3d(0, ' + newVal + 'px, 0)';\n      },\n\n      pos: 'computeCurrentSticky',\n      currentIndex: function currentIndex(newIndex, oldIndex) {\n        var _this = this;\n\n        var oldEle = this.eles[oldIndex];\n        var newEle = this.eles[newIndex];\n\n        var currentKey = newEle && newEle.eleKey !== undefined ? newEle.eleKey : newIndex === -1 ? '' : newIndex;\n        var fixedEle = this.$refs.fixedEle;\n        var fixedSlot = this.$slots.fixed || this.$scopedSlots.fixed;\n\n        this.$nextTick(function () {\n          if (fixedSlot) {\n            _this.fixedEleHeight = fixedEle.offsetHeight;\n          } else {\n            var oldChild = fixedEle.firstElementChild;\n            if (oldEle) {\n              oldEle.$el.appendChild(oldChild);\n              oldEle.refresh();\n            }\n            if (newEle) {\n              fixedEle.appendChild(newEle.$el.firstElementChild);\n              _this.fixedEleHeight = fixedEle.offsetHeight;\n            } else {\n              _this.fixedEleHeight = 0;\n            }\n          }\n          var onClass = 'cube-sticky-ele-on';\n          if (oldEle) {\n            (0, _dom.removeClass)(oldEle.$el, onClass);\n          }\n          if (newEle) {\n            (0, _dom.addClass)(newEle.$el, onClass);\n          }\n        });\n\n        this.currentKey = currentKey;\n        this.$emit(EVENT_CHANGE, currentKey, newIndex);\n      },\n      currentDiff: function currentDiff(newVal) {\n        var height = this.heights[this.currentIndex] || 0;\n        this.$emit(EVENT_DIFF_CHANGE, newVal, height);\n      }\n    },\n    created: function created() {\n      this.fixedEleHeight = 0;\n      this.eles = [];\n      this.positions = [];\n      this.heights = [];\n    },\n    mounted: function mounted() {\n      this.refresh();\n    },\n\n    methods: {\n      addEle: function addEle(ele) {\n        this.eles.push(ele);\n      },\n      removeEle: function removeEle(ele) {\n        var i = this.eles.indexOf(ele);\n        this.eles.splice(i, 1);\n        this.positions.splice(i, 1);\n      },\n      refresh: function refresh() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          _this2.eles.forEach(function (ele) {\n            ele.refresh();\n          });\n          _this2._calculateHeight();\n          _this2.computeCurrentSticky(_this2.pos);\n        });\n      },\n      computeCurrentSticky: function computeCurrentSticky(scrollY) {\n        scrollY += this.offset;\n\n        var positions = this.positions;\n        var heights = this.heights;\n        var checkTop = this.checkTop;\n\n        var len = positions.length;\n        for (var i = len - 1; i >= 0; i--) {\n          var isLast = i === len - 1;\n          var nextTop = isLast ? scrollY : positions[i + 1];\n          var top = void 0;\n          var bottom = void 0;\n          if (checkTop) {\n            top = positions[i];\n            bottom = top + heights[i];\n          } else {\n            top = positions[i] + heights[i];\n            bottom = top;\n          }\n          var max = Math.max(bottom, nextTop);\n\n          if (scrollY >= top && scrollY <= max) {\n            this.currentIndex = i;\n            this.currentDiff = scrollY - top;\n            var diff = nextTop - scrollY;\n            if (diff >= 0 && !isLast) {\n              this.diff = diff - (this.fixedEleHeight || heights[i]);\n            } else {\n              this.diff = 0;\n            }\n            return;\n          }\n        }\n        this.currentIndex = -1;\n        this.currentDiff = 0;\n      },\n      _calculateHeight: function _calculateHeight() {\n        var _this3 = this;\n\n        var eles = this.eles;\n        eles.forEach(function (ele, i) {\n          var _getRect = (0, _dom.getRect)(ele.$el),\n              top = _getRect.top,\n              height = _getRect.height;\n\n          _this3.positions[i] = top;\n          _this3.heights[i] = height;\n        });\n        this.fixedEleHeight = this.$refs.fixedEle.offsetHeight;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-sticky\"\n  }, [_vm._t(\"default\"), _vm._v(\" \"), _c('transition', {\n    attrs: {\n      \"name\": _vm.fixedShowAni\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fixedShow),\n      expression: \"fixedShow\"\n    }],\n    ref: \"fixedEle\",\n    staticClass: \"cube-sticky-fixed\"\n  }, [_vm._t(\"fixed\", null, {\n    current: _vm.currentKey,\n    index: _vm.currentIndex\n  })], 2)])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.stickyEle = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-sticky-ele';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['sticky'],\n    props: {\n      eleKey: {\n        type: [Number, String]\n      }\n    },\n    mounted: function mounted() {\n      this.sticky.addEle(this);\n    },\n\n    methods: {\n      refresh: function refresh() {\n        var el = this.$el;\n        if (el.firstElementChild) {\n          el.style.height = '';\n          el.style.height = el.offsetHeight + 'px';\n        }\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.sticky.removeEle(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-sticky-ele\"\n  }, [_c('div', {\n    staticClass: \"cube-sticky-content\"\n  }, [_vm._t(\"default\")], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(108), __webpack_require__(136)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/scroll'), require('../scroll/scroll.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll, global.scroll);\n    global.scrollNavBar = mod.exports;\n  }\n})(this, function (module, exports, _scroll, _scroll3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var COMPONENT_NAME = 'cube-scroll-nav-bar';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      scrollNav: {\n        default: null\n      }\n    },\n    mixins: [_scroll2.default],\n    props: {\n      direction: {\n        type: String,\n        default: DIRECTION_H,\n        validator: function validator(val) {\n          return val === DIRECTION_H || val === DIRECTION_V;\n        }\n      },\n      labels: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      txts: {\n        type: Array,\n        default: function _default() {\n          this._defaultTxts = true;\n\n          return this.labels;\n        }\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        active: this.current,\n        usedTxts: this.txts\n      };\n    },\n\n    watch: {\n      labels: function labels(newLabels) {\n        if (this._defaultTxts) {\n          this.usedTxts = newLabels;\n        }\n      },\n      txts: function txts(newTxts) {\n        this.usedTxts = newTxts;\n      },\n      current: function current(newVal) {\n        this.active = newVal;\n      },\n      active: function active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal);\n        this._adjust();\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.scrollNav && this.scrollNav.setBar(this);\n      if (this.active) {\n        this.$nextTick(function () {\n          _this._adjust();\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.scrollNav && this.scrollNav.setBar(null);\n    },\n\n    methods: {\n      clickHandler: function clickHandler(label) {\n        if (label === this.active) {\n          return;\n        }\n        this.active = label;\n        this.scrollNav && this.scrollNav.barChange(label);\n      },\n      refresh: function refresh() {\n        this.$refs.scroll.refresh();\n        this._adjust();\n      },\n      _adjust: function _adjust() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          var isHorizontal = _this2.direction === DIRECTION_H;\n          var targetProp = isHorizontal ? 'clientWidth' : 'clientHeight';\n          var active = _this2.active;\n          var viewportSize = _this2.$refs.scroll.$el[targetProp];\n          var itemsEle = _this2.$refs.items;\n          var scrollerSize = itemsEle[targetProp];\n          var minTranslate = Math.min(0, viewportSize - scrollerSize);\n          var middleTranslate = viewportSize / 2;\n          var items = itemsEle.children;\n          var size = 0;\n          _this2.labels.every(function (label, index) {\n            if (label === active) {\n              size += items[index][targetProp] / 2;\n              return false;\n            }\n            size += items[index][targetProp];\n            return true;\n          });\n          var translate = middleTranslate - size;\n          translate = Math.max(minTranslate, Math.min(0, translate));\n          _this2.$refs.scroll.scrollTo(isHorizontal ? translate : 0, isHorizontal ? 0 : translate, 300);\n        });\n      }\n    },\n    components: {\n      CubeScroll: _scroll4.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav-bar\",\n    class: 'cube-scroll-nav-bar_' + _vm.direction\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"nestMode\": \"none\",\n      \"options\": _vm.options,\n      \"direction\": _vm.direction\n    }\n  }, [_c('div', {\n    ref: \"items\",\n    staticClass: \"cube-scroll-nav-bar-items\"\n  }, _vm._l((_vm.usedTxts), function(txt, index) {\n    return _c('div', {\n      key: index,\n      staticClass: \"cube-scroll-nav-bar-item\",\n      class: {\n        'cube-scroll-nav-bar-item_active': _vm.active === _vm.labels[index]\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.clickHandler(_vm.labels[index])\n        }\n      }\n    }, [_vm._t(\"default\", [_c('span', {\n      domProps: {\n        \"innerHTML\": _vm._s(txt)\n      }\n    })], {\n      txt: txt,\n      index: index,\n      active: _vm.active,\n      label: _vm.labels[index]\n    })], 2)\n  }))])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(359), __webpack_require__(363), __webpack_require__(200)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/scroll-nav/scroll-nav.vue'), require('../../components/scroll-nav/scroll-nav-panel.vue'), require('../../components/scroll-nav-bar/scroll-nav-bar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scrollNav, global.scrollNavPanel, global.scrollNavBar);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _scrollNav, _scrollNavPanel, _scrollNavBar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scrollNav2 = _interopRequireDefault(_scrollNav);\n\n  var _scrollNavPanel2 = _interopRequireDefault(_scrollNavPanel);\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _scrollNav2.default.install = function (Vue) {\n    Vue.component(_scrollNav2.default.name, _scrollNav2.default);\n    Vue.component(_scrollNavPanel2.default.name, _scrollNavPanel2.default);\n    Vue.component(_scrollNavBar2.default.name, _scrollNavBar2.default);\n  };\n\n  _scrollNav2.default.Panel = _scrollNavPanel2.default;\n  _scrollNav2.default.Bar = _scrollNavBar2.default;\n\n  exports.default = _scrollNav2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(360)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(361),\n  /* template */\n  __webpack_require__(362),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(108), __webpack_require__(255), __webpack_require__(199), __webpack_require__(136), __webpack_require__(200)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/scroll'), require('../sticky/sticky.vue'), require('../sticky/sticky-ele.vue'), require('../scroll/scroll.vue'), require('../scroll-nav-bar/scroll-nav-bar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll, global.sticky, global.stickyEle, global.scroll, global.scrollNavBar);\n    global.scrollNav = mod.exports;\n  }\n})(this, function (module, exports, _scroll, _sticky, _stickyEle, _scroll3, _scrollNavBar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _sticky2 = _interopRequireDefault(_sticky);\n\n  var _stickyEle2 = _interopRequireDefault(_stickyEle);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var COMPONENT_NAME = 'cube-scroll-nav';\n  var EVENT_CHANGE = 'change';\n  var EVENT_STICKY_CHANGE = 'sticky-change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        scrollNav: this\n      };\n    },\n\n    mixins: [_scroll2.default],\n    props: {\n      data: {\n        type: Array\n      },\n      speed: {\n        type: Number,\n        default: 300\n      },\n      side: {\n        type: Boolean,\n        default: false\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        scrollEvents: ['scroll', 'scroll-end'],\n        scrollY: 0,\n        panels: [],\n        active: this.current,\n        pageStickyOffset: 0\n      };\n    },\n\n    computed: {\n      labels: function labels() {\n        return this.panels.map(function (panel) {\n          return panel.label;\n        });\n      },\n      barTxts: function barTxts() {\n        return this.panels.map(function (panel) {\n          return panel.title;\n        });\n      },\n      barDirection: function barDirection() {\n        return this.side ? DIRECTION_V : DIRECTION_H;\n      }\n    },\n    watch: {\n      current: function current(newVal) {\n        this.stickyCurrent = newVal;\n        this.active = newVal;\n        this.jumpTo(newVal);\n      },\n      active: function active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal);\n      }\n    },\n    created: function created() {\n      this.navBar = null;\n      this.stickyCurrent = this.current;\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$nextTick(function () {\n        if (_this.side) {\n          var fixedEle = _this.$refs.pageSticky.$refs.fixedEle;\n          _this.$refs.scroll.$el.appendChild(fixedEle);\n        }\n        if (!_this.current) {\n          _this.active = _this.stickyCurrent = _this.labels[0];\n        }\n        _this.refresh();\n        _this.jumpTo(_this.current);\n      });\n    },\n\n    methods: {\n      scrollTo: function scrollTo() {\n        this.$refs.scroll && this.$refs.scroll.scrollTo.apply(this.$refs.scroll, arguments);\n      },\n      refresh: function refresh() {\n        this.navBar && this.navBar.refresh();\n        this.$refs.sticky.refresh();\n        this.$refs.pageSticky.refresh();\n        this.pageStickyOffset = this.side ? 0 : this.$refs.navBarEle.$el.offsetHeight;\n        this.$refs.scroll.refresh();\n      },\n      setBar: function setBar(bar) {\n        this.navBar = bar;\n      },\n      barChange: function barChange(label) {\n        var _this2 = this;\n\n        this.active = label;\n\n        setTimeout(function () {\n          _this2.jumpTo(label);\n        });\n      },\n      jumpTo: function jumpTo(label) {\n        if (!label) {\n          return;\n        }\n        var panel = this.getPanel(label);\n        if (panel) {\n          this._jumping = true;\n          var offset = this.pageStickyOffset;\n          this.$refs.scroll.scrollToElement(panel.$el, this.speed, 0, this.side ? offset : -offset);\n        }\n      },\n      getPanel: function getPanel(label) {\n        var panel = null;\n        this.panels.some(function (_panel) {\n          if (_panel.label === label) {\n            panel = _panel;\n            return true;\n          }\n        });\n        return panel;\n      },\n      pageStickyChangeHandler: function pageStickyChangeHandler(current) {\n        if (current === '') {\n          current = this.labels[0];\n        }\n        this.stickyCurrent = current;\n        if (this._jumping) {\n          return;\n        }\n        this.active = current;\n      },\n      stickyChangeHandler: function stickyChangeHandler(current) {\n        var _this3 = this;\n\n        this.$nextTick(function () {\n          _this3.navBar && _this3.navBar.refresh();\n        });\n        this.$emit(EVENT_STICKY_CHANGE, current);\n      },\n      scrollHandler: function scrollHandler(pos) {\n        this.scrollY = -pos.y;\n        if (!this._jumping) {\n          this.active = this.stickyCurrent;\n        }\n      },\n      scrollEndHandler: function scrollEndHandler() {\n        this._jumping = false;\n      },\n      addPanel: function addPanel(panel) {\n        this.panels.push(panel);\n      },\n      removePanel: function removePanel(panel) {\n        var i = this.panels.indexOf(panel);\n        this.panels.splice(i, 1);\n      }\n    },\n    components: {\n      CubeSticky: _sticky2.default,\n      CubeStickyEle: _stickyEle2.default,\n      CubeScroll: _scroll4.default,\n      CubeScrollNavBar: _scrollNavBar2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 362 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav\",\n    class: {\n      'cube-scroll-nav_side': _vm.side\n    }\n  }, [_c('cube-sticky', {\n    ref: \"sticky\",\n    attrs: {\n      \"pos\": _vm.scrollY\n    },\n    on: {\n      \"change\": _vm.stickyChangeHandler\n    }\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"scroll-events\": _vm.scrollEvents,\n      \"options\": _vm.options,\n      \"data\": _vm.data\n    },\n    on: {\n      \"scroll\": _vm.scrollHandler,\n      \"scroll-end\": _vm.scrollEndHandler\n    }\n  }, [_vm._t(\"prepend\"), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-scroll-nav-main\"\n  }, [_c('cube-sticky-ele', {\n    ref: \"navBarEle\",\n    attrs: {\n      \"ele-key\": \"cube-scroll-nav-bar\"\n    }\n  }, [_vm._t(\"bar\", [_c('cube-scroll-nav-bar', {\n    attrs: {\n      \"direction\": _vm.barDirection,\n      \"txts\": _vm.barTxts,\n      \"labels\": _vm.labels,\n      \"current\": _vm.active\n    }\n  })], {\n    txts: _vm.barTxts,\n    labels: _vm.labels,\n    current: _vm.active\n  })], 2), _vm._v(\" \"), _c('cube-sticky', {\n    ref: \"pageSticky\",\n    attrs: {\n      \"offset\": _vm.pageStickyOffset,\n      \"pos\": _vm.scrollY\n    },\n    on: {\n      \"change\": _vm.pageStickyChangeHandler\n    }\n  }, [_c('div', {\n    staticClass: \"cube-scroll-nav-panels\"\n  }, [_vm._t(\"default\")], 2), _vm._v(\" \"), (!_vm.side) ? _c('template', {\n    slot: \"fixed\"\n  }, [_c('div')]) : _vm._e()], 2)], 1)], 2)], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 363 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(364),\n  /* template */\n  __webpack_require__(365),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(199)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../sticky/sticky-ele.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.stickyEle);\n    global.scrollNavPanel = mod.exports;\n  }\n})(this, function (module, exports, _stickyEle) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _stickyEle2 = _interopRequireDefault(_stickyEle);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll-nav-panel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['scrollNav'],\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      title: {\n        type: [String, Number],\n        default: function _default() {\n          return this.label;\n        }\n      }\n    },\n    mounted: function mounted() {\n      this.scrollNav.addPanel(this);\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.scrollNav.removePanel(this);\n    },\n\n    components: {\n      CubeStickyEle: _stickyEle2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav-panel\"\n  }, [_c('cube-sticky-ele', {\n    attrs: {\n      \"ele-key\": _vm.label\n    }\n  }, [_c('h2', {\n    staticClass: \"cube-scroll-nav-panel-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  })]), _vm._v(\" \"), _vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/scroll-nav/style.css",
    "content": ".cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-scroll-nav{position:relative;height:100%;overflow:hidden}.cube-scroll-nav .cube-sticky-content{height:100%}.cube-scroll-nav-main{overflow:hidden}.cube-scroll-nav-main>.cube-sticky{position:static}.cube-scroll-nav_side>.cube-sticky{display:-webkit-box;display:-webkit-flex;display:flex}.cube-scroll-nav_side>.cube-sticky>.cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-scroll-nav_side>.cube-sticky>.cube-sticky-fixed{position:relative;height:100%;-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.cube-scroll-nav_side .cube-scroll-nav-main>.cube-sticky-ele{float:left}.cube-scroll-nav_side .cube-scroll-nav-main>.cube-sticky{overflow:hidden}.cube-sticky{position:relative;height:100%;overflow:hidden}.cube-sticky-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-sticky-fixed-fade-enter,.cube-sticky-fixed-fade-leave-active{opacity:0}.cube-sticky-fixed-fade-enter-active,.cube-sticky-fixed-fade-leave-active{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.cube-sticky-ele{position:relative}.cube-scroll-nav-bar{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;color:#666;background-color:#fff}.cube-scroll-nav-bar_horizontal{-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-scroll-nav-bar_horizontal .cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}.cube-scroll-nav-bar_horizontal .cube-scroll-content{display:inline-block;vertical-align:top}.cube-scroll-nav-bar_horizontal .cube-scroll-nav-bar-items{white-space:nowrap}.cube-scroll-nav-bar_vertical{height:100%;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-scroll-nav-bar_vertical .cube-scroll-nav-bar-item{display:block}.cube-scroll-nav-bar-items{font-size:14px}.cube-scroll-nav-bar-item{display:inline-block;vertical-align:top;padding:20px 15px}.cube-scroll-nav-bar-item_active{color:#fc9153}"
  },
  {
    "path": "lib/scroll-nav-bar/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"scroll-nav-bar\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"scroll-nav-bar\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 366);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */,\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */,\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */,\n/* 85 */,\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */,\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */,\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */,\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(34);\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(143), __esModule: true };\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(12);\nvar aFunction = __webpack_require__(34);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar invoke = __webpack_require__(147);\nvar html = __webpack_require__(52);\nvar cel = __webpack_require__(28);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(21)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(100);\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 121 */,\n/* 122 */,\n/* 123 */,\n/* 124 */,\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(141)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(142),\n  /* template */\n  __webpack_require__(161),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 137 */,\n/* 138 */,\n/* 139 */,\n/* 140 */,\n/* 141 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(109), __webpack_require__(154), __webpack_require__(157), __webpack_require__(88), __webpack_require__(90), __webpack_require__(107), __webpack_require__(158), __webpack_require__(108), __webpack_require__(120), __webpack_require__(87), __webpack_require__(47), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/promise'), require('babel-runtime/regenerator'), require('babel-runtime/helpers/asyncToGenerator'), require('babel-runtime/core-js/object/assign'), require('better-scroll'), require('../loading/loading.vue'), require('../bubble/bubble.vue'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'), require('../../common/helpers/dom'), require('../../common/lang/string'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.promise, global.regenerator, global.asyncToGenerator, global.assign, global.betterScroll, global.loading, global.bubble, global.scroll, global.deprecated, global.dom, global.string, global.constants);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports, _promise, _regenerator, _asyncToGenerator2, _assign, _betterScroll, _loading, _bubble, _scroll, _deprecated, _dom, _string, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _promise2 = _interopRequireDefault(_promise);\n\n  var _regenerator2 = _interopRequireDefault(_regenerator);\n\n  var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _bubble2 = _interopRequireDefault(_bubble);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-scroll';\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n  var DEFAULT_REFRESH_TXT = 'Refresh success';\n  var DEFAULT_STOP_TIME = 600;\n\n  var EVENT_CLICK = 'click';\n  var EVENT_PULLING_DOWN = 'pulling-down';\n  var EVENT_PULLING_UP = 'pulling-up';\n\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_BEFORE_SCROLL_START = 'before-scroll-start';\n  var EVENT_SCROLL_END = 'scroll-end';\n\n  var NEST_MODE_NONE = 'none';\n  var NEST_MODE_NATIVE = 'native';\n\n  var SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END];\n\n  var DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    provide: function provide() {\n      return {\n        parentScroll: this\n      };\n    },\n\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default: function _default() {\n          return [];\n        },\n        validator: function validator(arr) {\n          return arr.every(function (item) {\n            return SCROLL_EVENTS.indexOf(item) !== -1;\n          });\n        }\n      },\n\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data: function data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      };\n    },\n\n    computed: {\n      pullDownRefresh: function pullDownRefresh() {\n        var pullDownRefresh = this.options.pullDownRefresh;\n        if (!pullDownRefresh) {\n          return pullDownRefresh;\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {};\n        }\n        return (0, _assign2.default)({ stop: this.pullDownStop }, pullDownRefresh);\n      },\n      pullUpLoad: function pullUpLoad() {\n        return this.options.pullUpLoad;\n      },\n      pullUpTxt: function pullUpTxt() {\n        var pullUpLoad = this.pullUpLoad;\n        var txt = pullUpLoad && pullUpLoad.txt;\n        var moreTxt = txt && txt.more || '';\n        var noMoreTxt = txt && txt.noMore || '';\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt;\n      },\n      refreshTxt: function refreshTxt() {\n        var pullDownRefresh = this.pullDownRefresh;\n        return pullDownRefresh && pullDownRefresh.txt || DEFAULT_REFRESH_TXT;\n      },\n      finalScrollEvents: function finalScrollEvents() {\n        var finalScrollEvents = this.scrollEvents.slice();\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL);\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START);\n        }\n        return finalScrollEvents;\n      },\n      needListenScroll: function needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll;\n      }\n    },\n    watch: {\n      data: function data() {\n        var _this = this;\n\n        setTimeout(function () {\n          _this.forceUpdate(true);\n        }, this.refreshDelay);\n      },\n\n      pullDownRefresh: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal);\n            if (!oldVal) {\n              this._onPullDownRefresh();\n              this._pullDownRefreshChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown();\n            this._offPullDownRefresh();\n            this._pullDownRefreshChangeHandler();\n          }\n        },\n\n        deep: true\n      },\n      pullUpLoad: {\n        handler: function handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal);\n            if (!oldVal) {\n              this._onPullUpLoad();\n              this._pullUpLoadChangeHandler();\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp();\n            this._offPullUpLoad();\n            this._pullUpLoadChangeHandler();\n          }\n        },\n\n        deep: true\n      }\n    },\n    activated: function activated() {\n      this.enable();\n    },\n    deactivated: function deactivated() {\n      this.disable();\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.$nextTick(function () {\n        _this2.initScroll();\n      });\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.destroy();\n    },\n\n    methods: {\n      initScroll: function initScroll() {\n        if (!this.$refs.wrapper) {\n          return;\n        }\n        this._calculateMinHeight();\n        var dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: _constants.USE_TRANSITION\n        };\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, dynamicOptions, this.options);\n\n        this.scroll = new _betterScroll2.default(this.$refs.wrapper, options);\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll();\n\n        this._listenScrollEvents();\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh();\n          this._pullDownRefreshChangeHandler();\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad();\n          this._pullUpLoadChangeHandler();\n        }\n      },\n      disable: function disable() {\n        this.scroll && this.scroll.disable();\n      },\n      enable: function enable() {\n        this.scroll && this.scroll.enable();\n      },\n      refresh: function refresh() {\n        this._calculateMinHeight();\n        this.scroll && this.scroll.refresh();\n      },\n      destroy: function destroy() {\n        this.scroll && this.scroll.destroy();\n        this.scroll = null;\n      },\n      scrollTo: function scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments);\n      },\n      scrollToElement: function scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments);\n      },\n      clickItem: function clickItem(item) {\n        this.$emit(EVENT_CLICK, item);\n      },\n      forceUpdate: function forceUpdate() {\n        var _this3 = this;\n\n        var dirty = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n        var nomore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n        return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n          return _regenerator2.default.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!_this3.isPullDownUpdating) {\n                    _context.next = 2;\n                    break;\n                  }\n\n                  return _context.abrupt('return');\n\n                case 2:\n                  if (!(_this3.pullDownRefresh && _this3.isPullingDown)) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  _this3.isPullingDown = false;\n                  _this3.isPullDownUpdating = true;\n                  _context.next = 7;\n                  return _this3._waitFinishPullDown();\n\n                case 7:\n                  _this3.isPullDownUpdating = false;\n                  _context.next = 10;\n                  return _this3._waitResetPullDown(dirty);\n\n                case 10:\n                  _context.next = 13;\n                  break;\n\n                case 12:\n                  if (_this3.pullUpLoad && _this3.isPullUpLoad) {\n                    _this3.isPullUpLoad = false;\n                    _this3.scroll.finishPullUp();\n                    _this3.pullUpNoMore = !dirty || nomore;\n                  }\n\n                case 13:\n                  dirty && _this3.refresh();\n\n                case 14:\n                case 'end':\n                  return _context.stop();\n              }\n            }\n          }, _callee, _this3);\n        }))();\n      },\n      resetPullUpTxt: function resetPullUpTxt() {\n        this.pullUpNoMore = false;\n      },\n      _listenScrollEvents: function _listenScrollEvents() {\n        var _this4 = this;\n\n        this.finalScrollEvents.forEach(function (event) {\n          _this4.scroll.on((0, _string.camelize)(event), function () {\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n              args[_key] = arguments[_key];\n            }\n\n            _this4.$emit.apply(_this4, [event].concat(args));\n          });\n        });\n      },\n      _handleNestScroll: function _handleNestScroll() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          var innerScroll = _this5.scroll;\n          var outerScroll = _this5.parentScroll.scroll;\n          var scrolls = [innerScroll, outerScroll];\n          scrolls.forEach(function (scroll, index, arr) {\n            scroll.on('touchEnd', function () {\n              outerScroll.enable();\n              innerScroll.enable();\n\n              innerScroll.initiated = false;\n            });\n\n            scroll.on('beforeScrollStart', function () {\n              _this5.touchStartMoment = true;\n              var anotherScroll = arr[(index + 1) % 2];\n              anotherScroll.stop();\n              anotherScroll.resetPosition();\n            });\n          });\n\n          innerScroll.on('scroll', function (pos) {\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return;\n            }\n\n            if (_this5.nestMode === NEST_MODE_NATIVE && !_this5.touchStartMoment) {\n              return;\n            }\n\n            var reachBoundary = _this5._checkReachBoundary(pos);\n            if (reachBoundary) {\n              innerScroll.resetPosition();\n              innerScroll.disable();\n\n              outerScroll.pointX = innerScroll.pointX;\n              outerScroll.pointY = innerScroll.pointY;\n              outerScroll.enable();\n            } else {\n              outerScroll.disable();\n            }\n            _this5.touchStartMoment = false;\n          });\n        });\n      },\n      _checkReachBoundary: function _checkReachBoundary(pos) {\n        var distX = this.scroll.distX;\n        var distY = this.scroll.distY;\n        var reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false;\n        var reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false;\n        var freeScroll = this.scroll.freeScroll;\n        var hasHorizontalScroll = this.scroll.hasHorizontalScroll;\n        var hasVerticalScroll = this.scroll.hasVerticalScroll;\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true;\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY;\n        }\n\n        var reachBoundary = void 0;\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX;\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY;\n        }\n        return reachBoundary;\n      },\n      _calculateMinHeight: function _calculateMinHeight() {\n        var _$refs = this.$refs,\n            wrapper = _$refs.wrapper,\n            listWrapper = _$refs.listWrapper;\n\n        var pullUpLoad = this.pullUpLoad;\n        var pullDownRefresh = this.pullDownRefresh;\n        var minHeight = 0;\n\n        if (pullDownRefresh || pullUpLoad) {\n          var wrapperHeight = (0, _dom.getRect)(wrapper).height;\n          minHeight = wrapperHeight + 1;\n          if (pullUpLoad && pullUpLoad.visible) {\n            minHeight -= this.pullUpHeight;\n          }\n        }\n\n        listWrapper.style.minHeight = minHeight + 'px';\n      },\n      _onPullDownRefresh: function _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle);\n        this.scroll.on('scroll', this._pullDownScrollHandle);\n      },\n      _offPullDownRefresh: function _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle);\n        this.scroll.off('scroll', this._pullDownScrollHandle);\n      },\n      _pullDownRefreshChangeHandler: function _pullDownRefreshChangeHandler() {\n        var _this6 = this;\n\n        this.$nextTick(function () {\n          _this6._getPullDownEleHeight();\n          _this6._calculateMinHeight();\n        });\n      },\n      _pullDownHandle: function _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer);\n        }\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$emit(EVENT_PULLING_DOWN);\n      },\n      _pullDownScrollHandle: function _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight);\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownHeight, 0) + 'px';\n        } else {\n          this.bubbleY = 0;\n          this.pullDownStyle = 'top:' + Math.min(pos.y - this.pullDownStop, 0) + 'px';\n        }\n      },\n      _pullUpLoadChangeHandler: function _pullUpLoadChangeHandler() {\n        var _this7 = this;\n\n        this.$nextTick(function () {\n          _this7._getPullUpEleHeight();\n          _this7._calculateMinHeight();\n        });\n      },\n      _onPullUpLoad: function _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle);\n      },\n      _offPullUpLoad: function _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle);\n      },\n      _pullUpHandle: function _pullUpHandle() {\n        this.isPullUpLoad = true;\n        this.$emit(EVENT_PULLING_UP);\n      },\n      _waitFinishPullDown: function _waitFinishPullDown(next) {\n        var _this8 = this;\n\n        var _pullDownRefresh$stop = this.pullDownRefresh.stopTime,\n            stopTime = _pullDownRefresh$stop === undefined ? DEFAULT_STOP_TIME : _pullDownRefresh$stop;\n\n        return new _promise2.default(function (resolve) {\n          setTimeout(function () {\n            _this8.scroll && _this8.scroll.finishPullDown();\n            resolve();\n          }, stopTime);\n        });\n      },\n      _waitResetPullDown: function _waitResetPullDown(dirty) {\n        var _this9 = this;\n\n        return new _promise2.default(function (resolve) {\n          _this9.resetPullDownTimer = setTimeout(function () {\n            _this9.pullDownStyle = 'top: -' + _this9.pullDownHeight + 'px';\n            _this9.beforePullDown = true;\n            resolve();\n          }, _this9.scroll && _this9.scroll.options.bounceTime);\n        });\n      },\n      _getPullDownEleHeight: function _getPullDownEleHeight() {\n        var _this10 = this;\n\n        var pulldown = this.$refs.pulldown;\n        if (!pulldown) {\n          return;\n        }\n        pulldown = pulldown.firstChild;\n        this.pullDownHeight = (0, _dom.getRect)(pulldown).height;\n\n        this.beforePullDown = false;\n        this.isPullingDown = true;\n        this.$nextTick(function () {\n          _this10.pullDownStop = (0, _dom.getRect)(pulldown).height;\n\n          _this10.beforePullDown = true;\n          _this10.isPullingDown = false;\n        });\n      },\n      _getPullUpEleHeight: function _getPullUpEleHeight() {\n        var listWrapper = this.$refs.listWrapper;\n        var pullup = listWrapper.nextElementSibling;\n        if (!pullup) {\n          this.pullUpHeight = 0;\n          return;\n        }\n        this.pullUpHeight = (0, _dom.getRect)(pullup).height;\n      }\n    },\n    components: {\n      Loading: _loading2.default,\n      Bubble: _bubble2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(54);\n__webpack_require__(38);\n__webpack_require__(45);\n__webpack_require__(144);\n__webpack_require__(152);\n__webpack_require__(153);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(31);\nvar classof = __webpack_require__(82);\nvar $export = __webpack_require__(10);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(34);\nvar anInstance = __webpack_require__(145);\nvar forOf = __webpack_require__(146);\nvar speciesConstructor = __webpack_require__(110);\nvar task = __webpack_require__(111).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(100);\nvar perform = __webpack_require__(112);\nvar userAgent = __webpack_require__(149);\nvar promiseResolve = __webpack_require__(113);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(150)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(151)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(97)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(31);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar anObject = __webpack_require__(12);\nvar toLength = __webpack_require__(41);\nvar getIterFn = __webpack_require__(86);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(111).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(21)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(6);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(4);\nvar DESCRIPTORS = __webpack_require__(3);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(110);\nvar promiseResolve = __webpack_require__(113);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(100);\nvar perform = __webpack_require__(112);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(155);\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n  Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(156);\n\nif (hadRuntime) {\n  // Restore the original runtime.\n  g.regeneratorRuntime = oldRuntime;\n} else {\n  // Remove the global property added by runtime.js.\n  try {\n    delete g.regeneratorRuntime;\n  } catch(e) {\n    g.regeneratorRuntime = undefined;\n  }\n}\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  var inModule = typeof module === \"object\";\n  var runtime = global.regeneratorRuntime;\n  if (runtime) {\n    if (inModule) {\n      // If regeneratorRuntime is defined globally and we're in a module,\n      // make the exports object identical to regeneratorRuntime.\n      module.exports = runtime;\n    }\n    // Don't bother evaluating the rest of this file if the runtime was\n    // already defined globally.\n    return;\n  }\n\n  // Define the runtime globally (as expected by generated code) as either\n  // module.exports (if we're in a module) or a new, empty object.\n  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  runtime.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  runtime.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  runtime.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  runtime.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration. If the Promise is rejected, however, the\n          // result for this iteration will be rejected with the same\n          // reason. Note that rejections of yielded Promises are not\n          // thrown back into the generator function, as is the case\n          // when an awaited Promise is rejected. This difference in\n          // behavior between yield and await is important, because it\n          // allows the consumer to decide what to do with the yielded\n          // rejection (swallow it and continue, manually .throw it back\n          // into the generator, abandon iteration, whatever). With\n          // await, by contrast, there is no opportunity to examine the\n          // rejection reason outside the generator function, so the\n          // only option is to throw it from the await expression, and\n          // let the generator function handle the exception.\n          result.value = unwrapped;\n          resolve(result);\n        }, reject);\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  runtime.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return runtime.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator.return) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  runtime.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  runtime.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n})(\n  // In sloppy mode, unbound `this` refers to the global object, fallback to\n  // Function constructor if we're in global strict mode. That is sadly a form\n  // of indirect eval which violates Content Security Policy.\n  (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(109);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n  return function () {\n    var gen = fn.apply(this, arguments);\n    return new _promise2.default(function (resolve, reject) {\n      function step(key, arg) {\n        try {\n          var info = gen[key](arg);\n          var value = info.value;\n        } catch (error) {\n          reject(error);\n          return;\n        }\n\n        if (info.done) {\n          resolve(value);\n        } else {\n          return _promise2.default.resolve(value).then(function (value) {\n            step(\"next\", value);\n          }, function (err) {\n            step(\"throw\", err);\n          });\n        }\n      }\n\n      return step(\"next\");\n    });\n  };\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(159),\n  /* template */\n  __webpack_require__(160),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.bubble = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        width: 50,\n        height: 80\n      };\n    },\n\n    computed: {\n      distance: function distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance));\n      },\n      style: function style() {\n        return 'width:' + this.width / this.ratio + 'px;height:' + this.height / this.ratio + 'px';\n      }\n    },\n    mounted: function mounted() {\n      this.ratio = window.devicePixelRatio;\n      this.width *= this.ratio;\n      this.height *= this.ratio;\n      this.initRadius = 18 * this.ratio;\n      this.minHeadRadius = 12 * this.ratio;\n      this.minTailRadius = 5 * this.ratio;\n      this.initArrowRadius = 10 * this.ratio;\n      this.minArrowRadius = 6 * this.ratio;\n      this.arrowWidth = 3 * this.ratio;\n      this.maxDistance = 40 * this.ratio;\n      this.initCenterX = 25 * this.ratio;\n      this.initCenterY = 25 * this.ratio;\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      };\n      this._draw();\n    },\n\n    methods: {\n      _draw: function _draw() {\n        var bubble = this.$refs.bubble;\n        var ctx = bubble.getContext('2d');\n        ctx.clearRect(0, 0, bubble.width, bubble.height);\n\n        this._drawBubble(ctx);\n\n        this._drawArrow(ctx);\n      },\n      _drawBubble: function _drawBubble(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate;\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true);\n\n        var tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate;\n        var tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        };\n\n        var tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        };\n        var controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        };\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y);\n\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true);\n\n        var headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        };\n        var controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        };\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y);\n\n        ctx.fillStyle = 'rgb(170,170,170)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(153,153,153)';\n        ctx.stroke();\n        ctx.restore();\n      },\n      _drawArrow: function _drawArrow(ctx) {\n        ctx.save();\n        ctx.beginPath();\n\n        var rate = this.distance / this.maxDistance;\n        var arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate;\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true);\n\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate);\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2);\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate);\n\n        ctx.fillStyle = 'rgb(255,255,255)';\n        ctx.fill();\n        ctx.strokeStyle = 'rgb(170,170,170)';\n        ctx.stroke();\n        ctx.restore();\n      }\n    },\n    watch: {\n      y: function y() {\n        this._draw();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('canvas', {\n    ref: \"bubble\",\n    style: (_vm.style),\n    attrs: {\n      \"width\": _vm.width,\n      \"height\": _vm.height\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"wrapper\",\n    staticClass: \"cube-scroll-wrapper\"\n  }, [_c('div', {\n    staticClass: \"cube-scroll-content\"\n  }, [_c('div', {\n    ref: \"listWrapper\",\n    staticClass: \"cube-scroll-list-wrapper\"\n  }, [_vm._t(\"default\", [_c('ul', {\n    staticClass: \"cube-scroll-list\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: index,\n      staticClass: \"cube-scroll-item border-bottom-1px\",\n      on: {\n        \"click\": function($event) {\n          _vm.clickItem(item)\n        }\n      }\n    }, [_vm._v(_vm._s(item))])\n  }))])], 2), _vm._v(\" \"), _vm._t(\"pullup\", [(_vm.pullUpLoad) ? _c('div', {\n    staticClass: \"cube-pullup-wrapper\"\n  }, [(!_vm.isPullUpLoad) ? _c('div', {\n    staticClass: \"before-trigger\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.pullUpTxt))])]) : _c('div', {\n    staticClass: \"after-trigger\"\n  }, [_c('loading')], 1)]) : _vm._e()], {\n    pullUpLoad: _vm.pullUpLoad,\n    isPullUpLoad: _vm.isPullUpLoad\n  })], 2), _vm._v(\" \"), (_vm.pullDownRefresh) ? _c('div', {\n    ref: \"pulldown\",\n    staticClass: \"cube-pulldown\"\n  }, [_vm._t(\"pulldown\", [_c('div', {\n    staticClass: \"cube-pulldown-wrapper\",\n    style: (_vm.pullDownStyle)\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.beforePullDown),\n      expression: \"beforePullDown\"\n    }],\n    staticClass: \"before-trigger\"\n  }, [_c('bubble', {\n    staticClass: \"bubble\",\n    attrs: {\n      \"y\": _vm.bubbleY\n    }\n  })], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.beforePullDown),\n      expression: \"!beforePullDown\"\n    }],\n    staticClass: \"after-trigger\"\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isPullingDown),\n      expression: \"isPullingDown\"\n    }],\n    staticClass: \"loading\"\n  }, [_c('loading')], 1), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (!_vm.isPullingDown),\n      expression: \"!isPullingDown\"\n    }],\n    staticClass: \"cube-pulldown-loaded\"\n  }, [_c('span', [_vm._v(_vm._s(_vm.refreshTxt))])])])])], {\n    pullDownRefresh: _vm.pullDownRefresh,\n    pullDownStyle: _vm.pullDownStyle,\n    beforePullDown: _vm.beforePullDown,\n    isPullingDown: _vm.isPullingDown,\n    bubbleY: _vm.bubbleY\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(262)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(263),\n  /* template */\n  __webpack_require__(264),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(108), __webpack_require__(136)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/mixins/scroll'), require('../scroll/scroll.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scroll, global.scroll);\n    global.scrollNavBar = mod.exports;\n  }\n})(this, function (module, exports, _scroll, _scroll3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _scroll4 = _interopRequireDefault(_scroll3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var COMPONENT_NAME = 'cube-scroll-nav-bar';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: {\n      scrollNav: {\n        default: null\n      }\n    },\n    mixins: [_scroll2.default],\n    props: {\n      direction: {\n        type: String,\n        default: DIRECTION_H,\n        validator: function validator(val) {\n          return val === DIRECTION_H || val === DIRECTION_V;\n        }\n      },\n      labels: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      txts: {\n        type: Array,\n        default: function _default() {\n          this._defaultTxts = true;\n\n          return this.labels;\n        }\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        active: this.current,\n        usedTxts: this.txts\n      };\n    },\n\n    watch: {\n      labels: function labels(newLabels) {\n        if (this._defaultTxts) {\n          this.usedTxts = newLabels;\n        }\n      },\n      txts: function txts(newTxts) {\n        this.usedTxts = newTxts;\n      },\n      current: function current(newVal) {\n        this.active = newVal;\n      },\n      active: function active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal);\n        this._adjust();\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.scrollNav && this.scrollNav.setBar(this);\n      if (this.active) {\n        this.$nextTick(function () {\n          _this._adjust();\n        });\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.scrollNav && this.scrollNav.setBar(null);\n    },\n\n    methods: {\n      clickHandler: function clickHandler(label) {\n        if (label === this.active) {\n          return;\n        }\n        this.active = label;\n        this.scrollNav && this.scrollNav.barChange(label);\n      },\n      refresh: function refresh() {\n        this.$refs.scroll.refresh();\n        this._adjust();\n      },\n      _adjust: function _adjust() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          var isHorizontal = _this2.direction === DIRECTION_H;\n          var targetProp = isHorizontal ? 'clientWidth' : 'clientHeight';\n          var active = _this2.active;\n          var viewportSize = _this2.$refs.scroll.$el[targetProp];\n          var itemsEle = _this2.$refs.items;\n          var scrollerSize = itemsEle[targetProp];\n          var minTranslate = Math.min(0, viewportSize - scrollerSize);\n          var middleTranslate = viewportSize / 2;\n          var items = itemsEle.children;\n          var size = 0;\n          _this2.labels.every(function (label, index) {\n            if (label === active) {\n              size += items[index][targetProp] / 2;\n              return false;\n            }\n            size += items[index][targetProp];\n            return true;\n          });\n          var translate = middleTranslate - size;\n          translate = Math.max(minTranslate, Math.min(0, translate));\n          _this2.$refs.scroll.scrollTo(isHorizontal ? translate : 0, isHorizontal ? 0 : translate, 300);\n        });\n      }\n    },\n    components: {\n      CubeScroll: _scroll4.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-scroll-nav-bar\",\n    class: 'cube-scroll-nav-bar_' + _vm.direction\n  }, [_c('cube-scroll', {\n    ref: \"scroll\",\n    attrs: {\n      \"nestMode\": \"none\",\n      \"options\": _vm.options,\n      \"direction\": _vm.direction\n    }\n  }, [_c('div', {\n    ref: \"items\",\n    staticClass: \"cube-scroll-nav-bar-items\"\n  }, _vm._l((_vm.usedTxts), function(txt, index) {\n    return _c('div', {\n      key: index,\n      staticClass: \"cube-scroll-nav-bar-item\",\n      class: {\n        'cube-scroll-nav-bar-item_active': _vm.active === _vm.labels[index]\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.clickHandler(_vm.labels[index])\n        }\n      }\n    }, [_vm._t(\"default\", [_c('span', {\n      domProps: {\n        \"innerHTML\": _vm._s(txt)\n      }\n    })], {\n      txt: txt,\n      index: index,\n      active: _vm.active,\n      label: _vm.labels[index]\n    })], 2)\n  }))])], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(200)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/scroll-nav-bar/scroll-nav-bar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.scrollNavBar);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _scrollNavBar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _scrollNavBar2 = _interopRequireDefault(_scrollNavBar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _scrollNavBar2.default.install = function (Vue) {\n    Vue.component(_scrollNavBar2.default.name, _scrollNavBar2.default);\n  };\n\n  exports.default = _scrollNavBar2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/scroll-nav-bar/style.css",
    "content": ".cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-scroll-nav-bar{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;color:#666;background-color:#fff}.cube-scroll-nav-bar_horizontal{-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-scroll-nav-bar_horizontal .cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}.cube-scroll-nav-bar_horizontal .cube-scroll-content{display:inline-block;vertical-align:top}.cube-scroll-nav-bar_horizontal .cube-scroll-nav-bar-items{white-space:nowrap}.cube-scroll-nav-bar_vertical{height:100%;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-scroll-nav-bar_vertical .cube-scroll-nav-bar-item{display:block}.cube-scroll-nav-bar-items{font-size:14px}.cube-scroll-nav-bar-item{display:inline-block;vertical-align:top;padding:20px 15px}.cube-scroll-nav-bar-item_active{color:#fc9153}"
  },
  {
    "path": "lib/segment-picker/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"segment-picker\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"segment-picker\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 367);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */,\n/* 88 */,\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(137)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(138),\n  /* template */\n  __webpack_require__(139),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 120 */,\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(90), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(167),\n  /* template */\n  __webpack_require__(168),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../picker/picker.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.visibility, global.popup, global.basicPicker, global.picker, global.locale);\n    global.cascadePicker = mod.exports;\n  }\n})(this, function (module, exports, _picker, _visibility, _popup, _basicPicker, _picker3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker4 = _interopRequireDefault(_picker3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-cascade-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _basicPicker2.default, _picker4.default, _locale2.default],\n    props: {\n      async: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        cascadeData: this.data.slice(),\n        pickerSelectedIndex: this.selectedIndex.slice(),\n        pickerData: [],\n        pending: false\n      };\n    },\n    created: function created() {\n      this._updatePickerData();\n    },\n\n    methods: {\n      setData: function setData(data) {\n        var selectedIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n        this.pending = false;\n        this.cascadeData = data.slice();\n        this.pickerSelectedIndex = selectedIndex.slice();\n        this._updatePickerData();\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        if (newIndex !== this.pickerSelectedIndex[i]) {\n          this.pickerSelectedIndex.splice(i, 1, newIndex);\n          this.async ? this.pending = i !== this.pickerData.length - 1 : this._updatePickerData(i + 1);\n        }\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _updatePickerData: function _updatePickerData() {\n        var _this = this;\n\n        var fromColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        var data = this.cascadeData;\n        var i = 0;\n        while (data) {\n          if (i >= fromColumn) {\n            (function () {\n              var columnData = [];\n              data.forEach(function (item) {\n                columnData.push({\n                  value: item[_this.valueKey],\n                  text: item[_this.textKey],\n                  order: item[_this.orderKey]\n                });\n              });\n              _this.pickerData[i] = columnData;\n\n              _this.pickerSelectedIndex[i] = fromColumn === 0 ? _this.pickerSelectedIndex[i] < data.length ? _this.pickerSelectedIndex[i] || 0 : 0 : _this.$refs.picker.refillColumn(i, columnData);\n            })();\n          }\n          data = data.length ? data[this.pickerSelectedIndex[i]].children : null;\n\n          i++;\n        }\n\n        if (i < this.pickerData.length) {\n          this.pickerData.splice(i, this.pickerData.length - i);\n        }\n\n        this.pickerData = this.pickerData.slice();\n      }\n    },\n    components: {\n      CubePicker: _picker2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.pickerData,\n      \"selected-index\": _vm.pickerSelectedIndex,\n      \"pending\": _vm.pending,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"z-index\": _vm.zIndex,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addCascadePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addCascadePicker(Vue, CascadePicker) {\n    var cascadePickerAPI = (0, _createApi2.default)(Vue, CascadePicker, ['select', 'cancel', 'change']);\n    cascadePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('CascadePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */,\n/* 367 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(163), __webpack_require__(368), __webpack_require__(140), __webpack_require__(178), __webpack_require__(371), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/cascade-picker/cascade-picker.vue'), require('../../components/segment-picker/segment-picker.vue'), require('../picker/api'), require('../cascade-picker/api'), require('./api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.cascadePicker, global.segmentPicker, global.api, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _cascadePicker, _segmentPicker, _api, _api3, _api5, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  var _segmentPicker2 = _interopRequireDefault(_segmentPicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _api6 = _interopRequireDefault(_api5);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _segmentPicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_cascadePicker2.default.name, _cascadePicker2.default);\n    Vue.component(_segmentPicker2.default.name, _segmentPicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _picker2.default);\n    (0, _api4.default)(Vue, _cascadePicker2.default);\n    (0, _api6.default)(Vue, _segmentPicker2.default);\n  };\n\n  _segmentPicker2.default.Picker = _picker2.default;\n  _cascadePicker2.default.Picker = _picker2.default;\n  _segmentPicker2.default.CascadePicker = _cascadePicker2.default;\n\n  exports.default = _segmentPicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(369),\n  /* template */\n  __webpack_require__(370),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 369 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(58), __webpack_require__(69), __webpack_require__(106), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.visibility, global.popup, global.picker, global.locale);\n    global.segmentPicker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _visibility, _popup, _picker, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-segment-picker';\n  var EVENT_NEXT = 'next';\n  var EVENT_PREV = 'prev';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _picker2.default, _locale2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      nextTxt: {\n        type: String,\n        default: ''\n      },\n      prevTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    data: function data() {\n      return {\n        current: 0,\n        selectedVal: [],\n        selectedIndex: [],\n        selectedText: []\n      };\n    },\n\n    computed: {\n      currentPicker: function currentPicker() {\n        for (var i = 0; i < this.data.length; i++) {\n          var item = this.$refs.pickers[i];\n          if (item.$attrs.index === this.current) {\n            return item;\n          }\n        }\n      },\n      _nextTxt: function _nextTxt() {\n        return this.nextTxt || this.$t('next');\n      },\n      _prevTxt: function _prevTxt() {\n        return this.prevTxt || this.$t('prev');\n      }\n    },\n    watch: {\n      data: function data() {\n        this.current = 0;\n        this.selectedVal = [];\n        this.selectedIndex = [];\n        this.selectedText = [];\n      }\n    },\n    methods: {\n      show: function show() {\n        if (this.isVisible || !this.data.length) {\n          return;\n        }\n        this.isVisible = true;\n        this.currentPicker.show();\n      },\n      hide: function hide() {\n        if (!this.isVisible || !this.data.length) {\n          return;\n        }\n        this.isVisible = false;\n        this.currentPicker.hide();\n      },\n      _select: function _select() {\n        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n          args[_key] = arguments[_key];\n        }\n\n        this.selectedVal[this.current] = args[0];\n        this.selectedIndex[this.current] = args[1];\n        this.selectedText[this.current] = args[2];\n\n        if (this.current < this.data.length - 1) {\n          this.$emit.apply(this, [EVENT_NEXT, this.current].concat((0, _toConsumableArray3.default)(args)));\n          this.current++;\n          this.currentPicker.show();\n        } else {\n          this.isVisible = false;\n          this.$emit(EVENT_SELECT, this.selectedVal, this.selectedIndex, this.selectedText);\n          this.current = 0;\n        }\n      },\n      _cancel: function _cancel() {\n        if (this.current > 0) {\n          for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n            args[_key2] = arguments[_key2];\n          }\n\n          this.$emit.apply(this, [EVENT_PREV, this.current].concat((0, _toConsumableArray3.default)(args)));\n          this.current--;\n          this.currentPicker.show();\n        } else {\n          this.isVisible = false;\n          this.$emit(EVENT_CANCEL);\n        }\n      },\n      _change: function _change() {\n        for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n          args[_key3] = arguments[_key3];\n        }\n\n        this.$emit.apply(this, [EVENT_CHANGE, this.current].concat((0, _toConsumableArray3.default)(args)));\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-segment-picker\"\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c(item.is || 'cube-picker', _vm._b({\n      key: index,\n      ref: \"pickers\",\n      refInFor: true,\n      tag: \"component\",\n      attrs: {\n        \"index\": index,\n        \"title\": item.title || _vm.title,\n        \"subtitle\": item.subtitle || _vm.subtitle,\n        \"confirm-txt\": item.confirmTxt || (index === _vm.data.length - 1 ? _vm._confirmTxt : _vm._nextTxt),\n        \"cancel-txt\": item.cancelTxt || (index === 0 ? _vm._cancelTxt : _vm._prevTxt),\n        \"swipe-time\": item.swipeTime || _vm.swipeTime,\n        \"z-index\": item.zIndex || _vm.zIndex,\n        \"mask-closable\": _vm.maskClosable\n      },\n      on: {\n        \"select\": _vm._select,\n        \"cancel\": _vm._cancel,\n        \"change\": _vm._change\n      }\n    }, 'component', item, false))\n  }))\n},staticRenderFns: []}\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addSegmentPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addSegmentPicker(Vue, SegmentPicker) {\n    var segmentPickerAPI = (0, _createApi2.default)(Vue, SegmentPicker, ['select', 'cancel', 'change', 'next', 'prev']);\n    segmentPickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('SegmentPicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/segment-picker/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}"
  },
  {
    "path": "lib/select/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"select\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"select\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 372);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */,\n/* 88 */,\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(137)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(138),\n  /* template */\n  __webpack_require__(139),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 120 */,\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(90), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(226)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(227),\n  /* template */\n  __webpack_require__(228),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(53), __webpack_require__(35), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/typeof'), require('../../common/helpers/util'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._typeof, global.util, global.locale);\n    global.select = mod.exports;\n  }\n})(this, function (module, exports, _typeof2, _util, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-select';\n\n  var EVENT_CHANGE = 'change';\n  var EVENT_INPUT = 'input';\n  var EVENT_PICKER_SHOW = 'picker-show';\n  var EVENT_PICKER_HIDE = 'picker-hide';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_locale2.default],\n    data: function data() {\n      return {\n        active: false\n      };\n    },\n\n    props: {\n      options: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      value: null,\n      placeholder: {\n        type: String,\n        default: ''\n      },\n      autoPop: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      adaptOptions: function adaptOptions() {\n        return [this.options.map(function (item) {\n          if ((typeof item === 'undefined' ? 'undefined' : (0, _typeof3.default)(item)) !== 'object') {\n            item = {\n              value: item,\n              text: item\n            };\n          }\n          return item;\n        })];\n      },\n      valueIndex: function valueIndex() {\n        var val = this.value;\n        var index = (0, _util.findIndex)(this.adaptOptions[0], function (item) {\n          return item.value === val;\n        });\n        this.picker && this.picker.setData(this.adaptOptions, index !== -1 ? [index] : [0]);\n\n        return index;\n      },\n      selectedIndex: function selectedIndex() {\n        return this.valueIndex !== -1 ? [this.valueIndex] : [0];\n      },\n      selectedText: function selectedText() {\n        return this.valueIndex !== -1 ? this.adaptOptions[0][this.valueIndex].text : '';\n      },\n      _placeholder: function _placeholder() {\n        return this.placeholder || this.$t('selectText');\n      },\n      _title: function _title() {\n        return this.title || this.$t('selectText');\n      },\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    },\n    created: function created() {\n      this.picker = this.$createPicker({\n        $props: {\n          title: '_title',\n          data: 'adaptOptions',\n          selectedIndex: 'selectedIndex',\n          cancelTxt: '_cancelTxt',\n          confirmTxt: '_confirmTxt'\n        },\n        $events: {\n          select: 'selectHandler',\n          cancel: this.hided\n        }\n      });\n      this.autoPop && this.showPicker();\n    },\n\n    methods: {\n      showPicker: function showPicker() {\n        if (this.disabled) {\n          return;\n        }\n        this.picker.show();\n        this.active = true;\n        this.$emit(EVENT_PICKER_SHOW);\n      },\n      hided: function hided() {\n        this.active = false;\n        this.$emit(EVENT_PICKER_HIDE);\n      },\n      selectHandler: function selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.hided();\n        if (selectedVal[0] !== this.value) {\n          this.$emit(EVENT_INPUT, selectedVal[0]);\n          this.$emit(EVENT_CHANGE, selectedVal[0], selectedIndex[0], selectedText[0]);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-select\",\n    class: {\n      'cube-select_active': _vm.active, 'cube-select_disabled': _vm.disabled\n    },\n    on: {\n      \"click\": _vm.showPicker\n    }\n  }, [(_vm.selectedText) ? _c('span', {\n    staticClass: \"cube-select-text\"\n  }, [_vm._v(_vm._s(_vm.selectedText))]) : _c('span', {\n    staticClass: \"cube-select-placeholder\"\n  }, [_vm._v(_vm._s(_vm._placeholder))]), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-select-icon\"\n  })])\n},staticRenderFns: []}\n\n/***/ }),\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */,\n/* 367 */,\n/* 368 */,\n/* 369 */,\n/* 370 */,\n/* 371 */,\n/* 372 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(225), __webpack_require__(140), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/select/select.vue'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.select, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _select, _api, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _select2 = _interopRequireDefault(_select);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _select2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_select2.default.name, _select2.default);\n    _locale2.default.install(Vue);\n    (0, _api2.default)(Vue, _picker2.default);\n  };\n\n  _select2.default.Picker = _picker2.default;\n\n  exports.default = _select2.default;\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/select/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}.cube-select{box-sizing:border-box;padding:10px 20px 10px 10px;border-radius:2px;font-size:14px;line-height:1.429;color:#666;background-color:#fff;position:relative}.cube-select:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select>span{display:inline-block}.cube-select_active{position:relative}.cube-select_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select_active .cube-select-icon{-webkit-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.cube-select_disabled{color:#b8b8b8;background-color:rgba(0,0,0,.04);cursor:not-allowed}.cube-select-placeholder{color:#ccc}.cube-select-icon{position:absolute;right:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-style:solid;border-color:#999 transparent transparent;border-width:4px 4px 0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}"
  },
  {
    "path": "lib/slide/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"slide\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"slide\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 373);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 108:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.scroll = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      options: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 120:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(39), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/slicedToArray'), require('babel-runtime/core-js/object/entries'), require('../../common/helpers/debug'), require('../../common/lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slicedToArray, global.entries, global.debug, global.string);\n    global.deprecated = mod.exports;\n  }\n})(this, function (module, exports, _slicedToArray2, _entries, _debug, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\n  var _entries2 = _interopRequireDefault(_entries);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  exports.default = {\n    methods: {\n      _checkDeprecated: function _checkDeprecated() {\n        var _this = this;\n\n        var props = this.$options.props;\n        var componentName = this.$options.name;\n\n        (0, _entries2.default)(props).forEach(function (_ref) {\n          var _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n              key = _ref2[0],\n              prop = _ref2[1];\n\n          var deprecated = prop.deprecated;\n\n          if (deprecated && _this[key] !== undefined) {\n            (0, _debug.tip)('The property \"' + (0, _string.kebab)(key) + '\" is deprecated, please use the recommended property \"' + deprecated.replacedBy + '\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/' + componentName.substr(5) + '#cube-Propsconfiguration-anchor', componentName);\n          }\n        });\n      }\n    },\n    mounted: function mounted() {\n      this._checkDeprecated();\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 125:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(126);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(129);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n\n/***/ 126:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(127), __esModule: true };\n\n/***/ }),\n\n/***/ 127:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(128);\n\n\n/***/ }),\n\n/***/ 128:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n\n/***/ 129:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(130), __esModule: true };\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 130:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(45);\n__webpack_require__(38);\nmodule.exports = __webpack_require__(131);\n\n\n/***/ }),\n\n/***/ 131:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar get = __webpack_require__(86);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n\n/***/ 132:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(133), __esModule: true };\n\n/***/ }),\n\n/***/ 133:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(134);\nmodule.exports = __webpack_require__(0).Object.entries;\n\n\n/***/ }),\n\n/***/ 134:\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(10);\nvar $entries = __webpack_require__(135)(true);\n\n$export($export.S, 'Object', {\n  entries: function entries(it) {\n    return $entries(it);\n  }\n});\n\n\n/***/ }),\n\n/***/ 135:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(13);\nvar toIObject = __webpack_require__(7);\nvar isEnum = __webpack_require__(18).f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n      result.push(isEntries ? [key, O[key]] : O[key]);\n    } return result;\n  };\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 193:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(251)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(252),\n  /* template */\n  __webpack_require__(253),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 248:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(249)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(250),\n  /* template */\n  __webpack_require__(254),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 249:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 250:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(193), __webpack_require__(90), __webpack_require__(108), __webpack_require__(120)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('./slide-item.vue'), require('better-scroll'), require('../../common/mixins/scroll'), require('../../common/mixins/deprecated'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.slideItem, global.betterScroll, global.scroll, global.deprecated);\n    global.slide = mod.exports;\n  }\n})(this, function (module, exports, _assign, _slideItem, _betterScroll, _scroll, _deprecated) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _scroll2 = _interopRequireDefault(_scroll);\n\n  var _deprecated2 = _interopRequireDefault(_deprecated);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-slide';\n  var EVENT_CHANGE = 'change';\n  var EVENT_SELECT = 'click';\n  var EVENT_SCROLL_END = 'scroll-end';\n  var EVENT_SCROLL = 'scroll';\n\n  var DIRECTION_H = 'horizontal';\n  var DIRECTION_V = 'vertical';\n\n  var DEFAULT_OPTIONS = {\n    momentum: false,\n    click: true,\n    observeDOM: false,\n    bounce: false\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_scroll2.default, _deprecated2.default],\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      threshold: {\n        type: Number,\n        default: 0.3\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      autoPlay: {\n        type: Boolean,\n        default: true\n      },\n      interval: {\n        type: Number,\n        default: 4000\n      },\n      showDots: {\n        type: Boolean,\n        default: true\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_H\n      },\n\n      allowVertical: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      stopPropagation: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      refreshResetCurrent: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data: function data() {\n      return {\n        dots: 0,\n        currentPageIndex: this.initialIndex || 0\n      };\n    },\n    created: function created() {\n      var _this = this;\n\n      this._dataWatchers = [];\n      var needRefreshProps = ['data', 'loop', 'autoPlay', 'options.eventPassthrough', 'threshold', 'speed', 'allowVertical'];\n      needRefreshProps.forEach(function (key) {\n        _this._dataWatchers.push(_this.$watch(key, function () {\n          if (key === 'data') {\n            _this._destroy();\n          }\n\n          _this.$nextTick(function () {\n            _this.refresh();\n          });\n        }));\n      });\n    },\n\n    watch: {\n      initialIndex: function initialIndex(newIndex) {\n        if (newIndex !== this.currentPageIndex) {\n          this._goToPage(newIndex);\n        }\n      }\n    },\n    methods: {\n      clickItem: function clickItem(item, index) {\n        this.$emit(EVENT_SELECT, item, index);\n      },\n      refresh: function refresh() {\n        if (this.slide === null) {\n          return;\n        }\n        this._destroy();\n        clearTimeout(this._timer);\n\n        if (this.slide && this.refreshResetCurrent) {\n          this.currentPageIndex = 0;\n        }\n        this._updateSlideDom();\n        if (this.showDots) {\n          this._initDots();\n        }\n        if (this.currentPageIndex >= this.dots.length) {\n          this.currentPageIndex = this.dots.length - 1;\n        }\n        this._initSlide();\n\n        if (this.autoPlay) {\n          this._play();\n        }\n      },\n      play: function play() {\n        if (!this.autoPlay) return;\n        if (this._timer === null) {\n          this._play();\n        }\n      },\n      pause: function pause() {\n        if (!this.autoPlay) return;\n        clearTimeout(this._timer);\n        this._timer = null;\n      },\n      _destroy: function _destroy() {\n        this.slide && this.slide.destroy();\n      },\n      _refresh: function _refresh() {\n        this._updateSlideDom(true);\n        this.slide.refresh();\n      },\n      _updateSlideDom: function _updateSlideDom(isResize) {\n        this._setSlideStyle(isResize);\n      },\n      _setSlideStyle: function _setSlideStyle(isResize) {\n        this.children = this.$refs.slideGroup.children;\n\n        var target = this.direction === DIRECTION_H ? 'width' : 'height';\n        var allSize = 0;\n        var slideSize = this.$refs.slide['client' + (target[0].toUpperCase() + target.slice(1))];\n        var len = this.children.length;\n        for (var i = 0; i < len; i++) {\n          var child = this.children[i];\n          child.style[target] = slideSize + 'px';\n          allSize += slideSize;\n        }\n        if (this.loop && !isResize && len > 1) {\n          allSize += 2 * slideSize;\n        }\n        this.$refs.slideGroup.style[target] = allSize + 'px';\n      },\n      _initSlide: function _initSlide() {\n        var _this2 = this;\n\n        var eventPassthrough = this.direction === DIRECTION_H && this.allowVertical ? DIRECTION_V : '';\n\n        var options = (0, _assign2.default)({}, DEFAULT_OPTIONS, {\n          scrollX: this.direction === DIRECTION_H,\n          scrollY: this.direction === DIRECTION_V,\n          eventPassthrough: eventPassthrough,\n          snap: {\n            loop: this.loop,\n            threshold: this.threshold,\n            speed: this.speed\n          },\n          stopPropagation: this.stopPropagation\n        }, this.options);\n\n        this.slide = new _betterScroll2.default(this.$refs.slide, options);\n\n        this.slide.on('scrollEnd', this._onScrollEnd);\n\n        this._goToPage(this.currentPageIndex, 0);\n\n        if (this.options.listenScroll && this.options.probeType === 3) {\n          this.slide.on('scroll', this._onScroll);\n        }\n        var slideEl = this.$refs.slide;\n        slideEl.removeEventListener('touchend', this._touchEndEvent, false);\n        this._touchEndEvent = function () {\n          if (_this2.autoPlay) {\n            _this2._play();\n          }\n        };\n        slideEl.addEventListener('touchend', this._touchEndEvent, false);\n\n        this.slide.on('beforeScrollStart', function () {\n          if (_this2.autoPlay) {\n            clearTimeout(_this2._timer);\n          }\n        });\n      },\n      _onScrollEnd: function _onScrollEnd() {\n        var _slide$getCurrentPage = this.slide.getCurrentPage(),\n            pageX = _slide$getCurrentPage.pageX,\n            pageY = _slide$getCurrentPage.pageY;\n\n        var pageIndex = this.direction === DIRECTION_H ? pageX : pageY;\n        if (this.currentPageIndex !== pageIndex) {\n          this.currentPageIndex = pageIndex;\n          this.$emit(EVENT_CHANGE, pageIndex);\n        }\n\n        this.$emit(EVENT_SCROLL_END, pageIndex);\n\n        if (this.autoPlay) {\n          this._play();\n        }\n      },\n      _onScroll: function _onScroll(pos) {\n        this.$emit(EVENT_SCROLL, pos);\n      },\n      _initDots: function _initDots() {\n        this.dots = new Array(this.children.length);\n      },\n      _play: function _play() {\n        var _this3 = this;\n\n        clearTimeout(this._timer);\n        this._timer = setTimeout(function () {\n          _this3.slide && _this3.slide.next();\n        }, this.interval);\n      },\n      _deactivated: function _deactivated() {\n        clearTimeout(this._timer);\n        clearTimeout(this._resizeTimer);\n        window.removeEventListener('resize', this._resizeHandler);\n        var slideEl = this.$refs.slide;\n        if (slideEl) {\n          slideEl.removeEventListener('touchend', this._touchEndEvent, false);\n        }\n      },\n      _resizeHandler: function _resizeHandler() {\n        var _this4 = this;\n\n        if (!this.slide) {\n          return;\n        }\n        clearTimeout(this._resizeTimer);\n        this._resizeTimer = setTimeout(function () {\n          if (_this4.slide.isInTransition) {\n            _this4._onScrollEnd();\n          } else {\n            if (_this4.autoPlay) {\n              _this4._play();\n            }\n          }\n          _this4._refresh();\n        }, 60);\n      },\n      _goToPage: function _goToPage(index, time) {\n        if (this.direction === DIRECTION_H) {\n          this.slide && this.slide.goToPage(index, 0, time);\n        } else if (this.direction === DIRECTION_V) {\n          this.slide && this.slide.goToPage(0, index, time);\n        }\n      }\n    },\n    mounted: function mounted() {\n      var _this5 = this;\n\n      this.$nextTick(function () {\n        _this5.refresh();\n      });\n\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    activated: function activated() {\n      if (this.autoPlay) {\n        this._play();\n      }\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    deactivated: function deactivated() {\n      this._deactivated();\n    },\n    destroyed: function destroyed() {\n      this._deactivated();\n      this._destroy();\n      this.slide = null;\n\n      this._dataWatchers.forEach(function (cancalWatcher) {\n        cancalWatcher();\n      });\n      this._dataWatchers = null;\n    },\n\n    components: {\n      CubeSlideItem: _slideItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 251:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 252:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.slideItem = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-slide-item';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 253:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-slide-item\"\n  }, [_vm._t(\"default\", [_c('a', {\n    attrs: {\n      \"href\": _vm.item.url\n    }\n  }, [_c('img', {\n    attrs: {\n      \"src\": _vm.item.image\n    }\n  })])])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 254:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"slide\",\n    staticClass: \"cube-slide\"\n  }, [_c('div', {\n    ref: \"slideGroup\",\n    staticClass: \"cube-slide-group\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-slide-item', {\n      key: index,\n      attrs: {\n        \"item\": item\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.clickItem(item, index)\n        }\n      }\n    })\n  }))], 2), _vm._v(\" \"), (_vm.showDots) ? _c('div', {\n    staticClass: \"cube-slide-dots\"\n  }, [_vm._t(\"dots\", _vm._l((_vm.dots), function(item, index) {\n    return _c('span', {\n      key: index,\n      class: {\n        active: _vm.currentPageIndex === index\n      }\n    })\n  }), {\n    current: _vm.currentPageIndex,\n    dots: _vm.dots\n  })], 2) : _vm._e()])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 373:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(248), __webpack_require__(193)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/slide/slide.vue'), require('../../components/slide/slide-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.slide, global.slideItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _slide, _slideItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _slide2 = _interopRequireDefault(_slide);\n\n  var _slideItem2 = _interopRequireDefault(_slideItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _slide2.default.install = function (Vue) {\n    Vue.component(_slide2.default.name, _slide2.default);\n    Vue.component(_slideItem2.default.name, _slideItem2.default);\n  };\n\n  _slide2.default.Item = _slideItem2.default;\n\n  exports.default = _slide2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ 39:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 42:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n\n/***/ 44:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 45:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ 47:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 52:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 65:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ 66:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 82:\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ 83:\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ 86:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ 88:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 90:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n\n/***/ 92:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n\n/***/ 93:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n\n/***/ 94:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/slide/style.css",
    "content": ".cube-slide{min-height:1px}.cube-slide,.cube-slide-group{position:relative;height:100%;overflow:hidden}.cube-slide-group{white-space:nowrap;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.cube-slide-dots{position:absolute;bottom:2px;right:0;left:0;padding:0 6px;font-size:0;text-align:center;-webkit-transform:translateZ(1px);transform:translateZ(1px)}.cube-slide-dots>span{display:inline-block;vertical-align:bottom;margin:0 1px;width:10px;height:1px;background:#ccc}.cube-slide-dots>span.active{background:#fc9153}.cube-slide-item{float:left;box-sizing:border-box;height:100%;width:100%}.cube-slide-item>a{overflow:hidden;text-decoration:none}.cube-slide-item>a,.cube-slide-item>a>img{display:block;height:100%}"
  },
  {
    "path": "lib/sticky/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"sticky\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"sticky\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 374);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 199:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(259)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(260),\n  /* template */\n  __webpack_require__(261),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 255:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(256)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(257),\n  /* template */\n  __webpack_require__(258),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 256:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 257:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom);\n    global.sticky = mod.exports;\n  }\n})(this, function (module, exports, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-sticky';\n  var EVENT_CHANGE = 'change';\n  var EVENT_DIFF_CHANGE = 'diff-change';\n\n  var transformStyleKey = (0, _dom.prefixStyle)('transform');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        sticky: this\n      };\n    },\n\n    props: {\n      pos: {\n        type: Number,\n        required: true\n      },\n      checkTop: {\n        type: Boolean,\n        default: true\n      },\n      fixedShowAni: {\n        type: String,\n        default: function _default() {\n          return this.checkTop ? '' : 'cube-sticky-fixed-fade';\n        }\n      },\n      offset: {\n        type: Number,\n        default: 0\n      }\n    },\n    data: function data() {\n      return {\n        diff: 0,\n        currentDiff: 0,\n        currentIndex: -1,\n        currentKey: ''\n      };\n    },\n\n    computed: {\n      fixedShow: function fixedShow() {\n        var targetEle = this.eles[this.currentIndex];\n        return !!targetEle;\n      }\n    },\n    watch: {\n      diff: function diff(newVal) {\n        if (newVal >= 0) {\n          newVal = 0;\n        }\n        newVal = Math.ceil(newVal);\n        if (this._fixedTop === newVal) {\n          return;\n        }\n        this._fixedTop = newVal;\n        this.$refs.fixedEle.style[transformStyleKey] = 'translate3d(0, ' + newVal + 'px, 0)';\n      },\n\n      pos: 'computeCurrentSticky',\n      currentIndex: function currentIndex(newIndex, oldIndex) {\n        var _this = this;\n\n        var oldEle = this.eles[oldIndex];\n        var newEle = this.eles[newIndex];\n\n        var currentKey = newEle && newEle.eleKey !== undefined ? newEle.eleKey : newIndex === -1 ? '' : newIndex;\n        var fixedEle = this.$refs.fixedEle;\n        var fixedSlot = this.$slots.fixed || this.$scopedSlots.fixed;\n\n        this.$nextTick(function () {\n          if (fixedSlot) {\n            _this.fixedEleHeight = fixedEle.offsetHeight;\n          } else {\n            var oldChild = fixedEle.firstElementChild;\n            if (oldEle) {\n              oldEle.$el.appendChild(oldChild);\n              oldEle.refresh();\n            }\n            if (newEle) {\n              fixedEle.appendChild(newEle.$el.firstElementChild);\n              _this.fixedEleHeight = fixedEle.offsetHeight;\n            } else {\n              _this.fixedEleHeight = 0;\n            }\n          }\n          var onClass = 'cube-sticky-ele-on';\n          if (oldEle) {\n            (0, _dom.removeClass)(oldEle.$el, onClass);\n          }\n          if (newEle) {\n            (0, _dom.addClass)(newEle.$el, onClass);\n          }\n        });\n\n        this.currentKey = currentKey;\n        this.$emit(EVENT_CHANGE, currentKey, newIndex);\n      },\n      currentDiff: function currentDiff(newVal) {\n        var height = this.heights[this.currentIndex] || 0;\n        this.$emit(EVENT_DIFF_CHANGE, newVal, height);\n      }\n    },\n    created: function created() {\n      this.fixedEleHeight = 0;\n      this.eles = [];\n      this.positions = [];\n      this.heights = [];\n    },\n    mounted: function mounted() {\n      this.refresh();\n    },\n\n    methods: {\n      addEle: function addEle(ele) {\n        this.eles.push(ele);\n      },\n      removeEle: function removeEle(ele) {\n        var i = this.eles.indexOf(ele);\n        this.eles.splice(i, 1);\n        this.positions.splice(i, 1);\n      },\n      refresh: function refresh() {\n        var _this2 = this;\n\n        this.$nextTick(function () {\n          _this2.eles.forEach(function (ele) {\n            ele.refresh();\n          });\n          _this2._calculateHeight();\n          _this2.computeCurrentSticky(_this2.pos);\n        });\n      },\n      computeCurrentSticky: function computeCurrentSticky(scrollY) {\n        scrollY += this.offset;\n\n        var positions = this.positions;\n        var heights = this.heights;\n        var checkTop = this.checkTop;\n\n        var len = positions.length;\n        for (var i = len - 1; i >= 0; i--) {\n          var isLast = i === len - 1;\n          var nextTop = isLast ? scrollY : positions[i + 1];\n          var top = void 0;\n          var bottom = void 0;\n          if (checkTop) {\n            top = positions[i];\n            bottom = top + heights[i];\n          } else {\n            top = positions[i] + heights[i];\n            bottom = top;\n          }\n          var max = Math.max(bottom, nextTop);\n\n          if (scrollY >= top && scrollY <= max) {\n            this.currentIndex = i;\n            this.currentDiff = scrollY - top;\n            var diff = nextTop - scrollY;\n            if (diff >= 0 && !isLast) {\n              this.diff = diff - (this.fixedEleHeight || heights[i]);\n            } else {\n              this.diff = 0;\n            }\n            return;\n          }\n        }\n        this.currentIndex = -1;\n        this.currentDiff = 0;\n      },\n      _calculateHeight: function _calculateHeight() {\n        var _this3 = this;\n\n        var eles = this.eles;\n        eles.forEach(function (ele, i) {\n          var _getRect = (0, _dom.getRect)(ele.$el),\n              top = _getRect.top,\n              height = _getRect.height;\n\n          _this3.positions[i] = top;\n          _this3.heights[i] = height;\n        });\n        this.fixedEleHeight = this.$refs.fixedEle.offsetHeight;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 258:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-sticky\"\n  }, [_vm._t(\"default\"), _vm._v(\" \"), _c('transition', {\n    attrs: {\n      \"name\": _vm.fixedShowAni\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.fixedShow),\n      expression: \"fixedShow\"\n    }],\n    ref: \"fixedEle\",\n    staticClass: \"cube-sticky-fixed\"\n  }, [_vm._t(\"fixed\", null, {\n    current: _vm.currentKey,\n    index: _vm.currentIndex\n  })], 2)])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 259:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 260:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.stickyEle = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-sticky-ele';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['sticky'],\n    props: {\n      eleKey: {\n        type: [Number, String]\n      }\n    },\n    mounted: function mounted() {\n      this.sticky.addEle(this);\n    },\n\n    methods: {\n      refresh: function refresh() {\n        var el = this.$el;\n        if (el.firstElementChild) {\n          el.style.height = '';\n          el.style.height = el.offsetHeight + 'px';\n        }\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.sticky.removeEle(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 261:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-sticky-ele\"\n  }, [_c('div', {\n    staticClass: \"cube-sticky-content\"\n  }, [_vm._t(\"default\")], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 374:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(255), __webpack_require__(199)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/sticky/sticky.vue'), require('../../components/sticky/sticky-ele.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.sticky, global.stickyEle);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _sticky, _stickyEle) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _sticky2 = _interopRequireDefault(_sticky);\n\n  var _stickyEle2 = _interopRequireDefault(_stickyEle);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _sticky2.default.install = function (Vue) {\n    Vue.component(_sticky2.default.name, _sticky2.default);\n    Vue.component(_stickyEle2.default.name, _stickyEle2.default);\n  };\n\n  _sticky2.default.Ele = _stickyEle2.default;\n\n  exports.default = _sticky2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/sticky/style.css",
    "content": ".cube-sticky{position:relative;height:100%;overflow:hidden}.cube-sticky-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-sticky-fixed-fade-enter,.cube-sticky-fixed-fade-leave-active{opacity:0}.cube-sticky-fixed-fade-enter-active,.cube-sticky-fixed-fade-leave-active{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.cube-sticky-ele{position:relative}"
  },
  {
    "path": "lib/style/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"style\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"style\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 375);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 375:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(376)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/stylus/index.styl'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.index);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    install: function install() {}\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 376:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/style/style.css",
    "content": "a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-weight:400;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}a{color:#7e8c8d;text-decoration:none}li{list-style:none}body{-webkit-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{line-height:1;font-family:PingFang SC,STHeitiSC-Light,Helvetica-Light,arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.clear-fix:after{content:\"\";display:table;clear:both}.border-bottom-1px,.border-left-1px,.border-right-1px,.border-top-1px{position:relative}.border-bottom-1px:after,.border-bottom-1px:before,.border-left-1px:after,.border-left-1px:before,.border-right-1px:after,.border-right-1px:before,.border-top-1px:after,.border-top-1px:before{content:\"\";display:block;position:absolute;-webkit-transform-origin:0 0;transform-origin:0 0}.border-top-1px:before{border-top:1px solid #ebebeb;left:0;top:0;width:100%;-webkit-transform-origin:0 top;transform-origin:0 top}.border-right-1px:after{border-right:1px solid #f5f5f5;top:0;right:0;height:100%;-webkit-transform-origin:right 0;transform-origin:right 0}.border-bottom-1px:after{border-bottom:1px solid #ebebeb;left:0;bottom:0;width:100%;-webkit-transform-origin:0 bottom;transform-origin:0 bottom}.border-left-1px:before{border-left:1px solid #f5f5f5;top:0;left:0;height:100%;-webkit-transform-origin:left 0;transform-origin:left 0}.cube-safe-area-pb{padding-bottom:constant(safe-area-inset-bottom)!important;padding-bottom:env(safe-area-inset-bottom)!important}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.border-top-1px:before{width:200%}.border-right-1px:after,.border-top-1px:before{-webkit-transform:scale(.5);transform:scale(.5)}.border-right-1px:after{height:200%}.border-bottom-1px:after{width:200%;-webkit-transform:scale(.5);transform:scale(.5)}.border-left-1px:before{height:200%;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.border-top-1px:before{width:300%}.border-right-1px:after,.border-top-1px:before{-webkit-transform:scale(.333);transform:scale(.333)}.border-right-1px:after{height:300%}.border-bottom-1px:after{width:300%}.border-bottom-1px:after,.border-left-1px:before{-webkit-transform:scale(.333);transform:scale(.333)}.border-left-1px:before{height:300%}}@font-face{font-family:cube-icon;src:url(data:application/font-woff;base64,d09GRgABAAAAAB1cAAsAAAAAMLAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kuCY21hcAAAAYAAAAJIAAAFznTNepdnbHlmAAADyAAAFXoAACJ8UpoVEGhlYWQAABlEAAAALwAAADYRXoyBaGhlYQAAGXQAAAAcAAAAJAfeA8RobXR4AAAZkAAAABMAAAEMC+kAAGxvY2EAABmkAAAAiAAAAIgZwyI0bWF4cAAAGiwAAAAfAAAAIAFYAGVuYW1lAAAaTAAAAU4AAAJ5Hs+NonBvc3QAABucAAABvwAAAoA5w1OyeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKl5OYG7438AQw9zA0AAUZgTJAQDeJQwIeJzF1MlOFGEUhuG36RZkckQQxBkUZ0FkEBkVY0wQUVmwwgULTJSQgNrBgYXGDSy4BFde2pdwFfgdTm3cEhPrz9Ppru6/69QZCjgElO2mVaDmNyW/o/TLZ0v758s07J+vlNb9eYgL/t1pqqqoXo1qVos61Klu9alfwxrRtGY1rwUtaklvtaJVVbWp79re3dnb8z9UVVZdsbPVO7vU650D3jmqGc0VO5f13jvXtOGdW8XOgxwlRzzEA8aK9cTrKc+8Xni9YYl3xVph1WuDH14/93fWUsdh6p2jBhppopkjHOUYxzlBjfNykhZO0Uqb89FOB2fo5CznOO8cXeQSl+mimytcpYdrXOeGs3mL29zhLr30cY9+7jPAoCMcdowjPHRuRx3lOBNMMuUgag943//gKP2/S/99NMVLuaf45KxQLThElZOrhSrJdUMFVxAVXEtUiM5XY4oOV3MizrWkuLJaE/F9W3IfoNPJHYHak3sDdSR3CepM7hfUldw5qDvF5Kk3uZtQXyKu35/cYWggEbEMJiKWoUTEMpyIWEYSEctocneisUTENZ7csWgiuXfRZHIXo6nkfkaPkjsbPU7ucTSd3O1oJhH3+jwR9zqbPAtoLnkq0Mvk+UCvkicFvU6eGTSfPD1oIcXTSovJE4WWkmcLLSdPGXqbPG/ofSLyvZKIfK8mTyNaS0Tu15MnFH1IRB0+JqIOnxJRh2oi6rCRPNPocyJq8iV5ztHXFE9dfUtErTYTUavviajVViJqtZ38jGB3JzH1B0Vj++Z4nIVZC5QbV3me/17NQ6/Rc2ZW0mq1klYjr7W7tjV67CNee9d24pfwxjhZ2wFiJ7bkHJvQEAMB6tOFPEgIiYmBgkVyckzThAAhFIcESnqahj6A7BZoad2mKT0JsE4K9MAhhwPH0bj/vSNpH4RWZ3Tnzp07c//7P7//H0EUhMsv02dpjxAR1ggbhK3CjCCAVICMSpKQzpdGSAG0tKgZUZXms/m0nM2M0I1gZKSoXqyUTEOSpQCo0AdWuljJj5A8lEuTZAKKehIgloi/NZzrDdOPg6cn33envZN8DrRUtjcwOWzvGNoULfZHlPf5wuFYOPwxRRJFhRBXQIV3GrpbdHsk+xExENeeTQ2SFPhi+fjuA/7+RPjw3aWbkznDDTA3B5FEv/rYplA8hMcfx/VIOCYH/UpP3J8diML7fuLtifiS5o8F/LlYQz9I5gVJ0ISsUMWdGuURyEdlQ+sDQ68aUhYvK/kUbkjGkWLVqIKInagkG5NQxZsZ3oPfnYDx4bMlbDxqKTu46zCBL+9Rh6bDI/N37Nl563DrLIzgoKQczV8RWffCHblt6d3BDFw6Lg+PgytR7sETuEoaObxr8MczamZ/6eRpSLx7mDTuxaFg2n80s3fde+4nqne3IjGyOe2nyGcERYgK/Ui5Co4AKBKFpCGRKlCHbE4pXB4eH79ubGxk52FCDu/cxdpdd7wwMvLCHXeyFi7B+MFxPOyfw+Fduw6D036F3H/y5P2Et7gkQf14kT5KTSGAPBMgjSuEcIk0rhHCRfLIIYNe0bp7+AqAK4bJbfxs3/Ctne9v7aImDi2/1Xr33+L4zq4s7idXCkEhJGRQGkJOyuTBLFU3VIoG6FF5DFCpZMDRDTgKODoGxFJ0xf6yoiiaAm9V8C+DYj+BV4qM15r779tnWeaj8L6V8wVg65KvwouCB3djVqrpPgiAlIc9qHtQU0TxMbcbvi7HCInJp/EB/DnPPAP/xZ+ppECX5PQIVOG3bvdj+Jh9Hh+DC4py2nlM6MqrCRcFL8orIwiRPihWqus3jEBGElm/ZLY77UF5fR3GZ1ErWGPB2P4xPKC4NAZzQ2NjQ+3//qXuUJvGy4vkNRrH1ZDGYopx0I1NANpsJZ9WosoA8uU5mFaUASWi2B9VFBpm/ahiP20/ze4jS+fwzN/3OnmZ+lA67H1cIvgqfJEb3wZWwAzAdYGA/ecBsy8Ao/a3A6SlquwSx9S+XBBGYTSY6/KPDpEvIS+EiBvQcJG0vBs1UAQxb/8WlLx9yb6UR1H+lnxp5XWezeH8vLxIm7g/L2pijOt/V9VlmqUR3KZZqhT1KBGeeFUUX32Ct3cEKv5acE0wkBxK0nhnFNsn7YsQszf7fMHhZHJ4xfujwujK96OJ8TdLEXR2sgpJyJZLlWplE1TKJTNrypKWZdeGrkWlFcv/pZZMFpLJY761hiLJZVlUy0Z03Zpij1F5y44p01RX0NQ6Dmx2IQkJXz4a9IAvEAhK3tSIYaRM1JFE8cprAXKZjdoaoW2bHZrDqyiW0TDBWEHLvw48OPBekAdWLvkjk40qA6veZ/ze+/CN3NjlFS91D8ydGjjlHCtf/D+dYTyEVfwdXiU/xltUrUoky9oJKLfPRd0IWezmSqYGdb1f12fqPlX1xWKstXx+YJ2VImaz+nW7pBrqIv5V72UBT//XPiNpJmrmFFatKdlNtg7UVy9iXw3+Hj+wZrVM8qvendVUyJj5cpavYZUn2f406/fXOstfeZYtuNRdteqqu06Xr8/8Drko9Anj6FNxfdxSPoQUWGw1vM52/He5mpelfMbcyKhk16UKzkkRvYp6jO+YnbKFqVkCSX3Rx3boOw9rMzCfWQsN7dui6Al85II08cNrVK/ko0f3U0LPT80CzE7BRS0JjkzsBs7Gp45ff8s3KKje2cSH5M88lrrGE5DFt1/tAlHxCYLSpnlB8CEKiQlJpH0tYpG2FeY5n+QREJFGhBt45CsYdCwqZ1kILJfQNFTYBDjJzFfZvw+IcP3nt8xc+/1Xv3/tzJbP2+8pHB317Bg7HQ7sGR7bGKvH4hY6BH8sHvPPecaG9yjKP86M7fCMHiU1uKJSn965c/pIeeKzmRHfnFZ4v+KrZyOnoWafb6A9a2qPqvYcuitoNhTx4pHhyJxnPYtny/Q7ifS/uYanu6qOUrG4+7dUWCH+iOMz7Fd0fn5y98n4mH7NiWv0sfjJFUrwCm6he9gN2Ld1XbW6buu+NtZZRk+/MLiSHmA8ZYQADz0Oi6sZx4Gu1Eb7ro5TGtdGp0e1geSufbuSikPcSqX8mc6JsV/VYjGc19+fvOAQt6SXzwkixxEsKKVBL1ZRaqGOkpKwOqDaj5LX7cPBoRB8QISuDn7a64VB+1G/HyZ9XruGQ3gLvs73+Wvcpx95PiZMC7sYRinzTWkdrGJVWTy02oglq7F9b4SOq2FbTgL3MkaHAV1O0Lr9FLcx+ymchEsOnOnf23/G5GZh9zHPgmru91nYKXlV9VXHNV3rnMh93EXVIanZFj7ywVTqg4zsBS1pX1zxnJe/yUjpesqoOW5LQE517MKLPNMRRYzg7uQliYmOZZgZ2VhuCV2DwXm0ObPtsb9qm0Lr45Nnv3B2cubIL4+81NX/j5qHTxw29xijk6MG2XyksnFj5Qjq/w+KlUrxSK12savxX0lls6lGVIuG23jjJ/Qw6hfDorqEa+YREmF4lHQDO5UwQ6R9UMXxPqCD1f/UXLQ86nb19AxPF5QzN504eK9r3XavJ6VpQErrYd8/PE7E26qV28R0/6Y/ei8U7DtvBp9v8uTVN46Jytvl0qG2b23gmpJQQPYwC1IhpzFBZdNMZMynliv5KnNmjnftgxTTeiIUxmEexiHDmN2qs7YnATQVPDTL1Btm3xFOUVdfnDBI9c8KixaGqvgKCVn57qG7IyJqti5G7j703UCisGRfJaTFjbJJC2VENl1cDI6GMRXCvGmpD22Fq6Lhc5XDDGuBOcwSOk57zll0wTnZtaR+HnXHp57Xk60mqXEN4tpjc/IvrmwgpifjjpuOJ3VrKd9pktdRf3rRI125CoWu38CvRqGNP3Nch9ZvYMhUWx9hIYO2TZNajudABCAhT+ucZ6wh890u2E3H2hcD+/p3Wp6ZzXZz84zH2tm/L2DcKHk2bvRIN5L7GCf13l69c7Z4B//2omv/gD3XjiFzA/tdnrs8CE9D4Lmr6z9+jngU0UPEylV0LRSV8jmWsaGwxSoCc/bXA5jJIepdBzL+zU2QNx88CINaojdqXzio9wL0kv6w2713r9uNb9+7V1E6V7K8dy/CmxfD/sHWJwf94RfRcJtaMuHckFdMa18tYf3PkNcwehnMHnJVx60CZxbXiRIwjNrBkfQ0tc9JcTMu2Q8TBRIaWUDC7DOBUmDQ8aE3ieSakKaFWo+KPq8eRwZrbvgPjlkt7o+HE+11H+I84RGHc4W50y5XcjpLXdE4y2Y+wk4lHh01qXkABqOMF8iUAyxTT5KZAuiRQiAM2aeHYvHeWCGVdjFmBPLLmRGcvDp/ZdKITaSmK/bTxuChYuWGgrHhnVec5Pb5M+6L3UiPAKFsG3lAWtMZbs6b6yCE2MqIqADxOb6sTr5nL4Ac9RaDWnEMHpq6lmhkiPpt5jWhhEjCFpq9xZ5QKFM5fQ44Kvl2X6jN97YNBoQe1HCenWpdKyyZ0PXn6VCaCraAK7atLWn/t8PoZ3AhDJNISKvpGBipo8G1Y955WHRsfZ4+RUuI6CyhJEzhSpy/TphhkIol4wazEY2bVJnZziSUWHjtJuf5bB8pOkUEzNSbJd8z9/DQ8pFv+JwQsGrAvu7EA5Q+cMJpm7Bmx8yONSwGIfnNP/RQd8C+2H30xAOttVeuxYPvr5OPzVHK8qhIbhLtBQOFLFWlzAiUaQ7bUlWqNsnXIOb3SGRRdIESDWAsfATcQQXcJPwayF7VgNZ2jxuUoBvgbXUaiCrgWsLAH0K59Ag1XA51DvcsuVADNGQTi8iTLDCITDQF6KDildA/b06CjlEb5xksRbfak+lcNLjvwoZp+w09GKV9V7807Cn+++5+12WBxdM650Wdd3k7WpakaFTaZmyToh636Bod5ffIzcGkZO5xKUfdSm9447mZLzwue778uZlzL6DrrTE+1lhkxv8BT8QjeW691SO6pKhygI129vgUPYd7jDDNw5w4z7B2RCubOubKmBmauS6IeJv9Wty0P4XaFwRPDxjHGr+ygq1nHQgF34N4whVGBbQf9/lgstdePHbsNxsOXN+BTm09b3B+DgoVztEClLkeyVoWnXVH53NtXo44sEaTIlq6bJllRwVpHQODoxWWYwlNFnccgONVcTE4Zs9TylWMANpnw1GgRlK/LDjG4fBvVIoFmMvug9Faze93XHZb7keQzhyncgSybPWqs7ouW8tIlpdIdgIkkswjtkSPcLhEKJBrOR2um8gD72Q0axyBwVkctM+jIHwqDzuc0i4Vfn/8/yO6LT9k7L0UePwWkLxoAPLVii4bIMlZxsRSlbx2JhCovDQaGvzTl2zLpTyn+EAhv/p4MB8sXaiocNMFe5sLPMo3ZZ7CiCvyygT3FuiT2XZZxQAVXsuWuejQU6BPTBtRfQI07kqsNPcjZatY2QjN8w2v2oAk1Ruqt4Hx/40FWnpjHndUY8i3QRZwU7WajvC7PcFqP2E/U19AsfHbbCY+IbCqS5suiigyjpFiRChidrVV2ClcLexnflNLQ1lDOrJMPG0D1fJITm7VIBtDSWSrVsgKpcVlREM5rWU14BNDMm6qWrZIE4TL6G9oQp93vP18NEkb9TpmK8nuEJ5waKHRaC7U7QXCXPwcitRugrWAijA71WxY/VEEHefrcLY0Eol3noJ4ZKRRt5Zegyerflmo16FhW1bT4UDzsrBYnwOBXUJpgQ5Ty7FfJ2/IclTtCIYJKt3tLVdTzBwobpbBzHw5TetzqtfyqZcFTHO96pyTGxAnW96B+a5dwryX1MmjNZYA1JwWLTzexnCLuL1aLV0opJ9aWTPoXV0zcOL4HygUnPc5lYc3KxAgEFxky87zwoCj7w10JX7UTIzNnZyLxat2yQOTduY9aB3NyK6jOe362vzXWn+CIRoj4rZnfvjMNnjZ/kZ7B1eNb94MpsZ4rp3b+pa3bHVygp/Sh2iS1zvNyiYoViOVohHRLe7CJTmiM0iGPRNv5E9ILvfvZHpKDIqnqHzJ45K+6YKNRFUuKeIlxY9dGf5ODtKCAkRRbFsp0IDyRVGxf+Zxu26n9HbqUcBwd2POZeQhFXZzjTbzLOhUKyzymDLfFzvJEvohBkU0FosM3WDhCAeZ0laqnM8681eVvFll1+VJYorLC+ynwT2eUj0SyP171ipyT3W82iMra/f0y+BNpsZdkiR6l08RZfr7c1wSiPbx6naA7VXewgVFjJZio0lZSQ6pFN22FnGBOpRU5ImKpYEkRYa0ocLySeCK6HpEpP7hpEtpT9KGBoee77wT23ae9mv6Ya7njtQd32Yyq2YCLzCIEjIr1RxKSsRUbQ6li6ETVG/Tq6IS1ZnAgzmoeHrcMJaOwHP2Ag6pvvPtopBPZfpgRfsTv1GU38Qyndo3uch9a2p5ZkS7hb2oBJPskxEqdrreMZ5mk4XeJnrr1kEGDZlNvzFP4vbZdlbQsOtOekR42lBv58hPY46T4lWOtcznAgNbEmqyzLUAPZSZR1DGiluQZt8Ust0CfNb5iJKR6Fxo4tBL10+ENpBEzAhqwVIPQE8jqru3kc19YVfr+c0wUMnlKgPE3DxQHcADNm8fAxjbjglFJBzxK0CV3oSbhJQS5PytFxNs8kDCOS3hopNo5wn0v07+OgmMGZpj7+2SJya1TG3Rr5Y6oTsqo89ldaLT80kCETWtRhKfOHzDJxK8CyT+3dMz7/JSjN0nZ2dPEux43xWnX7yLsfPgLYTccpD17vriX8DR2qKkSrO3UnrrrN+/WDvawRcP0V7E0QlhCCmTMmimpU2d7wjU7JeloKH3VytBzAiZTypNEot/F6M3K1HltPMR4QFFefm4/Yvj9fpxiByvP5HZbzXuIeaW2WLjHmpisnXG+QTBTuQRnMXn3gSa/Z20Se5pWPu35Og9jeLskn/WEF8hBhLTIbTHCrdWLY1nJEPs1DVD5DW7PlbUQhu8URnAooOiQWZb7+a5nj7nh+a505VMKNRT7G1CMG5/i7vpdnJR78gljnJR2FoMx/GQXObhOr/M/NFxkDqMF1gxYb4wVNgA9OHbbnuYwvrBkaHa0BghY0OxWixGdhfzxybxBt6ePJYv7l5mEwGO4jDmrowuSzXwNPOcjPO8bIUWWW+VVgSY7zjA8QZbAOL+lDvgvnWz4hFPuAlZxBAjOKZCMNmZc5IYuxE1vH/m831gp9s9J4e4vH+JvA12a0odWixUREurdktlTqGaxZ2qU19JO0WxDkEW8fpf/ienGHbHAlOxBbTdv3EKFMCMmQaQpAbOeFRUxK9z+Iahb65bMz/rmHM7dnyWJlglJSfJEuc7P9ANW6wwjbLP67y+xCtLTnHJMNmlFkXJ0Ov15OTtm7bcVym/3dBcUaPo8gUjun/iSohNbaEub2TU6JnqjQzI6wfz7ndcpwao2wh4fRExYrytVP3Ytk23T04P0oA6ez01166XcuHe6R59LOwTXVu2JMRtG/16JOgL9XB9uUhrqC/BTryOomfRi5ug87moqzHQuu9ZWhq+gM7z30aKID17f/UqQq5yXDSNu57/5PZTIy95PD9ad2r7A8/b1eXe28nTPkv+mn2lyK2PlhlXNPYtr60dCFplYsmGFbEvTE1t++pVvb3YTE2ZAHJYNCiktj25dXq6t3d6euuT27o6+Dpq4ADmsQyh57PoIjFtNlgOuwTKl++ApV1OCYu7KtpEz3y6Iun2JSMII2eWqaZdd8ABb8Gn+vi3GWzIQTS1A26XGIEaQ/e7HR2NO8ks8LanPVf1LfnKOZ7bp5j9OziIwRT2EQNY7Yq5TFbKYul0rVVvpwfzXB1bP3A8IW9Zdt+uKyFUI/X2OPOBq7/ZGI5ffrMP6iug1xOPv+JyvfI4b5fjLjrQGcW2k2eQSfItbvcCprGVcqTCo68W4Us4AQh+kZY9fZhLvIOfjMRArpzLYUSR4WHZA+CR7cOywkMQRp5ODn8VOcq/9+bNjMwaRFbRFK+qV0p0c58UluzPP4JtnyT9QA5JcKeEsUyS7M89Jst9OPAvsgz3yqE2D35Kz9LYMn6H2vxG1ACssIK5e9tZ5emG1kNDEwATQ+TGoXFCxlu39A0O9pEb+9YArOmLw0SBHBliH66HWg8WJmgIB1sPOjfJETzjkv8L0s1XoQAAeJxjYGRgYADi3k8rFeL5bb4ycLMwgMB1+SV+CPr/FhYGZhMgl4OBCSQKACWiCcEAeJxjYGRgYG7438AQw8IAAkCSkQEVOAMAR0kCrHicY2FgYGB+ycDAwjCKAX3SAfUAAAAAAAB2ANQBEAE8AXgBkgGsAeQCDAIyAlQChALeAwYDNAN6A6gD6ARCBKQE7AU0BWAFzgYcBlYGnAbuB1QHogfeCCYIXgiSCPoJKgmcCdIKJgp8CqYK8gt8C8IL9AwmDGQM8A0qDWANtg4CDkwOgg60DvoPRA+aD84P9hBMEIIQsBDcEQQRPnicY2BkYGBwZohk4GYAASYg5gJCBob/YD4DABkJAb4AeJxtkbtOAkEUhv/lZliiBUZLnUYLDculMaGUBAo7C3pYZhfI3jI7S8Ij+Dw+g09gb+cz2PqzHCmQnczJ9//nsicZAG18wcH+u+Lds4Mm1Z4rOMONcJX+nXCN7AnX0cKTcIP+s7CLR7wIt3CJDSc4tSbVA96EHe7wLlzBBT6Eq/Q/hWvkb+E6rvEj3EDbORd2MXVuhVu4dwp3ZPTM6oWab9XKT5MgTazrF3Pd2alXHRbRzBz0Aaba5Ks0UX2vd/AmOtHmb1a+CQfWBiowaazGHKqjKFWZSdfat97S2mzY7Qbie34ac7URDDRmsIwLKMyxZVzBR4oEQRkt63wUzGl0DrlXqpBuxG5zIv/fmVIZ5NQ7pdDnM/VO1E2okrL2eK+cDxViQNdyN8Vr2BGTxrKp5j4RWSErc2s6Pn0Py7IrwxBdnuCo3iv/Hf8CUuVv1gAAeJxtUcd2GzEM1Hi5K1mW03vvfdN7T5wfgUh4xSeSkEmuFP99KNnH4MLBA2YwAAdbg6MYD/4fe9hCBYUaDYYYYRtj7GCCXZzASZzCaZzBWZzDeVzARVzCZVzBVVzDddzATdzCbdzBXdzDfTzAQzzCYzzBUzxDi+d4gZd4hdd4g7d4h/f4gI/4hM/4gq/4hu/4gZ/4hd/Yw58B/u7yIbc2LG2yU8c76+wYT9JBT5HbaLtZbhI71nm06J0zsgrNGvQL5SWympKe1xSjrGrtJLFaUQyjg55TthLqjUC9ihI6ZcO+NJG9LLkiY+o0KyOGQdqV3bd18tZxlcjU7Mk61ZEvYqVSzSRPguQCNa1FG1P8ZK6WtnjoMzeGQsexWYrrPVdTMhMv06LWLmYSyizrx4GWttuwR4n2S4UOq0ydcqLnTR/Wj2Jjs0qawvAgtloMjzQ5DoaiytbzOLIpPD3n0pUpDhPnbMteM/G8o+Oa3mqKRnlybuytjrIxUO5HUc9UJ2LqohjzcGF17svynlOijutN36i42FhUzs650eUAkZoFxyRhEqUPpp1KNBy3rV9IzBTylsx3j7/qqDQY/AOKiLF+AA==) format(\"woff\"),url(../fonts/cubeic.dcc2b6f.ttf) format(\"truetype\")}[class*=\" cubeic-\"],[class^=cubeic-]{font-family:cube-icon!important;font-size:100%;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cubeic-eye-invisible:before{content:\"\\E624\"}.cubeic-eye-visible:before{content:\"\\E625\"}.cubeic-square-right:before{content:\"\\E67D\"}.cubeic-select:before{content:\"\\E609\"}.cubeic-pulldown:before{content:\"\\E603\"}.cubeic-pullup:before{content:\"\\E604\"}.cubeic-more:before{content:\"\\E607\"}.cubeic-back:before{content:\"\\E608\"}.cubeic-arrow:before{content:\"\\E60B\"}.cubeic-close:before{content:\"\\E60D\"}.cubeic-warn:before{content:\"\\E614\"}.cubeic-question:before{content:\"\\E616\"}.cubeic-right:before{content:\"\\E617\"}.cubeic-wrong:before{content:\"\\E618\"}.cubeic-info:before{content:\"\\E619\"}.cubeic-remove:before{content:\"\\E61A\"}.cubeic-add:before{content:\"\\E61C\"}.cubeic-share:before{content:\"\\E631\"}.cubeic-no-wifi:before{content:\"\\E632\"}.cubeic-smile:before{content:\"\\E634\"}.cubeic-sad:before{content:\"\\E636\"}.cubeic-email:before{content:\"\\E637\"}.cubeic-game:before{content:\"\\E638\"}.cubeic-wifi:before{content:\"\\E639\"}.cubeic-hot:before{content:\"\\E63B\"}.cubeic-notification:before{content:\"\\E63D\"}.cubeic-delete:before{content:\"\\E63E\"}.cubeic-vip:before{content:\"\\E63F\"}.cubeic-mute:before{content:\"\\E640\"}.cubeic-danger:before{content:\"\\E641\"}.cubeic-volume:before{content:\"\\E642\"}.cubeic-bad:before{content:\"\\E643\"}.cubeic-mobile-phone:before{content:\"\\E644\"}.cubeic-aim:before{content:\"\\E645\"}.cubeic-navigation:before{content:\"\\E64D\"}.cubeic-safe-pay:before{content:\"\\E64E\"}.cubeic-tag:before{content:\"\\E64F\"}.cubeic-lock:before{content:\"\\E651\"}.cubeic-unlock:before{content:\"\\E652\"}.cubeic-edit:before{content:\"\\E653\"}.cubeic-scan:before{content:\"\\E654\"}.cubeic-qr-code:before{content:\"\\E655\"}.cubeic-calendar:before{content:\"\\E659\"}.cubeic-time:before{content:\"\\E65F\"}.cubeic-red-packet:before{content:\"\\E664\"}.cubeic-star:before{content:\"\\E668\"}.cubeic-setting:before{content:\"\\E669\"}.cubeic-home:before{content:\"\\E66D\"}.cubeic-credit-card:before{content:\"\\E66E\"}.cubeic-mall:before{content:\"\\E670\"}.cubeic-microphone:before{content:\"\\E673\"}.cubeic-search:before{content:\"\\E674\"}.cubeic-good:before{content:\"\\E675\"}.cubeic-alert:before{content:\"\\E676\"}.cubeic-picture:before{content:\"\\E677\"}.cubeic-message:before{content:\"\\E678\"}.cubeic-phone:before{content:\"\\E67A\"}.cubeic-location:before{content:\"\\E67B\"}.cubeic-like:before{content:\"\\E67C\"}.cubeic-camera:before{content:\"\\E67E\"}.cubeic-person:before{content:\"\\E67F\"}.cubeic-round-border:before{content:\"\\E683\"}.cubeic-important:before{content:\"\\E68B\"}.cubeic-ok:before{content:\"\\E68C\"}.cubeic-square-border:before{content:\"\\E990\"}"
  },
  {
    "path": "lib/style.css",
    "content": "a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-weight:400;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}a{color:#7e8c8d;text-decoration:none}li{list-style:none}body{-webkit-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{line-height:1;font-family:PingFang SC,STHeitiSC-Light,Helvetica-Light,arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.clear-fix:after{content:\"\";display:table;clear:both}.border-bottom-1px,.border-left-1px,.border-right-1px,.border-top-1px{position:relative}.border-bottom-1px:after,.border-bottom-1px:before,.border-left-1px:after,.border-left-1px:before,.border-right-1px:after,.border-right-1px:before,.border-top-1px:after,.border-top-1px:before{content:\"\";display:block;position:absolute;-webkit-transform-origin:0 0;transform-origin:0 0}.border-top-1px:before{border-top:1px solid #ebebeb;left:0;top:0;width:100%;-webkit-transform-origin:0 top;transform-origin:0 top}.border-right-1px:after{border-right:1px solid #f5f5f5;top:0;right:0;height:100%;-webkit-transform-origin:right 0;transform-origin:right 0}.border-bottom-1px:after{border-bottom:1px solid #ebebeb;left:0;bottom:0;width:100%;-webkit-transform-origin:0 bottom;transform-origin:0 bottom}.border-left-1px:before{border-left:1px solid #f5f5f5;top:0;left:0;height:100%;-webkit-transform-origin:left 0;transform-origin:left 0}.cube-safe-area-pb{padding-bottom:constant(safe-area-inset-bottom)!important;padding-bottom:env(safe-area-inset-bottom)!important}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.border-top-1px:before{width:200%}.border-right-1px:after,.border-top-1px:before{-webkit-transform:scale(.5);transform:scale(.5)}.border-right-1px:after{height:200%}.border-bottom-1px:after{width:200%;-webkit-transform:scale(.5);transform:scale(.5)}.border-left-1px:before{height:200%;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.border-top-1px:before{width:300%}.border-right-1px:after,.border-top-1px:before{-webkit-transform:scale(.333);transform:scale(.333)}.border-right-1px:after{height:300%}.border-bottom-1px:after{width:300%}.border-bottom-1px:after,.border-left-1px:before{-webkit-transform:scale(.333);transform:scale(.333)}.border-left-1px:before{height:300%}}@font-face{font-family:cube-icon;src:url(data:application/font-woff;base64,d09GRgABAAAAAB1cAAsAAAAAMLAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kuCY21hcAAAAYAAAAJIAAAFznTNepdnbHlmAAADyAAAFXoAACJ8UpoVEGhlYWQAABlEAAAALwAAADYRXoyBaGhlYQAAGXQAAAAcAAAAJAfeA8RobXR4AAAZkAAAABMAAAEMC+kAAGxvY2EAABmkAAAAiAAAAIgZwyI0bWF4cAAAGiwAAAAfAAAAIAFYAGVuYW1lAAAaTAAAAU4AAAJ5Hs+NonBvc3QAABucAAABvwAAAoA5w1OyeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKl5OYG7438AQw9zA0AAUZgTJAQDeJQwIeJzF1MlOFGEUhuG36RZkckQQxBkUZ0FkEBkVY0wQUVmwwgULTJSQgNrBgYXGDSy4BFde2pdwFfgdTm3cEhPrz9Ppru6/69QZCjgElO2mVaDmNyW/o/TLZ0v758s07J+vlNb9eYgL/t1pqqqoXo1qVos61Klu9alfwxrRtGY1rwUtaklvtaJVVbWp79re3dnb8z9UVVZdsbPVO7vU650D3jmqGc0VO5f13jvXtOGdW8XOgxwlRzzEA8aK9cTrKc+8Xni9YYl3xVph1WuDH14/93fWUsdh6p2jBhppopkjHOUYxzlBjfNykhZO0Uqb89FOB2fo5CznOO8cXeQSl+mimytcpYdrXOeGs3mL29zhLr30cY9+7jPAoCMcdowjPHRuRx3lOBNMMuUgag943//gKP2/S/99NMVLuaf45KxQLThElZOrhSrJdUMFVxAVXEtUiM5XY4oOV3MizrWkuLJaE/F9W3IfoNPJHYHak3sDdSR3CepM7hfUldw5qDvF5Kk3uZtQXyKu35/cYWggEbEMJiKWoUTEMpyIWEYSEctocneisUTENZ7csWgiuXfRZHIXo6nkfkaPkjsbPU7ucTSd3O1oJhH3+jwR9zqbPAtoLnkq0Mvk+UCvkicFvU6eGTSfPD1oIcXTSovJE4WWkmcLLSdPGXqbPG/ofSLyvZKIfK8mTyNaS0Tu15MnFH1IRB0+JqIOnxJRh2oi6rCRPNPocyJq8iV5ztHXFE9dfUtErTYTUavviajVViJqtZ38jGB3JzH1B0Vj++Z4nIVZC5QbV3me/17NQ6/Rc2ZW0mq1klYjr7W7tjV67CNee9d24pfwxjhZ2wFiJ7bkHJvQEAMB6tOFPEgIiYmBgkVyckzThAAhFIcESnqahj6A7BZoad2mKT0JsE4K9MAhhwPH0bj/vSNpH4RWZ3Tnzp07c//7P7//H0EUhMsv02dpjxAR1ggbhK3CjCCAVICMSpKQzpdGSAG0tKgZUZXms/m0nM2M0I1gZKSoXqyUTEOSpQCo0AdWuljJj5A8lEuTZAKKehIgloi/NZzrDdOPg6cn33envZN8DrRUtjcwOWzvGNoULfZHlPf5wuFYOPwxRRJFhRBXQIV3GrpbdHsk+xExENeeTQ2SFPhi+fjuA/7+RPjw3aWbkznDDTA3B5FEv/rYplA8hMcfx/VIOCYH/UpP3J8diML7fuLtifiS5o8F/LlYQz9I5gVJ0ISsUMWdGuURyEdlQ+sDQ68aUhYvK/kUbkjGkWLVqIKInagkG5NQxZsZ3oPfnYDx4bMlbDxqKTu46zCBL+9Rh6bDI/N37Nl563DrLIzgoKQczV8RWffCHblt6d3BDFw6Lg+PgytR7sETuEoaObxr8MczamZ/6eRpSLx7mDTuxaFg2n80s3fde+4nqne3IjGyOe2nyGcERYgK/Ui5Co4AKBKFpCGRKlCHbE4pXB4eH79ubGxk52FCDu/cxdpdd7wwMvLCHXeyFi7B+MFxPOyfw+Fduw6D036F3H/y5P2Et7gkQf14kT5KTSGAPBMgjSuEcIk0rhHCRfLIIYNe0bp7+AqAK4bJbfxs3/Ctne9v7aImDi2/1Xr33+L4zq4s7idXCkEhJGRQGkJOyuTBLFU3VIoG6FF5DFCpZMDRDTgKODoGxFJ0xf6yoiiaAm9V8C+DYj+BV4qM15r779tnWeaj8L6V8wVg65KvwouCB3djVqrpPgiAlIc9qHtQU0TxMbcbvi7HCInJp/EB/DnPPAP/xZ+ppECX5PQIVOG3bvdj+Jh9Hh+DC4py2nlM6MqrCRcFL8orIwiRPihWqus3jEBGElm/ZLY77UF5fR3GZ1ErWGPB2P4xPKC4NAZzQ2NjQ+3//qXuUJvGy4vkNRrH1ZDGYopx0I1NANpsJZ9WosoA8uU5mFaUASWi2B9VFBpm/ahiP20/ze4jS+fwzN/3OnmZ+lA67H1cIvgqfJEb3wZWwAzAdYGA/ecBsy8Ao/a3A6SlquwSx9S+XBBGYTSY6/KPDpEvIS+EiBvQcJG0vBs1UAQxb/8WlLx9yb6UR1H+lnxp5XWezeH8vLxIm7g/L2pijOt/V9VlmqUR3KZZqhT1KBGeeFUUX32Ct3cEKv5acE0wkBxK0nhnFNsn7YsQszf7fMHhZHJ4xfujwujK96OJ8TdLEXR2sgpJyJZLlWplE1TKJTNrypKWZdeGrkWlFcv/pZZMFpLJY761hiLJZVlUy0Z03Zpij1F5y44p01RX0NQ6Dmx2IQkJXz4a9IAvEAhK3tSIYaRM1JFE8cprAXKZjdoaoW2bHZrDqyiW0TDBWEHLvw48OPBekAdWLvkjk40qA6veZ/ze+/CN3NjlFS91D8ydGjjlHCtf/D+dYTyEVfwdXiU/xltUrUoky9oJKLfPRd0IWezmSqYGdb1f12fqPlX1xWKstXx+YJ2VImaz+nW7pBrqIv5V72UBT//XPiNpJmrmFFatKdlNtg7UVy9iXw3+Hj+wZrVM8qvendVUyJj5cpavYZUn2f406/fXOstfeZYtuNRdteqqu06Xr8/8Drko9Anj6FNxfdxSPoQUWGw1vM52/He5mpelfMbcyKhk16UKzkkRvYp6jO+YnbKFqVkCSX3Rx3boOw9rMzCfWQsN7dui6Al85II08cNrVK/ko0f3U0LPT80CzE7BRS0JjkzsBs7Gp45ff8s3KKje2cSH5M88lrrGE5DFt1/tAlHxCYLSpnlB8CEKiQlJpH0tYpG2FeY5n+QREJFGhBt45CsYdCwqZ1kILJfQNFTYBDjJzFfZvw+IcP3nt8xc+/1Xv3/tzJbP2+8pHB317Bg7HQ7sGR7bGKvH4hY6BH8sHvPPecaG9yjKP86M7fCMHiU1uKJSn965c/pIeeKzmRHfnFZ4v+KrZyOnoWafb6A9a2qPqvYcuitoNhTx4pHhyJxnPYtny/Q7ifS/uYanu6qOUrG4+7dUWCH+iOMz7Fd0fn5y98n4mH7NiWv0sfjJFUrwCm6he9gN2Ld1XbW6buu+NtZZRk+/MLiSHmA8ZYQADz0Oi6sZx4Gu1Eb7ro5TGtdGp0e1geSufbuSikPcSqX8mc6JsV/VYjGc19+fvOAQt6SXzwkixxEsKKVBL1ZRaqGOkpKwOqDaj5LX7cPBoRB8QISuDn7a64VB+1G/HyZ9XruGQ3gLvs73+Wvcpx95PiZMC7sYRinzTWkdrGJVWTy02oglq7F9b4SOq2FbTgL3MkaHAV1O0Lr9FLcx+ymchEsOnOnf23/G5GZh9zHPgmru91nYKXlV9VXHNV3rnMh93EXVIanZFj7ywVTqg4zsBS1pX1zxnJe/yUjpesqoOW5LQE517MKLPNMRRYzg7uQliYmOZZgZ2VhuCV2DwXm0ObPtsb9qm0Lr45Nnv3B2cubIL4+81NX/j5qHTxw29xijk6MG2XyksnFj5Qjq/w+KlUrxSK12savxX0lls6lGVIuG23jjJ/Qw6hfDorqEa+YREmF4lHQDO5UwQ6R9UMXxPqCD1f/UXLQ86nb19AxPF5QzN504eK9r3XavJ6VpQErrYd8/PE7E26qV28R0/6Y/ei8U7DtvBp9v8uTVN46Jytvl0qG2b23gmpJQQPYwC1IhpzFBZdNMZMynliv5KnNmjnftgxTTeiIUxmEexiHDmN2qs7YnATQVPDTL1Btm3xFOUVdfnDBI9c8KixaGqvgKCVn57qG7IyJqti5G7j703UCisGRfJaTFjbJJC2VENl1cDI6GMRXCvGmpD22Fq6Lhc5XDDGuBOcwSOk57zll0wTnZtaR+HnXHp57Xk60mqXEN4tpjc/IvrmwgpifjjpuOJ3VrKd9pktdRf3rRI125CoWu38CvRqGNP3Nch9ZvYMhUWx9hIYO2TZNajudABCAhT+ucZ6wh890u2E3H2hcD+/p3Wp6ZzXZz84zH2tm/L2DcKHk2bvRIN5L7GCf13l69c7Z4B//2omv/gD3XjiFzA/tdnrs8CE9D4Lmr6z9+jngU0UPEylV0LRSV8jmWsaGwxSoCc/bXA5jJIepdBzL+zU2QNx88CINaojdqXzio9wL0kv6w2713r9uNb9+7V1E6V7K8dy/CmxfD/sHWJwf94RfRcJtaMuHckFdMa18tYf3PkNcwehnMHnJVx60CZxbXiRIwjNrBkfQ0tc9JcTMu2Q8TBRIaWUDC7DOBUmDQ8aE3ieSakKaFWo+KPq8eRwZrbvgPjlkt7o+HE+11H+I84RGHc4W50y5XcjpLXdE4y2Y+wk4lHh01qXkABqOMF8iUAyxTT5KZAuiRQiAM2aeHYvHeWCGVdjFmBPLLmRGcvDp/ZdKITaSmK/bTxuChYuWGgrHhnVec5Pb5M+6L3UiPAKFsG3lAWtMZbs6b6yCE2MqIqADxOb6sTr5nL4Ac9RaDWnEMHpq6lmhkiPpt5jWhhEjCFpq9xZ5QKFM5fQ44Kvl2X6jN97YNBoQe1HCenWpdKyyZ0PXn6VCaCraAK7atLWn/t8PoZ3AhDJNISKvpGBipo8G1Y955WHRsfZ4+RUuI6CyhJEzhSpy/TphhkIol4wazEY2bVJnZziSUWHjtJuf5bB8pOkUEzNSbJd8z9/DQ8pFv+JwQsGrAvu7EA5Q+cMJpm7Bmx8yONSwGIfnNP/RQd8C+2H30xAOttVeuxYPvr5OPzVHK8qhIbhLtBQOFLFWlzAiUaQ7bUlWqNsnXIOb3SGRRdIESDWAsfATcQQXcJPwayF7VgNZ2jxuUoBvgbXUaiCrgWsLAH0K59Ag1XA51DvcsuVADNGQTi8iTLDCITDQF6KDildA/b06CjlEb5xksRbfak+lcNLjvwoZp+w09GKV9V7807Cn+++5+12WBxdM650Wdd3k7WpakaFTaZmyToh636Bod5ffIzcGkZO5xKUfdSm9447mZLzwue778uZlzL6DrrTE+1lhkxv8BT8QjeW691SO6pKhygI129vgUPYd7jDDNw5w4z7B2RCubOubKmBmauS6IeJv9Wty0P4XaFwRPDxjHGr+ygq1nHQgF34N4whVGBbQf9/lgstdePHbsNxsOXN+BTm09b3B+DgoVztEClLkeyVoWnXVH53NtXo44sEaTIlq6bJllRwVpHQODoxWWYwlNFnccgONVcTE4Zs9TylWMANpnw1GgRlK/LDjG4fBvVIoFmMvug9Faze93XHZb7keQzhyncgSybPWqs7ouW8tIlpdIdgIkkswjtkSPcLhEKJBrOR2um8gD72Q0axyBwVkctM+jIHwqDzuc0i4Vfn/8/yO6LT9k7L0UePwWkLxoAPLVii4bIMlZxsRSlbx2JhCovDQaGvzTl2zLpTyn+EAhv/p4MB8sXaiocNMFe5sLPMo3ZZ7CiCvyygT3FuiT2XZZxQAVXsuWuejQU6BPTBtRfQI07kqsNPcjZatY2QjN8w2v2oAk1Ruqt4Hx/40FWnpjHndUY8i3QRZwU7WajvC7PcFqP2E/U19AsfHbbCY+IbCqS5suiigyjpFiRChidrVV2ClcLexnflNLQ1lDOrJMPG0D1fJITm7VIBtDSWSrVsgKpcVlREM5rWU14BNDMm6qWrZIE4TL6G9oQp93vP18NEkb9TpmK8nuEJ5waKHRaC7U7QXCXPwcitRugrWAijA71WxY/VEEHefrcLY0Eol3noJ4ZKRRt5Zegyerflmo16FhW1bT4UDzsrBYnwOBXUJpgQ5Ty7FfJ2/IclTtCIYJKt3tLVdTzBwobpbBzHw5TetzqtfyqZcFTHO96pyTGxAnW96B+a5dwryX1MmjNZYA1JwWLTzexnCLuL1aLV0opJ9aWTPoXV0zcOL4HygUnPc5lYc3KxAgEFxky87zwoCj7w10JX7UTIzNnZyLxat2yQOTduY9aB3NyK6jOe362vzXWn+CIRoj4rZnfvjMNnjZ/kZ7B1eNb94MpsZ4rp3b+pa3bHVygp/Sh2iS1zvNyiYoViOVohHRLe7CJTmiM0iGPRNv5E9ILvfvZHpKDIqnqHzJ45K+6YKNRFUuKeIlxY9dGf5ODtKCAkRRbFsp0IDyRVGxf+Zxu26n9HbqUcBwd2POZeQhFXZzjTbzLOhUKyzymDLfFzvJEvohBkU0FosM3WDhCAeZ0laqnM8681eVvFll1+VJYorLC+ynwT2eUj0SyP171ipyT3W82iMra/f0y+BNpsZdkiR6l08RZfr7c1wSiPbx6naA7VXewgVFjJZio0lZSQ6pFN22FnGBOpRU5ImKpYEkRYa0ocLySeCK6HpEpP7hpEtpT9KGBoee77wT23ae9mv6Ya7njtQd32Yyq2YCLzCIEjIr1RxKSsRUbQ6li6ETVG/Tq6IS1ZnAgzmoeHrcMJaOwHP2Ag6pvvPtopBPZfpgRfsTv1GU38Qyndo3uch9a2p5ZkS7hb2oBJPskxEqdrreMZ5mk4XeJnrr1kEGDZlNvzFP4vbZdlbQsOtOekR42lBv58hPY46T4lWOtcznAgNbEmqyzLUAPZSZR1DGiluQZt8Ust0CfNb5iJKR6Fxo4tBL10+ENpBEzAhqwVIPQE8jqru3kc19YVfr+c0wUMnlKgPE3DxQHcADNm8fAxjbjglFJBzxK0CV3oSbhJQS5PytFxNs8kDCOS3hopNo5wn0v07+OgmMGZpj7+2SJya1TG3Rr5Y6oTsqo89ldaLT80kCETWtRhKfOHzDJxK8CyT+3dMz7/JSjN0nZ2dPEux43xWnX7yLsfPgLYTccpD17vriX8DR2qKkSrO3UnrrrN+/WDvawRcP0V7E0QlhCCmTMmimpU2d7wjU7JeloKH3VytBzAiZTypNEot/F6M3K1HltPMR4QFFefm4/Yvj9fpxiByvP5HZbzXuIeaW2WLjHmpisnXG+QTBTuQRnMXn3gSa/Z20Se5pWPu35Og9jeLskn/WEF8hBhLTIbTHCrdWLY1nJEPs1DVD5DW7PlbUQhu8URnAooOiQWZb7+a5nj7nh+a505VMKNRT7G1CMG5/i7vpdnJR78gljnJR2FoMx/GQXObhOr/M/NFxkDqMF1gxYb4wVNgA9OHbbnuYwvrBkaHa0BghY0OxWixGdhfzxybxBt6ePJYv7l5mEwGO4jDmrowuSzXwNPOcjPO8bIUWWW+VVgSY7zjA8QZbAOL+lDvgvnWz4hFPuAlZxBAjOKZCMNmZc5IYuxE1vH/m831gp9s9J4e4vH+JvA12a0odWixUREurdktlTqGaxZ2qU19JO0WxDkEW8fpf/ienGHbHAlOxBbTdv3EKFMCMmQaQpAbOeFRUxK9z+Iahb65bMz/rmHM7dnyWJlglJSfJEuc7P9ANW6wwjbLP67y+xCtLTnHJMNmlFkXJ0Ov15OTtm7bcVym/3dBcUaPo8gUjun/iSohNbaEub2TU6JnqjQzI6wfz7ndcpwao2wh4fRExYrytVP3Ytk23T04P0oA6ez01166XcuHe6R59LOwTXVu2JMRtG/16JOgL9XB9uUhrqC/BTryOomfRi5ug87moqzHQuu9ZWhq+gM7z30aKID17f/UqQq5yXDSNu57/5PZTIy95PD9ad2r7A8/b1eXe28nTPkv+mn2lyK2PlhlXNPYtr60dCFplYsmGFbEvTE1t++pVvb3YTE2ZAHJYNCiktj25dXq6t3d6euuT27o6+Dpq4ADmsQyh57PoIjFtNlgOuwTKl++ApV1OCYu7KtpEz3y6Iun2JSMII2eWqaZdd8ABb8Gn+vi3GWzIQTS1A26XGIEaQ/e7HR2NO8ks8LanPVf1LfnKOZ7bp5j9OziIwRT2EQNY7Yq5TFbKYul0rVVvpwfzXB1bP3A8IW9Zdt+uKyFUI/X2OPOBq7/ZGI5ffrMP6iug1xOPv+JyvfI4b5fjLjrQGcW2k2eQSfItbvcCprGVcqTCo68W4Us4AQh+kZY9fZhLvIOfjMRArpzLYUSR4WHZA+CR7cOywkMQRp5ODn8VOcq/9+bNjMwaRFbRFK+qV0p0c58UluzPP4JtnyT9QA5JcKeEsUyS7M89Jst9OPAvsgz3yqE2D35Kz9LYMn6H2vxG1ACssIK5e9tZ5emG1kNDEwATQ+TGoXFCxlu39A0O9pEb+9YArOmLw0SBHBliH66HWg8WJmgIB1sPOjfJETzjkv8L0s1XoQAAeJxjYGRgYADi3k8rFeL5bb4ycLMwgMB1+SV+CPr/FhYGZhMgl4OBCSQKACWiCcEAeJxjYGRgYG7438AQw8IAAkCSkQEVOAMAR0kCrHicY2FgYGB+ycDAwjCKAX3SAfUAAAAAAAB2ANQBEAE8AXgBkgGsAeQCDAIyAlQChALeAwYDNAN6A6gD6ARCBKQE7AU0BWAFzgYcBlYGnAbuB1QHogfeCCYIXgiSCPoJKgmcCdIKJgp8CqYK8gt8C8IL9AwmDGQM8A0qDWANtg4CDkwOgg60DvoPRA+aD84P9hBMEIIQsBDcEQQRPnicY2BkYGBwZohk4GYAASYg5gJCBob/YD4DABkJAb4AeJxtkbtOAkEUhv/lZliiBUZLnUYLDculMaGUBAo7C3pYZhfI3jI7S8Ij+Dw+g09gb+cz2PqzHCmQnczJ9//nsicZAG18wcH+u+Lds4Mm1Z4rOMONcJX+nXCN7AnX0cKTcIP+s7CLR7wIt3CJDSc4tSbVA96EHe7wLlzBBT6Eq/Q/hWvkb+E6rvEj3EDbORd2MXVuhVu4dwp3ZPTM6oWab9XKT5MgTazrF3Pd2alXHRbRzBz0Aaba5Ks0UX2vd/AmOtHmb1a+CQfWBiowaazGHKqjKFWZSdfat97S2mzY7Qbie34ac7URDDRmsIwLKMyxZVzBR4oEQRkt63wUzGl0DrlXqpBuxG5zIv/fmVIZ5NQ7pdDnM/VO1E2okrL2eK+cDxViQNdyN8Vr2BGTxrKp5j4RWSErc2s6Pn0Py7IrwxBdnuCo3iv/Hf8CUuVv1gAAeJxtUcd2GzEM1Hi5K1mW03vvfdN7T5wfgUh4xSeSkEmuFP99KNnH4MLBA2YwAAdbg6MYD/4fe9hCBYUaDYYYYRtj7GCCXZzASZzCaZzBWZzDeVzARVzCZVzBVVzDddzATdzCbdzBXdzDfTzAQzzCYzzBUzxDi+d4gZd4hdd4g7d4h/f4gI/4hM/4gq/4hu/4gZ/4hd/Yw58B/u7yIbc2LG2yU8c76+wYT9JBT5HbaLtZbhI71nm06J0zsgrNGvQL5SWympKe1xSjrGrtJLFaUQyjg55TthLqjUC9ihI6ZcO+NJG9LLkiY+o0KyOGQdqV3bd18tZxlcjU7Mk61ZEvYqVSzSRPguQCNa1FG1P8ZK6WtnjoMzeGQsexWYrrPVdTMhMv06LWLmYSyizrx4GWttuwR4n2S4UOq0ydcqLnTR/Wj2Jjs0qawvAgtloMjzQ5DoaiytbzOLIpPD3n0pUpDhPnbMteM/G8o+Oa3mqKRnlybuytjrIxUO5HUc9UJ2LqohjzcGF17svynlOijutN36i42FhUzs650eUAkZoFxyRhEqUPpp1KNBy3rV9IzBTylsx3j7/qqDQY/AOKiLF+AA==) format(\"woff\"),url(./fonts/cubeic.dcc2b6f.ttf) format(\"truetype\")}[class*=\" cubeic-\"],[class^=cubeic-]{font-family:cube-icon!important;font-size:100%;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cubeic-eye-invisible:before{content:\"\\E624\"}.cubeic-eye-visible:before{content:\"\\E625\"}.cubeic-square-right:before{content:\"\\E67D\"}.cubeic-select:before{content:\"\\E609\"}.cubeic-pulldown:before{content:\"\\E603\"}.cubeic-pullup:before{content:\"\\E604\"}.cubeic-more:before{content:\"\\E607\"}.cubeic-back:before{content:\"\\E608\"}.cubeic-arrow:before{content:\"\\E60B\"}.cubeic-close:before{content:\"\\E60D\"}.cubeic-warn:before{content:\"\\E614\"}.cubeic-question:before{content:\"\\E616\"}.cubeic-right:before{content:\"\\E617\"}.cubeic-wrong:before{content:\"\\E618\"}.cubeic-info:before{content:\"\\E619\"}.cubeic-remove:before{content:\"\\E61A\"}.cubeic-add:before{content:\"\\E61C\"}.cubeic-share:before{content:\"\\E631\"}.cubeic-no-wifi:before{content:\"\\E632\"}.cubeic-smile:before{content:\"\\E634\"}.cubeic-sad:before{content:\"\\E636\"}.cubeic-email:before{content:\"\\E637\"}.cubeic-game:before{content:\"\\E638\"}.cubeic-wifi:before{content:\"\\E639\"}.cubeic-hot:before{content:\"\\E63B\"}.cubeic-notification:before{content:\"\\E63D\"}.cubeic-delete:before{content:\"\\E63E\"}.cubeic-vip:before{content:\"\\E63F\"}.cubeic-mute:before{content:\"\\E640\"}.cubeic-danger:before{content:\"\\E641\"}.cubeic-volume:before{content:\"\\E642\"}.cubeic-bad:before{content:\"\\E643\"}.cubeic-mobile-phone:before{content:\"\\E644\"}.cubeic-aim:before{content:\"\\E645\"}.cubeic-navigation:before{content:\"\\E64D\"}.cubeic-safe-pay:before{content:\"\\E64E\"}.cubeic-tag:before{content:\"\\E64F\"}.cubeic-lock:before{content:\"\\E651\"}.cubeic-unlock:before{content:\"\\E652\"}.cubeic-edit:before{content:\"\\E653\"}.cubeic-scan:before{content:\"\\E654\"}.cubeic-qr-code:before{content:\"\\E655\"}.cubeic-calendar:before{content:\"\\E659\"}.cubeic-time:before{content:\"\\E65F\"}.cubeic-red-packet:before{content:\"\\E664\"}.cubeic-star:before{content:\"\\E668\"}.cubeic-setting:before{content:\"\\E669\"}.cubeic-home:before{content:\"\\E66D\"}.cubeic-credit-card:before{content:\"\\E66E\"}.cubeic-mall:before{content:\"\\E670\"}.cubeic-microphone:before{content:\"\\E673\"}.cubeic-search:before{content:\"\\E674\"}.cubeic-good:before{content:\"\\E675\"}.cubeic-alert:before{content:\"\\E676\"}.cubeic-picture:before{content:\"\\E677\"}.cubeic-message:before{content:\"\\E678\"}.cubeic-phone:before{content:\"\\E67A\"}.cubeic-location:before{content:\"\\E67B\"}.cubeic-like:before{content:\"\\E67C\"}.cubeic-camera:before{content:\"\\E67E\"}.cubeic-person:before{content:\"\\E67F\"}.cubeic-round-border:before{content:\"\\E683\"}.cubeic-important:before{content:\"\\E68B\"}.cubeic-ok:before{content:\"\\E68C\"}.cubeic-square-border:before{content:\"\\E990\"}.cube-btn{display:block;margin:0;padding:17px 16px;width:100%;text-align:center;white-space:nowrap;cursor:pointer;font-size:16px;line-height:1;color:#fff;background:#4a4c5b;outline:none;border:none;border-radius:2px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.cube-btn.cube-btn_active,.cube-btn:active{background:#444654}.cube-btn>i{display:inline-block;margin-right:4px;font-size:100%;-webkit-transform:scale(1.13);transform:scale(1.13);-webkit-transform-origin:right center;transform-origin:right center}.cube-btn-inline{width:auto;display:inline-block;vertical-align:middle;padding:9px 10px;font-size:12px}.cube-btn-inline>i{margin-right:2px;-webkit-transform:scale(1.14);transform:scale(1.14)}.cube-btn-primary{color:#fff;background:#fc9153}.cube-btn-primary.cube-btn_active,.cube-btn-primary:active{background:#e8864c}.cube-btn-light{color:#666;background:#fcfcfc;box-shadow:0 1px 3px rgba(0,0,0,.1)}.cube-btn-light.cube-btn_active,.cube-btn-light:active{background:#e8e8e8}.cube-btn-outline{color:#666;background:transparent;position:relative}.cube-btn-outline:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline.cube-btn_active,.cube-btn-outline:active{background:rgba(0,0,0,.08);position:relative}.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary{color:#fc9153;background:transparent;position:relative}.cube-btn-outline-primary:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary.cube-btn_active,.cube-btn-outline-primary:active{background:rgba(252,145,83,.08);position:relative}.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e8864c;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled{color:#fff;background:#ccc;position:relative}.cube-btn_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled.cube-btn_active,.cube-btn_disabled:active{background:#ccc;position:relative}.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-tip{display:-webkit-box;display:-webkit-flex;display:flex;z-index:10;position:absolute;padding:10px 38px 10px 16px;max-height:60px;font-size:12px;color:#fff;background:rgba(74,76,91,.8);border-radius:2px;-webkit-transition:opacity .2s;transition:opacity .2s}.cube-tip[data-dir=bottom] .cube-tip-angle,.cube-tip[data-dir=top] .cube-tip-angle{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.cube-tip[data-dir=top] .cube-tip-angle{top:0}.cube-tip[data-dir=top] .cube-tip-angle:before{margin-top:-6px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.cube-tip[data-dir=bottom] .cube-tip-angle{bottom:0}.cube-tip[data-dir=bottom] .cube-tip-angle:before{margin-bottom:-6px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cube-tip[data-dir=left] .cube-tip-angle,.cube-tip[data-dir=right] .cube-tip-angle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.cube-tip[data-dir=left] .cube-tip-angle{left:0}.cube-tip[data-dir=left] .cube-tip-angle:before{margin-left:-9px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.cube-tip[data-dir=right] .cube-tip-angle{right:0}.cube-tip[data-dir=right] .cube-tip-angle:before{margin-right:-9px;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cube-tip-angle{position:absolute}.cube-tip-angle:before{content:\"\";display:block;border-width:0 6px 6px;border-style:solid;border-color:transparent transparent rgba(74,76,91,.8)}.cube-tip-close{position:absolute;right:14px;top:12px;width:12px;height:12px;padding:0;color:inherit;outline:none;border:none;background:none;-webkit-transform:scale(1.3);transform:scale(1.3)}.cube-tip-content{min-height:18px;line-height:18px;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;overflow:hidden}.cube-tip-zoom-enter-active{-webkit-animation:tip-in .4s;animation:tip-in .4s}.cube-tip-zoom-leave-active{-webkit-animation:tip-out .2s;animation:tip-out .2s}@-webkit-keyframes tip-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes tip-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes tip-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0);opacity:0}}@keyframes tip-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0);opacity:0}}.cube-checkbox{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-checkbox[data-pos=right] .cube-checkbox-ui{margin-right:0;position:absolute;right:0}.cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:1.42em}.cube-checkbox-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-checkbox-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-checkbox-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;border-radius:50%}.cube-checkbox-ui.cubeic-square-border{border-radius:2px}.cube-checkbox-ui:before,.cube-checkbox-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-checkbox-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-checkbox-ui i{position:absolute;top:0;left:0;color:transparent;-webkit-transform:scale(.4);transform:scale(.4)}.cube-checkbox_checked .cube-checkbox-ui:before{color:transparent}.cube-checkbox_checked .cube-checkbox-ui i{color:#fc9153;-webkit-transform:scale(1.23);transform:scale(1.23)}.cube-checkbox_disabled .cube-checkbox-ui{background-color:#eee}.cube-checkbox_disabled .cube-checkbox-ui:before,.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transition:none;transition:none}.cube-checkbox_disabled .cube-checkbox-ui:before{color:transparent}.cube-checkbox_disabled .cube-checkbox-ui i{color:#eee}.cube-checkbox_checked.cube-checkbox_disabled .cube-checkbox-ui{background-color:#fff}.cube-checkbox-hollow i{width:100%;height:100%}.cube-checkbox-hollow i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:currentColor;border-radius:2px}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui:before{color:#fc9153}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:#fc9153}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui{background-color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui:before{color:#eee}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled.cube-checkbox_checked .cube-checkbox-ui i{color:#eee}.cube-toolbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:2;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.cube-toolbar-group{display:-webkit-box;display:-webkit-flex;display:flex;height:44px;overflow:hidden;box-sizing:border-box;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.24);background-color:#fcfcfc}.cube-toolbar-group-more{margin-bottom:10px}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down{position:absolute;top:44px;right:9%;height:10px;color:#fcfcfc;font-size:24px;font-family:cube-icon;font-style:normal;text-shadow:0 1px 3px #e8e8e8;-webkit-transform:scale(1.3);transform:scale(1.3)}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down:before{content:\"\\E603\";position:relative;top:-10px}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down:after{content:\"\";display:block;position:absolute;left:30%;top:50%;margin-top:-6px;width:40%;height:2px;background-color:#fcfcfc}.cube-toolbar-group-more .cube-toolbar-item:last-child:active .cube-toolbar-down{color:#e8e8e8}.cube-toolbar-group-more .cube-toolbar-item:last-child:active .cube-toolbar-down:after{background-color:#e8e8e8}.cube-toolbar-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background-color:#fcfcfc}.cube-toolbar-item:last-child{position:static}.cube-toolbar-item:last-child:after{display:none}.cube-toolbar-item:active{background-color:#e8e8e8}.cube-toolbar-item:active:after{border-color:transparent}.cube-toolbar-item .cube-toolbar-chb{height:44px;padding:0;font-size:12px;background-color:transparent}.cube-toolbar-item .cube-toolbar-chb .cube-checkbox-wrap{padding:0;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-toolbar-item .cube-toolbar-chb .cube-checkbox-wrap .cube-checkbox-ui{position:relative;left:auto;margin-right:.42em}.cube-toolbar-item .cube-btn{position:relative;padding:0 5px;background-color:transparent;border:0 none;color:#666;font-size:12px}.cube-toolbar-item .cube-btn:active{background-color:transparent}.cube-toolbar-item .cube-btn:active:after{display:none}.cube-toolbar-item .cube-btn i{margin-right:0}.cube-toolbar-item .cube-btn i.cubeic-more{color:#999;font-size:16px}.cube-tab-bar{position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-tab-bar,.cube-tab-bar_inline .cube-tab{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-tab-bar_inline .cube-tab{-webkit-align-content:center;align-content:center}.cube-tab-bar-slider{position:absolute;left:0;bottom:0;height:2px;width:20px;background-color:#e8864c}.cube-tab{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:7px 0;color:#666;text-align:center}.cube-tab_active{color:#e8864c}.cube-tab-panels{position:relative;overflow:hidden}.cube-tab-panels-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:all .4s cubic-bezier(.86,0,.07,1);transition:all .4s cubic-bezier(.86,0,.07,1)}.cube-tab-panel{width:100%;-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.cube-checkbox-group{z-index:1;overflow:hidden;background-color:#fff}.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:after,.cube-checkbox-group .cube-checkbox:last-child .cube-checkbox-wrap:before{display:none}.cube-checkbox-group[data-col=true],.cube-checkbox-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checkbox-group[data-col=true]:after,.cube-checkbox-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checkbox-group[data-col=true] .cube-checkbox,.cube-checkbox-group[data-horz=true] .cube-checkbox{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-checkbox-group[data-col=true] .cube-checkbox:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:after{border-color:#ccc}.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-col=true] .cube-checkbox:last-child:before,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:after,.cube-checkbox-group[data-horz=true] .cube-checkbox:last-child:before{display:none}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-checkbox-group[data-col=true] .cube-checkbox[data-pos=right] .cube-checkbox-label,.cube-checkbox-group[data-horz=true] .cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:0}.cube-checkbox-group[data-col=true] .cube-checkbox-wrap,.cube-checkbox-group[data-horz=true] .cube-checkbox-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-checkbox-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-checkbox-group[data-col=true] .cube-checkbox{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-checkbox-group[data-col=true] .cube-checkbox:after{display:none}.cube-checker-item{display:inline-block;vertical-align:top;text-align:center;padding:8px 10px;margin-right:10px;color:#666;background:#fff;border-radius:4px;position:relative}.cube-checker-item:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fcfcfc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active{color:#fc9153;background:rgba(252,145,83,.04);position:relative}.cube-checker-item_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_active.cube-checker-item_disabled{background:#eee;position:relative}.cube-checker-item_active.cube-checker-item_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:200%;height:200%;border-radius:8px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-checker-item_active.cube-checker-item_disabled:after{width:300%;height:300%;border-radius:12px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checker-item_disabled{color:#ccc}.cube-radio-group{z-index:1;overflow:hidden;background-color:#fff}.cube-radio-group .cube-radio:last-child .cube-radio-wrap:after,.cube-radio-group .cube-radio:last-child .cube-radio-wrap:before{display:none}.cube-radio-group[data-col=true],.cube-radio-group[data-horz=true]{display:-webkit-box;display:-webkit-flex;display:flex;padding-left:0;position:relative;border-radius:2px}.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-radio-group[data-col=true]:after,.cube-radio-group[data-horz=true]:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-radio-group[data-col=true] .cube-radio,.cube-radio-group[data-horz=true] .cube-radio{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;text-align:center;padding-left:10px;padding-right:10px}.cube-radio-group[data-col=true] .cube-radio:after,.cube-radio-group[data-horz=true] .cube-radio:after{border-color:#ccc}.cube-radio-group[data-col=true] .cube-radio:last-child:after,.cube-radio-group[data-col=true] .cube-radio:last-child:before,.cube-radio-group[data-horz=true] .cube-radio:last-child:after,.cube-radio-group[data-horz=true] .cube-radio:last-child:before{display:none}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-ui,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-ui{position:relative;margin-left:.42em;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.cube-radio-group[data-col=true] .cube-radio[data-pos=right] .cube-radio-label,.cube-radio-group[data-horz=true] .cube-radio[data-pos=right] .cube-radio-label{margin-right:0}.cube-radio-group[data-col=true] .cube-radio-wrap,.cube-radio-group[data-horz=true] .cube-radio-wrap{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-radio-group[data-col=true]{-webkit-flex-wrap:wrap;flex-wrap:wrap}.cube-radio-group[data-col=true] .cube-radio{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.cube-radio-group[data-col=true] .cube-radio:after{display:none}.cube-radio{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-radio[data-pos=right] .cube-radio-ui{margin-right:0;position:absolute;right:0}.cube-radio[data-pos=right] .cube-radio-label{margin-right:1.42em}.cube-radio-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-radio-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-radio-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;color:transparent;background-color:transparent;border-radius:50%}.cube-radio-ui:before,.cube-radio-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-radio-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-radio-ui i{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;border-radius:50%;-webkit-transform:scale(.4);transform:scale(.4)}.cube-radio-ui i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%) scale(.8);transform:translate(-50%,-50%) scale(.8);border-radius:50%}.cube-radio_selected .cube-radio-ui{background-color:#fc9153}.cube-radio_selected .cube-radio-ui:before{color:transparent}.cube-radio_selected .cube-radio-ui i{-webkit-transform:scale(1);transform:scale(1)}.cube-radio_selected .cube-radio-ui i:before{background-color:#fff}.cube-radio_disabled .cube-radio-ui{background-color:#eee}.cube-radio_disabled .cube-radio-ui:before,.cube-radio_disabled .cube-radio-ui i{-webkit-transition:none;transition:none}.cube-radio_disabled .cube-radio-ui:before{color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui,.cube-radio-hollow.cube-radio_selected .cube-radio-ui{background-color:transparent}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui i:before,.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.cube-radio-hollow.cube-radio_selected .cube-radio-ui:before{color:#fc9153}.cube-radio-hollow.cube-radio_selected .cube-radio-ui i:before{background-color:#fc9153}.cube-radio-hollow.cube-radio_disabled .cube-radio-ui:before{color:#eee}.cube-radio-hollow.cube-radio_disabled.cube-radio_selected .cube-radio-ui i:before{background-color:#eee}.cube-input{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:14px;line-height:1.429;background-color:#fff;position:relative}.cube-input:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-input:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-input:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-input-field{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%;min-width:0;padding:10px;box-sizing:border-box;color:#666;line-height:inherit;background-color:inherit;border-radius:2px;outline:none}.cube-input-field::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-input-field+.cube-input-append .cube-input-clear:first-child,.cube-input-field+.cube-input-append .cube-input-eye:first-child{margin-left:-5px}.cube-input_active:after{border-color:#fc9153}.cube-input-append,.cube-input-prepend{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-input-clear,.cube-input-eye{width:1em;height:1em;line-height:1;padding:10px;box-sizing:content-box;color:#999}.cube-input-clear>i,.cube-input-eye>i{display:inline-block;-webkit-transform:scale(1.2);transform:scale(1.2)}.cube-input-eye>.cubeic-eye-invisible,.cube-input-eye>.cubeic-eye-visible{-webkit-transform:scale(1.4);transform:scale(1.4)}.cube-textarea-wrapper{-webkit-transition:height .2s;transition:height .2s;height:40px;font-size:14px;line-height:1.429;position:relative}.cube-textarea-wrapper textarea::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-textarea-wrapper:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea-wrapper:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea-wrapper:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea_expanded{height:80px}.cube-textarea_active{position:relative}.cube-textarea_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea-indicator{position:absolute;bottom:7px;right:10px;color:#ccc}.cube-textarea{width:100%;height:100%;text-align:left;padding:10px;box-sizing:border-box;font-size:100%;line-height:inherit;color:#666;background-color:#fff;border-radius:2px;resize:none;border:none;outline:none}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}.cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-select{box-sizing:border-box;padding:10px 20px 10px 10px;border-radius:2px;font-size:14px;line-height:1.429;color:#666;background-color:#fff;position:relative}.cube-select:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select>span{display:inline-block}.cube-select_active{position:relative}.cube-select_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-select_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-select_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-select_active .cube-select-icon{-webkit-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.cube-select_disabled{color:#b8b8b8;background-color:rgba(0,0,0,.04);cursor:not-allowed}.cube-select-placeholder{color:#ccc}.cube-select-icon{position:absolute;right:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-style:solid;border-color:#999 transparent transparent;border-width:4px 4px 0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.cube-switch{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-switch .cube-switch-input{position:absolute;z-index:1;width:48px;height:28px;opacity:0}.cube-switch .cube-switch-input:checked+.cube-switch-ui{border-color:#fc9153;background-color:#fc9153}.cube-switch .cube-switch-input:checked+.cube-switch-ui:before{-webkit-transform:scale(0);transform:scale(0)}.cube-switch .cube-switch-input:checked+.cube-switch-ui:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.cube-switch .cube-switch-input:disabled+.cube-switch-ui{opacity:.3}.cube-switch .cube-switch-ui{position:relative;display:block;width:48px;height:28px;box-sizing:content-box;border:1px solid #e4e4e4;border-radius:28px;background-color:#e4e4e4}.cube-switch .cube-switch-ui:after,.cube-switch .cube-switch-ui:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:28px;background-color:#fff;-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28),-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28)}.cube-switch .cube-switch-ui:after{width:28px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cube-switch .cube-switch-label{display:block;margin-left:10px}.cube-switch .cube-switch-label:empty{margin-left:0}.cube-rate{list-style:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;vertical-align:top;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%}.cube-rate-justify{width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.cube-rate-item{position:relative;width:32px;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;margin-right:6px}.cube-rate-item:after{content:\"\";display:block;padding:50% 0}.cube-rate-item:last-child{margin-right:0}.cube-rate-item .cube-rate-item-def{position:absolute;width:100%;height:100%;background-size:100%;background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAsVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHx8cAAADt7e2ysrJ6enoAAADu7u7MzMzBwcGHh4cAAAAAAADa2trS0tLExMS+vr42NjYAAADv7+/r6+vq6uro6Ojm5ubKysq8vLwAAADr6+vf39/c3NzPz8+1tbWrq6vo6Ojm5ubOzs6vr6+RkZHj4+Pi4uLV1dW4uLienp6ampplZWVWVlbv7+8EiCYnAAAAOnRSTlMAPCsDJgsGOg4hNyMapgj3jGQX/K2eah4Sx7eim0ow/fHv6uGqlzTz0820j4Xo5LGJcNzYvZR7eFpV7G3f4gAAAcpJREFUSMeVVulyskAQdBZwWQ4F5FREjUeiMdd3JvP+DxZCUVskzMrSf+mu3pqZnmGigG1PxoGxcXw7DK1xBsvLKAsLcANjLMwXxNjU589gg7iAmb7BAWv4rr7BAmvMYapr4GODlabF9MugseB6Fu4KW5SZnsEcW2y5oSEQCUocNSwMfo8ST86wRVZiB4/ewPtzj++6gr3j2bSJYUcuc9Zvj3v8hl9BunaYG3VkhhWJmpq+xucdkrg7H16/ZCKyapmA8OoXdziIp8K/hiDqQQjuURPbwGwKHzzr8feBmDTw4EGH/wCyxhEUw/wCoolEDn+G+EvIv60V/nKbH3P7x55wDrf4vmP1cnlK1PzkNCPmqCpV/GNFRs+oLor3MMWQWyEt+FBF2wtowb9ctV6WiicJheC0V8xEpUgzII050IL8DRVQHJeM7px6FbBCOXj0qeDbDmfXzffziVzy753YHx3n2Mn5mmpddJXRLXlmGBkvZdj/U61z47aICRdGU2bBk3l7KajWVb+xxmIFrvSfurBqbsWZUW2rP238li4lJhw2tSsnbn+KGIM569XChJhsnff3AozsqMVgGfRbx1JJ77uztN860775syIFn72pvWujU85XAAAAAElFTkSuQmCC)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAvVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsbGQkJCenp4AAADu7u7i4uKVlZWIiIgAAADm5uajo6OTk5N1dXVlZWXn5+fc3Nza2trW1tbPz8+urq7t7e3j4+PT09PCwsJMTEzr6+vo6Ojh4eHf39/Ly8u/v7+5ubmqqqqamprr6+vR0dGnp6daWlrY2NjGxsaAgIArKyvp6em1tbXv7+8lBY1eAAAAPnRSTlMAPQI5EicFOwgLFzUeMiQsGw6LcHov+tl1ayHhfnJhWubNx7+ziPbdup9R8evW0ayblIV387aCVsKjZ0fujx+LC04AAAL3SURBVFjDrZjXcuJAFAXdGgkJZXIwYGywCc457c7/f9bKwFIEoxkJ9TPVdUo6dy6jEw0qlZNiiKJiPBUoFxMIrCI8ZSgmkkW1WkQkB26G4BQQ6FLKJ8ICAg2lnGCXjhSFPMmEHt2jA01kwu2xkUJ6ckEd/xhPyaa1FJ0jjCNE3STQijb+UYHu5IqLYyL5PMs1feK8HkNwLteM8Izcgdpygxpu7kAXm6LXvJFi+nKLDm7OQB/bonuCPCKXmtyhg5kjkMd0V/RJo4hACYPMkYyyx3hfNKNRNrQVpm95sAy0HwkCyzedVJ2TKAKWDP7KX6mescAOrNh09qfTjK2GzYKz3mx02pQHaU5GD/X/ukYYm6XVHo3DhmDB+/PDtJUodLhqTR/b7ywQia5yYtrAvP84vr2SmXm5HT/W5oBtJpFs6k15BM06orLYyYL2S37PdR9RXr0tj85NXs9NB89Zv7SAwTCfZzggKG28/gbvp3k8p3Mapa0+R3xPsntuv4mMncmw4Dyr5wKs/VkJYZTNU4Xu72c91Ywe/9AhzaW+5xLcw4cZT7qeN+yUQ8606emOReJJoSKoX2mMRftnLFIpC/rqPIuxUOB4zNTPORkLJSY1legMR2tTP6pEz1pbyVIXfKb1H9dDeaKcE6k9Jebqkx/b0HjWdalkQFkp6vKpM6+uUtTgTi16xVKufhuNETnFU98XB1IDUFXb1Tvc2pjKOr7qiGb4yjrur6VWK3slSyB3uP+Cr/vdfw+IjKM/7kAQQGe8cwAoKunzIDeY1iAwE38AtenWkaSoZLR5axj1wVv93vWg/7GRVHHvFlyv12gbhGusm+oKaK+X8YQg/S58JpfcPYOIja3SxwLqqwFqplfS5W35wusgfGNvfnwBvWUZaqmVDLn/maQe2N3Sr/Xo2vD2U7WH1EoGtOTwaa35VRUClzfyIq2SBvypAqGT+iAtoHqdVskKHcBaaFSqedpOigGrrPV1KgLclNGPlJp1+ojwsCjTd0JzS/QPzjyulaV+8pQAAAAASUVORK5CYII=)}}.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAilBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyoEd/G7AAAALXRSTlMA+fUzFQ/vioT9vJE9tqNmLRsL2KuYe005JiID6ebhoJtxbF/qzMSxWx9FQgn3q32nAAABYUlEQVRIx5XV2XKDMAwFUJt9h5BAyL5vbe///14zNMShWNg+T8wgwSAZiRGShJmJUrN4G7CNEm7AzCS+ABAuDBJmeMr04xchnvhSO2GHVqUbv+Ro8YlmQoUXXy9+wrsEy9FKiPEW6MQ7lkjwXKbm40Ot9wJh/aNMCNBzVDz+++ihZ5Mn8lK5TR5Ha0htojhvxOeX9slPt1Dapv7JLhnzQxgIfbbaw0C1EnVREp0/QNOBvZw4NPA7e5tbULLmvbnlQcFrWI+9xqhNMfgvR3s3fUh+tClIF0d6nK4gRC41UAkPJpeDMCfnF4EaN+RXX+XxLt3klTThCwRqudQgUKMgBYFaFR5IU+kWwafzGZ9kR+MOwavLsvYUrYtFFQO3LXNgjY7xSxcev9/vxLw7fsP48u8erya9M7/nVOuSdk5ly0EtsnbSFUwQs2ZWSLf8DUAu2eWpzQh2hB37L2vYiGTfXf0Cn7ynb0Flqc0AAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAApVBMVEUAAAD/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uyr/uypACjwZAAAANnRSTlMA+/T4lygF8CQaCQPp39ShckQv2s63pz0RDe7lw6yPgX14aGJcTjMXyZxsILyyVFFJQIiFOYkbrXkuAAACJ0lEQVRYw62Y55KCMBSFQxMRxEKx17XvWrad93+03UFHRTC5Sfx+M9/AwD0nF0ag02GvIUle41kBq5eI9sDoFZ42AMNh+qT4p6HvcQz8Y7xrixrIsHU9VQMZlqcpsnFhrOfxLFww11qiMa5MdDxrE1fcnoboC3fM1D1dE3cENWXRBDl2qp6eixyDiqJohgfe1Dy1AA9EvpKoiQILpRsaoECoIpqjhKW8p1JHCRt50RtKacneTztCKUOnQlU4h8koMvAUK0ynx6rPTcPlLI0tkDDjxuxUDHKv1dxuTEhjbrbNlncp9p097EOL/tDeddjSwguwlox9utDG/cwOCQE0CdqXMq1Di3r1+tJCaBB7d+G8gTLDbi4zEiiyrz1MRgolGoXR820oMOaUjwhCZ+4gh/G0VRaG1Fgc2VNOptRYcPghB0GwEhyGB+SxEPAegUDoMSEtEKiqNLVqUY5A4JsgIoXTh9izptWHLxQdQaItFP2CxFwoGhJzSOTxidMWifdFIl3hOY3ISbjncaHvOBEytD/JHj3XfPnRj2OU4HBFUxQID4wdQkBun0gKSbjIHsFfFGZ5yxU9RPZgXrlW8XwgsQVU8/nezPV6rRnkWo23mi5ww50WruxNXeLZ3b4FznfpDHS/brM45YhinLHG66fBN7ZwJuFsVsb56W2PW1jb82V9zs+0TNMQdo2TZiqH20QjhxFo77mf5AjJihH5+eD8Cko7TIJWTvQHI0vKWTT1X7EAAAAASUVORK5CYII=)}}.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAIKUlEQVRoBcVZb1BUVRQ/d/8CIoIIrNJAhbkCRf79wExhmeIgqahBHxSdiWxsnAlNPzWjSTOV4+hoo31w1LJsmik/9EGnGRjFELOc0XAIWTUNAQnjnyCEC7v7br/zhA3Wfcsj39Zl7u7j3vvOPb97/t1zliiMTVbOXADyk8K4BZnCRVyefTKCfOYy0E9FD9s+YSNMnsiFYPsFMB+FHjYphAWAvPBEJAnT22QV5tLS0kwAcIRLCmEBQH2xL5KgPBpQaNOmTW/GxsYmAMBEdMOb4QDkzpcsRHIrmfGHlpiYOHf79u3z8DjFcO5B0HAA9EJbtqr7ilT5jYiIsObm5ubFxcVNxUC00SDUUzKKqLw010oPPGVkN80j70MAfyWtJ6hQMoDUnz59uhl79Ri1H9MxVgI97tkkRCENKn4epZRksVjs+fn5yyIjI9mYI/2TBjwYC0Chd8ksIujh4fvZ8/l85HA4srdu3ZqFwST/hAEPhgGQVc/PJrPMpX8O388eA4iOjo5cuXLlUqvVmogJjg2GNENsQO6EKibHvwfdX0Ce0cfvnlaiMqooCk2cODFZCFF7/vz5FgzeNwKBMRJYMGMGXGcx+32txgCioqKiV69enQdbYI8UobV2POPGAPBaSslqmhSo+4GMsCqlpKQsWL9+vRNzhsSFxwYgK51ORN2CYLofCMDr9bIaxRYXFy/FHNuCLXDNeP9/bADksxSTTTjIN1r3tRgZHByktLS03A0bNqRjTbzWOr3jCPvja7L6uTjyDCaCcb7fpENt3go03FAU2RZiYmImr1mzZsnhw4drsdaH7kYfRPcM/Y8vfU1oLZNn+U7TG0tu90z4mAwyKTOJxNPoyTDYZKjNVLJBgBy0Qhx+97wfH9nCZFIF33/u3Lkj+/bt+6G2trarp6fH7fF4+rH4AToDGv4ewDODDLqLUE900BtD0pRIUk5DJHWSIp8Dg3wNTgXDuBrLCLIIgSAFUqDDzobvOkFJYm5ECwaAp81mM7FRwy76oFYMoKmjo6Ph9u3bjU1NTa0NDQ1dFy9e7Kyrq7uH5X3oDIrBcGdJcfcKWZFejLv7zocnOhTmVQYxPXQhw5MuZtV1AR9aAHgZYoK/s1QYFH/39/f7BgYGOt1udweeO7q7u1uam5ubXC7X7TNnzrRWV1d34HVWuUYhT86NIrv7fbLIbSSFaRTTvMtjtlAAtEgziJGAWFJQL4mxgStXrpxYvnz5ZwDVgPebVRvAfUtQeSZ8Oe3Gk1WvR9FiYOT4vwEw8n1+Zsmw8YP5L9euXfv5nTt3rmH4Ls+pXgiShDZf3S8rMh5Az/eQSUQbLQne7N80lgRutB7Yw+dLliz5AjRuorcN0xoVB0Ru/SGc/htQ+HvIZ4fX/G/fNpuNDX2goqJiH5g/Akauo/uZZ8ZGAeABgDgBj7QOCcldeB4e+l8aM9/X19d66tSpjwoLC78GE3zynYHMPAKAF4hFdafwVQR3+TuibOA7Yf8f2Rv19vY27969e8e6deu+w4ZssOxOH2lBAfAqsai+mnzidRqUrv8ShN1up66urub9+/d/sHfv3p/Byu/omldvTQAqiNy6SySUAtjFRbKHXxJ88nCPt3bt2rUD/SfwwGrzF/Oi1UIC4JfEoms34AZeJ49SFU7DZp1va2u7VlZWtvPAgQPM/G/oHH1DtjEB8NviFVcjmXyvkZdOws3quECE3PORSaSZHH1b9+zZ8/GhQ4eY+VvoHGnHbLoAMBXx8o0OgNgLdfIi2BnaOFDB47QfO3aMjZXTTa/eDXQDUAl6zXPVSG2wDDjRgf5PWbZsmQP7jCvhHx8AQbPC4ZH4roN8OXHWrFnTwgZAns2MhjHP0HOF1iv+4XVc/EKib3E6nU9hjMuPupVUvwQeUAridqqaWgzvbOA3q1FqaqoTBs0AdOfK+gHYAMAikoy8qY7EzwASEhLS4+PjuQxvHzkX6lk/AIWy4EJ1izbUpsHm+LoMQ07Kzs7mcovumpEuAGq+IGT2cMU5GANaYxyg+HrA2ddYDe7UhsLX81inuwCsCwCdyI6AWc3WU/vxM8n8Ioe+fPny8fb29noGgCq1JhA2ZOi/afr06c4hAGMjxkJ9AGI64X1kErqfv5APD2+wXvIpP+Xk5Hy4atWqLeXl5btwz7mBBEWyRII1Tl4mT56cCo8Uh3ldhqwPgMk8H0cXmuDQifOp4wb7I8CW0D3Xi2DkOqRwuaio6DjSwW1VVVUHOJ/l60OgRDgeoIrtwG8JU/GeLjXSCUDMRw0IuV2wc8MYZ28MwCd/gZ0UU78vTyx2fSmK/E6XE5HrYP4Cou1hAClFTejg/fv37zAIBsONAeD0HVlZWRyRJ6iDY3yMWZmT32bacJrPBGWeT1tlnK4ihz5K/coRseJ6r8aeXJxiIN2VlZWd6I0FBQU/bN68OT8jIyNvwoQJjqGIbEXpEcUzFQBT1zo2TOmIePL7Z9PIqlRCNVL8MYBTTSbtkTcB7iD839cip6Zdpaj/g4+da6NJK1aseAa/3uQjEufjV82Empqa7+fMmbMDc7+ih7yVMhshmyxPz0Hp/AxOmF0IPAuW+6gRHukrsiufihxXa0gCY0+ybbHKTNm4cWN6SUlJIQw5Dcb/TktLyyWMa0lUpTw2gNOZmyhSHFRPf0D5A1W8oxDqEbH4apNKwbgPDl6qRLZs2TIbZZSOC2gYCylZHQAyjpPF9Cp5lW9QrfhELK5zGcdzUEp8nWYvxFL5E53TSs0W0oiHDPgujHOhWFpfo0nF2AmuUHNGxvUflggfsqYh/w0Dks+ZwQ7q7wAAAABJRU5ErkJggg==)}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-rate-item_half_active .cube-rate-item-def{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAJmUlEQVR4AeVcfUxW1xk/5wUjdBQESxdcxdExpSioLUQGo1IRSjNmjN1H3Wg2t8nWlWUjzRhrl7GMZFqzYGpMOs2M/uHHMlejCzpaa9Rtjm6tc5sC2rEVFG2sHco3KLx3v9/1Xnx5+bof73vv1T7J855z7j0fz/nxnI/nnOcihIdIeTM9H+LEekgk4fOSMEIRL0KeZC/J5BmAlNfTHgMwJeB48Me8ApJnABIRvpoAUB4KiLsa9QRASsPCxRhenw9A4kHEPaFFngAIM2G1Ds7BgwdXaXFPaJHrACmvZ6QJqXxBB2jZsmVf1eLUoij9uVuh6wAJn//H6HykDkBUVFTS/v37OVmTXNciVwHC3JMqhPKV21jc+c3JyXlGS30c4Yw7b5yPuQqQiFBeQJdHtUfvfkxMzMO7d+9+AmnK56oWuQaQ8saCOej8Oh2U4DA/P1/XIuZzTYtcA0jIyB+i4zODgdHTsbGxj+zcuZOmB2VM0p87HboCkPLmIswtyvrpOgstelrL8wmErsjqSqNCjFSiw9NuBGfPnv3o1q1bc5CX85Qrc5HjACn1GfFCkRXosCEqLi5eo2V0RYscB0hEjfwAHZ5We3T0EhMTc6BF2UhTixyfixwFSPnzgvuhPd/XO280XLFihW6ncUVzVGZHGxMDkc9jco4zCoyeLykpqWDz5s08DqHpkag/dyJ0DCDlLw9FAxxOzpYIWlSsFeSBmmNyO9aQ6I97Dh2jAWqJkpOTn9q4cWMmCjuqRY4ApGqPopoVlsDRCxUWFtL8IHFFc4QcAUj0xn4NveEEa4tSU1Of1rSIq2CCrcoMFg47QMo7j83AjPEjg/JMm2358uXcOJLm3g7C+xt2gMT1gWdxnPrJUHUjLS2trKqqCsck6vVQ2LUobABRc9SzZnHnODVUIJWWlj6u1UUt4nALWz+kXaHVIfS/m58SEf5FWMYzoC0LUSdXmxTwuLOe6dq7kXVquizq+w0bNnxj06ZNrQGZ+xAnD4B7wf3gm2A/2DKZAkg9AfSJdCHBiliMs+QFaDkdPOmxhVnJjALEek+ePPnLI0eOnNm+ffulSdohOASMwBE0xgncINgQTQiQepjl86HjvkzgjxCaIVXNoDqHlcwApAuiKMqtvr6+Sz09PRevXr3a2tbW9l5jY2PbNMARMF3jCFwP+JZepx5K9T5ckYsBAofGIhUIRb3d1PM4GloBaDIB/X7/AIHr6upqv3z58rutra3tp06dat+3b9/7k5QZxnNqmA5cj1TeWLgKQ+W3eBiyYTJJ44YehxKgyRocHh7u7e/vv9TZ2fkfaFx7S0tL67Fjx9rr6+s/DCjD4dmiDjHl6KICaNBBsGlDMqDCkESdAGgiQTlMDx069LN169b9Ce+pSU3gbnV5lEXnTgj/SCEefAD+yBE0qnvv3r3VAeD8CyB0E4jR/YN88vxp4Y9YjjmojS8+KjQ0NPThjh07XqyoqHgbfebqdgbMOUilUYCYkk+ePQ9NysMSTvW652lwcPD9urq6qurqamoMQfkHeMwWYAxAREQWX7gibkbkA6S/MX2v0sDAwMX169c/r202OZzOgsct8+MAIiCy9Ox1EdNdgGgD0/cadXd3txQVFZVrq9Z19G9CcNjvCQHiC5nbMSDio1fhDPk3TN8rdO3atbfmzZv37aamJu53uCg1gyc1RyYFiIDIrNO3xI2mMkR/xfTdTjRN5s+fX6X1owPhBfCk4DDflAAxg/ySGJFFzc9hdfs503crEZzVq1f/XpO/HeF7RvoyLUB6JXJlM3wI5ff09N0UHj9+/OUAcN6F7BeNym8YIFYoi5q2YnV7FlHuNO8KamhoqF2zZs1hCMuhxO3LVTOCmwKIFcvi5t0YmPQj5L7Bs0TTAf6OL61du/YohFTtKoSdZgU2DRAbkIXNfxDSX4R5iUuk50gzHV4KMB24ATQNDjtmCSAWlCvPN4ph+QSiV5j2ClFzNNPhLcg0znQwK6dlgNiQLGn6pxj25yH6b7MNhyv/iRMn6qYyHcy2awsgNiafOt+G86Tvmm04XPkxKdOuInEDOM50UN+Y+LEN0O22cDTrEcrKytLvy+4LhUihAUhRckMhTCjqwL1ZmlZPSA7/QgOQFHRN8QTNmTNH1+aQXDDYBkh1yAzhzaldlOPj4x/R6qAG2e6f7QpwwOaZ4UVgfD5ftHY1zb7BJ8ke2QdI+HLsiRD60rm5uelarTF2a7cPkPTOBK2DkZKSwjs+0qzbgfVfWwDhNi0CTS+13nx4SsIzVgco1m4LtgASsQvhsGDcpdeusEbLR0dHJ2t56a5n6zsPewD5lM8YFdrpfJqHPpu9307b9gCS0rMAZWZmhmSitgeQCL0GwUODJ362KWDDaGsesgyQ6jUvxKdt9ySoArj7fmvLli3fgSfGa0GvTCXj4uLmawVcGmKDvmWmJDaW+Qyy9dXU1DRnZ2e/sm3btgr4+tQbKzo2V2RkZEx5eTkNV3q5WTY7LGsQ9qyhm3941S3lF3F78ig683cwz477eK6zdOnSTbt27ars6Ojg0akpKikp0e0yyxtG6wCFwoKnowQvAW40L5Yrm34X0PtOxAkU56PBysrK0xkZGbV79ux5Af48dE8xRAEbRsvDTPUPMtRaUCZ4pnWic/w/G1boCsrWioToHerl5NQ18I+YCH4YrDqFcgmHdjzDD+6mKtrb2/vfuXPnfh15eMFAwE2TJYBUZ84Ixcox6wcYSi+L+7peVa+2zYlLoJLA3ASqQPGb1oKCgi/PmjVLH0pjauT5dEJCAv2eSDyjNn3CaG2I+RSTBqrsAjA/FdEjqRhKdRbAYQd5dXMZ/Fcwb0aHeWuBYVRx+PDhmom2B1LKGdpnVMhubcNoDSAp8tiiAerD1dAvxJAvBcDUys9eoCepXSJQF8HvgHm/7i8rKzvO7QEvCenWgmejtGTJEt0uszRRWxtiR9M5nqcyUoeEkK9CazbKledM3WSO9sx4hLbWPDCHn0oHDhz4HI48vjlz5swH6M2hOSzwDu+clsVwYBog9dOmvthutKDOA0Et8Ur610IZqVUdsYJehjlJw5RAPai3w/8kk5eXVw7rvhTPKFuj/s5oaB4g/p8xRfwxqAE0LveKEVGLu7LWoHdOJ8cAhe86HoDZEa05lb8NYXiZaJgm0oJpCstsuAsH5nkNzp8/Uf0bA5+6FycAF8Ccn1LgRRYoCc+pwwzQnQ1ig/D7AQy8Y71J3PtwzokFc2vAPRs3jKbmRPMapMhbwqc8Dn8hwztaCOUmcb4kUAkam5Ll/3eOxdjOBHY1AAAAAElFTkSuQmCC)}}.cube-validator .cube-checkbox,.cube-validator .cube-input input,.cube-validator .cube-radio,.cube-validator .cube-select,.cube-validator .cube-textarea{color:inherit}.cube-validator-msg-def{font-size:14px;color:#e64340}.cube-upload{position:relative}.cube-upload-def{margin-right:-10px}.cube-upload-def .cube-upload-btn,.cube-upload-def .cube-upload-file{float:left;margin:0 10px 10px 0}.cube-upload-btn{position:relative;overflow:hidden}.cube-upload-btn:active .cube-upload-btn-def{background-color:rgba(0,0,0,.04)}.cube-upload-input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;font-size:0;opacity:0}.cube-upload-btn-def{width:80px;height:80px;box-sizing:border-box;background-color:#fff;box-shadow:0 0 6px 2px rgba(0,0,0,.08);border-radius:2px;position:relative}.cube-upload-btn-def:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e5e5e5;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-upload-btn-def:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-upload-btn-def:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-upload-btn-def>i:after,.cube-upload-btn-def>i:before{content:\"\";position:absolute;top:50%;left:50%;width:20px;height:2px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#666}.cube-upload-btn-def>i:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.cube-upload-file{position:relative}.cube-upload-file-def{position:relative;width:80px;height:80px;box-sizing:border-box;background:#fff no-repeat 50%;background-size:cover;border-radius:2px}.cube-upload-file-def>.cubeic-wrong{position:absolute;z-index:2;top:-2px;right:-2px;color:rgba(0,0,0,.8);font-size:16px;background-color:#fff;border-radius:50%}.cube-upload-file-def>.cubeic-wrong:before{display:inline-block;-webkit-transform:scale(1.625);transform:scale(1.625);-webkit-transform-origin:center;transform-origin:center}.cube-upload-file-state{position:relative;width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden;opacity:0;background-color:rgba(37,38,45,.4);border-radius:2px;-webkit-transition:opacity .1s;transition:opacity .1s}.cube-upload-file-state:before{content:\".\";position:relative;left:-50%;display:block;width:1px;height:1px;margin-left:-1px;background-color:rgba(0,0,0,.1)}.cube-upload-file_stat{opacity:1}.cube-upload-file-status{position:relative;z-index:1;font-size:30px;display:none}.cube-upload-file-status.cubeic-right{display:block;color:#fc9153}.cube-upload-file-status.cubeic-warn{display:block;color:#f43530}.cube-upload-file-status.cubeic-right:after,.cube-upload-file-status.cubeic-warn:after{content:\"\";z-index:-1;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:.56em;height:.56em;border-radius:50%;background-color:#fff}.cube-upload-file-status.cubeic-right+.cube-upload-file-progress,.cube-upload-file-status.cubeic-warn+.cube-upload-file-progress{display:none}.cube-upload-file-progress{color:#fff;font-size:20px}.cube-form{position:relative;font-size:16px;line-height:1.429;color:#666;background-color:#fff}.cube-form_groups .cube-form-group-legend{padding:10px 15px}.cube-form_groups .cube-form-group-legend:empty{padding-top:5px;padding-bottom:5px}.cube-form_standard .cube-form-item{min-height:46px}.cube-form_standard .cube-form-field{-webkit-box-flex:1;-webkit-flex:1;flex:1;font-size:14px}.cube-form_standard .cube-validator{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:relative}.cube-form_standard .cube-validator_invalid{color:#e64340}.cube-form_standard .cube-validator-content{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-form_standard .cube-validator-msg-def{font-size:0}.cube-form_standard .cube-validator_invalid .cube-validator-msg:before{content:\"\\E614\";padding-left:5px;font-family:cube-icon!important;font-size:20px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.cube-form_standard .cube-form-label{width:100px;padding-right:10px}.cube-form_standard .cube-checkbox-group:after,.cube-form_standard .cube-checkbox-group:before,.cube-form_standard .cube-radio-group:after,.cube-form_standard .cube-radio-group:before{display:none}.cube-form_standard .cube-input input{padding:13px 0;background-color:transparent}.cube-form_standard .cube-input:after{display:none}.cube-form_standard .cube-textarea-wrapper{padding:13px 0;height:20px}.cube-form_standard .cube-textarea-wrapper.cube-textarea_expanded{height:60px;padding-bottom:20px}.cube-form_standard .cube-textarea-wrapper.cube-textarea_expanded .cube-textarea-indicator{bottom:2px}.cube-form_standard .cube-textarea-wrapper .cube-textarea{padding:0;background-color:transparent}.cube-form_standard .cube-textarea-wrapper:after{display:none}.cube-form_standard .cube-select{padding-left:0;background-color:transparent}.cube-form_standard .cube-select:after{display:none}.cube-form_standard .cube-upload-def{padding:5px 0}.cube-form_standard .cube-upload-def .cube-upload-btn,.cube-form_standard .cube-upload-def .cube-upload-file{margin:5px 10px 5px 0}.cube-form_classic .cube-form-item{display:block;padding:15px}.cube-form_classic .cube-form-item:last-child{padding-bottom:30px}.cube-form_classic .cube-form-item:after{display:none}.cube-form_classic .cube-form-item .cube-validator-msg{position:absolute;margin-top:3px}.cube-form_classic .cube-form-item .cube-validator-msg:before{display:none}.cube-form_classic .cube-form-item .cube-validator-msg-def{font-size:12px}.cube-form_classic .cube-form-item_btn{padding-top:0;padding-bottom:0}.cube-form_classic .cube-form-item_btn:last-child{padding-bottom:0}.cube-form_classic .cube-form-label{padding-bottom:15px}.cube-form_fresh .cube-form-item{display:block;padding:2em 15px 10px}.cube-form_fresh .cube-form-item:after{display:none}.cube-form_fresh .cube-form-item .cube-validator-msg{position:absolute;top:1em;right:15px;bottom:auto;margin-top:-.4em;font-size:12px}.cube-form_fresh .cube-form-item .cube-validator-msg:before{display:none}.cube-form_fresh .cube-form-item .cube-validator-msg-def{font-size:100%}.cube-form_fresh .cube-form-item_btn{padding-top:0;padding-bottom:0}.cube-form_fresh .cube-form-item_btn:last-child{padding-bottom:0}.cube-form_fresh .cube-form-label{position:absolute;top:1em;margin-top:-.4em;font-size:12px}.cube-form-group{overflow:hidden}.cube-form-group-legend{font-size:14px;color:#999;background-color:#f3f4f5}.cube-form-item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 15px}.cube-form-item:last-child:after{display:none}.cube-form-item .cube-checkbox-group,.cube-form-item .cube-radio-group{background-color:transparent}.cube-form-item .cube-checkbox,.cube-form-item .cube-radio{padding-left:0;padding-right:0}.cube-form-item_btn{margin:15px 0}.cube-form-item_btn:after{display:none}.cube-form-label{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;word-wrap:break-word;word-break:break-word}.cube-form-item_required .cube-form-label:before{content:\"*\";display:block;margin-top:1px;margin-right:.3em;color:#e64340}.cube-toast.cube-popup{z-index:900}.cube-toast .cube-popup-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:13px 16px;color:#ccc;background-color:rgba(37,38,45,.9);border-radius:2px}.cube-toast-icon{width:24px;height:24px;font-size:24px}.cube-toast-tip{line-height:20px;font-size:14px;max-width:12em;max-height:40px;overflow:hidden}.cube-loading~.cube-toast-tip,.cube-toast-icon~.cube-toast-tip{margin-left:8px}.cube-toast-fade-enter-active{-webkit-animation:toast-in .2s;animation:toast-in .2s}.cube-toast-fade-leave-active{-webkit-animation:toast-out .2s;animation:toast-out .2s}@-webkit-keyframes toast-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes toast-out{0%{opacity:1}to{opacity:0}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.cube-dialog-main{width:270px;padding:0;text-align:center;overflow:hidden;border-radius:2px;background-color:#fff}.cube-dialog-alert,.cube-dialog-confirm{position:relative;overflow:hidden}.cube-dialog-icon{margin-top:20px;margin-bottom:16px;line-height:1;color:#4a4c5b;font-size:30px}.cube-dialog-icon i{display:inline-block;width:30px;height:30px;padding:10px;box-sizing:content-box;border-radius:50%;background-color:#f3f4f5}.cube-dialog-icon+.cube-dialog-title .cube-dialog-title-def{margin-top:0}.cube-dialog-icon+.cube-dialog-content{margin-top:-4px}.cube-dialog-title{color:#333;font-size:16px;line-height:1}.cube-dialog-title+.cube-dialog-content{margin-top:12px}.cube-dialog-title-def{margin:30px 16px 0;overflow:hidden;white-space:nowrap}.cube-dialog-content{margin:16px 0;text-align:left;color:#666;font-size:14px;line-height:22px}.cube-dialog-content-def{padding:0 16px}.cube-dialog-content-def>p{display:table;margin:auto}.cube-dialog-content-def>p+.cube-input{margin-top:12px}.cube-dialog-confirm .cube-dialog-btns .cube-dialog-btn,.cube-dialog-prompt .cube-dialog-btns .cube-dialog-btn{width:50%;float:left}.cube-dialog-confirm .cube-dialog-btns.border-right-1px:after,.cube-dialog-prompt .cube-dialog-btns.border-right-1px:after{right:50%;border-color:#ebebeb}.cube-dialog-close{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;z-index:1;position:absolute;top:0;right:0;width:32px;height:32px;color:#999;font-size:18px}.cube-dialog-btns{overflow:hidden;width:100%;font-size:0}.cube-dialog-btn{display:inline-block;width:100%;padding:17px 10px;margin:0;font-size:16px;line-height:1;text-align:center;text-decoration:none;color:#999;background-color:#fff;background-clip:padding-box;box-sizing:border-box}.cube-dialog-btn:active{background-color:rgba(0,0,0,.04)}.cube-dialog-btn_highlight{color:#fc9153}.cube-dialog-btn_highlight:active{background-color:rgba(252,145,83,.04)}.cube-dialog-btn_disabled{color:#999}.cube-dialog-btn_disabled:active{background-color:transparent}.cube-dialog-fade-enter-active{-webkit-animation:dialog-fadein .4s;animation:dialog-fadein .4s}.cube-dialog-fade-enter-active .cube-dialog-main{-webkit-animation:dialog-zoom .4s;animation:dialog-zoom .4s}@-webkit-keyframes dialog-fadein{0%{opacity:0}to{opacity:1}}@keyframes dialog-fadein{0%{opacity:0}to{opacity:1}}@-webkit-keyframes dialog-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes dialog-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}.cube-action-sheet-fade-enter,.cube-action-sheet-fade-leave-active{opacity:0}.cube-action-sheet-fade-enter-active,.cube-action-sheet-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-action-sheet-panel{text-align:center;font-size:14px;background-color:#fff}.cube-action-sheet-move-enter,.cube-action-sheet-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-action-sheet-move-enter-active,.cube-action-sheet-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-action-sheet-cancel{background-color:#fff}.cube-action-sheet-cancel span,.cube-action-sheet-item,.cube-action-sheet-title{display:block;padding:17px 16px;margin:0;text-align:center;overflow:hidden;white-space:nowrap;font-size:16px;font-weight:400;line-height:1;color:#666;background-color:#fff}.cube-action-sheet-cancel span:active,.cube-action-sheet-item:active{background-color:rgba(0,0,0,.04)}.cube-action-sheet-title{padding-top:16px;padding-bottom:16px;color:#333;font-size:18px}.cube-action-sheet-content{overflow:hidden;background:#fff}.cube-action-sheet-list{list-style:none}.cube-action-sheet-item{list-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cube-action-sheet-item:last-of-type:after,.cube-action-sheet-item:last-of-type:before{display:none}.cube-action-sheet-item[data-align=left]{text-align:left}.cube-action-sheet-item[data-align=right]{text-align:right}.cube-action-sheet-space{height:6px;background-color:rgba(37,38,45,.4)}.cube-action-sheet-item_active{color:#fc9153}.cube-action-sheet_picker .cube-action-sheet-space{height:0}.cube-action-sheet_picker .cube-action-sheet-title{height:1em;padding-top:21px;padding-bottom:21px}.cube-action-sheet_picker .cube-action-sheet-cancel{position:absolute;top:0;background-color:transparent}.cube-action-sheet_picker .cube-action-sheet-cancel span{padding-top:23px;padding-bottom:23px;color:#999;font-size:14px;background-color:transparent}.cube-action-sheet_picker .cube-action-sheet-cancel span:active{color:#ccc;background-color:transparent}.cube-drawer{z-index:5;right:0;left:0;color:#333}.cube-drawer,.cube-drawer-main{position:absolute;top:0;bottom:0;overflow:hidden}.cube-drawer-main{left:100%;max-width:90%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;box-shadow:-2px 0 2px rgba(0,0,0,.2)}.cube-drawer-title{position:relative;padding:0 20px;height:50px;line-height:50px;border-bottom:1px solid #eee;font-size:16px;background-color:#fff}.cube-drawer-panels{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-drawer-panel{position:relative;z-index:1;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:170px;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.cube-drawer-panel+.cube-drawer-panel{margin-left:-67px}.cube-drawer-panel:first-child{box-shadow:none}.cube-drawer-scroll-wrapper{position:absolute;top:0;left:0;width:100%;height:100%}.cube-drawer-move-enter,.cube-drawer-move-leave-to{-webkit-transform:translate(67px);transform:translate(67px)}.cube-drawer-move-enter-active,.cube-drawer-move-leave-active{-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.cube-scroll-wrapper{position:relative;height:100%;overflow:hidden}.cube-scroll-list-wrapper{overflow:hidden}.cube-pulldown-wrapper{position:absolute;width:100%;left:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all;transition:all}.cube-pulldown-wrapper .before-trigger{height:54px;line-height:0;padding-top:6px}.cube-pulldown-wrapper .after-trigger .loading{padding:8px 0}.cube-pulldown-wrapper .after-trigger .cube-pulldown-loaded{padding:12px 0}.cube-pullup-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-pullup-wrapper .before-trigger{padding:22px 0;min-height:1em}.cube-pullup-wrapper .after-trigger{padding:19px 0}.cube-scroll-content{position:relative;z-index:1}.cube-scroll-item{height:60px;line-height:60px;font-size:18px;padding-left:20px}.cube-drawer-item{padding:0 20px;height:50px;line-height:50px;white-space:nowrap;overflow:hidden;font-size:15px}.cube-drawer-item:after{left:20px}.cube-drawer-item:last-child:after{display:none}.cube-drawer-item:first-child:after{display:block}.cube-drawer-item_active{background:rgba(0,0,0,.04)}.cube-image-preview-fade-enter,.cube-image-preview-fade-leave-active{opacity:0}.cube-image-preview-fade-enter-active,.cube-image-preview-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-image-preview .cube-popup-mask{opacity:.6}.cube-image-preview .cube-popup-content{width:100%;height:100%}.cube-image-preview .cube-slide-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden}.cube-image-preview-container{height:100%;margin:0 -10px}.cube-image-preview-footer,.cube-image-preview-header{position:absolute;left:0;right:0}.cube-image-preview-header{top:0}.cube-image-preview-footer{bottom:0}.cube-image-preview-counter{position:absolute;bottom:50px;width:100%;text-align:center;font-size:14px;color:#fff}.cube-image-preview-item{position:relative;padding:0 10px;width:100%;height:100%}.cube-image-preview-item .cube-scroll-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-image-preview-item .cube-image-preview-img{display:block;height:auto;max-width:100%;max-height:100%}.cube-slide{min-height:1px}.cube-slide,.cube-slide-group{position:relative;height:100%;overflow:hidden}.cube-slide-group{white-space:nowrap;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.cube-slide-dots{position:absolute;bottom:2px;right:0;left:0;padding:0 6px;font-size:0;text-align:center;-webkit-transform:translateZ(1px);transform:translateZ(1px)}.cube-slide-dots>span{display:inline-block;vertical-align:bottom;margin:0 1px;width:10px;height:1px;background:#ccc}.cube-slide-dots>span.active{background:#fc9153}.cube-slide-item{float:left;box-sizing:border-box;height:100%;width:100%}.cube-slide-item>a{overflow:hidden;text-decoration:none}.cube-slide-item>a,.cube-slide-item>a>img{display:block;height:100%}.cube-index-list{position:relative;height:100%;overflow:hidden}.cube-index-list .cube-scroll-wrapper{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}.cube-index-list-content{background:#fff;border-radius:2px}.cube-index-list-title{padding:14px 16px;font-size:14px;line-height:1.6;color:#333}.cube-index-list-anchor{padding:16px 16px 10px;line-height:1;font-size:14px;color:#999;background:#f7f7f7}.cube-index-list-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-index-list-nav{position:absolute;z-index:30;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-family:Helvetica}.cube-index-list-nav>ul{padding:0;margin:0}.cube-index-list-nav>ul>li{padding:6px 16px 0;line-height:1;text-align:center;font-size:12px;color:#666}.cube-index-list-nav>ul>li.active{color:#fc9153}@media (max-height:480px){.cube-index-list-nav>ul>li{padding-top:3px}}.cube-index-list-item-def{position:relative;height:50px;line-height:50px;padding:0 16px;font-size:14px;color:#333}.cube-index-list-item-def:last-child:after,.cube-index-list-item-def:last-child:before{display:none}.cube-index-list-item_active{background:rgba(0,0,0,.04)}.cube-swipe{overflow:hidden}.cube-swipe-enter-active,.cube-swipe-enter-active .cube-swipe-item-inner,.cube-swipe-leave-active,.cube-swipe-leave-active .cube-swipe-item-inner{-webkit-transition:all .3s;transition:all .3s}.cube-swipe-enter .cube-swipe-item-inner,.cube-swipe-leave-to .cube-swipe-item-inner{height:0}.cube-swipe-item{position:relative}.cube-swipe-item-inner{height:60px;line-height:60px;font-size:16px;padding-left:20px}.cube-swipe-btn{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;top:0;left:100%;height:100%;text-align:left;font-size:16px}.cube-swipe-btn .text{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:0 20px;white-space:nowrap;color:#fff}.cube-sticky{position:relative;height:100%;overflow:hidden}.cube-sticky-fixed{z-index:1;position:absolute;top:0;left:0;right:0}.cube-sticky-fixed-fade-enter,.cube-sticky-fixed-fade-leave-active{opacity:0}.cube-sticky-fixed-fade-enter-active,.cube-sticky-fixed-fade-leave-active{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.cube-sticky-ele{position:relative}.cube-scroll-nav{position:relative;height:100%;overflow:hidden}.cube-scroll-nav .cube-sticky-content{height:100%}.cube-scroll-nav-main{overflow:hidden}.cube-scroll-nav-main>.cube-sticky{position:static}.cube-scroll-nav_side>.cube-sticky{display:-webkit-box;display:-webkit-flex;display:flex}.cube-scroll-nav_side>.cube-sticky>.cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1}.cube-scroll-nav_side>.cube-sticky>.cube-sticky-fixed{position:relative;height:100%;-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.cube-scroll-nav_side .cube-scroll-nav-main>.cube-sticky-ele{float:left}.cube-scroll-nav_side .cube-scroll-nav-main>.cube-sticky{overflow:hidden}.cube-scroll-nav-bar{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;color:#666;background-color:#fff}.cube-scroll-nav-bar_horizontal{-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-scroll-nav-bar_horizontal .cube-scroll-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}.cube-scroll-nav-bar_horizontal .cube-scroll-content{display:inline-block;vertical-align:top}.cube-scroll-nav-bar_horizontal .cube-scroll-nav-bar-items{white-space:nowrap}.cube-scroll-nav-bar_vertical{height:100%;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-scroll-nav-bar_vertical .cube-scroll-nav-bar-item{display:block}.cube-scroll-nav-bar-items{font-size:14px}.cube-scroll-nav-bar-item{display:inline-block;vertical-align:top;padding:20px 15px}.cube-scroll-nav-bar-item_active{color:#fc9153}.cube-recycle-list{position:relative;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.cube-recycle-list-main{min-height:100%}.cube-recycle-list-fake{height:1px}.cube-recycle-list-invisible{top:-1000px;visibility:hidden}.cube-recycle-list-item{width:100%;position:absolute;box-sizing:border-box}.cube-recycle-list-transition{position:absolute;opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:.5s;transition-duration:.5s}.cube-recycle-list-loading{overflow:hidden}.cube-recycle-list-loading-content{text-align:center}.cube-recycle-list-spinner{margin:10px auto;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}"
  },
  {
    "path": "lib/swipe/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"swipe\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"swipe\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 377);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 273:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(381)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(382),\n  /* template */\n  __webpack_require__(384),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 377:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(378), __webpack_require__(273)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/swipe/swipe.vue'), require('../../components/swipe/swipe-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.swipe, global.swipeItem);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _swipe, _swipeItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _swipe2 = _interopRequireDefault(_swipe);\n\n  var _swipeItem2 = _interopRequireDefault(_swipeItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _swipe2.default.install = function (Vue) {\n    Vue.component(_swipe2.default.name, _swipe2.default);\n    Vue.component(_swipeItem2.default.name, _swipeItem2.default);\n  };\n\n  _swipe2.default.Item = _swipeItem2.default;\n\n  exports.default = _swipe2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 378:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(379)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(380),\n  /* template */\n  __webpack_require__(385),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 379:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 380:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(273)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./swipe-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.swipeItem);\n    global.swipe = mod.exports;\n  }\n})(this, function (module, exports, _swipeItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _swipeItem2 = _interopRequireDefault(_swipeItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-swipe';\n  var EVENT_ITEM_CLICK = 'item-click';\n  var EVENT_BTN_CLICK = 'btn-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    provide: function provide() {\n      return {\n        swipe: this\n      };\n    },\n\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      autoShrink: {\n        type: Boolean,\n        default: false\n      }\n    },\n    created: function created() {\n      this.activeIndex = -1;\n      this.items = [];\n    },\n\n    methods: {\n      addItem: function addItem(item) {\n        this.items.push(item);\n      },\n      removeItem: function removeItem(item) {\n        var index = this.items.indexOf(item);\n        this.items.splice(index, 1);\n        if (index <= this.activeIndex) {\n          this.activeIndex -= 1;\n        }\n      },\n      onItemClick: function onItemClick(item, index) {\n        this.$emit(EVENT_ITEM_CLICK, item, index);\n      },\n      onBtnClick: function onBtnClick(btn, index) {\n        var item = this.data[index];\n        this.$emit(EVENT_BTN_CLICK, btn, index, item);\n      },\n      onItemActive: function onItemActive(index) {\n        if (index === this.activeIndex) {\n          return;\n        }\n        if (this.activeIndex !== -1) {\n          var activeItem = this.items[this.activeIndex];\n          activeItem.shrink();\n        }\n        this.activeIndex = index;\n      }\n    },\n    components: {\n      CubeSwipeItem: _swipeItem2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 381:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 382:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87), __webpack_require__(383), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'), require('../../common/helpers/ease'), require('../../common/lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom, global.ease, global.date);\n    global.swipeItem = mod.exports;\n  }\n})(this, function (module, exports, _dom, _ease, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-swipe-item';\n  var EVENT_ITEM_CLICK = 'item-click';\n  var EVENT_BTN_CLICK = 'btn-click';\n  var EVENT_SCROLL = 'scroll';\n  var EVENT_ACTIVE = 'active';\n  var DIRECTION_LEFT = 1;\n  var DIRECTION_RIGHT = -1;\n  var STATE_SHRINK = 0;\n  var STATE_GROW = 1;\n  var easingTime = 600;\n  var momentumLimitTime = 300;\n  var momentumLimitDistance = 15;\n  var directionLockThreshold = 5;\n\n  var transform = (0, _dom.prefixStyle)('transform');\n  var transitionProperty = (0, _dom.prefixStyle)('transitionProperty');\n  var transitionDuration = (0, _dom.prefixStyle)('transitionDuration');\n  var transitionTimingFunction = (0, _dom.prefixStyle)('transitionTimingFunction');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    inject: ['swipe'],\n    props: {\n      item: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      btns: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      index: {\n        type: Number,\n        index: -1\n      },\n      autoShrink: {\n        type: Boolean,\n        default: false\n      }\n    },\n    watch: {\n      btns: function btns() {\n        var _this = this;\n\n        this.$nextTick(function () {\n          _this.refresh();\n        });\n      }\n    },\n    created: function created() {\n      this.x = 0;\n      this.state = STATE_SHRINK;\n      this.swipe.addItem(this);\n    },\n    mounted: function mounted() {\n      var _this2 = this;\n\n      this.scrollerStyle = this.$refs.swipeItem.style;\n      this.$nextTick(function () {\n        _this2.refresh();\n      });\n      this.$on(EVENT_SCROLL, this._handleBtns);\n    },\n\n    methods: {\n      _initCachedBtns: function _initCachedBtns() {\n        this.cachedBtns = [];\n        var len = this.$refs.btns.length;\n        for (var i = 0; i < len; i++) {\n          this.cachedBtns.push({\n            width: (0, _dom.getRect)(this.$refs.btns[i]).width\n          });\n        }\n      },\n      _handleBtns: function _handleBtns(x) {\n        if (this.btns.length === 0) {\n          return;\n        }\n        var len = this.$refs.btns.length;\n        var delta = 0;\n        var totalWidth = -this.maxScrollX;\n        for (var i = 0; i < len; i++) {\n          var btn = this.$refs.btns[i];\n          var rate = (totalWidth - delta) / totalWidth;\n          var width = void 0;\n          var translate = rate * x - x;\n          if (x < this.maxScrollX) {\n            width = this.cachedBtns[i].width + rate * (this.maxScrollX - x);\n          } else {\n            width = this.cachedBtns[i].width;\n          }\n          delta += this.cachedBtns[i].width;\n          btn.style.width = width + 'px';\n          btn.style[transform] = 'translate(' + translate + 'px)';\n          btn.style[transitionDuration] = '0ms';\n        }\n      },\n      _isInBtns: function _isInBtns(target) {\n        var parent = target;\n        var flag = false;\n        while (parent && parent.className.indexOf('cube-swipe-item') < 0) {\n          if (parent.className.indexOf('cube-swipe-btns') >= 0) {\n            flag = true;\n            break;\n          }\n          parent = parent.parentNode;\n        }\n        return flag;\n      },\n      _calculateBtnsWidth: function _calculateBtnsWidth() {\n        var width = 0;\n        var len = this.cachedBtns.length;\n        for (var i = 0; i < len; i++) {\n          width += this.cachedBtns[i].width;\n        }\n        this.maxScrollX = -width;\n      },\n      _translate: function _translate(x, useZ) {\n        var translateZ = useZ ? ' translateZ(0)' : '';\n        this.scrollerStyle[transform] = 'translate(' + x + 'px,0)' + translateZ;\n        this.x = x;\n      },\n      _transitionProperty: function _transitionProperty() {\n        var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n\n        this.scrollerStyle[transitionProperty] = property;\n      },\n      _transitionTimingFunction: function _transitionTimingFunction(easing) {\n        this.scrollerStyle[transitionTimingFunction] = easing;\n      },\n      _transitionTime: function _transitionTime() {\n        var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        this.scrollerStyle[transitionDuration] = time + 'ms';\n      },\n      _getComputedPositionX: function _getComputedPositionX() {\n        var matrix = window.getComputedStyle(this.$refs.swipeItem, null);\n        matrix = matrix[transform].split(')')[0].split(', ');\n        var x = +(matrix[12] || matrix[4]);\n        return x;\n      },\n      _translateBtns: function _translateBtns(time, easing, extend) {\n        if (this.btns.length === 0) {\n          return;\n        }\n        var len = this.$refs.btns.length;\n        var delta = 0;\n        var translate = 0;\n        for (var i = 0; i < len; i++) {\n          var btn = this.$refs.btns[i];\n          if (this.state === STATE_GROW) {\n            translate = delta;\n          } else {\n            translate = 0;\n          }\n          delta += this.cachedBtns[i].width;\n          btn.style[transform] = 'translate(' + translate + 'px,0) translateZ(0)';\n          btn.style[transitionProperty] = 'all';\n          btn.style[transitionTimingFunction] = easing;\n          btn.style[transitionDuration] = time + 'ms';\n          if (extend) {\n            btn.style.width = this.cachedBtns[i].width + 'px';\n          }\n        }\n      },\n      refresh: function refresh() {\n        if (this.btns.length > 0) {\n          this._initCachedBtns();\n          this._calculateBtnsWidth();\n        }\n        this.endTime = 0;\n      },\n      shrink: function shrink() {\n        var _this3 = this;\n\n        this.stop();\n        this.state = STATE_SHRINK;\n        this.$nextTick(function () {\n          _this3.scrollTo(0, easingTime, _ease.easeOutQuart);\n          _this3._translateBtns(easingTime, _ease.easeOutQuart);\n        });\n      },\n      grow: function grow() {\n        this.state = STATE_GROW;\n        var extend = this.x < this.maxScrollX;\n        var easing = _ease.easeOutCubic;\n        this.scrollTo(this.maxScrollX, easingTime, easing);\n        this._translateBtns(easingTime, easing, extend);\n      },\n      scrollTo: function scrollTo(x, time, easing) {\n        this._transitionProperty();\n        this._transitionTimingFunction(easing);\n        this._transitionTime(time);\n        this._translate(x, true);\n        if (time) {\n          this.isInTransition = true;\n        }\n      },\n      genBtnStyl: function genBtnStyl(btn) {\n        return 'background: ' + btn.color;\n      },\n      clickItem: function clickItem() {\n        this.swipe.onItemClick(this.item, this.index);\n        this.$emit(EVENT_ITEM_CLICK, this.item, this.index);\n      },\n      clickBtn: function clickBtn(btn) {\n        this.swipe.onBtnClick(btn, this.index);\n        this.$emit(EVENT_BTN_CLICK, btn, this.index);\n        if (this.autoShrink) {\n          this.shrink();\n        }\n      },\n      stop: function stop() {\n        if (this.isInTransition) {\n          this.isInTransition = false;\n          var x = this.state === STATE_SHRINK ? 0 : this._getComputedPositionX();\n          this._translate(x);\n          this.$emit(EVENT_SCROLL, this.x);\n        }\n      },\n      onTouchStart: function onTouchStart(e) {\n        var _this4 = this;\n\n        this.swipe.onItemActive(this.index);\n        this.$emit(EVENT_ACTIVE, this.index);\n        this.stop();\n        this.moved = false;\n        this.movingDirectionX = 0;\n        var point = e.touches[0];\n        this.pointX = point.pageX;\n        this.pointY = point.pageY;\n        this.distX = 0;\n        this.distY = 0;\n        this.startX = this.x;\n        this._transitionTime();\n        this.startTime = (0, _date.getNow)();\n        if (this.state === STATE_GROW && !this._isInBtns(e.target)) {\n          this.shrinkTimer = setTimeout(function () {\n            _this4.shrink();\n          }, 300);\n        }\n      },\n      onTouchMove: function onTouchMove(e) {\n        if (this.moved) {\n          clearTimeout(this.shrinkTimer);\n          e.stopPropagation();\n        }\n\n        if (this.isInTransition) {\n          return;\n        }\n        e.preventDefault();\n        var point = e.touches[0];\n        var deltaX = point.pageX - this.pointX;\n        var deltaY = point.pageY - this.pointY;\n        this.pointX = point.pageX;\n        this.pointY = point.pageY;\n\n        this.distX += deltaX;\n        this.distY += deltaY;\n        var absDistX = Math.abs(this.distX);\n        var absDistY = Math.abs(this.distY);\n\n        if (absDistX + directionLockThreshold <= absDistY) {\n          return;\n        }\n\n        var timestamp = (0, _date.getNow)();\n        if (timestamp - this.endTime > momentumLimitTime && absDistX < momentumLimitDistance) {\n          return;\n        }\n\n        this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n\n        var newX = this.x + deltaX;\n        if (newX > 0) {\n          newX = 0;\n        }\n        if (newX < this.maxScrollX) {\n          newX = this.x + deltaX / 3;\n        }\n        if (!this.moved) {\n          this.moved = true;\n        }\n\n        this._translate(newX, true);\n\n        if (timestamp - this.startTime > momentumLimitTime) {\n          this.startTime = timestamp;\n          this.startX = this.x;\n        }\n\n        this.$emit(EVENT_SCROLL, this.x);\n      },\n      onTouchEnd: function onTouchEnd() {\n        if (!this.moved) {\n          return;\n        }\n        if (this.movingDirectionX === DIRECTION_RIGHT) {\n          this.shrink();\n          return;\n        }\n        this.endTime = (0, _date.getNow)();\n        var duration = this.endTime - this.startTime;\n        var absDistX = Math.abs(this.x - this.startX);\n        if (duration < momentumLimitTime && absDistX > momentumLimitDistance || this.x < this.maxScrollX / 2) {\n          this.grow();\n        } else {\n          this.shrink();\n        }\n      },\n      onTransitionEnd: function onTransitionEnd() {\n        this.isInTransition = false;\n        this._transitionTime();\n        this._translate(this.x);\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.swipe.removeItem(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 383:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.ease = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var easeOutBack = exports.easeOutBack = 'cubic-bezier(0.18, 0.89, 0.32, 1.28)';\n  var easeOutQuart = exports.easeOutQuart = 'cubic-bezier(0.165, 0.84, 0.44, 1)';\n  var easeOutCubic = exports.easeOutCubic = 'cubic-bezier(0.22, 0.61, 0.36, 1)';\n});\n\n/***/ }),\n\n/***/ 384:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"swipeItem\",\n    staticClass: \"cube-swipe-item\",\n    on: {\n      \"transitionend\": _vm.onTransitionEnd,\n      \"touchstart\": _vm.onTouchStart,\n      \"touchmove\": _vm.onTouchMove,\n      \"touchend\": _vm.onTouchEnd\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-swipe-item-inner border-bottom-1px\",\n    on: {\n      \"click\": _vm.clickItem\n    }\n  }, [_c('span', [_vm._v(_vm._s(_vm.item.text))])])]), _vm._v(\" \"), _c('ul', {\n    staticClass: \"cube-swipe-btns\"\n  }, _vm._l((_vm.btns), function(btn) {\n    return _c('li', {\n      ref: \"btns\",\n      refInFor: true,\n      staticClass: \"cube-swipe-btn\",\n      style: (_vm.genBtnStyl(btn)),\n      on: {\n        \"click\": function($event) {\n          $event.preventDefault();\n          _vm.clickBtn(btn)\n        }\n      }\n    }, [_c('span', {\n      staticClass: \"text\"\n    }, [_vm._v(_vm._s(btn.text))])])\n  }))], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 385:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-swipe\"\n  }, [_vm._t(\"default\", [_c('transition-group', {\n    attrs: {\n      \"name\": \"cube-swipe\",\n      \"tag\": \"ul\"\n    }\n  }, _vm._l((_vm.data), function(item, index) {\n    return _c('li', {\n      key: item.item.value\n    }, [_c('cube-swipe-item', {\n      attrs: {\n        \"btns\": item.btns,\n        \"item\": item.item,\n        \"index\": index,\n        \"auto-shrink\": _vm.autoShrink\n      }\n    })], 1)\n  }))])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 91:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/swipe/style.css",
    "content": ".cube-swipe{overflow:hidden}.cube-swipe-enter-active,.cube-swipe-enter-active .cube-swipe-item-inner,.cube-swipe-leave-active,.cube-swipe-leave-active .cube-swipe-item-inner{-webkit-transition:all .3s;transition:all .3s}.cube-swipe-enter .cube-swipe-item-inner,.cube-swipe-leave-to .cube-swipe-item-inner{height:0}.cube-swipe-item{position:relative}.cube-swipe-item-inner{height:60px;line-height:60px;font-size:16px;padding-left:20px}.cube-swipe-btn{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;top:0;left:100%;height:100%;text-align:left;font-size:16px}.cube-swipe-btn .text{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:0 20px;white-space:nowrap;color:#fff}"
  },
  {
    "path": "lib/switch/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"switch\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"switch\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 386);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 229:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(230)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(231),\n  /* template */\n  __webpack_require__(232),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 230:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 231:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global._switch = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-switch';\n\n  var EVENT_INPUT = 'input';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        checkboxValue: this.value\n      };\n    },\n\n    watch: {\n      value: function value(newVal) {\n        this.checkboxValue = newVal;\n      },\n      checkboxValue: function checkboxValue(newVal) {\n        this.$emit(EVENT_INPUT, newVal);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 232:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-switch\"\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkboxValue),\n      expression: \"checkboxValue\"\n    }],\n    staticClass: \"cube-switch-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkboxValue) ? _vm._i(_vm.checkboxValue, null) > -1 : (_vm.checkboxValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkboxValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkboxValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkboxValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkboxValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-switch-ui\"\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-switch-label\"\n  }, [_vm._t(\"default\")], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 386:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(229)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/switch/switch.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._switch);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _switch) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _switch2 = _interopRequireDefault(_switch);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _switch2.default.install = function (Vue) {\n    Vue.component(_switch2.default.name, _switch2.default);\n  };\n\n  exports.default = _switch2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/switch/style.css",
    "content": ".cube-switch{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-switch .cube-switch-input{position:absolute;z-index:1;width:48px;height:28px;opacity:0}.cube-switch .cube-switch-input:checked+.cube-switch-ui{border-color:#fc9153;background-color:#fc9153}.cube-switch .cube-switch-input:checked+.cube-switch-ui:before{-webkit-transform:scale(0);transform:scale(0)}.cube-switch .cube-switch-input:checked+.cube-switch-ui:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.cube-switch .cube-switch-input:disabled+.cube-switch-ui{opacity:.3}.cube-switch .cube-switch-ui{position:relative;display:block;width:48px;height:28px;box-sizing:content-box;border:1px solid #e4e4e4;border-radius:28px;background-color:#e4e4e4}.cube-switch .cube-switch-ui:after,.cube-switch .cube-switch-ui:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:28px;background-color:#fff;-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28);transition:transform .4s cubic-bezier(.25,.1,.25,1.28),-webkit-transform .4s cubic-bezier(.25,.1,.25,1.28)}.cube-switch .cube-switch-ui:after{width:28px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cube-switch .cube-switch-label{display:block;margin-left:10px}.cube-switch .cube-switch-label:empty{margin-left:0}"
  },
  {
    "path": "lib/tab-bar/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tab-bar\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"tab-bar\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 387);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 274:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(391)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(392),\n  /* template */\n  __webpack_require__(393),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 29:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 35:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ 387:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(388), __webpack_require__(274)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/tab-bar/tab-bar.vue'), require('../../components/tab-bar/tab.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tabBar, global.tab);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _tabBar, _tab) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tabBar2 = _interopRequireDefault(_tabBar);\n\n  var _tab2 = _interopRequireDefault(_tab);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _tabBar2.default.install = function (Vue) {\n    Vue.component(_tabBar2.default.name, _tabBar2.default);\n    Vue.component(_tab2.default.name, _tab2.default);\n  };\n\n  _tabBar2.default.Tab = _tab2.default;\n\n  exports.default = _tabBar2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 388:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(389)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(390),\n  /* template */\n  __webpack_require__(394),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 389:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 390:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(87), __webpack_require__(35), __webpack_require__(274)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/dom'), require('../../common/helpers/util'), require('./tab.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.dom, global.util, global.tab);\n    global.tabBar = mod.exports;\n  }\n})(this, function (module, exports, _dom, _util, _tab) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tab2 = _interopRequireDefault(_tab);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-tab-bar';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHANGE = 'change';\n  var EVENT_CLICK = 'click';\n\n  var TRANSFORM = (0, _dom.prefixStyle)('transform');\n  var TRANSITION = (0, _dom.prefixStyle)('transition');\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    components: {\n      CubeTab: _tab2.default\n    },\n    props: {\n      value: {\n        type: [String, Number],\n        required: true\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      showSlider: {\n        type: Boolean,\n        default: false\n      },\n      useTransition: {\n        type: Boolean,\n        default: true\n      }\n    },\n    watch: {\n      value: function value() {\n        this._updateSliderStyle();\n      }\n    },\n    created: function created() {\n      this.tabs = [];\n    },\n    mounted: function mounted() {\n      this._updateSliderStyle();\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    activated: function activated() {\n      window.addEventListener('resize', this._resizeHandler);\n    },\n    deactivated: function deactivated() {\n      this._cleanUp();\n    },\n    beforeDestroy: function beforeDestroy() {\n      this._cleanUp();\n    },\n\n    methods: {\n      addTab: function addTab(tab) {\n        this.tabs.push(tab);\n      },\n      removeTab: function removeTab(tab) {\n        var index = this.tabs.indexOf(tab);\n        if (index > -1) this.tabs.splice(index, 1);\n      },\n      trigger: function trigger(value) {\n        var _this = this;\n\n        this.$emit(EVENT_CLICK, value);\n\n        if (value !== this.value) {\n          var changedEvents = [EVENT_INPUT, EVENT_CHANGE];\n          changedEvents.forEach(function (eventType) {\n            _this.$emit(eventType, value);\n          });\n        }\n      },\n      _updateSliderStyle: function _updateSliderStyle() {\n        var _this2 = this;\n\n        if (!this.showSlider) return;\n        var slider = this.$refs.slider;\n        this.$nextTick(function () {\n          var _getSliderWidthAndInd = _this2._getSliderWidthAndIndex(),\n              width = _getSliderWidthAndInd.width,\n              index = _getSliderWidthAndInd.index;\n\n          slider.style.width = width + 'px';\n          _this2.setSliderTransform(_this2._getOffsetLeft(index));\n        });\n      },\n      setSliderTransform: function setSliderTransform(offset) {\n        var slider = this.$refs.slider;\n        if (typeof offset === 'number') {\n          offset = offset + 'px';\n        }\n        if (slider) {\n          if (this.useTransition) slider.style[TRANSITION] = TRANSFORM + ' 0.2s linear';\n          slider.style[TRANSFORM] = 'translateX(' + offset + ') translateZ(0)';\n        }\n      },\n      _getSliderWidthAndIndex: function _getSliderWidthAndIndex() {\n        var _this3 = this;\n\n        var width = 0;\n        var index = 0;\n        if (this.tabs.length > 0) {\n          index = (0, _util.findIndex)(this.tabs, function (tab) {\n            return tab.value === _this3.value;\n          });\n          width = this.tabs[index].$el.clientWidth;\n        }\n        return {\n          width: width,\n          index: index\n        };\n      },\n      _getOffsetLeft: function _getOffsetLeft(index) {\n        return this.tabs[index].$el.offsetLeft || 0;\n      },\n      _resizeHandler: function _resizeHandler() {\n        var _this4 = this;\n\n        clearTimeout(this._resizeTimer);\n        this._resizeTimer = setTimeout(function () {\n          _this4._updateSliderStyle();\n        }, 60);\n      },\n      _cleanUp: function _cleanUp() {\n        clearTimeout(this._resizeTimer);\n        window.removeEventListener('resize', this._resizeHandler);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 391:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 392:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.tab = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-tab';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      value: {\n        type: [String, Number],\n        default: function _default() {\n          return this.label;\n        }\n      },\n      icon: {\n        type: String,\n        default: ''\n      }\n    },\n    mounted: function mounted() {\n      this.$parent.addTab(this);\n    },\n    destroyed: function destroyed() {\n      this.$parent.removeTab(this);\n    },\n\n    computed: {\n      isActive: function isActive() {\n        return this.$parent.value === this.value;\n      }\n    },\n    methods: {\n      handleClick: function handleClick(item) {\n        this.$parent.trigger(this.value);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 393:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-tab\",\n    class: {\n      'cube-tab_active': _vm.isActive\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [_vm._t(\"icon\", [_c('i', {\n    class: _vm.icon\n  })]), _vm._v(\" \"), _vm._t(\"default\", [_c('div', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.label)\n    }\n  })])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 394:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-tab-bar\",\n    class: {\n      'cube-tab-bar_inline': _vm.inline\n    }\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-tab', {\n      key: item.value || item.label,\n      attrs: {\n        \"label\": item.label,\n        \"value\": item.value,\n        \"icon\": item.icon\n      }\n    })\n  })), _vm._v(\" \"), (_vm.showSlider) ? _c('div', {\n    ref: \"slider\",\n    staticClass: \"cube-tab-bar-slider\"\n  }) : _vm._e()], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 42:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n\n/***/ 44:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 45:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ 46:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ 47:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n\n/***/ 48:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 52:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ 53:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n\n/***/ 54:\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 65:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ 66:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 70:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n\n/***/ 71:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n\n/***/ 72:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n\n/***/ 73:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n\n/***/ 74:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ 75:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n\n/***/ 76:\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n\n/***/ 77:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ 78:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n\n/***/ 79:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 80:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n\n/***/ 81:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/tab-bar/style.css",
    "content": ".cube-tab-bar{position:relative;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cube-tab-bar,.cube-tab-bar_inline .cube-tab{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-tab-bar_inline .cube-tab{-webkit-align-content:center;align-content:center}.cube-tab-bar-slider{position:absolute;left:0;bottom:0;height:2px;width:20px;background-color:#e8864c}.cube-tab{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:7px 0;color:#666;text-align:center}.cube-tab_active{color:#e8864c}"
  },
  {
    "path": "lib/tab-panels/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tab-panels\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"tab-panels\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 395);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 275:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(399)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(400),\n  /* template */\n  __webpack_require__(401),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 29:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 35:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ 395:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(396), __webpack_require__(275)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/tab-panels/tab-panels.vue'), require('../../components/tab-panels/tab-panel.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tabPanels, global.tabPanel);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _tabPanels, _tabPanel) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tabPanels2 = _interopRequireDefault(_tabPanels);\n\n  var _tabPanel2 = _interopRequireDefault(_tabPanel);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _tabPanels2.default.install = function (Vue) {\n    Vue.component(_tabPanels2.default.name, _tabPanels2.default);\n    Vue.component(_tabPanel2.default.name, _tabPanel2.default);\n  };\n\n  _tabPanels2.default.Panel = _tabPanel2.default;\n\n  exports.default = _tabPanels2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 396:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(397)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(398),\n  /* template */\n  __webpack_require__(402),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 397:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 398:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(275), __webpack_require__(35), __webpack_require__(87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./tab-panel.vue'), require('../../common/helpers/util'), require('../../common/helpers/dom'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tabPanel, global.util, global.dom);\n    global.tabPanels = mod.exports;\n  }\n})(this, function (module, exports, _tabPanel, _util, _dom) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tabPanel2 = _interopRequireDefault(_tabPanel);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSFORM = (0, _dom.prefixStyle)('transform');\n\n  var COMPONENT_NAME = 'cube-tab-panels';\n  var INDEX_OUT_OF_BOUNDARY = -1;\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [String, Number]\n      },\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      }\n    },\n    created: function created() {\n      this.panels = [];\n    },\n    mounted: function mounted() {\n      this._move(this.value);\n    },\n\n    methods: {\n      _move: function _move(value) {\n        var curIndex = (0, _util.findIndex)(this.panels, function (panel) {\n          return panel.value === value;\n        });\n\n        if (curIndex === INDEX_OUT_OF_BOUNDARY) {\n          return;\n        }\n        var panelsGroup = this.$refs.panelsGroup;\n        var distance = -(curIndex * 100);\n        panelsGroup.style[TRANSFORM] = 'translateX(' + distance + '%)';\n      },\n      addPanel: function addPanel(panel) {\n        this.panels.push(panel);\n      },\n      removePanel: function removePanel(panel) {\n        var index = this.panels.indexOf(panel);\n        if (index > -1) this.panels.splice(index, 1);\n      }\n    },\n    watch: {\n      value: function value(newV) {\n        this._move(newV);\n      }\n    },\n    components: { TabPanel: _tabPanel2.default }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 399:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 400:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.tabPanel = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-tab-panel';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      value: {\n        type: [String, Number],\n        default: function _default() {\n          return this.label;\n        }\n      }\n    },\n    mounted: function mounted() {\n      this.$parent.addPanel(this);\n    },\n    destroyed: function destroyed() {\n      this.$parent.removePanel(this);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 401:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-tab-panel\"\n  }, [_vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 402:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    ref: \"panels\",\n    staticClass: \"cube-tab-panels\"\n  }, [_c('div', {\n    ref: \"panelsGroup\",\n    staticClass: \"cube-tab-panels-group\"\n  }, [_vm._t(\"default\", _vm._l((_vm.data), function(item, index) {\n    return _c('cube-tab-panel', {\n      key: item.value || item.label,\n      attrs: {\n        \"label\": item.label,\n        \"value\": item.value\n      }\n    }, [_vm._v(\"\\n        \" + _vm._s(item.label) + \"\\n      \")])\n  }))], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 42:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n\n/***/ 44:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 45:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ 46:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ 47:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n\n/***/ 48:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 52:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ 53:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n\n/***/ 54:\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 65:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ 66:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 70:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n\n/***/ 71:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n\n/***/ 72:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n\n/***/ 73:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n\n/***/ 74:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ 75:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n\n/***/ 76:\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n\n/***/ 77:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ 78:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n\n/***/ 79:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 80:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n\n/***/ 81:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.dom = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.hasClass = hasClass;\n  exports.addClass = addClass;\n  exports.removeClass = removeClass;\n  exports.getData = getData;\n  exports.getRect = getRect;\n  exports.prefixStyle = prefixStyle;\n  exports.getMatchedTarget = getMatchedTarget;\n  exports.dispatchEvent = dispatchEvent;\n  function hasClass(el, className) {\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)');\n    return reg.test(el.className);\n  }\n\n  function addClass(el, className) {\n    if (hasClass(el, className)) {\n      return;\n    }\n\n    var newClass = el.className.split(' ');\n    newClass.push(className);\n    el.className = newClass.join(' ');\n  }\n\n  function removeClass(el, className) {\n    if (!hasClass(el, className)) {\n      return;\n    }\n\n    var reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g');\n    el.className = el.className.replace(reg, ' ');\n  }\n\n  function getData(el, name) {\n    var prefix = 'data-';\n    return el.getAttribute(prefix + name);\n  }\n\n  function getRect(el) {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n\n  var vendor = function () {\n    if (!_env.inBrowser) {\n      return false;\n    }\n    var elementStyle = document.createElement('div').style;\n    var transformNames = {\n      standard: 'transform',\n      webkit: 'webkitTransform',\n      Moz: 'MozTransform',\n      O: 'OTransform',\n      ms: 'msTransform'\n    };\n\n    for (var key in transformNames) {\n      if (elementStyle[transformNames[key]] !== undefined) {\n        return key;\n      }\n    }\n\n    return false;\n  }();\n\n  function prefixStyle(style) {\n    if (vendor === false) {\n      return false;\n    }\n\n    if (vendor === 'standard') {\n      if (style === 'transitionEnd') {\n        return 'transitionend';\n      }\n      return style;\n    }\n\n    return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n  }\n\n  function getMatchedTarget(e, targetClassName) {\n    var el = e.target;\n\n    while (el && !hasClass(el, targetClassName)) {\n      if (el === e.currentTarget) return null;\n      el = el.parentNode;\n    }\n\n    return el;\n  }\n\n  function dispatchEvent(ele, name) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n        _ref$type = _ref.type,\n        type = _ref$type === undefined ? 'Event' : _ref$type,\n        _ref$bubbles = _ref.bubbles,\n        bubbles = _ref$bubbles === undefined ? true : _ref$bubbles,\n        _ref$cancelable = _ref.cancelable,\n        cancelable = _ref$cancelable === undefined ? true : _ref$cancelable;\n\n    var e = document.createEvent(type);\n    e.initEvent(name, bubbles, cancelable);\n    ele.dispatchEvent(e);\n  }\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/tab-panels/style.css",
    "content": ".cube-tab-panels{position:relative;overflow:hidden}.cube-tab-panels-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:all .4s cubic-bezier(.86,0,.07,1);transition:all .4s cubic-bezier(.86,0,.07,1)}.cube-tab-panel{width:100%;-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}"
  },
  {
    "path": "lib/textarea/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"textarea\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"textarea\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 403);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 165:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.input = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    methods: {\n      changeHander: function changeHander(e) {\n        this.$emit(EVENT_CHANGE, e);\n      },\n      focus: function focus() {\n        this.$refs.input.focus();\n      },\n      blur: function blur() {\n        this.$refs.input.blur();\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 233:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(234)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(235),\n  /* template */\n  __webpack_require__(236),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 234:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 235:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(88), __webpack_require__(165)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/assign'), require('../../common/mixins/input'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.assign, global.input);\n    global.textarea = mod.exports;\n  }\n})(this, function (module, exports, _assign, _input) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _input2 = _interopRequireDefault(_input);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-textarea';\n  var EVENT_INPUT = 'input';\n\n  var DEFAULT_INDICATOR = {\n    negative: true,\n    remain: true\n  };\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_input2.default],\n    data: function data() {\n      return {\n        textareaValue: this.value,\n        expanded: this.forceExpand ? true : this.autoExpand ? !!this.value : false,\n        isFocus: false\n      };\n    },\n\n    props: {\n      value: {\n        type: String,\n        default: ''\n      },\n      cols: Number,\n      rows: Number,\n      readonly: Boolean,\n      wrap: String,\n      required: Boolean,\n      placeholder: {\n        type: String,\n        default: 'please type here...'\n      },\n      dirname: String,\n      form: String,\n      name: String,\n      autofocus: Boolean,\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      maxlength: {\n        type: Number,\n        default: 60\n      },\n      indicator: {\n        type: [Boolean, Object],\n        default: true\n      },\n      autoExpand: {\n        type: Boolean,\n        default: false\n      },\n      forceExpand: {\n        type: Boolean,\n        default: false\n      }\n    },\n    computed: {\n      indicatorConf: function indicatorConf() {\n        var indicator = this.indicator;\n        if (typeof indicator === 'boolean') {\n          indicator = {};\n        }\n        return (0, _assign2.default)({}, DEFAULT_INDICATOR, indicator);\n      },\n      count: function count() {\n        return this.textareaValue.length;\n      },\n      remain: function remain() {\n        var diff = this.maxlength - this.count;\n        if (!this.indicatorConf.negative && diff < 0) {\n          diff = 0;\n        }\n        return diff;\n      }\n    },\n    watch: {\n      value: function value(newValue) {\n        this.textareaValue = newValue;\n      },\n      textareaValue: function textareaValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue);\n        if (!this.forceExpand && !this.isFocus && this.expanded) {\n          this.expanded = false;\n        }\n      }\n    },\n    methods: {\n      handleFocus: function handleFocus(e) {\n        this.$emit('focus', e);\n        this.expanded = true;\n        this.isFocus = true;\n      },\n      handleBlur: function handleBlur(e) {\n        this.$emit('blur', e);\n        if (!this.forceExpand && this.textareaValue.length === 0) {\n          this.expanded = false;\n        }\n        this.isFocus = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 236:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-textarea-wrapper\",\n    class: {\n      'cube-textarea_expanded': _vm.expanded, 'cube-textarea_active': _vm.isFocus\n    }\n  }, [_c('textarea', _vm._b({\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.textareaValue),\n      expression: \"textareaValue\"\n    }],\n    ref: \"input\",\n    staticClass: \"cube-textarea\",\n    attrs: {\n      \"placeholder\": _vm.placeholder,\n      \"maxlength\": _vm.maxlength,\n      \"disabled\": _vm.disabled\n    },\n    domProps: {\n      \"value\": (_vm.textareaValue)\n    },\n    on: {\n      \"focus\": _vm.handleFocus,\n      \"blur\": _vm.handleBlur,\n      \"change\": _vm.changeHander,\n      \"input\": function($event) {\n        if ($event.target.composing) { return; }\n        _vm.textareaValue = $event.target.value\n      }\n    }\n  }, 'textarea', _vm.$props, false)), _vm._v(\" \"), _vm._t(\"indicator\", [(_vm.indicator) ? _c('span', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.expanded),\n      expression: \"expanded\"\n    }],\n    staticClass: \"cube-textarea-indicator\"\n  }, [_vm._v(_vm._s(_vm.indicatorConf.remain ? _vm.remain : _vm.count))]) : _vm._e()], {\n    remain: _vm.remain,\n    count: _vm.count\n  })], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 403:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(233)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/textarea/textarea.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.textarea);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _textarea) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _textarea2 = _interopRequireDefault(_textarea);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _textarea2.default.install = function (Vue) {\n    Vue.component(_textarea2.default.name, _textarea2.default);\n  };\n\n  exports.default = _textarea2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 88:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 92:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n\n/***/ 93:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n\n/***/ 94:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/textarea/style.css",
    "content": ".cube-textarea-wrapper{-webkit-transition:height .2s;transition:height .2s;height:40px;font-size:14px;line-height:1.429;position:relative}.cube-textarea-wrapper textarea::-webkit-input-placeholder{color:#ccc;text-overflow:ellipsis}.cube-textarea-wrapper:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ebebeb;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea-wrapper:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea-wrapper:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea_expanded{height:80px}.cube-textarea_active{position:relative}.cube-textarea_active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-textarea_active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-textarea_active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-textarea-indicator{position:absolute;bottom:7px;right:10px;color:#ccc}.cube-textarea{width:100%;height:100%;text-align:left;padding:10px;box-sizing:border-box;font-size:100%;line-height:inherit;color:#666;background-color:#fff;border-radius:2px;resize:none;border:none;outline:none}"
  },
  {
    "path": "lib/time-picker/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"time-picker\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"time-picker\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 404);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(21);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(82);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(16);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 87 */,\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(92), __esModule: true };\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/*!\n * better-normal-scroll v1.12.6\n * (c) 2016-2018 ustbhuangyi\n * Released under the MIT License.\n */\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nfunction eventMixin(BScroll) {\n  BScroll.prototype.on = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    if (!this._events[type]) {\n      this._events[type] = [];\n    }\n\n    this._events[type].push([fn, context]);\n  };\n\n  BScroll.prototype.once = function (type, fn) {\n    var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n    function magic() {\n      this.off(type, magic);\n\n      fn.apply(context, arguments);\n    }\n    // To expose the corresponding function method in order to execute the off method\n    magic.fn = fn;\n\n    this.on(type, magic);\n  };\n\n  BScroll.prototype.off = function (type, fn) {\n    var _events = this._events[type];\n    if (!_events) {\n      return;\n    }\n\n    var count = _events.length;\n    while (count--) {\n      if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n        _events[count][0] = undefined;\n      }\n    }\n  };\n\n  BScroll.prototype.trigger = function (type) {\n    var events = this._events[type];\n    if (!events) {\n      return;\n    }\n\n    var len = events.length;\n    var eventsCopy = [].concat(toConsumableArray(events));\n    for (var i = 0; i < len; i++) {\n      var event = eventsCopy[i];\n\n      var _event = slicedToArray(event, 2),\n          fn = _event[0],\n          context = _event[1];\n\n      if (fn) {\n        fn.apply(context, [].slice.call(arguments, 1));\n      }\n    }\n  };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n  return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n  for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < rest.length; i++) {\n    var source = rest[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target;\n}\n\nfunction isUndef(v) {\n  return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n  return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n  if (!inBrowser) {\n    return false;\n  }\n  var transformNames = {\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform',\n    standard: 'transform'\n  };\n\n  for (var key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key;\n    }\n  }\n\n  return false;\n}();\n\nfunction prefixStyle(style) {\n  if (vendor === false) {\n    return false;\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend';\n    }\n    return style;\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n  el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n  el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n  var left = 0;\n  var top = 0;\n\n  while (el) {\n    left -= el.offsetLeft;\n    top -= el.offsetTop;\n    el = el.offsetParent;\n  }\n\n  return {\n    left: left,\n    top: top\n  };\n}\n\nfunction offsetToBody(el) {\n  var rect = el.getBoundingClientRect();\n\n  return {\n    left: -(rect.left + window.pageXOffset),\n    top: -(rect.top + window.pageYOffset)\n  };\n}\n\nvar transform = prefixStyle('transform');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && prefixStyle('transition') in elementStyle;\n\nvar style = {\n  transform: transform,\n  transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n  transitionDuration: prefixStyle('transitionDuration'),\n  transitionDelay: prefixStyle('transitionDelay'),\n  transformOrigin: prefixStyle('transformOrigin'),\n  transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n  touchstart: TOUCH_EVENT,\n  touchmove: TOUCH_EVENT,\n  touchend: TOUCH_EVENT,\n\n  mousedown: MOUSE_EVENT,\n  mousemove: MOUSE_EVENT,\n  mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n  if (el instanceof window.SVGElement) {\n    var rect = el.getBoundingClientRect();\n    return {\n      top: rect.top,\n      left: rect.left,\n      width: rect.width,\n      height: rect.height\n    };\n  } else {\n    return {\n      top: el.offsetTop,\n      left: el.offsetLeft,\n      width: el.offsetWidth,\n      height: el.offsetHeight\n    };\n  }\n}\n\nfunction preventDefaultException(el, exceptions) {\n  for (var i in exceptions) {\n    if (exceptions[i].test(el[i])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction tap(e, eventName) {\n  var ev = document.createEvent('Event');\n  ev.initEvent(eventName, true, true);\n  ev.pageX = e.pageX;\n  ev.pageY = e.pageY;\n  e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n  var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n  var eventSource = void 0;\n  if (e.type === 'mouseup' || e.type === 'mousecancel') {\n    eventSource = e;\n  } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n    eventSource = e.changedTouches[0];\n  }\n  var posSrc = {};\n  if (eventSource) {\n    posSrc.screenX = eventSource.screenX || 0;\n    posSrc.screenY = eventSource.screenY || 0;\n    posSrc.clientX = eventSource.clientX || 0;\n    posSrc.clientY = eventSource.clientY || 0;\n  }\n  var ev = void 0;\n  var bubbles = true;\n  var cancelable = true;\n  if (typeof MouseEvent !== 'undefined') {\n    try {\n      ev = new MouseEvent(event, extend({\n        bubbles: bubbles,\n        cancelable: cancelable\n      }, posSrc));\n    } catch (e) {\n      createEvent();\n    }\n  } else {\n    createEvent();\n  }\n\n  function createEvent() {\n    ev = document.createEvent('Event');\n    ev.initEvent(event, bubbles, cancelable);\n    extend(ev, posSrc);\n  }\n\n  // forwardedTouchEvent set to true in case of the conflict with fastclick\n  ev.forwardedTouchEvent = true;\n  ev._constructed = true;\n  e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n  click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n  if (target.firstChild) {\n    before(el, target.firstChild);\n  } else {\n    target.appendChild(el);\n  }\n}\n\nfunction before(el, target) {\n  target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n  el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n  startX: 0,\n  startY: 0,\n  scrollX: false,\n  scrollY: true,\n  freeScroll: false,\n  directionLockThreshold: 5,\n  eventPassthrough: '',\n  click: false,\n  tap: false,\n  /**\n   * support any side\n   * bounce: {\n   *   top: true,\n   *   bottom: true,\n   *   left: true,\n   *   right: true\n   * }\n   */\n  bounce: true,\n  bounceTime: 800,\n  momentum: true,\n  momentumLimitTime: 300,\n  momentumLimitDistance: 15,\n  swipeTime: 2500,\n  swipeBounceTime: 500,\n  deceleration: 0.0015,\n  flickLimitTime: 200,\n  flickLimitDistance: 100,\n  resizePolling: 60,\n  probeType: 0,\n  preventDefault: true,\n  preventDefaultException: {\n    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/\n  },\n  HWCompositing: true,\n  useTransition: true,\n  useTransform: true,\n  bindToWrapper: false,\n  disableMouse: hasTouch,\n  disableTouch: !hasTouch,\n  observeDOM: true,\n  autoBlur: true,\n  /**\n   * for picker\n   * wheel: {\n   *   selectedIndex: 0,\n   *   rotate: 25,\n   *   adjustTime: 400\n   *   wheelWrapperClass: 'wheel-scroll',\n   *   wheelItemClass: 'wheel-item'\n   * }\n   */\n  wheel: false,\n  /**\n   * for slide\n   * snap: {\n   *   loop: false,\n   *   el: domEl,\n   *   threshold: 0.1,\n   *   stepX: 100,\n   *   stepY: 100,\n   *   speed: 400,\n   *   easing: {\n   *     style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n   *     fn: function (t) {\n   *       return t * (2 - t)\n   *     }\n   *   }\n   *   listenFlick: true\n   * }\n   */\n  snap: false,\n  /**\n   * for scrollbar\n   * scrollbar: {\n   *   fade: true,\n   *   interactive: false\n   * }\n   */\n  scrollbar: false,\n  /**\n   * for pull down and refresh\n   * pullDownRefresh: {\n   *   threshold: 50,\n   *   stop: 20\n   * }\n   */\n  pullDownRefresh: false,\n  /**\n   * for pull up and load\n   * pullUpLoad: {\n   *   threshold: 50\n   * }\n   */\n  pullUpLoad: false,\n  /**\n   * for mouse wheel\n   * mouseWheel: {\n   *   speed: 20,\n   *   invert: false,\n   *   easeTime: 300\n   * }\n   */\n  mouseWheel: false,\n  stopPropagation: false,\n  /**\n   * for zoom\n   * zoom: {\n   *   start: 1,\n   *   min: 1,\n   *   max: 4\n   * }\n   */\n  zoom: false,\n  /**\n   * for infinity\n   * infinity: {\n   *   render(item, div) {\n   *   },\n   *   createTombstone() {\n   *   },\n   *   fetch(count) {\n   *   }\n   * }\n   */\n  infinity: false,\n  /**\n   * for double click\n   * dblclick: {\n   *   delay: 300\n   * }\n   */\n  dblclick: false\n};\n\nfunction initMixin(BScroll) {\n  BScroll.prototype._init = function (el, options) {\n    this._handleOptions(options);\n\n    // init private custom events\n    this._events = {};\n\n    this.x = 0;\n    this.y = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n\n    this.setScale(1);\n\n    this._addDOMEvents();\n\n    this._initExtFeatures();\n\n    this._watchTransition();\n\n    if (this.options.observeDOM) {\n      this._initDOMObserver();\n    }\n\n    if (this.options.autoBlur) {\n      this._handleAutoBlur();\n    }\n\n    this.refresh();\n\n    if (!this.options.snap) {\n      this.scrollTo(this.options.startX, this.options.startY);\n    }\n\n    this.enable();\n  };\n\n  BScroll.prototype.setScale = function (scale) {\n    this.lastScale = isUndef(this.scale) ? scale : this.scale;\n    this.scale = scale;\n  };\n\n  BScroll.prototype._handleOptions = function (options) {\n    this.options = extend({}, DEFAULT_OPTIONS, options);\n\n    this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n    this.options.useTransition = this.options.useTransition && hasTransition;\n    this.options.useTransform = this.options.useTransform && hasTransform;\n\n    this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n    // If you want eventPassthrough I have to lock one of the axes\n    this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n    this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n    // With eventPassthrough we also need lockDirection mechanism\n    this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n    this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n    if (this.options.tap === true) {\n      this.options.tap = 'tap';\n    }\n  };\n\n  BScroll.prototype._addDOMEvents = function () {\n    var eventOperation = addEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._removeDOMEvents = function () {\n    var eventOperation = removeEvent;\n    this._handleDOMEvents(eventOperation);\n  };\n\n  BScroll.prototype._handleDOMEvents = function (eventOperation) {\n    var target = this.options.bindToWrapper ? this.wrapper : window;\n    eventOperation(window, 'orientationchange', this);\n    eventOperation(window, 'resize', this);\n\n    if (this.options.click) {\n      eventOperation(this.wrapper, 'click', this, true);\n    }\n\n    if (!this.options.disableMouse) {\n      eventOperation(this.wrapper, 'mousedown', this);\n      eventOperation(target, 'mousemove', this);\n      eventOperation(target, 'mousecancel', this);\n      eventOperation(target, 'mouseup', this);\n    }\n\n    if (hasTouch && !this.options.disableTouch) {\n      eventOperation(this.wrapper, 'touchstart', this);\n      eventOperation(target, 'touchmove', this);\n      eventOperation(target, 'touchcancel', this);\n      eventOperation(target, 'touchend', this);\n    }\n\n    eventOperation(this.scroller, style.transitionEnd, this);\n  };\n\n  BScroll.prototype._initExtFeatures = function () {\n    if (this.options.snap) {\n      this._initSnap();\n    }\n    if (this.options.scrollbar) {\n      this._initScrollbar();\n    }\n    if (this.options.pullUpLoad) {\n      this._initPullUp();\n    }\n    if (this.options.pullDownRefresh) {\n      this._initPullDown();\n    }\n    if (this.options.wheel) {\n      this._initWheel();\n    }\n    if (this.options.mouseWheel) {\n      this._initMouseWheel();\n    }\n    if (this.options.zoom) {\n      this._initZoom();\n    }\n    if (this.options.infinity) {\n      this._initInfinite();\n    }\n  };\n\n  BScroll.prototype._watchTransition = function () {\n    if (typeof Object.defineProperty !== 'function') {\n      return;\n    }\n    var me = this;\n    var isInTransition = false;\n    var key = this.useTransition ? 'isInTransition' : 'isAnimating';\n    Object.defineProperty(this, key, {\n      get: function get() {\n        return isInTransition;\n      },\n      set: function set(newVal) {\n        isInTransition = newVal;\n        // fix issue #359\n        var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n        var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n        for (var i = 0; i < el.length; i++) {\n          el[i].style.pointerEvents = pointerEvents;\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._handleAutoBlur = function () {\n    this.on('scrollStart', function () {\n      var activeElement = document.activeElement;\n      if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n        activeElement.blur();\n      }\n    });\n  };\n\n  BScroll.prototype._initDOMObserver = function () {\n    var _this = this;\n\n    if (typeof MutationObserver !== 'undefined') {\n      var timer = void 0;\n      var observer = new MutationObserver(function (mutations) {\n        // don't do any refresh during the transition, or outside of the boundaries\n        if (_this._shouldNotRefresh()) {\n          return;\n        }\n        var immediateRefresh = false;\n        var deferredRefresh = false;\n        for (var i = 0; i < mutations.length; i++) {\n          var mutation = mutations[i];\n          if (mutation.type !== 'attributes') {\n            immediateRefresh = true;\n            break;\n          } else {\n            if (mutation.target !== _this.scroller) {\n              deferredRefresh = true;\n              break;\n            }\n          }\n        }\n        if (immediateRefresh) {\n          _this.refresh();\n        } else if (deferredRefresh) {\n          // attributes changes too often\n          clearTimeout(timer);\n          timer = setTimeout(function () {\n            if (!_this._shouldNotRefresh()) {\n              _this.refresh();\n            }\n          }, 60);\n        }\n      });\n      var config = {\n        attributes: true,\n        childList: true,\n        subtree: true\n      };\n      observer.observe(this.scroller, config);\n\n      this.on('destroy', function () {\n        observer.disconnect();\n      });\n    } else {\n      this._checkDOMUpdate();\n    }\n  };\n\n  BScroll.prototype._shouldNotRefresh = function () {\n    var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n    return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n  };\n\n  BScroll.prototype._checkDOMUpdate = function () {\n    var scrollerRect = getRect(this.scroller);\n    var oldWidth = scrollerRect.width;\n    var oldHeight = scrollerRect.height;\n\n    function check() {\n      if (this.destroyed) {\n        return;\n      }\n      scrollerRect = getRect(this.scroller);\n      var newWidth = scrollerRect.width;\n      var newHeight = scrollerRect.height;\n\n      if (oldWidth !== newWidth || oldHeight !== newHeight) {\n        this.refresh();\n      }\n      oldWidth = newWidth;\n      oldHeight = newHeight;\n\n      next.call(this);\n    }\n\n    function next() {\n      var _this2 = this;\n\n      setTimeout(function () {\n        check.call(_this2);\n      }, 1000);\n    }\n\n    next.call(this);\n  };\n\n  BScroll.prototype.handleEvent = function (e) {\n    switch (e.type) {\n      case 'touchstart':\n      case 'mousedown':\n        this._start(e);\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoomStart(e);\n        }\n        break;\n      case 'touchmove':\n      case 'mousemove':\n        if (this.options.zoom && e.touches && e.touches.length > 1) {\n          this._zoom(e);\n        } else {\n          this._move(e);\n        }\n        break;\n      case 'touchend':\n      case 'mouseup':\n      case 'touchcancel':\n      case 'mousecancel':\n        if (this.scaled) {\n          this._zoomEnd(e);\n        } else {\n          this._end(e);\n        }\n        break;\n      case 'orientationchange':\n      case 'resize':\n        this._resize();\n        break;\n      case 'transitionend':\n      case 'webkitTransitionEnd':\n      case 'oTransitionEnd':\n      case 'MSTransitionEnd':\n        this._transitionEnd(e);\n        break;\n      case 'click':\n        if (this.enabled && !e._constructed) {\n          if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        }\n        break;\n      case 'wheel':\n      case 'DOMMouseScroll':\n      case 'mousewheel':\n        this._onMouseWheel(e);\n        break;\n    }\n  };\n\n  BScroll.prototype.refresh = function () {\n    var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n    var wrapperRect = getRect(this.wrapper);\n    this.wrapperWidth = wrapperRect.width;\n    this.wrapperHeight = wrapperRect.height;\n\n    var scrollerRect = getRect(this.scroller);\n    this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n    this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n    this.relativeX = scrollerRect.left;\n    this.relativeY = scrollerRect.top;\n\n    if (isWrapperStatic) {\n      this.relativeX -= wrapperRect.left;\n      this.relativeY -= wrapperRect.top;\n    }\n\n    this.minScrollX = 0;\n    this.minScrollY = 0;\n\n    var wheel = this.options.wheel;\n    if (wheel) {\n      this.items = this.scroller.children;\n      this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n      if (this.selectedIndex === undefined) {\n        this.selectedIndex = wheel.selectedIndex || 0;\n      }\n      this.options.startY = -this.selectedIndex * this.itemHeight;\n      this.maxScrollX = 0;\n      this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n    } else {\n      this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n      if (!this.options.infinity) {\n        this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n      }\n      if (this.maxScrollX < 0) {\n        this.maxScrollX -= this.relativeX;\n        this.minScrollX = -this.relativeX;\n      } else if (this.scale > 1) {\n        this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n        this.minScrollX = this.maxScrollX;\n      }\n      if (this.maxScrollY < 0) {\n        this.maxScrollY -= this.relativeY;\n        this.minScrollY = -this.relativeY;\n      } else if (this.scale > 1) {\n        this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n        this.minScrollY = this.maxScrollY;\n      }\n    }\n\n    this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n    this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n    if (!this.hasHorizontalScroll) {\n      this.maxScrollX = this.minScrollX;\n      this.scrollerWidth = this.wrapperWidth;\n    }\n\n    if (!this.hasVerticalScroll) {\n      this.maxScrollY = this.minScrollY;\n      this.scrollerHeight = this.wrapperHeight;\n    }\n\n    this.endTime = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.wrapperOffset = offset(this.wrapper);\n\n    this.trigger('refresh');\n\n    !this.scaled && this.resetPosition();\n  };\n\n  BScroll.prototype.enable = function () {\n    this.enabled = true;\n  };\n\n  BScroll.prototype.disable = function () {\n    this.enabled = false;\n  };\n}\n\nvar ease = {\n  // easeOutQuint\n  swipe: {\n    style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n    fn: function fn(t) {\n      return 1 + --t * t * t * t * t;\n    }\n  },\n  // easeOutQuard\n  swipeBounce: {\n    style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n    fn: function fn(t) {\n      return t * (2 - t);\n    }\n  },\n  // easeOutQuart\n  bounce: {\n    style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n    fn: function fn(t) {\n      return 1 - --t * t * t * t;\n    }\n  }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\n  var distance = current - start;\n  var speed = Math.abs(distance) / time;\n\n  var deceleration = options.deceleration,\n      itemHeight = options.itemHeight,\n      swipeBounceTime = options.swipeBounceTime,\n      wheel = options.wheel,\n      swipeTime = options.swipeTime;\n\n  var duration = swipeTime;\n  var rate = wheel ? 4 : 15;\n\n  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n  if (wheel && itemHeight) {\n    destination = Math.round(destination / itemHeight) * itemHeight;\n  }\n\n  if (destination < lowerMargin) {\n    destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n    duration = swipeBounceTime;\n  } else if (destination > upperMargin) {\n    destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n    duration = swipeBounceTime;\n  }\n\n  return {\n    destination: Math.round(destination),\n    duration: duration\n  };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n  // if all else fails, use setTimeout\n  function (callback) {\n    return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n  };\n}();\n\nvar cancelAnimationFrame = function () {\n  if (!inBrowser) {\n    /* istanbul ignore if */\n    return noop;\n  }\n  return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n    window.clearTimeout(id);\n  };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n  console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error('[BScroll] ' + msg);\n  }\n}\n\nfunction coreMixin(BScroll) {\n  BScroll.prototype._start = function (e) {\n    var _eventType = eventType[e.type];\n    if (_eventType !== TOUCH_EVENT) {\n      if (e.button !== 0) {\n        return;\n      }\n    }\n    if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n      return;\n    }\n    this.initiated = _eventType;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.moved = false;\n    this.distX = 0;\n    this.distY = 0;\n    this.directionX = 0;\n    this.directionY = 0;\n    this.movingDirectionX = 0;\n    this.movingDirectionY = 0;\n    this.directionLocked = 0;\n\n    this._transitionTime();\n    this.startTime = getNow();\n\n    if (this.options.wheel) {\n      this.target = e.target;\n    }\n\n    this.stop();\n\n    var point = e.touches ? e.touches[0] : e;\n\n    this.startX = this.x;\n    this.startY = this.y;\n    this.absStartX = this.x;\n    this.absStartY = this.y;\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.trigger('beforeScrollStart');\n  };\n\n  BScroll.prototype._move = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var point = e.touches ? e.touches[0] : e;\n    var deltaX = point.pageX - this.pointX;\n    var deltaY = point.pageY - this.pointY;\n\n    this.pointX = point.pageX;\n    this.pointY = point.pageY;\n\n    this.distX += deltaX;\n    this.distY += deltaY;\n\n    var absDistX = Math.abs(this.distX);\n    var absDistY = Math.abs(this.distY);\n\n    var timestamp = getNow();\n\n    // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n    if (timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n      return;\n    }\n\n    // If you are scrolling in one direction lock the other\n    if (!this.directionLocked && !this.options.freeScroll) {\n      if (absDistX > absDistY + this.options.directionLockThreshold) {\n        this.directionLocked = 'h'; // lock horizontally\n      } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n        this.directionLocked = 'v'; // lock vertically\n      } else {\n        this.directionLocked = 'n'; // no lock\n      }\n    }\n\n    if (this.directionLocked === 'h') {\n      if (this.options.eventPassthrough === 'vertical') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'horizontal') {\n        this.initiated = false;\n        return;\n      }\n      deltaY = 0;\n    } else if (this.directionLocked === 'v') {\n      if (this.options.eventPassthrough === 'horizontal') {\n        e.preventDefault();\n      } else if (this.options.eventPassthrough === 'vertical') {\n        this.initiated = false;\n        return;\n      }\n      deltaX = 0;\n    }\n\n    deltaX = this.hasHorizontalScroll ? deltaX : 0;\n    deltaY = this.hasVerticalScroll ? deltaY : 0;\n    this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    var newX = this.x + deltaX;\n    var newY = this.y + deltaY;\n\n    var top = false;\n    var bottom = false;\n    var left = false;\n    var right = false;\n    // Slow down or stop if outside of the boundaries\n    var bounce = this.options.bounce;\n    if (bounce !== false) {\n      top = bounce.top === undefined ? true : bounce.top;\n      bottom = bounce.bottom === undefined ? true : bounce.bottom;\n      left = bounce.left === undefined ? true : bounce.left;\n      right = bounce.right === undefined ? true : bounce.right;\n    }\n    if (newX > this.minScrollX || newX < this.maxScrollX) {\n      if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n        newX = this.x + deltaX / 3;\n      } else {\n        newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n      }\n    }\n    if (newY > this.minScrollY || newY < this.maxScrollY) {\n      if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n        newY = this.y + deltaY / 3;\n      } else {\n        newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n      }\n    }\n\n    if (!this.moved) {\n      this.moved = true;\n      this.trigger('scrollStart');\n    }\n\n    this._translate(newX, newY);\n\n    if (timestamp - this.startTime > this.options.momentumLimitTime) {\n      this.startTime = timestamp;\n      this.startX = this.x;\n      this.startY = this.y;\n\n      if (this.options.probeType === PROBE_DEBOUNCE) {\n        this.trigger('scroll', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n\n    if (this.options.probeType > PROBE_DEBOUNCE) {\n      this.trigger('scroll', {\n        x: this.x,\n        y: this.y\n      });\n    }\n\n    var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n    var pX = this.pointX - scrollLeft;\n    var pY = this.pointY - scrollTop;\n\n    if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n      this._end(e);\n    }\n  };\n\n  BScroll.prototype._end = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n    this.initiated = false;\n\n    if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n      e.preventDefault();\n    }\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.trigger('touchEnd', {\n      x: this.x,\n      y: this.y\n    });\n\n    this.isInTransition = false;\n\n    // ensures that the last position is rounded\n    var newX = Math.round(this.x);\n    var newY = Math.round(this.y);\n\n    var deltaX = newX - this.absStartX;\n    var deltaY = newY - this.absStartY;\n    this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n    this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n    // if configure pull down refresh, check it first\n    if (this.options.pullDownRefresh && this._checkPullDown()) {\n      return;\n    }\n\n    // check if it is a click operation\n    if (this._checkClick(e)) {\n      this.trigger('scrollCancel');\n      return;\n    }\n\n    // reset if we are outside of the boundaries\n    if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      return;\n    }\n\n    this._translate(newX, newY);\n\n    this.endTime = getNow();\n    var duration = this.endTime - this.startTime;\n    var absDistX = Math.abs(newX - this.startX);\n    var absDistY = Math.abs(newY - this.startY);\n\n    // flick\n    if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n      this.trigger('flick');\n      return;\n    }\n\n    var time = 0;\n    // start momentum animation if needed\n    if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n      var top = false;\n      var bottom = false;\n      var left = false;\n      var right = false;\n      var bounce = this.options.bounce;\n      if (bounce !== false) {\n        top = bounce.top === undefined ? true : bounce.top;\n        bottom = bounce.bottom === undefined ? true : bounce.bottom;\n        left = bounce.left === undefined ? true : bounce.left;\n        right = bounce.right === undefined ? true : bounce.right;\n      }\n      var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n      var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n      var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options) : { destination: newX, duration: 0 };\n      var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options) : { destination: newY, duration: 0 };\n      newX = momentumX.destination;\n      newY = momentumY.destination;\n      time = Math.max(momentumX.duration, momentumY.duration);\n      this.isInTransition = true;\n    } else {\n      if (this.options.wheel) {\n        newY = Math.round(newY / this.itemHeight) * this.itemHeight;\n        time = this.options.wheel.adjustTime || 400;\n      }\n    }\n\n    var easing = ease.swipe;\n    if (this.options.snap) {\n      var snap = this._nearestSnap(newX, newY);\n      this.currentPage = snap;\n      time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n      newX = snap.x;\n      newY = snap.y;\n\n      this.directionX = 0;\n      this.directionY = 0;\n      easing = this.options.snap.easing || ease.bounce;\n    }\n\n    if (newX !== this.x || newY !== this.y) {\n      // change easing function when scroller goes out of the boundaries\n      if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n        easing = ease.swipeBounce;\n      }\n      this.scrollTo(newX, newY, time, easing);\n      return;\n    }\n\n    if (this.options.wheel) {\n      this.selectedIndex = Math.round(Math.abs(this.y / this.itemHeight));\n    }\n    this.trigger('scrollEnd', {\n      x: this.x,\n      y: this.y\n    });\n  };\n\n  BScroll.prototype._checkClick = function (e) {\n    // when in the process of pulling down, it should not prevent click\n    var preventClick = this.stopFromTransition && !this.pulling;\n    this.stopFromTransition = false;\n\n    // we scrolled less than 15 pixels\n    if (!this.moved) {\n      if (this.options.wheel) {\n        if (this.target && this.target.classList.contains(this.options.wheel.wheelWrapperClass)) {\n          var index = Math.abs(Math.round(this.y / this.itemHeight));\n          var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n          this.target = this.items[index + _offset];\n        }\n        this.scrollToElement(this.target, this.options.wheel.adjustTime || 400, true, true, ease.swipe);\n        return true;\n      } else {\n        if (!preventClick) {\n          var _dblclick = this.options.dblclick;\n          var dblclickTrigged = false;\n          if (_dblclick && this.lastClickTime) {\n            var _dblclick$delay = _dblclick.delay,\n                delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n            if (getNow() - this.lastClickTime < delay) {\n              dblclickTrigged = true;\n              dblclick(e);\n            }\n          }\n          if (this.options.tap) {\n            tap(e, this.options.tap);\n          }\n\n          if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n            click(e);\n          }\n          this.lastClickTime = dblclickTrigged ? null : getNow();\n          return true;\n        }\n        return false;\n      }\n    }\n    return false;\n  };\n\n  BScroll.prototype._resize = function () {\n    var _this = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    // fix a scroll problem under Android condition\n    if (isAndroid) {\n      this.wrapper.scrollTop = 0;\n    }\n    clearTimeout(this.resizeTimeout);\n    this.resizeTimeout = setTimeout(function () {\n      _this.refresh();\n    }, this.options.resizePolling);\n  };\n\n  BScroll.prototype._startProbe = function () {\n    cancelAnimationFrame(this.probeTimer);\n    this.probeTimer = requestAnimationFrame(probe);\n\n    var me = this;\n\n    function probe() {\n      var pos = me.getComputedPosition();\n      me.trigger('scroll', pos);\n      if (!me.isInTransition) {\n        me.trigger('scrollEnd', pos);\n        return;\n      }\n      me.probeTimer = requestAnimationFrame(probe);\n    }\n  };\n\n  BScroll.prototype._transitionTime = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionDuration] = time + 'ms';\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i = 0; _i < this.indicators.length; _i++) {\n        this.indicators[_i].transitionTime(time);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionTimingFunction = function (easing) {\n    this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n    if (this.options.wheel) {\n      for (var i = 0; i < this.items.length; i++) {\n        this.items[i].style[style.transitionTimingFunction] = easing;\n      }\n    }\n\n    if (this.indicators) {\n      for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n        this.indicators[_i2].transitionTimingFunction(easing);\n      }\n    }\n  };\n\n  BScroll.prototype._transitionEnd = function (e) {\n    if (e.target !== this.scroller || !this.isInTransition) {\n      return;\n    }\n\n    this._transitionTime();\n    var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n    if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n      this.isInTransition = false;\n      if (this.options.probeType !== PROBE_REALTIME) {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n    }\n  };\n\n  BScroll.prototype._translate = function (x, y, scale) {\n    assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n    if (isUndef(scale)) {\n      scale = this.scale;\n    }\n    if (this.options.useTransform) {\n      this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n    } else {\n      x = Math.round(x);\n      y = Math.round(y);\n      this.scrollerStyle.left = x + 'px';\n      this.scrollerStyle.top = y + 'px';\n    }\n\n    if (this.options.wheel) {\n      var _options$wheel$rotate = this.options.wheel.rotate,\n          rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n      for (var i = 0; i < this.items.length; i++) {\n        var deg = rotate * (y / this.itemHeight + i);\n        this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n      }\n    }\n\n    this.x = x;\n    this.y = y;\n    this.setScale(scale);\n\n    if (this.indicators) {\n      for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n        this.indicators[_i3].updatePosition();\n      }\n    }\n  };\n\n  BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n    var me = this;\n    var startX = this.x;\n    var startY = this.y;\n    var startScale = this.lastScale;\n    var destScale = this.scale;\n    var startTime = getNow();\n    var destTime = startTime + duration;\n\n    function step() {\n      var now = getNow();\n\n      if (now >= destTime) {\n        me.isAnimating = false;\n        me._translate(destX, destY, destScale);\n\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n\n        if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n          me.trigger('scrollEnd', {\n            x: me.x,\n            y: me.y\n          });\n        }\n        return;\n      }\n      now = (now - startTime) / duration;\n      var easing = easingFn(now);\n      var newX = (destX - startX) * easing + startX;\n      var newY = (destY - startY) * easing + startY;\n      var newScale = (destScale - startScale) * easing + startScale;\n\n      me._translate(newX, newY, newScale);\n\n      if (me.isAnimating) {\n        me.animateTimer = requestAnimationFrame(step);\n      }\n\n      if (me.options.probeType === PROBE_REALTIME) {\n        me.trigger('scroll', {\n          x: me.x,\n          y: me.y\n        });\n      }\n    }\n\n    this.isAnimating = true;\n    cancelAnimationFrame(this.animateTimer);\n    step();\n  };\n\n  BScroll.prototype.scrollBy = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    x = this.x + x;\n    y = this.y + y;\n\n    this.scrollTo(x, y, time, easing);\n  };\n\n  BScroll.prototype.scrollTo = function (x, y) {\n    var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n    var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n    this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);\n\n    if (!time || this.options.useTransition) {\n      this._transitionTimingFunction(easing.style);\n      this._transitionTime(time);\n      this._translate(x, y);\n\n      if (time && this.options.probeType === PROBE_REALTIME) {\n        this._startProbe();\n      }\n\n      if (!time && (x !== this.x || y !== this.y)) {\n        this.trigger('scroll', {\n          x: x,\n          y: y\n        });\n        // force reflow to put everything in position\n        this._reflow = document.body.offsetHeight;\n        if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n          this.trigger('scrollEnd', {\n            x: x,\n            y: y\n          });\n        }\n      }\n\n      if (this.options.wheel) {\n        if (y > this.minScrollY) {\n          this.selectedIndex = 0;\n        } else if (y < this.maxScrollY) {\n          this.selectedIndex = this.items.length - 1;\n        } else {\n          this.selectedIndex = Math.round(Math.abs(y / this.itemHeight));\n        }\n      }\n    } else {\n      this._animate(x, y, time, easing.fn);\n    }\n  };\n\n  BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n    if (!el) {\n      return;\n    }\n    el = el.nodeType ? el : this.scroller.querySelector(el);\n\n    if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n      return;\n    }\n\n    var pos = offset(el);\n    pos.left -= this.wrapperOffset.left;\n    pos.top -= this.wrapperOffset.top;\n\n    // if offsetX/Y are true we center the element to the screen\n    if (offsetX === true) {\n      offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n    }\n    if (offsetY === true) {\n      offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n    }\n\n    pos.left -= offsetX || 0;\n    pos.top -= offsetY || 0;\n    pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n    pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n    if (this.options.wheel) {\n      pos.top = Math.round(pos.top / this.itemHeight) * this.itemHeight;\n    }\n\n    this.scrollTo(pos.left, pos.top, time, easing);\n  };\n\n  BScroll.prototype.resetPosition = function () {\n    var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n    var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n    var x = this.x;\n    var roundX = Math.round(x);\n    if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (roundX < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    var y = this.y;\n    var roundY = Math.round(y);\n    if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (roundY < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    if (x === this.x && y === this.y) {\n      return false;\n    }\n\n    this.scrollTo(x, y, time, easeing);\n\n    return true;\n  };\n\n  BScroll.prototype.getComputedPosition = function () {\n    var matrix = window.getComputedStyle(this.scroller, null);\n    var x = void 0;\n    var y = void 0;\n\n    if (this.options.useTransform) {\n      matrix = matrix[style.transform].split(')')[0].split(', ');\n      x = +(matrix[12] || matrix[4]);\n      y = +(matrix[13] || matrix[5]);\n    } else {\n      x = +matrix.left.replace(/[^-\\d.]/g, '');\n      y = +matrix.top.replace(/[^-\\d.]/g, '');\n    }\n\n    return {\n      x: x,\n      y: y\n    };\n  };\n\n  BScroll.prototype.stop = function () {\n    if (this.options.useTransition && this.isInTransition) {\n      this.isInTransition = false;\n      cancelAnimationFrame(this.probeTimer);\n      var pos = this.getComputedPosition();\n      this._translate(pos.x, pos.y);\n      if (this.options.wheel) {\n        this.target = this.items[Math.round(-pos.y / this.itemHeight)];\n      } else {\n        this.trigger('scrollEnd', {\n          x: this.x,\n          y: this.y\n        });\n      }\n      this.stopFromTransition = true;\n    } else if (!this.options.useTransition && this.isAnimating) {\n      this.isAnimating = false;\n      cancelAnimationFrame(this.animateTimer);\n      this.trigger('scrollEnd', {\n        x: this.x,\n        y: this.y\n      });\n      this.stopFromTransition = true;\n    }\n  };\n\n  BScroll.prototype.destroy = function () {\n    this.destroyed = true;\n    this.trigger('destroy');\n    if (this.options.useTransition) {\n      cancelAnimationFrame(this.probeTimer);\n    } else {\n      cancelAnimationFrame(this.animateTimer);\n    }\n    this._removeDOMEvents();\n    // remove custom events\n    this._events = {};\n  };\n}\n\nfunction snapMixin(BScroll) {\n  BScroll.prototype._initSnap = function () {\n    var _this = this;\n\n    this.currentPage = {};\n    var snap = this.options.snap;\n\n    if (snap.loop) {\n      var children = this.scroller.children;\n      if (children.length > 1) {\n        prepend(children[children.length - 1].cloneNode(true), this.scroller);\n        this.scroller.appendChild(children[1].cloneNode(true));\n      } else {\n        // Loop does not make any sense if there is only one child.\n        snap.loop = false;\n      }\n    }\n\n    var el = snap.el;\n    if (typeof el === 'string') {\n      el = this.scroller.querySelectorAll(el);\n    }\n\n    this.on('refresh', function () {\n      _this.pages = [];\n\n      if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n        return;\n      }\n\n      var stepX = snap.stepX || _this.wrapperWidth;\n      var stepY = snap.stepY || _this.wrapperHeight;\n\n      var x = 0;\n      var y = void 0;\n      var cx = void 0;\n      var cy = void 0;\n      var i = 0;\n      var l = void 0;\n      var m = 0;\n      var n = void 0;\n      var rect = void 0;\n      if (!el) {\n        cx = Math.round(stepX / 2);\n        cy = Math.round(stepY / 2);\n\n        while (x > -_this.scrollerWidth) {\n          _this.pages[i] = [];\n          l = 0;\n          y = 0;\n\n          while (y > -_this.scrollerHeight) {\n            _this.pages[i][l] = {\n              x: Math.max(x, _this.maxScrollX),\n              y: Math.max(y, _this.maxScrollY),\n              width: stepX,\n              height: stepY,\n              cx: x - cx,\n              cy: y - cy\n            };\n\n            y -= stepY;\n            l++;\n          }\n\n          x -= stepX;\n          i++;\n        }\n      } else {\n        l = el.length;\n        n = -1;\n\n        for (; i < l; i++) {\n          rect = getRect(el[i]);\n          if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n            m = 0;\n            n++;\n          }\n\n          if (!_this.pages[m]) {\n            _this.pages[m] = [];\n          }\n\n          x = Math.max(-rect.left, _this.maxScrollX);\n          y = Math.max(-rect.top, _this.maxScrollY);\n          cx = x - Math.round(rect.width / 2);\n          cy = y - Math.round(rect.height / 2);\n\n          _this.pages[m][n] = {\n            x: x,\n            y: y,\n            width: rect.width,\n            height: rect.height,\n            cx: cx,\n            cy: cy\n          };\n\n          if (x > _this.maxScrollX) {\n            m++;\n          }\n        }\n      }\n\n      _this._checkSnapLoop();\n\n      var initPageX = snap._loopX ? 1 : 0;\n      var initPageY = snap._loopY ? 1 : 0;\n      _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0);\n\n      // Update snap threshold if needed.\n      var snapThreshold = snap.threshold;\n      if (snapThreshold % 1 === 0) {\n        _this.snapThresholdX = snapThreshold;\n        _this.snapThresholdY = snapThreshold;\n      } else {\n        _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n        _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n      }\n    });\n\n    this.on('scrollEnd', function () {\n      if (snap.loop) {\n        if (snap._loopX) {\n          if (_this.currentPage.pageX === 0) {\n            _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0);\n          }\n          if (_this.currentPage.pageX === _this.pages.length - 1) {\n            _this._goToPage(1, _this.currentPage.pageY, 0);\n          }\n        } else {\n          if (_this.currentPage.pageY === 0) {\n            _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0);\n          }\n          if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n            _this._goToPage(_this.currentPage.pageX, 1, 0);\n          }\n        }\n      }\n    });\n\n    if (snap.listenFlick !== false) {\n      this.on('flick', function () {\n        var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n        _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n      });\n    }\n\n    this.on('destroy', function () {\n      if (snap.loop) {\n        var _children = _this.scroller.children;\n        if (_children.length > 2) {\n          removeChild(_this.scroller, _children[_children.length - 1]);\n          removeChild(_this.scroller, _children[0]);\n        }\n      }\n    });\n  };\n\n  BScroll.prototype._checkSnapLoop = function () {\n    var snap = this.options.snap;\n\n    if (!snap.loop || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (this.pages.length > 1) {\n      snap._loopX = true;\n    }\n    if (this.pages[0] && this.pages[0].length > 1) {\n      snap._loopY = true;\n    }\n    if (snap._loopX && snap._loopY) {\n      warn('Loop does not support two direction at the same time.');\n    }\n  };\n\n  BScroll.prototype._nearestSnap = function (x, y) {\n    if (!this.pages.length) {\n      return { x: 0, y: 0, pageX: 0, pageY: 0 };\n    }\n\n    var i = 0;\n    // Check if we exceeded the snap threshold\n    if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n      return this.currentPage;\n    }\n\n    if (x > this.minScrollX) {\n      x = this.minScrollX;\n    } else if (x < this.maxScrollX) {\n      x = this.maxScrollX;\n    }\n\n    if (y > this.minScrollY) {\n      y = this.minScrollY;\n    } else if (y < this.maxScrollY) {\n      y = this.maxScrollY;\n    }\n\n    var l = this.pages.length;\n    for (; i < l; i++) {\n      if (x >= this.pages[i][0].cx) {\n        x = this.pages[i][0].x;\n        break;\n      }\n    }\n\n    l = this.pages[i].length;\n\n    var m = 0;\n    for (; m < l; m++) {\n      if (y >= this.pages[0][m].cy) {\n        y = this.pages[0][m].y;\n        break;\n      }\n    }\n\n    if (i === this.currentPage.pageX) {\n      i += this.directionX;\n\n      if (i < 0) {\n        i = 0;\n      } else if (i >= this.pages.length) {\n        i = this.pages.length - 1;\n      }\n\n      x = this.pages[i][0].x;\n    }\n\n    if (m === this.currentPage.pageY) {\n      m += this.directionY;\n\n      if (m < 0) {\n        m = 0;\n      } else if (m >= this.pages[0].length) {\n        m = this.pages[0].length - 1;\n      }\n\n      y = this.pages[0][m].y;\n    }\n\n    return {\n      x: x,\n      y: y,\n      pageX: i,\n      pageY: m\n    };\n  };\n\n  BScroll.prototype._goToPage = function (x) {\n    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var time = arguments[2];\n    var easing = arguments[3];\n\n    var snap = this.options.snap;\n\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    easing = easing || snap.easing || ease.bounce;\n\n    if (x >= this.pages.length) {\n      x = this.pages.length - 1;\n    } else if (x < 0) {\n      x = 0;\n    }\n\n    if (!this.pages[x]) {\n      return;\n    }\n\n    if (y >= this.pages[x].length) {\n      y = this.pages[x].length - 1;\n    } else if (y < 0) {\n      y = 0;\n    }\n\n    var posX = this.pages[x][y].x;\n    var posY = this.pages[x][y].y;\n\n    time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n    this.currentPage = {\n      x: posX,\n      y: posY,\n      pageX: x,\n      pageY: y\n    };\n    this.scrollTo(posX, posY, time, easing);\n  };\n\n  BScroll.prototype.goToPage = function (x, y, time, easing) {\n    var snap = this.options.snap;\n    if (!snap || !this.pages || !this.pages.length) {\n      return;\n    }\n\n    if (snap.loop) {\n      var len = void 0;\n      if (snap._loopX) {\n        len = this.pages.length - 2;\n        if (x >= len) {\n          x = len - 1;\n        } else if (x < 0) {\n          x = 0;\n        }\n        x += 1;\n      } else {\n        len = this.pages[0].length - 2;\n        if (y >= len) {\n          y = len - 1;\n        } else if (y < 0) {\n          y = 0;\n        }\n        y += 1;\n      }\n    }\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.next = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x++;\n    if (x >= this.pages.length && this.hasVerticalScroll) {\n      x = 0;\n      y++;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.prev = function (time, easing) {\n    var snap = this.options.snap;\n    if (!snap) {\n      return;\n    }\n\n    var x = this.currentPage.pageX;\n    var y = this.currentPage.pageY;\n\n    x--;\n    if (x < 0 && this.hasVerticalScroll) {\n      x = 0;\n      y--;\n    }\n\n    this._goToPage(x, y, time, easing);\n  };\n\n  BScroll.prototype.getCurrentPage = function () {\n    var snap = this.options.snap;\n    if (!snap) {\n      return null;\n    }\n\n    if (snap.loop) {\n      var currentPage = void 0;\n      if (snap._loopX) {\n        currentPage = extend({}, this.currentPage, {\n          pageX: this.currentPage.pageX - 1\n        });\n      } else {\n        currentPage = extend({}, this.currentPage, {\n          pageY: this.currentPage.pageY - 1\n        });\n      }\n      return currentPage;\n    }\n    return this.currentPage;\n  };\n}\n\nfunction wheelMixin(BScroll) {\n  BScroll.prototype.wheelTo = function () {\n    var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n    if (this.options.wheel) {\n      this.y = -index * this.itemHeight;\n      this.scrollTo(0, this.y);\n    }\n  };\n\n  BScroll.prototype.getSelectedIndex = function () {\n    return this.options.wheel && this.selectedIndex;\n  };\n\n  BScroll.prototype._initWheel = function () {\n    var wheel = this.options.wheel;\n    if (!wheel.wheelWrapperClass) {\n      wheel.wheelWrapperClass = 'wheel-scroll';\n    }\n    if (!wheel.wheelItemClass) {\n      wheel.wheelItemClass = 'wheel-item';\n    }\n    if (wheel.selectedIndex === undefined) {\n      wheel.selectedIndex = 0;\n      warn('wheel option selectedIndex is required!');\n    }\n  };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n  BScroll.prototype._initScrollbar = function () {\n    var _this = this;\n\n    var _options$scrollbar = this.options.scrollbar,\n        _options$scrollbar$fa = _options$scrollbar.fade,\n        fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n        _options$scrollbar$in = _options$scrollbar.interactive,\n        interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n    this.indicators = [];\n    var indicator = void 0;\n\n    if (this.options.scrollX) {\n      indicator = {\n        el: createScrollbar('horizontal'),\n        direction: 'horizontal',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    if (this.options.scrollY) {\n      indicator = {\n        el: createScrollbar('vertical'),\n        direction: 'vertical',\n        fade: fade,\n        interactive: interactive\n      };\n      this._insertScrollBar(indicator.el);\n      this.indicators.push(new Indicator(this, indicator));\n    }\n\n    this.on('refresh', function () {\n      for (var i = 0; i < _this.indicators.length; i++) {\n        _this.indicators[i].refresh();\n      }\n    });\n\n    if (fade) {\n      this.on('scrollEnd', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollCancel', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade();\n        }\n      });\n\n      this.on('scrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true);\n        }\n      });\n\n      this.on('beforeScrollStart', function () {\n        for (var i = 0; i < _this.indicators.length; i++) {\n          _this.indicators[i].fade(true, true);\n        }\n      });\n    }\n\n    this.on('destroy', function () {\n      _this._removeScrollBars();\n    });\n  };\n\n  BScroll.prototype._insertScrollBar = function (scrollbar) {\n    this.wrapper.appendChild(scrollbar);\n  };\n\n  BScroll.prototype._removeScrollBars = function () {\n    for (var i = 0; i < this.indicators.length; i++) {\n      this.indicators[i].destroy();\n    }\n  };\n}\n\nfunction createScrollbar(direction) {\n  var scrollbar = document.createElement('div');\n  var indicator = document.createElement('div');\n\n  scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n  indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n  indicator.className = 'bscroll-indicator';\n\n  if (direction === 'horizontal') {\n    scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n    indicator.style.height = '100%';\n    scrollbar.className = 'bscroll-horizontal-scrollbar';\n  } else {\n    scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n    indicator.style.width = '100%';\n    scrollbar.className = 'bscroll-vertical-scrollbar';\n  }\n\n  scrollbar.style.cssText += ';overflow:hidden';\n  scrollbar.appendChild(indicator);\n\n  return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n  this.wrapper = options.el;\n  this.wrapperStyle = this.wrapper.style;\n  this.indicator = this.wrapper.children[0];\n  this.indicatorStyle = this.indicator.style;\n  this.scroller = scroller;\n  this.direction = options.direction;\n  if (options.fade) {\n    this.visible = 0;\n    this.wrapperStyle.opacity = '0';\n  } else {\n    this.visible = 1;\n  }\n\n  this.sizeRatioX = 1;\n  this.sizeRatioY = 1;\n  this.maxPosX = 0;\n  this.maxPosY = 0;\n  this.x = 0;\n  this.y = 0;\n\n  if (options.interactive) {\n    this._addDOMEvents();\n  }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n  switch (e.type) {\n    case 'touchstart':\n    case 'mousedown':\n      this._start(e);\n      break;\n    case 'touchmove':\n    case 'mousemove':\n      this._move(e);\n      break;\n    case 'touchend':\n    case 'mouseup':\n    case 'touchcancel':\n    case 'mousecancel':\n      this._end(e);\n      break;\n  }\n};\n\nIndicator.prototype.refresh = function () {\n  if (this._shouldShow()) {\n    this.transitionTime();\n    this._calculate();\n    this.updatePosition();\n  }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n  var _this2 = this;\n\n  if (hold && !this.visible) {\n    return;\n  }\n\n  var time = visible ? 250 : 500;\n\n  visible = visible ? '1' : '0';\n\n  this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n  clearTimeout(this.fadeTimeout);\n  this.fadeTimeout = setTimeout(function () {\n    _this2.wrapperStyle.opacity = visible;\n    _this2.visible = +visible;\n  }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n  if (this.direction === 'vertical') {\n    var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n    if (y < 0) {\n      this.transitionTime(500);\n      var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = height + 'px';\n      y = 0;\n    } else if (y > this.maxPosY) {\n      this.transitionTime(500);\n      var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.height = _height + 'px';\n      y = this.maxPosY + this.indicatorHeight - _height;\n    } else {\n      this.indicatorStyle.height = this.indicatorHeight + 'px';\n    }\n    this.y = y;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.top = y + 'px';\n    }\n  } else {\n    var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n    if (x < 0) {\n      this.transitionTime(500);\n      var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = width + 'px';\n      x = 0;\n    } else if (x > this.maxPosX) {\n      this.transitionTime(500);\n      var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n      this.indicatorStyle.width = _width + 'px';\n      x = this.maxPosX + this.indicatorWidth - _width;\n    } else {\n      this.indicatorStyle.width = this.indicatorWidth + 'px';\n    }\n\n    this.x = x;\n\n    if (this.scroller.options.useTransform) {\n      this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n    } else {\n      this.indicatorStyle.left = x + 'px';\n    }\n  }\n};\n\nIndicator.prototype.transitionTime = function () {\n  var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n  this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n  this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n  this._removeDOMEvents();\n  this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this.transitionTime();\n\n  this.initiated = true;\n  this.moved = false;\n  this.lastPointX = point.pageX;\n  this.lastPointY = point.pageY;\n\n  this.startTime = getNow();\n\n  this._handleMoveEvents(addEvent);\n  this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n  var point = e.touches ? e.touches[0] : e;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  if (!this.moved) {\n    this.scroller.trigger('scrollStart');\n  }\n\n  this.moved = true;\n\n  var deltaX = point.pageX - this.lastPointX;\n  this.lastPointX = point.pageX;\n\n  var deltaY = point.pageY - this.lastPointY;\n  this.lastPointY = point.pageY;\n\n  var newX = this.x + deltaX;\n  var newY = this.y + deltaY;\n\n  this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n  if (!this.initiated) {\n    return;\n  }\n  this.initiated = false;\n\n  e.preventDefault();\n  e.stopPropagation();\n\n  this._handleMoveEvents(removeEvent);\n\n  var snapOption = this.scroller.options.snap;\n  if (snapOption) {\n    var speed = snapOption.speed,\n        _snapOption$easing = snapOption.easing,\n        easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n    var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n    var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n    if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n      this.scroller.directionX = 0;\n      this.scroller.directionY = 0;\n      this.scroller.currentPage = snap;\n      this.scroller.scrollTo(snap.x, snap.y, time, easing);\n    }\n  }\n\n  if (this.moved) {\n    this.scroller.trigger('scrollEnd', {\n      x: this.scroller.x,\n      y: this.scroller.y\n    });\n  }\n};\n\nIndicator.prototype._pos = function (x, y) {\n  if (x < 0) {\n    x = 0;\n  } else if (x > this.maxPosX) {\n    x = this.maxPosX;\n  }\n\n  if (y < 0) {\n    y = 0;\n  } else if (y > this.maxPosY) {\n    y = this.maxPosY;\n  }\n\n  x = Math.round(x / this.sizeRatioX);\n  y = Math.round(y / this.sizeRatioY);\n\n  this.scroller.scrollTo(x, y);\n  this.scroller.trigger('scroll', {\n    x: this.scroller.x,\n    y: this.scroller.y\n  });\n};\n\nIndicator.prototype._shouldShow = function () {\n  if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n    this.wrapper.style.display = '';\n    return true;\n  }\n  this.wrapper.style.display = 'none';\n  return false;\n};\n\nIndicator.prototype._calculate = function () {\n  if (this.direction === 'vertical') {\n    var wrapperHeight = this.wrapper.clientHeight;\n    this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n    this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n    this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n  } else {\n    var wrapperWidth = this.wrapper.clientWidth;\n    this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n    this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n    this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n    this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n  }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n  var eventOperation = addEvent;\n  this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n  var eventOperation = removeEvent;\n  this._handleDOMEvents(eventOperation);\n  this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(window, 'touchmove', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(window, 'mousemove', this);\n  }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n  if (!this.scroller.options.disableTouch) {\n    eventOperation(this.indicator, 'touchstart', this);\n    eventOperation(window, 'touchend', this);\n  }\n  if (!this.scroller.options.disableMouse) {\n    eventOperation(this.indicator, 'mousedown', this);\n    eventOperation(window, 'mouseup', this);\n  }\n};\n\nfunction pullDownMixin(BScroll) {\n  BScroll.prototype._initPullDown = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n  };\n\n  BScroll.prototype._checkPullDown = function () {\n    var _options$pullDownRefr = this.options.pullDownRefresh,\n        _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n        threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n        _options$pullDownRefr3 = _options$pullDownRefr.stop,\n        stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n    // check if a real pull down action\n\n    if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n      return false;\n    }\n\n    if (!this.pulling) {\n      this.pulling = true;\n      this.trigger('pullingDown');\n    }\n    this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n    return this.pulling;\n  };\n\n  BScroll.prototype.finishPullDown = function () {\n    this.pulling = false;\n    this.resetPosition(this.options.bounceTime, ease.bounce);\n  };\n\n  BScroll.prototype.openPullDown = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullDownRefresh = config;\n    this._initPullDown();\n  };\n\n  BScroll.prototype.closePullDown = function () {\n    this.options.pullDownRefresh = false;\n  };\n}\n\nfunction pullUpMixin(BScroll) {\n  BScroll.prototype._initPullUp = function () {\n    // must watch scroll in real time\n    this.options.probeType = PROBE_REALTIME;\n\n    this.pullupWatching = false;\n    this._watchPullUp();\n  };\n\n  BScroll.prototype._watchPullUp = function () {\n    if (this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = true;\n    this.on('scroll', this._checkToEnd);\n  };\n\n  BScroll.prototype._checkToEnd = function (pos) {\n    var _this = this;\n\n    var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n        threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n    if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n      // reset pullupWatching status after scroll end.\n      this.once('scrollEnd', function () {\n        _this.pullupWatching = false;\n      });\n      this.trigger('pullingUp');\n      this.off('scroll', this._checkToEnd);\n    }\n  };\n\n  BScroll.prototype.finishPullUp = function () {\n    var _this2 = this;\n\n    if (this.pullupWatching) {\n      this.once('scrollEnd', function () {\n        _this2._watchPullUp();\n      });\n    } else {\n      this._watchPullUp();\n    }\n  };\n\n  BScroll.prototype.openPullUp = function () {\n    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    this.options.pullUpLoad = config;\n    this._initPullUp();\n  };\n\n  BScroll.prototype.closePullUp = function () {\n    this.options.pullUpLoad = false;\n    if (!this.pullupWatching) {\n      return;\n    }\n    this.pullupWatching = false;\n    this.off('scroll', this._checkToEnd);\n  };\n}\n\nfunction mouseWheelMixin(BScroll) {\n  BScroll.prototype._initMouseWheel = function () {\n    var _this = this;\n\n    this._handleMouseWheelEvent(addEvent);\n\n    this.on('destroy', function () {\n      clearTimeout(_this.mouseWheelTimer);\n      clearTimeout(_this.mouseWheelEndTimer);\n      _this._handleMouseWheelEvent(removeEvent);\n    });\n\n    this.firstWheelOpreation = true;\n  };\n\n  BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n    eventOperation(this.wrapper, 'wheel', this);\n    eventOperation(this.wrapper, 'mousewheel', this);\n    eventOperation(this.wrapper, 'DOMMouseScroll', this);\n  };\n\n  BScroll.prototype._onMouseWheel = function (e) {\n    var _this2 = this;\n\n    if (!this.enabled) {\n      return;\n    }\n    e.preventDefault();\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    if (this.firstWheelOpreation) {\n      this.trigger('scrollStart');\n    }\n    this.firstWheelOpreation = false;\n\n    var _options$mouseWheel = this.options.mouseWheel,\n        _options$mouseWheel$s = _options$mouseWheel.speed,\n        speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n        _options$mouseWheel$i = _options$mouseWheel.invert,\n        invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n        _options$mouseWheel$e = _options$mouseWheel.easeTime,\n        easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n    clearTimeout(this.mouseWheelTimer);\n    this.mouseWheelTimer = setTimeout(function () {\n      if (!_this2.options.snap && !easeTime) {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }\n      _this2.firstWheelOpreation = true;\n    }, 400);\n\n    var wheelDeltaX = void 0;\n    var wheelDeltaY = void 0;\n\n    switch (true) {\n      case 'deltaX' in e:\n        if (e.deltaMode === 1) {\n          wheelDeltaX = -e.deltaX * speed;\n          wheelDeltaY = -e.deltaY * speed;\n        } else {\n          wheelDeltaX = -e.deltaX;\n          wheelDeltaY = -e.deltaY;\n        }\n        break;\n      case 'wheelDeltaX' in e:\n        wheelDeltaX = e.wheelDeltaX / 120 * speed;\n        wheelDeltaY = e.wheelDeltaY / 120 * speed;\n        break;\n      case 'wheelDelta' in e:\n        wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n        break;\n      case 'detail' in e:\n        wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n        break;\n      default:\n        return;\n    }\n\n    var direction = invert ? -1 : 1;\n    wheelDeltaX *= direction;\n    wheelDeltaY *= direction;\n\n    if (!this.hasVerticalScroll) {\n      wheelDeltaX = wheelDeltaY;\n      wheelDeltaY = 0;\n    }\n\n    var newX = void 0;\n    var newY = void 0;\n    if (this.options.snap) {\n      newX = this.currentPage.pageX;\n      newY = this.currentPage.pageY;\n\n      if (wheelDeltaX > 0) {\n        newX--;\n      } else if (wheelDeltaX < 0) {\n        newX++;\n      }\n\n      if (wheelDeltaY > 0) {\n        newY--;\n      } else if (wheelDeltaY < 0) {\n        newY++;\n      }\n\n      this._goToPage(newX, newY);\n      return;\n    }\n\n    newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n    newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n    this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n    this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    var needTriggerEnd = this.y === newY;\n    this.scrollTo(newX, newY, easeTime, ease.swipe);\n    this.trigger('scroll', {\n      x: this.x,\n      y: this.y\n    });\n    clearTimeout(this.mouseWheelEndTimer);\n    if (needTriggerEnd) {\n      this.mouseWheelEndTimer = setTimeout(function () {\n        _this2.trigger('scrollEnd', {\n          x: _this2.x,\n          y: _this2.y\n        });\n      }, easeTime);\n    }\n  };\n}\n\nfunction zoomMixin(BScroll) {\n  BScroll.prototype._initZoom = function () {\n    var _options$zoom = this.options.zoom,\n        _options$zoom$start = _options$zoom.start,\n        start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n        _options$zoom$min = _options$zoom.min,\n        min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n        _options$zoom$max = _options$zoom.max,\n        max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n    this.scale = Math.min(Math.max(start, min), max);\n    this.setScale(this.scale);\n    this.scrollerStyle[style.transformOrigin] = '0 0';\n  };\n\n  BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n    this.scaled = true;\n\n    var lastScale = scale / (startScale || this.scale);\n    this.setScale(scale);\n\n    this.refresh();\n\n    var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n    var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n    if (newX > this.minScrollX) {\n      newX = this.minScrollX;\n    } else if (newX < this.maxScrollX) {\n      newX = this.maxScrollX;\n    }\n\n    if (newY > this.minScrollY) {\n      newY = this.minScrollY;\n    } else if (newY < this.maxScrollY) {\n      newY = this.maxScrollY;\n    }\n\n    if (this.x !== newX || this.y !== newY) {\n      this.scrollTo(newX, newY, this.options.bounceTime);\n    }\n\n    this.scaled = false;\n  };\n\n  BScroll.prototype.zoomTo = function (scale, x, y) {\n    var _offsetToBody = offsetToBody(this.wrapper),\n        left = _offsetToBody.left,\n        top = _offsetToBody.top;\n\n    var originX = x + left - this.x;\n    var originY = y + top - this.y;\n    this._zoomTo(scale, originX, originY);\n  };\n\n  BScroll.prototype._zoomStart = function (e) {\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n    this.startDistance = getDistance(deltaX, deltaY);\n    this.startScale = this.scale;\n\n    var _offsetToBody2 = offsetToBody(this.wrapper),\n        left = _offsetToBody2.left,\n        top = _offsetToBody2.top;\n\n    this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n    this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n    this.trigger('zoomStart');\n  };\n\n  BScroll.prototype._zoom = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    var firstFinger = e.touches[0];\n    var secondFinger = e.touches[1];\n    var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n    var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n    var distance = getDistance(deltaX, deltaY);\n    var scale = distance / this.startDistance * this.startScale;\n\n    this.scaled = true;\n\n    var _options$zoom2 = this.options.zoom,\n        _options$zoom2$min = _options$zoom2.min,\n        min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n        _options$zoom2$max = _options$zoom2.max,\n        max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n    if (scale < min) {\n      scale = 0.5 * min * Math.pow(2.0, scale / min);\n    } else if (scale > max) {\n      scale = 2.0 * max * Math.pow(0.5, max / scale);\n    }\n\n    var lastScale = scale / this.startScale;\n\n    var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n    var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n    this.setScale(scale);\n\n    this.scrollTo(x, y, 0);\n  };\n\n  BScroll.prototype._zoomEnd = function (e) {\n    if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n      return;\n    }\n\n    if (this.options.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (this.options.stopPropagation) {\n      e.stopPropagation();\n    }\n\n    this.isInTransition = false;\n    this.isAnimating = false;\n    this.initiated = 0;\n\n    var _options$zoom3 = this.options.zoom,\n        _options$zoom3$min = _options$zoom3.min,\n        min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n        _options$zoom3$max = _options$zoom3.max,\n        max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n    var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n    this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n    this.trigger('zoomEnd');\n  };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n  BScroll.prototype._initInfinite = function () {\n    this.options.probeType = 3;\n    this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n    this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n  };\n}\n\nfunction isTombstoneNode(node) {\n  if (node && node.classList) {\n    return node.classList.contains('tombstone');\n  }\n}\n\nfunction InfiniteScroller(scroller, options) {\n  var _this = this;\n\n  this.options = options;\n  assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n  assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n  assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n  this.firstAttachedItem = 0;\n  this.lastAttachedItem = 0;\n\n  this.anchorScrollTop = 0;\n  this.anchorItem = {\n    index: 0,\n    offset: 0\n  };\n  this.tombstoneHeight = 0;\n  this.tombstoneWidth = 0;\n  this.tombstones = [];\n\n  this.items = [];\n  this.loadedItems = 0;\n  this.requestInProgress = false;\n  this.hasMore = true;\n\n  this.scroller = scroller;\n  this.wrapperEl = this.scroller.wrapper;\n  this.scrollerEl = this.scroller.scroller;\n  this.scroller.on('scroll', function () {\n    _this.onScroll();\n  });\n  this.scroller.on('resize', function () {\n    _this.onResize();\n  });\n\n  this.onResize();\n}\n\nInfiniteScroller.prototype.onScroll = function () {\n  var scrollTop = -this.scroller.y;\n  var delta = scrollTop - this.anchorScrollTop;\n  if (scrollTop === 0) {\n    this.anchorItem = {\n      index: 0,\n      offset: 0\n    };\n  } else {\n    this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n  }\n\n  this.anchorScrollTop = scrollTop;\n  var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.wrapperEl.offsetHeight);\n\n  var start = this.anchorItem.index;\n  var end = lastScreenItem.index;\n  if (delta < 0) {\n    start -= RUNWAY_ITEMS;\n    end += RUNWAY_ITEMS_OPPOSITE;\n  } else {\n    start -= RUNWAY_ITEMS_OPPOSITE;\n    end += RUNWAY_ITEMS;\n  }\n  this.fill(start, end);\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n  var tombstone = this.options.createTombstone();\n  tombstone.style.position = 'absolute';\n  this.scrollerEl.appendChild(tombstone);\n  tombstone.style.display = '';\n  this.tombstoneHeight = tombstone.offsetHeight;\n  this.tombstoneWidth = tombstone.offsetWidth;\n  this.scrollerEl.removeChild(tombstone);\n\n  for (var i = 0; i < this.items.length; i++) {\n    this.items[i].height = this.items[i].width = 0;\n  }\n\n  this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n  this.firstAttachedItem = Math.max(0, start);\n  if (!this.hasMore) {\n    end = Math.min(end, this.items.length);\n  }\n  this.lastAttachedItem = end;\n  this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n  var _this2 = this;\n\n  if (this.requestInProgress || !this.hasMore) {\n    return;\n  }\n  var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n  if (itemsNeeded <= 0) {\n    return;\n  }\n  this.requestInProgress = true;\n  this.options.fetch(itemsNeeded).then(function (items) {\n    _this2.requestInProgress = false;\n    if (items) {\n      _this2.addContent(items);\n    } else {\n      _this2.hasMore = false;\n      var tombstoneLen = _this2._removeTombstones();\n      var curPos = 0;\n      if (_this2.anchorItem.index <= _this2.items.length) {\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.resetPosition(_this2.scroller.options.bounceTime);\n      } else {\n        _this2.anchorItem.index -= tombstoneLen;\n        curPos = _this2._fixScrollPosition();\n        _this2._setupAnimations({}, curPos);\n        _this2.scroller.stop();\n        _this2.scroller.resetPosition();\n        _this2.onScroll();\n      }\n    }\n  });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n  for (var i = 0; i < items.length; i++) {\n    if (this.items.length <= this.loadedItems) {\n      this._addItem();\n    }\n    this.items[this.loadedItems++].data = items[i];\n  }\n  this.attachContent();\n  this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n  var unusedNodes = this._collectUnusedNodes();\n  var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n  this._cleanupUnusedNodes(unusedNodes);\n  this._cacheNodeSize();\n  var curPos = this._fixScrollPosition();\n  this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n  this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n  var markIndex = void 0;\n  var tombstoneLen = 0;\n  var itemLen = this.items.length;\n  for (var i = 0; i < itemLen; i++) {\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n      if (!markIndex) {\n        markIndex = i;\n      }\n      if (currentNode) {\n        this.scrollerEl.removeChild(currentNode);\n      }\n    }\n  }\n  tombstoneLen = itemLen - markIndex;\n  this.items.splice(markIndex);\n  this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n  return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n  var unusedNodes = [];\n  for (var i = 0; i < this.items.length; i++) {\n    // Skip the items which should be visible.\n    if (i === this.firstAttachedItem) {\n      i = this.lastAttachedItem - 1;\n      continue;\n    }\n    var currentNode = this.items[i].node;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode)) {\n        // Cache tombstones for reuse\n        this.tombstones.push(currentNode);\n        this.tombstones[this.tombstones.length - 1].style.display = 'none';\n      } else {\n        unusedNodes.push(currentNode);\n      }\n    }\n    this.items[i].node = null;\n  }\n  return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n  var tombstoneAnimations = {};\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    while (this.items.length <= i) {\n      this._addItem();\n    }\n    var currentNode = this.items[i].node;\n    var currentData = this.items[i].data;\n    if (currentNode) {\n      if (isTombstoneNode(currentNode) && currentData) {\n        currentNode.style.zIndex = 1;\n        tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n        this.items[i].node = null;\n      } else {\n        continue;\n      }\n    }\n    var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n    node.style.position = 'absolute';\n    this.items[i].top = -1;\n    this.scrollerEl.appendChild(node);\n    this.items[i].node = node;\n  }\n  return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n  while (unusedNodes.length) {\n    this.scrollerEl.removeChild(unusedNodes.pop());\n  }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n  for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n    // Only cache the height if we have the real contents, not a placeholder.\n    if (this.items[i].data && !this.items[i].height) {\n      this.items[i].height = this.items[i].node.offsetHeight;\n      this.items[i].width = this.items[i].node.offsetWidth;\n    }\n  }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n  this.anchorScrollTop = 0;\n  for (var _i = 0; _i < this.anchorItem.index; _i++) {\n    this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n  }\n  this.anchorScrollTop += this.anchorItem.offset;\n\n  // Position all nodes.\n  var curPos = this.anchorScrollTop - this.anchorItem.offset;\n  var i = this.anchorItem.index;\n  while (i > this.firstAttachedItem) {\n    curPos -= this.items[i - 1].height || this.tombstoneHeight;\n    i--;\n  }\n\n  return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n  var _this3 = this;\n\n  for (var i in tombstoneAnimations) {\n    var animation = tombstoneAnimations[i];\n    this.items[i].node.style.transform = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n    // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n    /* eslint-disable no-unused-expressions */\n    this.items[i].node.offsetTop;\n    animation[0].offsetTop;\n    this.items[i].node.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms';\n  }\n\n  for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n    var _animation = tombstoneAnimations[_i2];\n    if (_animation) {\n      var tombstoneNode = _animation[0];\n      tombstoneNode.style.transition = 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n      tombstoneNode.style.transform = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n      tombstoneNode.style.opacity = 0;\n    }\n    if (curPos !== this.items[_i2].top) {\n      if (!_animation) {\n        this.items[_i2].node.style.transition = '';\n      }\n      this.items[_i2].node.style.transform = 'translateY(' + curPos + 'px)';\n    }\n    this.items[_i2].top = curPos;\n    curPos += this.items[_i2].height || this.tombstoneHeight;\n  }\n\n  this.scroller.maxScrollY = -(curPos - this.wrapperEl.offsetHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n  setTimeout(function () {\n    for (var _i3 in tombstoneAnimations) {\n      var _animation2 = tombstoneAnimations[_i3];\n      _animation2[0].style.display = 'none';\n      // Tombstone can be recycled now.\n      _this3.tombstones.push(_animation2[0]);\n    }\n  }, ANIMATION_DURATION_MS);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n  var tombstone = this.tombstones.pop();\n  if (tombstone) {\n    tombstone.style.display = '';\n    tombstone.style.opacity = 1;\n    tombstone.style.transform = '';\n    tombstone.style.transition = '';\n    return tombstone;\n  }\n  return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n  this.items.push({\n    data: null,\n    node: null,\n    height: 0,\n    width: 0,\n    top: 0\n  });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n  if (delta === 0) {\n    return initialAnchor;\n  }\n  var i = initialAnchor.index;\n  var tombstones = 0;\n\n  delta += initialAnchor.offset;\n  if (delta < 0) {\n    while (delta < 0 && i > 0 && this.items[i - 1].height) {\n      delta += this.items[i - 1].height;\n      i--;\n    }\n    tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n  } else {\n    while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n      delta -= this.items[i].height;\n      i++;\n    }\n    if (i >= this.items.length || !this.items[i].height) {\n      tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n    }\n  }\n  i += tombstones;\n  delta -= tombstones * this.tombstoneHeight;\n\n  return {\n    index: i,\n    offset: delta\n  };\n};\n\nfunction BScroll(el, options) {\n  this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n  if (!this.wrapper) {\n    warn('Can not resolve the wrapper DOM.');\n  }\n  this.scroller = this.wrapper.children[0];\n  if (!this.scroller) {\n    warn('The wrapper need at least one child element to be scroller.');\n  }\n  // cache style for better performance\n  this.scrollerStyle = this.scroller.style;\n\n  this._init(el, options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.12.6';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BScroll);\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(10);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(94) });\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nvar toObject = __webpack_require__(27);\nvar IObject = __webpack_require__(40);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(11)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(16);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../helpers/env'), require('../helpers/util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env, global.util);\n    global.constants = mod.exports;\n  }\n})(this, function (exports, _env, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.USE_TRANSITION = undefined;\n\n\n  function getUseTransition() {\n    var useTransition = true;\n    if (_env.isIOS) {\n      var version = (0, _util.getIOSVersion)(_env.ua);\n      if (!version) return useTransition;\n\n      if (version.major >= 13 && version.minor >= 3) {\n        useTransition = false;\n      }\n    }\n    return useTransition;\n  }\n\n  var USE_TRANSITION = exports.USE_TRANSITION = getUseTransition();\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ }),\n/* 100 */,\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      },\n      swipeTime: {\n        type: Number,\n        default: 2500\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      _cancelTxt: function _cancelTxt() {\n        return this.cancelTxt || this.$t('cancel');\n      },\n      _confirmTxt: function _confirmTxt() {\n        return this.confirmTxt || this.$t('ok');\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */,\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(137)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(138),\n  /* template */\n  __webpack_require__(139),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(121);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.basicPicker = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DEFAULT_KEYS = {\n    value: 'value',\n    text: 'text',\n    order: 'order'\n  };\n\n  exports.default = {\n    props: {\n      data: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      alias: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    },\n    computed: {\n      valueKey: function valueKey() {\n        return this.alias.value || DEFAULT_KEYS.value;\n      },\n      textKey: function textKey() {\n        return this.alias.text || DEFAULT_KEYS.text;\n      },\n      orderKey: function orderKey() {\n        return DEFAULT_KEYS.order;\n      },\n      merge: function merge() {\n        return [this.data, this.selectedIndex];\n      }\n    },\n    watch: {\n      merge: function merge(newVal) {\n        this.setData(newVal[0], newVal[1]);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 120 */,\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(122), __esModule: true };\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(123);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(31);\nvar $export = __webpack_require__(10);\nvar toObject = __webpack_require__(27);\nvar call = __webpack_require__(95);\nvar isArrayIter = __webpack_require__(96);\nvar toLength = __webpack_require__(41);\nvar createProperty = __webpack_require__(124);\nvar getIterFn = __webpack_require__(86);\n\n$export($export.S + $export.F * !__webpack_require__(97)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(90), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85), __webpack_require__(98)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('better-scroll'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../../common/bscroll/constants'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global.betterScroll, global.popup, global.visibility, global.popup, global.basicPicker, global.picker, global.locale, global.constants);\n    global.picker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _betterScroll, _popup, _visibility, _popup3, _basicPicker, _picker, _locale, _constants) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _betterScroll2 = _interopRequireDefault(_betterScroll);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-picker';\n\n  var EVENT_SELECT = 'select';\n  var EVENT_VALUE_CHANGE = 'value-change';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default, _basicPicker2.default, _picker2.default, _locale2.default],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        finalData: this.data.slice()\n      };\n    },\n    created: function created() {\n      this._values = [];\n      this._indexes = this.selectedIndex;\n    },\n\n    methods: {\n      confirm: function confirm() {\n        if (!this._canConfirm()) {\n          return;\n        }\n        this.hide();\n\n        var changed = false;\n        var pickerSelectedText = [];\n\n        var length = this.finalData.length;\n        var oldLength = this._values.length;\n\n        if (oldLength !== length) {\n          changed = true;\n          oldLength > length && (this._values.length = this._indexes.length = length);\n        }\n\n        for (var i = 0; i < length; i++) {\n          var index = this._getSelectIndex(this.wheels[i]);\n          this._indexes[i] = index;\n\n          var value = null;\n          var text = '';\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey];\n            text = this.finalData[i][index][this.textKey];\n          }\n          if (this._values[i] !== value) {\n            changed = true;\n          }\n          this._values[i] = value;\n          pickerSelectedText[i] = text;\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText);\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText);\n        }\n      },\n      maskClick: function maskClick() {\n        this.maskClosable && this.cancel();\n      },\n      cancel: function cancel() {\n        this.hide();\n        this.$emit(EVENT_CANCEL);\n      },\n      show: function show() {\n        var _this = this;\n\n        if (this.isVisible) {\n          return;\n        }\n\n        this.isVisible = true;\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(function () {\n            _this.wheels = _this.wheels || [];\n            var wheelWrapper = _this.$refs.wheelWrapper;\n            for (var i = 0; i < _this.finalData.length; i++) {\n              _this._createWheel(wheelWrapper, i).enable();\n              _this.wheels[i].wheelTo(_this._indexes[i]);\n            }\n            _this.dirty && _this._destroyExtraWheels();\n            _this.dirty = false;\n          });\n        } else {\n          for (var i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable();\n            this.wheels[i].wheelTo(this._indexes[i]);\n          }\n        }\n      },\n      hide: function hide() {\n        if (!this.isVisible) {\n          return;\n        }\n        this.isVisible = false;\n\n        for (var i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable();\n        }\n      },\n      setData: function setData(data, selectedIndex) {\n        var _this2 = this;\n\n        this._indexes = selectedIndex ? [].concat((0, _toConsumableArray3.default)(selectedIndex)) : [];\n        this.finalData = data.slice();\n        if (this.isVisible) {\n          this.$nextTick(function () {\n            var wheelWrapper = _this2.$refs.wheelWrapper;\n            _this2.finalData.forEach(function (item, i) {\n              _this2._createWheel(wheelWrapper, i);\n              _this2.wheels[i].wheelTo(_this2._indexes[i]);\n            });\n            _this2._destroyExtraWheels();\n          });\n        } else {\n          this.dirty = true;\n        }\n      },\n      refill: function refill(datas) {\n        var _this3 = this;\n\n        var ret = [];\n        if (!datas.length) {\n          return ret;\n        }\n        datas.forEach(function (data, index) {\n          ret[index] = _this3.refillColumn(index, data);\n        });\n        return ret;\n      },\n      refillColumn: function refillColumn(index, data) {\n        var _this4 = this;\n\n        var wheelWrapper = this.$refs.wheelWrapper;\n        var scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll');\n        var wheel = this.wheels ? this.wheels[index] : false;\n        var dist = 0;\n        if (scroll && wheel) {\n          var oldData = this.finalData[index];\n          this.$set(this.finalData, index, data);\n          var selectedIndex = wheel.getSelectedIndex();\n          if (oldData.length) {\n            var oldValue = oldData[selectedIndex][this.valueKey];\n            for (var i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i;\n                break;\n              }\n            }\n          }\n          this._indexes[index] = dist;\n          this.$nextTick(function () {\n            wheel = _this4._createWheel(wheelWrapper, index);\n            wheel.wheelTo(dist);\n          });\n        }\n        return dist;\n      },\n      scrollTo: function scrollTo(index, dist) {\n        var wheel = this.wheels[index];\n        this._indexes[index] = dist;\n        wheel.wheelTo(dist);\n      },\n      refresh: function refresh() {\n        var _this5 = this;\n\n        this.$nextTick(function () {\n          _this5.wheels.forEach(function (wheel) {\n            wheel.refresh();\n          });\n        });\n      },\n      _createWheel: function _createWheel(wheelWrapper, i) {\n        var _this6 = this;\n\n        if (!this.wheels[i]) {\n          var wheel = this.wheels[i] = new _betterScroll2.default(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: _constants.USE_TRANSITION\n          });\n          wheel.on('scrollEnd', function () {\n            _this6.$emit(EVENT_CHANGE, i, _this6._getSelectIndex(wheel));\n          });\n        } else {\n          this.wheels[i].refresh();\n        }\n        return this.wheels[i];\n      },\n      _destroyExtraWheels: function _destroyExtraWheels() {\n        var dataLength = this.finalData.length;\n        if (this.wheels.length > dataLength) {\n          var extraWheels = this.wheels.splice(dataLength);\n          extraWheels.forEach(function (wheel) {\n            wheel.destroy();\n          });\n        }\n      },\n      _canConfirm: function _canConfirm() {\n        return !this.pending && this.wheels.every(function (wheel) {\n          return !wheel.isInTransition;\n        });\n      },\n      _getFlexOrder: function _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey];\n        }\n        return 0;\n      },\n      _getSelectIndex: function _getSelectIndex(wheel) {\n        var y = wheel.y;\n        var selectedIndex = void 0;\n        if (_constants.USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex();\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0;\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1;\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight));\n          }\n        }\n        return selectedIndex;\n      }\n    },\n    beforeDestroy: function beforeDestroy() {\n      this.wheels && this.wheels.forEach(function (wheel) {\n        wheel.destroy();\n      });\n      this.wheels = null;\n    },\n\n    components: {\n      CubePopup: _popup2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"picker\",\n      \"mask\": true,\n      \"center\": false,\n      \"z-index\": _vm.zIndex\n    },\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"mask-click\": _vm.maskClick\n    }\n  }, [_c('transition', {\n    attrs: {\n      \"name\": \"cube-picker-move\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-picker-panel cube-safe-area-pb\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n      }\n    }\n  }, [_c('div', {\n    staticClass: \"cube-picker-choose border-bottom-1px\"\n  }, [_c('span', {\n    staticClass: \"cube-picker-cancel\",\n    on: {\n      \"click\": _vm.cancel\n    }\n  }, [_vm._v(_vm._s(_vm._cancelTxt))]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-picker-confirm\",\n    on: {\n      \"click\": _vm.confirm\n    }\n  }, [_vm._v(_vm._s(_vm._confirmTxt))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-title-group\"\n  }, [_c('h1', {\n    staticClass: \"cube-picker-title\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.title)\n    }\n  }), _vm._v(\" \"), (_vm.subtitle) ? _c('h2', {\n    staticClass: \"cube-picker-subtitle\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.subtitle)\n    }\n  }) : _vm._e()])]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-content\"\n  }, [_c('i', {\n    staticClass: \"border-bottom-1px\"\n  }), _vm._v(\" \"), _c('i', {\n    staticClass: \"border-top-1px\"\n  }), _vm._v(\" \"), _c('div', {\n    ref: \"wheelWrapper\",\n    staticClass: \"cube-picker-wheel-wrapper\"\n  }, _vm._l((_vm.finalData), function(data, index) {\n    return _c('div', {\n      key: index,\n      style: ({\n        order: _vm._getFlexOrder(data)\n      })\n    }, [_c('ul', {\n      staticClass: \"cube-picker-wheel-scroll\"\n    }, _vm._l((data), function(item, index) {\n      return _c('li', {\n        key: index,\n        staticClass: \"cube-picker-wheel-item\",\n        domProps: {\n          \"innerHTML\": _vm._s(item[_vm.textKey])\n        }\n      })\n    }))])\n  }))]), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-picker-footer\"\n  })])])], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addPicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addPicker(Vue, Picker) {\n    var pickerAPI = (0, _createApi2.default)(Vue, Picker, ['select', 'value-change', 'cancel', 'change']);\n    pickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('Picker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(167),\n  /* template */\n  __webpack_require__(168),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(58), __webpack_require__(69), __webpack_require__(119), __webpack_require__(106), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../picker/picker.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/basic-picker'), require('../../common/mixins/picker'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.visibility, global.popup, global.basicPicker, global.picker, global.locale);\n    global.cascadePicker = mod.exports;\n  }\n})(this, function (module, exports, _picker, _visibility, _popup, _basicPicker, _picker3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _basicPicker2 = _interopRequireDefault(_basicPicker);\n\n  var _picker4 = _interopRequireDefault(_picker3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-cascade-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _basicPicker2.default, _picker4.default, _locale2.default],\n    props: {\n      async: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        cascadeData: this.data.slice(),\n        pickerSelectedIndex: this.selectedIndex.slice(),\n        pickerData: [],\n        pending: false\n      };\n    },\n    created: function created() {\n      this._updatePickerData();\n    },\n\n    methods: {\n      setData: function setData(data) {\n        var selectedIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n        this.pending = false;\n        this.cascadeData = data.slice();\n        this.pickerSelectedIndex = selectedIndex.slice();\n        this._updatePickerData();\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        if (newIndex !== this.pickerSelectedIndex[i]) {\n          this.pickerSelectedIndex.splice(i, 1, newIndex);\n          this.async ? this.pending = i !== this.pickerData.length - 1 : this._updatePickerData(i + 1);\n        }\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _updatePickerData: function _updatePickerData() {\n        var _this = this;\n\n        var fromColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n        var data = this.cascadeData;\n        var i = 0;\n        while (data) {\n          if (i >= fromColumn) {\n            (function () {\n              var columnData = [];\n              data.forEach(function (item) {\n                columnData.push({\n                  value: item[_this.valueKey],\n                  text: item[_this.textKey],\n                  order: item[_this.orderKey]\n                });\n              });\n              _this.pickerData[i] = columnData;\n\n              _this.pickerSelectedIndex[i] = fromColumn === 0 ? _this.pickerSelectedIndex[i] < data.length ? _this.pickerSelectedIndex[i] || 0 : 0 : _this.$refs.picker.refillColumn(i, columnData);\n            })();\n          }\n          data = data.length ? data[this.pickerSelectedIndex[i]].children : null;\n\n          i++;\n        }\n\n        if (i < this.pickerData.length) {\n          this.pickerData.splice(i, this.pickerData.length - i);\n        }\n\n        this.pickerData = this.pickerData.slice();\n      }\n    },\n    components: {\n      CubePicker: _picker2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.pickerData,\n      \"selected-index\": _vm.pickerSelectedIndex,\n      \"pending\": _vm.pending,\n      \"title\": _vm.title,\n      \"subtitle\": _vm.subtitle,\n      \"z-index\": _vm.zIndex,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */,\n/* 367 */,\n/* 368 */,\n/* 369 */,\n/* 370 */,\n/* 371 */,\n/* 372 */,\n/* 373 */,\n/* 374 */,\n/* 375 */,\n/* 376 */,\n/* 377 */,\n/* 378 */,\n/* 379 */,\n/* 380 */,\n/* 381 */,\n/* 382 */,\n/* 383 */,\n/* 384 */,\n/* 385 */,\n/* 386 */,\n/* 387 */,\n/* 388 */,\n/* 389 */,\n/* 390 */,\n/* 391 */,\n/* 392 */,\n/* 393 */,\n/* 394 */,\n/* 395 */,\n/* 396 */,\n/* 397 */,\n/* 398 */,\n/* 399 */,\n/* 400 */,\n/* 401 */,\n/* 402 */,\n/* 403 */,\n/* 404 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(117), __webpack_require__(405), __webpack_require__(408), __webpack_require__(140), __webpack_require__(84)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/picker/picker.vue'), require('../../components/time-picker/time-picker.vue'), require('./api'), require('../picker/api'), require('../../common/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.picker, global.timePicker, global.api, global.api, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _picker, _timePicker, _api, _api3, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _timePicker2 = _interopRequireDefault(_timePicker);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  var _api4 = _interopRequireDefault(_api3);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _timePicker2.default.install = function (Vue) {\n    Vue.component(_picker2.default.name, _picker2.default);\n    Vue.component(_timePicker2.default.name, _timePicker2.default);\n    _locale2.default.install(Vue);\n    (0, _api4.default)(Vue, _picker2.default);\n    (0, _api2.default)(Vue, _timePicker2.default);\n  };\n\n  _timePicker2.default.Picker = _picker2.default;\n\n  exports.default = _timePicker2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(406),\n  /* template */\n  __webpack_require__(407),\n  /* styles */\n  null,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(118), __webpack_require__(53), __webpack_require__(88), __webpack_require__(91), __webpack_require__(58), __webpack_require__(69), __webpack_require__(106), __webpack_require__(85), __webpack_require__(163), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/toConsumableArray'), require('babel-runtime/helpers/typeof'), require('babel-runtime/core-js/object/assign'), require('../../common/lang/date'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'), require('../../common/mixins/picker'), require('../../common/mixins/locale'), require('../cascade-picker/cascade-picker.vue'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toConsumableArray, global._typeof, global.assign, global.date, global.visibility, global.popup, global.picker, global.locale, global.cascadePicker, global.debug);\n    global.timePicker = mod.exports;\n  }\n})(this, function (module, exports, _toConsumableArray2, _typeof2, _assign, _date, _visibility, _popup, _picker, _locale, _cascadePicker, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _assign2 = _interopRequireDefault(_assign);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _picker2 = _interopRequireDefault(_picker);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _cascadePicker2 = _interopRequireDefault(_cascadePicker);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-time-picker';\n  var EVENT_SELECT = 'select';\n  var EVENT_CANCEL = 'cancel';\n  var EVENT_CHANGE = 'change';\n\n  var NOW = {\n    value: 'now'\n  };\n\n  var INT_RULE = {\n    floor: 'floor',\n    ceil: 'ceil',\n    round: 'round'\n  };\n\n  var DEFAULT_STEP = 10;\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default, _picker2.default, _locale2.default],\n    components: {\n      CubeCascadePicker: _cascadePicker2.default\n    },\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      delay: {\n        type: Number,\n        default: 15\n      },\n      day: {\n        type: Object,\n        default: function _default() {\n          return {\n            len: 3\n          };\n        }\n      },\n      showNow: {\n        type: [Boolean, Object],\n        default: true\n      },\n      minuteStep: {\n        type: [Number, Object],\n        default: DEFAULT_STEP\n      },\n      format: {\n        type: String,\n        default: 'YYYY/M/D hh:mm'\n      },\n      min: {\n        type: [Date, Number],\n        default: null\n      },\n      max: {\n        type: [Date, Number],\n        default: null\n      }\n    },\n    data: function data() {\n      return {\n        now: new Date(),\n        selectedIndex: [0, 0, 0],\n        value: 0\n      };\n    },\n\n    computed: {\n      _title: function _title() {\n        return this.title || this.$t('selectTime');\n      },\n      _day: function _day() {\n        var defaultDay = {\n          filter: [this.$t('today')],\n          format: this.$t('formatDate')\n        };\n        return (0, _assign2.default)({}, defaultDay, this.day);\n      },\n      nowText: function nowText() {\n        var defaultText = this.$t('now');\n        return this.showNow && this.showNow.text || defaultText;\n      },\n      minuteStepRule: function minuteStepRule() {\n        var minuteStep = this.minuteStep;\n        return (typeof minuteStep === 'undefined' ? 'undefined' : (0, _typeof3.default)(minuteStep)) === 'object' && Math[INT_RULE[minuteStep.rule]] || Math[INT_RULE.floor];\n      },\n      minuteStepNumber: function minuteStepNumber() {\n        var minuteStep = this.minuteStep;\n        return typeof minuteStep === 'number' ? minuteStep : minuteStep.step || DEFAULT_STEP;\n      },\n      minTime: function minTime() {\n        var minTimeStamp = +this.min || +this.now + this.delay * _date.MINUTE_TIMESTAMP;\n\n        var minute = new Date(minTimeStamp).getMinutes();\n        var intMinute = Math.min(this.minuteStepRule(minute / this.minuteStepNumber) * this.minuteStepNumber, 60);\n\n        minTimeStamp += (intMinute - minute) * _date.MINUTE_TIMESTAMP;\n        return new Date(minTimeStamp);\n      },\n      maxTime: function maxTime() {\n        var maxTimeStamp = +this.max || (0, _date.getZeroStamp)(new Date(+this.minTime + this._day.len * _date.DAY_TIMESTAMP)) - 1;\n\n        var minute = new Date(maxTimeStamp).getMinutes();\n        var intMinute = Math.floor(minute / this.minuteStepNumber) * this.minuteStepNumber;\n        maxTimeStamp -= (minute - intMinute) * _date.MINUTE_TIMESTAMP;\n\n        return new Date(maxTimeStamp);\n      },\n      days: function days() {\n        var days = [];\n        var dayDiff = (0, _date.getDayDiff)(this.minTime, this.now);\n        var len = this.max ? (0, _date.getDayDiff)(this.maxTime, this.minTime) + 1 : this._day.len;\n\n        for (var i = 0; i < len; i++) {\n          var timestamp = +this.minTime + i * _date.DAY_TIMESTAMP;\n          days.push({\n            value: timestamp,\n            text: this._day.filter && this._day.filter[dayDiff + i] || (0, _date.formatDate)(new Date(timestamp), this._day.format)\n          });\n        }\n        return days;\n      },\n      hours: function hours() {\n        var hours = [];\n        for (var i = 0; i < 24; i++) {\n          hours.push({\n            value: i,\n            text: '' + i + this.$t('hours'),\n            children: this.minutes\n          });\n        }\n        return hours;\n      },\n      minutes: function minutes() {\n        var minutes = [];\n        for (var i = 0; i < 60; i += this.minuteStepNumber) {\n          minutes.push({\n            value: i,\n            text: '' + (0, _date.pad)(i) + this.$t('minutes')\n          });\n        }\n        return minutes;\n      },\n      cascadeData: function cascadeData() {\n        var _this = this;\n\n        var days = this.days.slice();\n\n        if (this.maxTime - this.minTime <= -60000) {\n          (0, _debug.warn)('The max is smaller than the min optional time.', COMPONENT_NAME);\n          return [];\n        }\n\n        days.forEach(function (day, index) {\n          var isMinDay = index === 0;\n          var isMaxDay = index === days.length - 1;\n\n          if (!isMinDay && !isMaxDay) {\n            day.children = _this.hours;\n            return;\n          }\n\n          var partHours = [];\n          var minHour = isMinDay ? _this.minTime.getHours() : 0;\n          var maxHour = isMaxDay ? _this.maxTime.getHours() : 23;\n\n          for (var i = minHour; i <= maxHour; i++) {\n            var isMinHour = isMinDay && i === minHour;\n            var isMaxHour = isMaxDay && i === maxHour;\n\n            if (!isMinHour && !isMaxHour) {\n              partHours.push({\n                value: i,\n                text: '' + i + _this.$t('hours'),\n                children: _this.minutes\n              });\n              continue;\n            }\n\n            var start = isMinHour ? Math.round(_this.minTime.getMinutes() / _this.minuteStepNumber) : 0;\n            var end = isMaxHour ? Math.round(_this.maxTime.getMinutes() / _this.minuteStepNumber) : Math.floor(59 / _this.minuteStepNumber);\n\n            var partMinutes = _this.minutes.slice(start, end + 1);\n            partHours.push({\n              value: i,\n              text: '' + i + _this.$t('hours'),\n              children: partMinutes\n            });\n          }\n\n          day.children = partHours;\n        });\n\n        var dayDiff = (0, _date.getDayDiff)(this.minTime, this.now);\n\n        if (this.showNow && dayDiff <= 0) {\n          var index = Math.abs(dayDiff);\n          var daysData = days[index];\n\n          if (daysData) {\n            daysData.children = [].concat((0, _toConsumableArray3.default)(daysData.children));\n            daysData.children.unshift({\n              value: NOW.value,\n              text: this.nowText,\n              children: []\n            });\n          }\n        }\n\n        return days;\n      }\n    },\n    methods: {\n      show: function show() {\n        if (this.isVisible) {\n          return;\n        }\n        this.isVisible = true;\n\n        this._updateNow();\n        this._updateSelectedIndex();\n      },\n      setTime: function setTime(value) {\n        this.value = value;\n\n        this.isVisible && this._updateSelectedIndex();\n      },\n      _updateSelectedIndex: function _updateSelectedIndex() {\n        var value = this.value;\n        var minTime = this.minTime;\n\n        var comparativeTime = this.min || this.min === 0 ? +minTime : Math.floor(minTime / _date.MINUTE_TIMESTAMP) * _date.MINUTE_TIMESTAMP;\n        if (value < comparativeTime) {\n          this.selectedIndex = [0, 0, 0];\n        } else {\n          var valueDate = new Date(value);\n          var dayIndex = (0, _date.getDayDiff)(valueDate, minTime);\n\n          if (dayIndex >= this.days.length) {\n            (0, _debug.warn)('Use \"setTime\" to set a time exceeded to the option range do not actually work.', COMPONENT_NAME);\n            return;\n          }\n\n          var hour = valueDate.getHours();\n          var beginHour = dayIndex === 0 ? this.showNow ? this.minTime.getHours() - 1 : this.minTime.getHours() : 0;\n          var hourIndex = hour - beginHour;\n\n          var minute = this.minuteStepRule(valueDate.getMinutes() / this.minuteStepNumber);\n          var beginMinute = !dayIndex && (this.showNow ? hourIndex === 1 : !hourIndex) ? this.minuteStepRule(this.minTime.getMinutes() / this.minuteStepNumber) : 0;\n          var minuteIndex = minute - beginMinute;\n\n          this.selectedIndex = [dayIndex, hourIndex, minuteIndex];\n        }\n      },\n      _updateNow: function _updateNow() {\n        this.now = new Date();\n      },\n      _pickerChange: function _pickerChange(i, newIndex) {\n        this.$emit(EVENT_CHANGE, i, newIndex);\n      },\n      _pickerSelect: function _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        var timestamp = void 0;\n        var text = void 0;\n        if (selectedVal[1] === NOW.value) {\n          timestamp = +new Date();\n          text = this.nowText;\n        } else {\n          timestamp = (0, _date.getZeroStamp)(new Date(selectedVal[0])) + selectedVal[1] * _date.HOUR_TIMESTAMP + selectedVal[2] * _date.MINUTE_TIMESTAMP;\n          text = selectedText[0] + ' ' + selectedText[1] + ':' + selectedText[2];\n        }\n\n        this.value = timestamp;\n        var formatedTime = (0, _date.formatDate)(new Date(timestamp), this.format);\n        this.$emit(EVENT_SELECT, timestamp, text, formatedTime);\n      },\n      _pickerCancel: function _pickerCancel() {\n        this.$emit(EVENT_CANCEL);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n/* 407 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('cube-cascade-picker', {\n    ref: \"picker\",\n    attrs: {\n      \"data\": _vm.cascadeData,\n      \"selected-index\": _vm.selectedIndex,\n      \"title\": _vm._title,\n      \"subtitle\": _vm.subtitle,\n      \"cancel-txt\": _vm._cancelTxt,\n      \"confirm-txt\": _vm._confirmTxt,\n      \"swipe-time\": _vm.swipeTime,\n      \"z-index\": _vm.zIndex,\n      \"mask-closable\": _vm.maskClosable\n    },\n    on: {\n      \"select\": _vm._pickerSelect,\n      \"cancel\": _vm._pickerCancel,\n      \"change\": _vm._pickerChange\n    },\n    model: {\n      value: (_vm.isVisible),\n      callback: function($$v) {\n        _vm.isVisible = $$v\n      },\n      expression: \"isVisible\"\n    }\n  })\n},staticRenderFns: []}\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'), require('../../common/helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi, global.debug);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addTimePicker;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addTimePicker(Vue, TimePicker) {\n    var timePickerAPI = (0, _createApi2.default)(Vue, TimePicker, ['select', 'cancel', 'change']);\n    timePickerAPI.before(function (data, renderFn, single) {\n      if (single) {\n        (0, _debug.tip)('TimePicker component can not be a singleton.');\n      }\n    });\n  }\n  module.exports = exports['default'];\n});\n\n/***/ })\n/******/ ]);\n});"
  },
  {
    "path": "lib/time-picker/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-picker-fade-enter,.cube-picker-fade-leave-active{opacity:0}.cube-picker-fade-enter-active,.cube-picker-fade-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-panel{height:273px;text-align:center;font-size:14px;background:#fff}.cube-picker-move-enter,.cube-picker-move-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.cube-picker-move-enter-active,.cube-picker-move-leave-active{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.cube-picker-choose{position:relative;height:60px}.cube-picker-cancel,.cube-picker-confirm{line-height:60px;padding:0 16px;box-sizing:content-box;font-size:14px}.cube-picker-confirm{position:absolute;right:0;color:#fc9153}.cube-picker-confirm:active{color:#fdc2a5}.cube-picker-cancel{position:absolute;left:0;color:#999}.cube-picker-cancel:active{color:#ccc}.cube-picker-title-group{padding:0 60px;display:-webkit-box;display:-webkit-flex;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center}.cube-picker-title{font-size:18px;line-height:25px;font-weight:400;color:#333}.cube-picker-subtitle{margin-top:2px;line-height:16px;font-size:12px;color:#999}.cube-picker-content{position:relative;top:20px}.cube-picker-content>i{position:absolute;z-index:10;left:0;width:100%;height:68px;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-picker-content>.border-bottom-1px{top:0;background:-webkit-linear-gradient(bottom,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-content>.border-top-1px{bottom:0;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8))}.cube-picker-wheel-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;padding:0 16px}.cube-picker-wheel-wrapper>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;height:173px;overflow:hidden;font-size:20px}.cube-picker-wheel-scroll{padding:0;margin-top:68px;line-height:36px;list-style:none}.cube-picker-wheel-item{list-style:none;height:36px;overflow:hidden;white-space:nowrap;color:#333}.cube-picker-footer{height:20px}"
  },
  {
    "path": "lib/tip/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tip\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"tip\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 409);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 409:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(410)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/tip/tip.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.tip);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _tip) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _tip2 = _interopRequireDefault(_tip);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _tip2.default.install = function (Vue) {\n    Vue.component(_tip2.default.name, _tip2.default);\n  };\n\n  exports.default = _tip2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 410:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(411)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(412),\n  /* template */\n  __webpack_require__(413),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 411:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 412:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(48), __webpack_require__(58)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('../../common/mixins/visibility'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.visibility);\n    global.tip = mod.exports;\n  }\n})(this, function (module, exports, _keys, _visibility) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-tip';\n  var EVENT_CLICK = 'click';\n  var EVENT_CLOSE = 'close';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default],\n    props: {\n      direction: {\n        type: String,\n        default: 'top'\n      },\n      offsetLeft: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetRight: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetTop: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetBottom: {\n        type: [String, Number],\n        default: 0\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$nextTick(function () {\n        var angleEleStyle = _this.$refs.angle.style;\n        var boxMap = {\n          left: 'right',\n          right: 'left',\n          top: 'bottom',\n          bottom: 'top'\n        };\n        var offsets = [{\n          name: 'offsetLeft',\n          target: 'left',\n          percentFix: {\n            marginLeft: '-6px'\n          }\n        }, {\n          name: 'offsetRight',\n          target: 'right',\n          percentFix: {\n            marginRight: '-6px'\n          }\n        }, {\n          name: 'offsetTop',\n          target: 'top',\n          percentFix: {\n            marginTop: '-6px'\n          }\n        }, {\n          name: 'offsetBottom',\n          target: 'bottom',\n          percentFix: {\n            marginBottom: '-6px'\n          }\n        }];\n        offsets.forEach(function (offset) {\n          var value = _this[offset.name];\n          if (value !== 0) {\n            var isNum = typeof value === 'number';\n            angleEleStyle[offset.target] = value + (isNum ? 'px' : '');\n            if (offset.percentFix && !isNum) {\n              (0, _keys2.default)(offset.percentFix).forEach(function (key) {\n                angleEleStyle[key] = offset.percentFix[key];\n              });\n            }\n            angleEleStyle[boxMap[offset.target]] = 'auto';\n          }\n        });\n      });\n    },\n\n    methods: {\n      handleClick: function handleClick() {\n        this.hide();\n        this.$emit(EVENT_CLICK);\n      },\n      close: function close() {\n        this.hide();\n        this.$emit(EVENT_CLOSE);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 413:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-tip-zoom\"\n    }\n  }, [_c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-tip\",\n    attrs: {\n      \"data-dir\": _vm.direction\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [_c('i', {\n    ref: \"angle\",\n    staticClass: \"cube-tip-angle\"\n  }), _vm._v(\" \"), _c('button', {\n    staticClass: \"cube-tip-close cubeic-close\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n        return _vm.close($event)\n      }\n    }\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-tip-content\"\n  }, [_vm._t(\"default\")], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 48:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 58:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/tip/style.css",
    "content": ".cube-tip{display:-webkit-box;display:-webkit-flex;display:flex;z-index:10;position:absolute;padding:10px 38px 10px 16px;max-height:60px;font-size:12px;color:#fff;background:rgba(74,76,91,.8);border-radius:2px;-webkit-transition:opacity .2s;transition:opacity .2s}.cube-tip[data-dir=bottom] .cube-tip-angle,.cube-tip[data-dir=top] .cube-tip-angle{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.cube-tip[data-dir=top] .cube-tip-angle{top:0}.cube-tip[data-dir=top] .cube-tip-angle:before{margin-top:-6px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.cube-tip[data-dir=bottom] .cube-tip-angle{bottom:0}.cube-tip[data-dir=bottom] .cube-tip-angle:before{margin-bottom:-6px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cube-tip[data-dir=left] .cube-tip-angle,.cube-tip[data-dir=right] .cube-tip-angle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.cube-tip[data-dir=left] .cube-tip-angle{left:0}.cube-tip[data-dir=left] .cube-tip-angle:before{margin-left:-9px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.cube-tip[data-dir=right] .cube-tip-angle{right:0}.cube-tip[data-dir=right] .cube-tip-angle:before{margin-right:-9px;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.cube-tip-angle{position:absolute}.cube-tip-angle:before{content:\"\";display:block;border-width:0 6px 6px;border-style:solid;border-color:transparent transparent rgba(74,76,91,.8)}.cube-tip-close{position:absolute;right:14px;top:12px;width:12px;height:12px;padding:0;color:inherit;outline:none;border:none;background:none;-webkit-transform:scale(1.3);transform:scale(1.3)}.cube-tip-content{min-height:18px;line-height:18px;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;overflow:hidden}.cube-tip-zoom-enter-active{-webkit-animation:tip-in .4s;animation:tip-in .4s}.cube-tip-zoom-leave-active{-webkit-animation:tip-out .2s;animation:tip-out .2s}@-webkit-keyframes tip-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes tip-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes tip-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0);opacity:0}}@keyframes tip-out{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0);opacity:0}}"
  },
  {
    "path": "lib/toast/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"toast\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"toast\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 414);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 101:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(102)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(103),\n  /* template */\n  __webpack_require__(104),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 102:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 103:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.visibility, global.popup);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _visibility, _popup) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-popup';\n  var EVENT_MASK_CLICK = 'mask-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup2.default],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass: function rootClass() {\n        var cls = {\n          'cube-popup_mask': this.mask\n        };\n        if (this.type) {\n          cls['cube-' + this.type] = true;\n        }\n        return cls;\n      },\n      containerClass: function containerClass() {\n        var center = this.center;\n        var position = this.position;\n        if (position) {\n          return (0, _defineProperty3.default)({}, 'cube-popup-' + position, true);\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          };\n        }\n      }\n    },\n    methods: {\n      maskClick: function maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e);\n        if (this.maskClosable) {\n          this.hide();\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 104:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    staticClass: \"cube-popup\",\n    class: _vm.rootClass,\n    style: ({\n      'z-index': _vm.zIndex\n    })\n  }, [_c('div', {\n    staticClass: \"cube-popup-mask\",\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      },\n      \"click\": _vm.maskClick\n    }\n  }, [_vm._t(\"mask\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-popup-container\",\n    class: _vm.containerClass,\n    on: {\n      \"touchmove\": function($event) {\n        $event.preventDefault();\n      }\n    }\n  }, [(_vm.$slots.default) ? _c('div', {\n    staticClass: \"cube-popup-content\"\n  }, [_vm._t(\"default\")], 2) : _c('div', {\n    staticClass: \"cube-popup-content\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.content)\n    }\n  })])])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 107:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(114)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(115),\n  /* template */\n  __webpack_require__(116),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 114:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 115:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.loading = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-loading';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    data: function data() {\n      return {\n        balde: 12\n      };\n    },\n\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style: function style() {\n        if (!this.size) {\n          return;\n        }\n        var value = this.size + 'px';\n        return {\n          width: value,\n          height: value\n        };\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 116:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-loading\"\n  }, [_c('span', {\n    staticClass: \"cube-loading-spinners\",\n    style: (_vm.style)\n  }, _vm._l((_vm.balde), function(item) {\n    return _c('i', {\n      staticClass: \"cube-loading-spinner\"\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 414:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(107), __webpack_require__(415), __webpack_require__(419)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/loading/loading.vue'), require('../../components/toast/toast.vue'), require('./api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading, global.toast, global.api);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _loading, _toast, _api) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _toast2 = _interopRequireDefault(_toast);\n\n  var _api2 = _interopRequireDefault(_api);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _toast2.default.install = function (Vue) {\n    Vue.component(_loading2.default.name, _loading2.default);\n    Vue.component(_toast2.default.name, _toast2.default);\n    (0, _api2.default)(Vue, _toast2.default);\n  };\n\n  _toast2.default.Loading = _loading2.default;\n\n  exports.default = _toast2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 415:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(416)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(417),\n  /* template */\n  __webpack_require__(418),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 416:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 417:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(107), __webpack_require__(101), __webpack_require__(58), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../loading/loading.vue'), require('../popup/popup.vue'), require('../../common/mixins/visibility'), require('../../common/mixins/popup'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.loading, global.popup, global.visibility, global.popup);\n    global.toast = mod.exports;\n  }\n})(this, function (module, exports, _loading, _popup, _visibility, _popup3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _loading2 = _interopRequireDefault(_loading);\n\n  var _popup2 = _interopRequireDefault(_popup);\n\n  var _visibility2 = _interopRequireDefault(_visibility);\n\n  var _popup4 = _interopRequireDefault(_popup3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-toast';\n\n  var EVENT_TIMEOUT = 'timeout';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_visibility2.default, _popup4.default],\n    props: {\n      type: {\n        type: String,\n        default: 'loading'\n      },\n      icon: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: false\n      },\n      txt: {\n        type: String,\n        default: ''\n      },\n      time: {\n        type: Number,\n        default: 3000\n      },\n\n      zIndex: {\n        type: Number,\n        default: 900\n      }\n    },\n    computed: {\n      iconClass: function iconClass() {\n        var iconClass = [];\n        if (this.icon) {\n          iconClass.push(this.icon);\n        }\n        var classMap = {\n          correct: 'cubeic-right',\n          error: 'cubeic-wrong',\n          warn: 'cubeic-warn'\n        };\n        var icon = classMap[this.type];\n        if (icon) {\n          iconClass.push(icon);\n        }\n        return iconClass;\n      },\n      isLoading: function isLoading() {\n        return this.type === 'loading';\n      }\n    },\n    methods: {\n      maskClick: function maskClick() {\n        this.maskClosable && this.hide();\n      },\n      show: function show() {\n        var _this = this;\n\n        this.isVisible = true;\n        this.clearTimer();\n        this.$nextTick(function () {\n          if (_this.time !== 0) {\n            _this.timer = setTimeout(function () {\n              _this.hide();\n              _this.$emit(EVENT_TIMEOUT);\n            }, _this.time);\n          }\n        });\n      },\n      hide: function hide() {\n        this.isVisible = false;\n        this.clearTimer();\n      },\n      clearTimer: function clearTimer() {\n        clearTimeout(this.timer);\n        this.timer = null;\n      }\n    },\n    components: {\n      CubePopup: _popup2.default,\n      CubeLoading: _loading2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 418:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('transition', {\n    attrs: {\n      \"name\": \"cube-toast-fade\"\n    }\n  }, [_c('cube-popup', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isVisible),\n      expression: \"isVisible\"\n    }],\n    attrs: {\n      \"type\": \"toast\",\n      \"z-index\": _vm.zIndex,\n      \"mask\": _vm.mask\n    },\n    on: {\n      \"mask-click\": _vm.maskClick\n    }\n  }, [(!_vm.isLoading && _vm.iconClass.length) ? _c('i', {\n    staticClass: \"cube-toast-icon\",\n    class: _vm.iconClass\n  }) : _vm._e(), _vm._v(\" \"), (_vm.isLoading) ? _c('cube-loading') : _vm._e(), _vm._v(\" \"), _c('div', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.txt),\n      expression: \"txt\"\n    }],\n    staticClass: \"cube-toast-tip\",\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.txt)\n    }\n  })], 1)], 1)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 419:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(89)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/helpers/create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.createApi);\n    global.api = mod.exports;\n  }\n})(this, function (module, exports, _createApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = addToast;\n\n  var _createApi2 = _interopRequireDefault(_createApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addToast(Vue, Toast) {\n    (0, _createApi2.default)(Vue, Toast, ['timeout'], true);\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n\n/***/ 58:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.visibility = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var EVENT_TOGGLE = 'toggle';\n\n  exports.default = {\n    model: {\n      prop: 'visible',\n      event: EVENT_TOGGLE\n    },\n    props: {\n      visible: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        isVisible: false\n      };\n    },\n\n    watch: {\n      isVisible: function isVisible(newVal) {\n        this.$emit(EVENT_TOGGLE, newVal);\n      }\n    },\n    mounted: function mounted() {\n      var _this = this;\n\n      this.$watch('visible', function (newVal, oldVal) {\n        if (newVal) {\n          _this.show();\n        } else if (oldVal && !_this._createAPI_reuse) {\n          _this.hide();\n        }\n      }, {\n        immediate: true\n      });\n    },\n\n    methods: {\n      show: function show() {\n        this.isVisible = true;\n      },\n      hide: function hide() {\n        this.isVisible = false;\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 69:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.popup = mod.exports;\n  }\n})(this, function (module, exports) {\n  \"use strict\";\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      zIndex: {\n        type: Number,\n        default: 100\n      },\n      maskClosable: {\n        type: Boolean,\n        default: false\n      }\n    }\n  };\n  module.exports = exports[\"default\"];\n});\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 89:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(99)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('vue-create-api'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.vueCreateApi);\n    global.createApi = mod.exports;\n  }\n})(this, function (module, exports, _vueCreateApi) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = createAPI;\n\n  var _vueCreateApi2 = _interopRequireDefault(_vueCreateApi);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function createAPI(Vue, Component, events, single) {\n    Vue.use(_vueCreateApi2.default, { componentPrefix: 'cube-' });\n    var api = Vue.createAPI(Component, events, single);\n    return api;\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 99:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\n * vue-create-api v0.2.3\n * (c) 2019 ustbhuangyi\n * @license MIT\n */\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n  return (str + '').replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : '';\n  });\n}\n\nfunction escapeReg(str, delimiter) {\n  return (str + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction isUndef(value) {\n  return value === undefined;\n}\n\nfunction isStr(value) {\n  return typeof value === 'string';\n}\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nfunction assert(condition, msg) {\n  if (!condition) {\n    throw new Error(\"[vue-create-api error]: \" + msg);\n  }\n}\n\nfunction instantiateComponent(Vue, Component, data, renderFn, options) {\n  var renderData = void 0;\n  var childrenRenderFn = void 0;\n\n  var instance = new Vue(_extends({}, options, {\n    render: function render(createElement) {\n      var children = childrenRenderFn && childrenRenderFn(createElement);\n      if (children && !Array.isArray(children)) {\n        children = [children];\n      }\n\n      return createElement(Component, _extends({}, renderData), children || []);\n    },\n\n    methods: {\n      init: function init() {\n        document.body.appendChild(this.$el);\n      },\n      destroy: function destroy() {\n        this.$destroy();\n        if (this.$el && this.$el.parentNode === document.body) {\n          document.body.removeChild(this.$el);\n        }\n      }\n    }\n  }));\n  instance.updateRenderData = function (data, render) {\n    renderData = data;\n    childrenRenderFn = render;\n  };\n  instance.updateRenderData(data, renderFn);\n  instance.$mount();\n  instance.init();\n  var component = instance.$children[0];\n  component.$updateProps = function (props) {\n    _extends(renderData.props, props);\n    instance.$forceUpdate();\n  };\n  return component;\n}\n\nfunction parseRenderData() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  events = parseEvents(events);\n  var props = _extends({}, data);\n  var on = {};\n  for (var name in events) {\n    if (events.hasOwnProperty(name)) {\n      var handlerName = events[name];\n      if (props[handlerName]) {\n        on[name] = props[handlerName];\n        delete props[handlerName];\n      }\n    }\n  }\n  return {\n    props: props,\n    on: on\n  };\n}\n\nfunction parseEvents(events) {\n  var parsedEvents = {};\n  events.forEach(function (name) {\n    parsedEvents[name] = camelize('on-' + name);\n  });\n  return parsedEvents;\n}\n\nvar eventBeforeDestroy = 'hook:beforeDestroy';\n\nfunction apiCreator(Component) {\n  var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var single = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var Vue = this;\n  var singleMap = {};\n  var beforeHooks = [];\n\n  function createComponent(renderData, renderFn, options, single) {\n    beforeHooks.forEach(function (before) {\n      before(renderData, renderFn, single);\n    });\n    var ownerInsUid = options.parent ? options.parent._uid : -1;\n\n    var _ref = singleMap[ownerInsUid] ? singleMap[ownerInsUid] : {},\n        comp = _ref.comp,\n        ins = _ref.ins;\n\n    if (single && comp && ins) {\n      ins.updateRenderData(renderData, renderFn);\n      ins.$forceUpdate();\n      return comp;\n    }\n    var component = instantiateComponent(Vue, Component, renderData, renderFn, options);\n    var instance = component.$parent;\n    var originRemove = component.remove;\n\n    component.remove = function () {\n      if (single) {\n        if (!singleMap[ownerInsUid]) {\n          return;\n        }\n        singleMap[ownerInsUid] = null;\n      }\n      originRemove && originRemove.apply(this, arguments);\n      instance.destroy();\n    };\n\n    var originShow = component.show;\n    component.show = function () {\n      originShow && originShow.apply(this, arguments);\n      return this;\n    };\n\n    var originHide = component.hide;\n    component.hide = function () {\n      originHide && originHide.apply(this, arguments);\n      return this;\n    };\n\n    if (single) {\n      singleMap[ownerInsUid] = {\n        comp: component,\n        ins: instance\n      };\n    }\n    return component;\n  }\n\n  function processProps(ownerInstance, renderData, isInVueInstance, onChange) {\n    var $props = renderData.props.$props;\n    if ($props) {\n      delete renderData.props.$props;\n\n      var watchKeys = [];\n      var watchPropKeys = [];\n      Object.keys($props).forEach(function (key) {\n        var propKey = $props[key];\n        if (isStr(propKey) && propKey in ownerInstance) {\n          // get instance value\n          renderData.props[key] = ownerInstance[propKey];\n          watchKeys.push(key);\n          watchPropKeys.push(propKey);\n        } else {\n          renderData.props[key] = propKey;\n        }\n      });\n      if (isInVueInstance) {\n        var unwatchFn = ownerInstance.$watch(function () {\n          var props = {};\n          watchKeys.forEach(function (key, i) {\n            props[key] = ownerInstance[watchPropKeys[i]];\n          });\n          return props;\n        }, onChange);\n        ownerInstance.__unwatchFns__.push(unwatchFn);\n      }\n    }\n  }\n\n  function processEvents(renderData, ownerInstance) {\n    var $events = renderData.props.$events;\n    if ($events) {\n      delete renderData.props.$events;\n\n      Object.keys($events).forEach(function (event) {\n        var eventHandler = $events[event];\n        if (typeof eventHandler === 'string') {\n          eventHandler = ownerInstance[eventHandler];\n        }\n        renderData.on[event] = eventHandler;\n      });\n    }\n  }\n\n  function process$(renderData) {\n    var props = renderData.props;\n    Object.keys(props).forEach(function (prop) {\n      if (prop.charAt(0) === '$') {\n        renderData[prop.slice(1)] = props[prop];\n        delete props[prop];\n      }\n    });\n  }\n\n  function cancelWatchProps(ownerInstance) {\n    if (ownerInstance.__unwatchFns__) {\n      ownerInstance.__unwatchFns__.forEach(function (unwatchFn) {\n        unwatchFn();\n      });\n      ownerInstance.__unwatchFns__ = null;\n    }\n  }\n\n  var api = {\n    before: function before(hook) {\n      beforeHooks.push(hook);\n    },\n    create: function create(config, renderFn, _single) {\n      if (!isFunction(renderFn) && isUndef(_single)) {\n        _single = renderFn;\n        renderFn = null;\n      }\n\n      if (isUndef(_single)) {\n        _single = single;\n      }\n\n      var ownerInstance = this;\n      var isInVueInstance = !!ownerInstance.$on;\n      var options = {};\n\n      if (isInVueInstance) {\n        // Set parent to store router i18n ...\n        options.parent = ownerInstance;\n        if (!ownerInstance.__unwatchFns__) {\n          ownerInstance.__unwatchFns__ = [];\n        }\n      }\n\n      var renderData = parseRenderData(config, events);\n\n      var component = null;\n\n      processProps(ownerInstance, renderData, isInVueInstance, function (newProps) {\n        component && component.$updateProps(newProps);\n      });\n      processEvents(renderData, ownerInstance);\n      process$(renderData);\n\n      component = createComponent(renderData, renderFn, options, _single);\n\n      if (isInVueInstance) {\n        ownerInstance.$on(eventBeforeDestroy, beforeDestroy);\n      }\n\n      function beforeDestroy() {\n        cancelWatchProps(ownerInstance);\n        component.remove();\n        component = null;\n      }\n\n      return component;\n    }\n  };\n\n  return api;\n}\n\nfunction install(Vue) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$componentPre = options.componentPrefix,\n      componentPrefix = _options$componentPre === undefined ? '' : _options$componentPre,\n      _options$apiPrefix = options.apiPrefix,\n      apiPrefix = _options$apiPrefix === undefined ? '$create-' : _options$apiPrefix;\n\n\n  Vue.createAPI = function (Component, events, single) {\n    if (isBoolean(events)) {\n      single = events;\n      events = [];\n    }\n    var api = apiCreator.call(this, Component, events, single);\n    var createName = processComponentName(Component, {\n      componentPrefix: componentPrefix,\n      apiPrefix: apiPrefix\n    });\n    Vue.prototype[createName] = Component.$create = api.create;\n    return api;\n  };\n}\n\nfunction processComponentName(Component, options) {\n  var componentPrefix = options.componentPrefix,\n      apiPrefix = options.apiPrefix;\n\n  var name = Component.name;\n  assert(name, 'Component must have name while using create-api!');\n  var prefixReg = new RegExp('^' + escapeReg(componentPrefix), 'i');\n  var pureName = name.replace(prefixReg, '');\n  var camelizeName = '' + camelize('' + apiPrefix + pureName);\n  return camelizeName;\n}\n\nvar index = {\n  install: install,\n  instantiateComponent: instantiateComponent,\n  version: '0.2.3'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/toast/style.css",
    "content": ".cube-popup{position:fixed;left:0;right:0;top:0;bottom:0;z-index:100;pointer-events:none}.cube-popup_mask{pointer-events:auto}.cube-popup_mask .cube-popup-mask{display:block}.cube-popup-container,.cube-popup-mask{position:absolute;width:100%;height:100%}.cube-popup-mask{display:none;overflow:hidden;background-color:#25262d;opacity:.4;pointer-events:auto}.cube-popup-mask:before{content:\".\";display:block;width:1px;height:1px;background-color:rgba(0,0,0,.1);margin-left:-10px}.cube-popup-container{-webkit-transform:translate(100%,100%);transform:translate(100%,100%)}.cube-popup-content{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);pointer-events:auto}.cube-popup-center .cube-popup-content,.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{top:-50%;left:-50%;width:auto;max-width:100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-left .cube-popup-content,.cube-popup-right .cube-popup-content{height:100%;top:-100%}.cube-popup-center .cube-popup-content{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cube-popup-top .cube-popup-content{top:-100%;left:-100%;-webkit-transform:translate(0);transform:translate(0)}.cube-popup-right .cube-popup-content{top:-100%;right:100%}.cube-popup-left .cube-popup-content{left:-100%}.cube-loading{font-size:24px}.cube-loading-spinners{position:relative;display:block;width:1em;height:1em}.cube-loading-spinner{position:absolute;left:44.5%;top:37%;width:2px;height:25%;border-radius:50%/20%;opacity:.25;background-color:currentColor;-webkit-animation:spinner-fade 1s linear infinite;animation:spinner-fade 1s linear infinite}.cube-loading-spinner:first-child{-webkit-animation-delay:0s;animation-delay:0s;-webkit-transform:rotate(-150deg) translateY(-150%);transform:rotate(-150deg) translateY(-150%)}.cube-loading-spinner:nth-child(2){-webkit-animation-delay:.083333333333333s;animation-delay:.083333333333333s;-webkit-transform:rotate(-120deg) translateY(-150%);transform:rotate(-120deg) translateY(-150%)}.cube-loading-spinner:nth-child(3){-webkit-animation-delay:.166666666666667s;animation-delay:.166666666666667s;-webkit-transform:rotate(-90deg) translateY(-150%);transform:rotate(-90deg) translateY(-150%)}.cube-loading-spinner:nth-child(4){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-transform:rotate(-60deg) translateY(-150%);transform:rotate(-60deg) translateY(-150%)}.cube-loading-spinner:nth-child(5){-webkit-animation-delay:.333333333333333s;animation-delay:.333333333333333s;-webkit-transform:rotate(-30deg) translateY(-150%);transform:rotate(-30deg) translateY(-150%)}.cube-loading-spinner:nth-child(6){-webkit-animation-delay:.416666666666667s;animation-delay:.416666666666667s;-webkit-transform:rotate(0deg) translateY(-150%);transform:rotate(0deg) translateY(-150%)}.cube-loading-spinner:nth-child(7){-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-transform:rotate(30deg) translateY(-150%);transform:rotate(30deg) translateY(-150%)}.cube-loading-spinner:nth-child(8){-webkit-animation-delay:.583333333333333s;animation-delay:.583333333333333s;-webkit-transform:rotate(60deg) translateY(-150%);transform:rotate(60deg) translateY(-150%)}.cube-loading-spinner:nth-child(9){-webkit-animation-delay:.666666666666667s;animation-delay:.666666666666667s;-webkit-transform:rotate(90deg) translateY(-150%);transform:rotate(90deg) translateY(-150%)}.cube-loading-spinner:nth-child(10){-webkit-animation-delay:.75s;animation-delay:.75s;-webkit-transform:rotate(120deg) translateY(-150%);transform:rotate(120deg) translateY(-150%)}.cube-loading-spinner:nth-child(11){-webkit-animation-delay:.833333333333333s;animation-delay:.833333333333333s;-webkit-transform:rotate(150deg) translateY(-150%);transform:rotate(150deg) translateY(-150%)}.cube-loading-spinner:nth-child(12){-webkit-animation-delay:.916666666666667s;animation-delay:.916666666666667s;-webkit-transform:rotate(180deg) translateY(-150%);transform:rotate(180deg) translateY(-150%)}@-webkit-keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}@keyframes spinner-fade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.cube-toast.cube-popup{z-index:900}.cube-toast .cube-popup-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:13px 16px;color:#ccc;background-color:rgba(37,38,45,.9);border-radius:2px}.cube-toast-icon{width:24px;height:24px;font-size:24px}.cube-toast-tip{line-height:20px;font-size:14px;max-width:12em;max-height:40px;overflow:hidden}.cube-loading~.cube-toast-tip,.cube-toast-icon~.cube-toast-tip{margin-left:8px}.cube-toast-fade-enter-active{-webkit-animation:toast-in .2s;animation:toast-in .2s}.cube-toast-fade-leave-active{-webkit-animation:toast-out .2s;animation:toast-out .2s}@-webkit-keyframes toast-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes toast-out{0%{opacity:1}to{opacity:0}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}"
  },
  {
    "path": "lib/toolbar/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"toolbar\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"toolbar\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 420);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 162:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(169)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(170),\n  /* template */\n  __webpack_require__(171),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 169:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 170:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.checkbox = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-checkbox';\n\n  var EVENT_INPUT = 'input';\n  var EVENT_CHECKED = 'checked';\n  var EVENT_CANCLE_CHECKED = 'cancel-checked';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [Boolean, String]\n      },\n      label: {\n        type: [Boolean, String]\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      option: {\n        type: [Boolean, String, Object],\n        default: function _default() {\n          return {\n            _def_option: true\n          };\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      var parent = this.$parent;\n      var isInGroup = parent.$data._checkboxGroup;\n      var isInHorizontalGroup = isInGroup && (parent.$props.horizontal || parent.$props.colNum > 1);\n      return {\n        isInGroup: isInGroup,\n        isInHorizontalGroup: isInHorizontalGroup\n      };\n    },\n\n    computed: {\n      computedOption: function computedOption() {\n        var option = this.option;\n        var label = this.label;\n        var disabled = this.disabled;\n        if (option._def_option === true) {\n          option = {\n            label: label,\n            value: label,\n            disabled: disabled\n          };\n        } else if (typeof option === 'string') {\n          option = {\n            label: option,\n            value: option,\n            disabled: false\n          };\n        }\n        return option;\n      },\n\n      checkValue: {\n        get: function get() {\n          if (this.isInGroup) {\n            return this.$parent.value.indexOf(this.computedOption.value) > -1;\n          } else {\n            return Boolean(this.value);\n          }\n        },\n        set: function set(newValue) {\n          var value = this.computedOption.value;\n          var emitValue = value && newValue ? value : newValue;\n          this.$emit(EVENT_INPUT, emitValue);\n          if (this.isInGroup) {\n            newValue = !this.checkValue;\n            var parentEmitEvent = newValue ? EVENT_CHECKED : EVENT_CANCLE_CHECKED;\n            this.$parent.$emit(parentEmitEvent, value || newValue);\n          }\n        }\n      },\n      _containerClass: function _containerClass() {\n        return {\n          'cube-checkbox-hollow': this.hollowStyle,\n          'cube-checkbox_checked': this.checkValue,\n          'cube-checkbox_disabled': this.computedOption.disabled,\n          'border-right-1px': this.isInHorizontalGroup\n        };\n      },\n      _wrapClass: function _wrapClass() {\n        if (this.isInGroup && !this.isInHorizontalGroup) {\n          return 'border-bottom-1px';\n        }\n      },\n      isSquare: function isSquare() {\n        return this.shape === 'square' || this.hollowStyle;\n      },\n      _borderIconClass: function _borderIconClass() {\n        return this.isSquare ? 'cubeic-square-border' : 'cubeic-round-border';\n      },\n      _rightIconClass: function _rightIconClass() {\n        return this.isSquare ? 'cubeic-square-right' : 'cubeic-right';\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 171:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-checkbox\",\n    class: _vm._containerClass,\n    attrs: {\n      \"data-pos\": _vm.position\n    }\n  }, [_c('label', {\n    staticClass: \"cube-checkbox-wrap\",\n    class: _vm._wrapClass\n  }, [_c('input', {\n    directives: [{\n      name: \"model\",\n      rawName: \"v-model\",\n      value: (_vm.checkValue),\n      expression: \"checkValue\"\n    }],\n    staticClass: \"cube-checkbox-input\",\n    attrs: {\n      \"type\": \"checkbox\",\n      \"disabled\": _vm.computedOption.disabled\n    },\n    domProps: {\n      \"checked\": Array.isArray(_vm.checkValue) ? _vm._i(_vm.checkValue, null) > -1 : (_vm.checkValue)\n    },\n    on: {\n      \"change\": function($event) {\n        var $$a = _vm.checkValue,\n          $$el = $event.target,\n          $$c = $$el.checked ? (true) : (false);\n        if (Array.isArray($$a)) {\n          var $$v = null,\n            $$i = _vm._i($$a, $$v);\n          if ($$el.checked) {\n            $$i < 0 && (_vm.checkValue = $$a.concat([$$v]))\n          } else {\n            $$i > -1 && (_vm.checkValue = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n          }\n        } else {\n          _vm.checkValue = $$c\n        }\n      }\n    }\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-ui\",\n    class: _vm._borderIconClass\n  }, [_c('i', {\n    class: _vm._rightIconClass\n  })]), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-checkbox-label\"\n  }, [_vm._t(\"default\", [_vm._v(_vm._s(_vm.computedOption.label))])], 2)])])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 173:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(175)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(176),\n  /* template */\n  __webpack_require__(177),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 175:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 176:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.button = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-button';\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      icon: {\n        type: String,\n        default: ''\n      },\n      active: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      primary: {\n        type: Boolean,\n        default: false\n      },\n      outline: {\n        type: Boolean,\n        default: false\n      },\n      light: {\n        type: Boolean,\n        default: false\n      },\n      type: {\n        type: String,\n        default: 'button'\n      }\n    },\n    computed: {\n      btnClass: function btnClass() {\n        return {\n          'cube-btn_active': this.active,\n          'cube-btn_disabled': this.disabled,\n          'cube-btn-inline': this.inline,\n          'cube-btn-primary': this.primary,\n          'cube-btn-outline': this.outline,\n          'cube-btn-outline-primary': this.outline && this.primary,\n          'cube-btn-light': this.light\n        };\n      }\n    },\n    methods: {\n      handleClick: function handleClick(event) {\n        if (this.disabled) {\n          event.preventDefault();\n          event.stopPropagation();\n          return;\n        }\n        this.$emit('click', event);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 177:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('button', {\n    staticClass: \"cube-btn\",\n    class: _vm.btnClass,\n    attrs: {\n      \"type\": _vm.type\n    },\n    on: {\n      \"click\": _vm.handleClick\n    }\n  }, [(_vm.icon) ? _c('i', {\n    class: _vm.icon\n  }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 420:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(173), __webpack_require__(162), __webpack_require__(421)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/button/button.vue'), require('../../components/checkbox/checkbox.vue'), require('../../components/toolbar/toolbar.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button, global.checkbox, global.toolbar);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _button, _checkbox, _toolbar) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  var _toolbar2 = _interopRequireDefault(_toolbar);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _toolbar2.default.install = function (Vue) {\n    Vue.component(_button2.default.name, _button2.default);\n    Vue.component(_checkbox2.default.name, _checkbox2.default);\n    Vue.component(_toolbar2.default.name, _toolbar2.default);\n  };\n\n  _toolbar2.default.Button = _button2.default;\n  _toolbar2.default.Checkbox = _checkbox2.default;\n\n  exports.default = _toolbar2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 421:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(422)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(423),\n  /* template */\n  __webpack_require__(428),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 422:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 423:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(424)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./toolbar-item.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.toolbarItem);\n    global.toolbar = mod.exports;\n  }\n})(this, function (module, exports, _toolbarItem) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _toolbarItem2 = _interopRequireDefault(_toolbarItem);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-toolbar';\n  var EVENT_CLICK = 'click';\n  var EVENT_MORE_CLICK = 'more-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    components: {\n      CubeToolbarItem: _toolbarItem2.default\n    },\n    props: {\n      actions: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      moreActions: {\n        type: Array\n      }\n    },\n    data: function data() {\n      return {\n        showMore: false\n      };\n    },\n\n    computed: {\n      basicActions: function basicActions() {\n        var basicActions = this.actions.slice();\n        this.moreActions && basicActions.push({\n          icon: 'cubeic-more',\n          $cubeMore: true\n        });\n        return basicActions;\n      }\n    },\n    methods: {\n      itemClick: function itemClick(action) {\n        if (action.$cubeMore) {\n          this.showMore = !this.showMore;\n          this.$emit(EVENT_MORE_CLICK, this.showMore);\n        } else {\n          this.$emit(EVENT_CLICK, action);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 424:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(425)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(426),\n  /* template */\n  __webpack_require__(427),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 425:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 426:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(173), __webpack_require__(162)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../button/button.vue'), require('../checkbox/checkbox.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.button, global.checkbox);\n    global.toolbarItem = mod.exports;\n  }\n})(this, function (module, exports, _button, _checkbox) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _button2 = _interopRequireDefault(_button);\n\n  var _checkbox2 = _interopRequireDefault(_checkbox);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-toolbar-item';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    components: {\n      CubeButton: _button2.default,\n      CubeCheckbox: _checkbox2.default\n    },\n    props: {\n      action: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 427:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('li', {\n    staticClass: \"cube-toolbar-item border-right-1px\"\n  }, [_c('cube-button', {\n    attrs: {\n      \"icon\": _vm.action.icon\n    }\n  }, [(_vm.action.type == 'checkbox') ? _c('cube-checkbox', {\n    staticClass: \"cube-toolbar-chb\",\n    attrs: {\n      \"label\": _vm.action.text\n    },\n    model: {\n      value: (_vm.action.checked),\n      callback: function($$v) {\n        _vm.$set(_vm.action, \"checked\", $$v)\n      },\n      expression: \"action.checked\"\n    }\n  }) : _c('span', {\n    domProps: {\n      \"innerHTML\": _vm._s(_vm.action.text)\n    }\n  })], 1), _vm._v(\" \"), _c('i', {\n    staticClass: \"cube-toolbar-down\"\n  })], 1)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 428:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-toolbar\"\n  }, [(_vm.moreActions) ? _c('ul', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.showMore),\n      expression: \"showMore\"\n    }],\n    staticClass: \"cube-toolbar-group cube-toolbar-group-more\"\n  }, _vm._l((_vm.moreActions), function(action, index) {\n    return _c('cube-toolbar-item', {\n      key: index,\n      attrs: {\n        \"action\": action\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.itemClick(action)\n        }\n      }\n    })\n  })) : _vm._e(), _vm._v(\" \"), _c('ul', {\n    staticClass: \"cube-toolbar-group\"\n  }, _vm._l((_vm.basicActions), function(action, index) {\n    return _c('cube-toolbar-item', {\n      key: index,\n      attrs: {\n        \"action\": action\n      },\n      nativeOn: {\n        \"click\": function($event) {\n          _vm.itemClick(action)\n        }\n      }\n    })\n  }))])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/toolbar/style.css",
    "content": ".cube-btn{display:block;margin:0;padding:17px 16px;width:100%;text-align:center;white-space:nowrap;cursor:pointer;font-size:16px;line-height:1;color:#fff;background:#4a4c5b;outline:none;border:none;border-radius:2px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.cube-btn.cube-btn_active,.cube-btn:active{background:#444654}.cube-btn>i{display:inline-block;margin-right:4px;font-size:100%;-webkit-transform:scale(1.13);transform:scale(1.13);-webkit-transform-origin:right center;transform-origin:right center}.cube-btn-inline{width:auto;display:inline-block;vertical-align:middle;padding:9px 10px;font-size:12px}.cube-btn-inline>i{margin-right:2px;-webkit-transform:scale(1.14);transform:scale(1.14)}.cube-btn-primary{color:#fff;background:#fc9153}.cube-btn-primary.cube-btn_active,.cube-btn-primary:active{background:#e8864c}.cube-btn-light{color:#666;background:#fcfcfc;box-shadow:0 1px 3px rgba(0,0,0,.1)}.cube-btn-light.cube-btn_active,.cube-btn-light:active{background:#e8e8e8}.cube-btn-outline{color:#666;background:transparent;position:relative}.cube-btn-outline:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline.cube-btn_active,.cube-btn-outline:active{background:rgba(0,0,0,.08);position:relative}.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #666;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline.cube-btn_active:after,.cube-btn-outline:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary{color:#fc9153;background:transparent;position:relative}.cube-btn-outline-primary:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #fc9153;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn-outline-primary.cube-btn_active,.cube-btn-outline-primary:active{background:rgba(252,145,83,.08);position:relative}.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e8864c;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn-outline-primary.cube-btn_active:after,.cube-btn-outline-primary:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled{color:#fff;background:#ccc;position:relative}.cube-btn_disabled:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-btn_disabled.cube-btn_active,.cube-btn_disabled:active{background:#ccc;position:relative}.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-btn_disabled.cube-btn_active:after,.cube-btn_disabled:active:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-checkbox{position:relative;padding:0 16px;text-align:left;font-size:100%;color:#666}.cube-checkbox[data-pos=right] .cube-checkbox-ui{margin-right:0;position:absolute;right:0}.cube-checkbox[data-pos=right] .cube-checkbox-label{margin-right:1.42em}.cube-checkbox-wrap{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:11px 0;line-height:1.5;word-break:break-word;word-wrap:break-word}.cube-checkbox-input{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.cube-checkbox-ui{position:relative;width:1em;height:1em;margin-right:.42em;line-height:1;border-radius:50%}.cube-checkbox-ui.cubeic-square-border{border-radius:2px}.cube-checkbox-ui:before,.cube-checkbox-ui i{-webkit-transition:all .2s;transition:all .2s}.cube-checkbox-ui:before{color:#ccc;display:inline-block;-webkit-transform:scale(1.24);transform:scale(1.24)}.cube-checkbox-ui i{position:absolute;top:0;left:0;color:transparent;-webkit-transform:scale(.4);transform:scale(.4)}.cube-checkbox_checked .cube-checkbox-ui:before{color:transparent}.cube-checkbox_checked .cube-checkbox-ui i{color:#fc9153;-webkit-transform:scale(1.23);transform:scale(1.23)}.cube-checkbox_disabled .cube-checkbox-ui{background-color:#eee}.cube-checkbox_disabled .cube-checkbox-ui:before,.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transition:none;transition:none}.cube-checkbox_disabled .cube-checkbox-ui:before{color:transparent}.cube-checkbox_disabled .cube-checkbox-ui i{color:#eee}.cube-checkbox_checked.cube-checkbox_disabled .cube-checkbox-ui{background-color:#fff}.cube-checkbox-hollow i{width:100%;height:100%}.cube-checkbox-hollow i:before{content:\"\";position:absolute;top:50%;left:50%;width:50%;height:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:currentColor;border-radius:2px}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui:before{color:#fc9153}.cube-checkbox-hollow.cube-checkbox_checked .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:#fc9153}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui{background-color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui:before{color:#eee}.cube-checkbox-hollow.cube-checkbox_disabled .cube-checkbox-ui i{-webkit-transform:scale(1);transform:scale(1);color:transparent}.cube-checkbox-hollow.cube-checkbox_disabled.cube-checkbox_checked .cube-checkbox-ui i{color:#eee}.cube-toolbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:2;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.cube-toolbar-group{display:-webkit-box;display:-webkit-flex;display:flex;height:44px;overflow:hidden;box-sizing:border-box;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.24);background-color:#fcfcfc}.cube-toolbar-group-more{margin-bottom:10px}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down{position:absolute;top:44px;right:9%;height:10px;color:#fcfcfc;font-size:24px;font-family:cube-icon;font-style:normal;text-shadow:0 1px 3px #e8e8e8;-webkit-transform:scale(1.3);transform:scale(1.3)}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down:before{content:\"\\E603\";position:relative;top:-10px}.cube-toolbar-group-more .cube-toolbar-item:last-child .cube-toolbar-down:after{content:\"\";display:block;position:absolute;left:30%;top:50%;margin-top:-6px;width:40%;height:2px;background-color:#fcfcfc}.cube-toolbar-group-more .cube-toolbar-item:last-child:active .cube-toolbar-down{color:#e8e8e8}.cube-toolbar-group-more .cube-toolbar-item:last-child:active .cube-toolbar-down:after{background-color:#e8e8e8}.cube-toolbar-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-flex-basis:1e-9px;flex-basis:1e-9px;width:1%;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background-color:#fcfcfc}.cube-toolbar-item:last-child{position:static}.cube-toolbar-item:last-child:after{display:none}.cube-toolbar-item:active{background-color:#e8e8e8}.cube-toolbar-item:active:after{border-color:transparent}.cube-toolbar-item .cube-toolbar-chb{height:44px;padding:0;font-size:12px;background-color:transparent}.cube-toolbar-item .cube-toolbar-chb .cube-checkbox-wrap{padding:0;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.cube-toolbar-item .cube-toolbar-chb .cube-checkbox-wrap .cube-checkbox-ui{position:relative;left:auto;margin-right:.42em}.cube-toolbar-item .cube-btn{position:relative;padding:0 5px;background-color:transparent;border:0 none;color:#666;font-size:12px}.cube-toolbar-item .cube-btn:active{background-color:transparent}.cube-toolbar-item .cube-btn:active:after{display:none}.cube-toolbar-item .cube-btn i{margin-right:0}.cube-toolbar-item .cube-btn i.cubeic-more{color:#999;font-size:16px}"
  },
  {
    "path": "lib/upload/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"upload\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"upload\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 429);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 172:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(49)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../../common/helpers/env'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.env);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _env) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.STATUS_SUCCESS = exports.STATUS_ERROR = exports.STATUS_UPLOADING = exports.STATUS_READY = exports.URL = undefined;\n  exports.processFiles = processFiles;\n  exports.processFile = processFile;\n  exports.newFile = newFile;\n  exports.evalOpts = evalOpts;\n  var URL = exports.URL = _env.inBrowser ? window.URL || window.webkitURL || window.mozURL : null;\n\n  var STATUS_READY = exports.STATUS_READY = 'ready';\n  var STATUS_UPLOADING = exports.STATUS_UPLOADING = 'uploading';\n  var STATUS_ERROR = exports.STATUS_ERROR = 'error';\n  var STATUS_SUCCESS = exports.STATUS_SUCCESS = 'success';\n\n  function processFiles(files, eachProcessFile, eachCb, cb) {\n    var fileItems = [];\n    var len = files.length;\n    var processedLen = 0;\n    for (var i = 0; i < len; i++) {\n      processFile(files[i], i, eachProcessFile, function (item, index) {\n        processedLen++;\n        fileItems[index] = item;\n        eachCb(item, index);\n        if (processedLen === len) {\n          return cb(fileItems);\n        }\n      });\n    }\n  }\n\n  function processFile(file, i, eachProcessFile, cb) {\n    eachProcessFile(file, function (file) {\n      var item = newFile(file.name, file.size, STATUS_READY, 0, file);\n      cb(item, i);\n    });\n  }\n\n  function newFile() {\n    var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n    var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    var status = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n    var progress = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n    var file = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n    var base64 = file && file.base64 || '';\n    var url = base64 ? '' : createURL(file);\n\n    return {\n      name: name,\n      size: size,\n      url: url,\n      base64: base64,\n      status: status,\n      progress: progress,\n      file: file\n    };\n  }\n\n  function createURL(file) {\n    if (file && URL) {\n      return URL.createObjectURL(file);\n    }\n    return '';\n  }\n\n  function evalOpts(data) {\n    if (typeof data === 'function') {\n      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n        args[_key - 1] = arguments[_key];\n      }\n\n      return data.apply(this, args);\n    }\n    return data;\n  }\n});\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 192:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.btnMixin = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    props: {\n      multiple: {\n        type: Boolean,\n        default: true\n      },\n      accept: {\n        type: String,\n        default: 'image/*'\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 197:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(240)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(241),\n  /* template */\n  __webpack_require__(242),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 198:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(243)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(244),\n  /* template */\n  __webpack_require__(245),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 237:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(238)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(239),\n  /* template */\n  __webpack_require__(247),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 238:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 239:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(197), __webpack_require__(198), __webpack_require__(246), __webpack_require__(192), __webpack_require__(172)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./btn.vue'), require('./file.vue'), require('./ajax'), require('./btn-mixin'), require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.btn, global.file, global.ajax, global.btnMixin, global.util);\n    global.upload = mod.exports;\n  }\n})(this, function (module, exports, _btn, _file, _ajax, _btnMixin, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _btn2 = _interopRequireDefault(_btn);\n\n  var _file2 = _interopRequireDefault(_file);\n\n  var _ajax2 = _interopRequireDefault(_ajax);\n\n  var _btnMixin2 = _interopRequireDefault(_btnMixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-upload';\n  var EVENT_INPUT = 'input';\n  var EVENT_ADDED = 'files-added';\n  var EVENT_SUBMITTED = 'file-submitted';\n  var EVENT_REMOVED = 'file-removed';\n  var EVENT_SUCCESS = 'file-success';\n  var EVENT_ERROR = 'file-error';\n  var EVENT_CLICK = 'file-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_btnMixin2.default],\n    props: {\n      value: {\n        type: Array,\n        default: function _default() {\n          return [];\n        }\n      },\n      action: {\n        type: [String, Object],\n        default: ''\n      },\n      max: {\n        type: Number,\n        default: 10\n      },\n      auto: {\n        type: Boolean,\n        default: true\n      },\n      simultaneousUploads: {\n        type: Number,\n        default: 1\n      },\n      processFile: {\n        type: Function,\n        default: function _default(file, cb) {\n          cb(file);\n        }\n      }\n    },\n    data: function data() {\n      return {\n        files: this.value,\n        paused: !this.auto\n      };\n    },\n\n    computed: {\n      actionOptions: function actionOptions() {\n        var action = this.action;\n        if (typeof action === 'string') {\n          return action ? {\n            target: action\n          } : null;\n        } else {\n          return action;\n        }\n      },\n      isShowBtn: function isShowBtn() {\n        return this.files.length < this.max;\n      }\n    },\n    watch: {\n      value: function value(newVal) {\n        this.files = newVal;\n      },\n      files: function files(newFiles) {\n        this.$emit(EVENT_INPUT, newFiles);\n      }\n    },\n    methods: {\n      addFiles: function addFiles(files) {\n        var _this = this;\n\n        this.$emit(EVENT_ADDED, files);\n        var filesLen = this.files.length;\n        var newFiles = [];\n        var maxLen = this.max - filesLen;\n        var i = 0;\n        var file = files[i];\n        while (newFiles.length < maxLen && file) {\n          if (!file.ignore) {\n            newFiles.push(file);\n            this.files.push((0, _util.newFile)());\n          }\n          file = files[++i];\n        }\n        (0, _util.processFiles)(newFiles, this.processFile, function (file, index) {\n          _this.$set(_this.files, filesLen + index, file);\n          _this.$emit(EVENT_SUBMITTED, file);\n        }, function () {\n          _this.$nextTick(function () {\n            _this.upload();\n          });\n        });\n      },\n      removeFile: function removeFile(file) {\n        this.$emit(EVENT_REMOVED, file);\n        file._xhr && file._xhr.abort();\n        if (file.url) {\n          _util.URL.revokeObjectURL(file.url);\n        }\n        var index = this.files.indexOf(file);\n        this.files.splice(index, 1);\n        this.upload();\n      },\n      fileClick: function fileClick(file, index) {\n        this.$emit(EVENT_CLICK, file, index);\n      },\n      upload: function upload(retry) {\n        var _this2 = this;\n\n        var options = this.actionOptions;\n        if (this.paused || !options) {\n          return;\n        }\n        var len = this.files.length;\n        var uploadingCount = 0;\n        var i = 0;\n\n        var _loop = function _loop() {\n          var file = _this2.files[i];\n          var status = file.status;\n          if (status === _util.STATUS_READY || retry && status === _util.STATUS_ERROR && file._retryId !== _this2.retryId) {\n            (0, _ajax2.default)(file, options, function (file) {\n              if (status === _util.STATUS_ERROR) {\n                file._retryId = _this2.retryId;\n              }\n              _this2.$emit(file.status === _util.STATUS_SUCCESS ? EVENT_SUCCESS : EVENT_ERROR, file);\n              _this2.upload(retry);\n            });\n            uploadingCount++;\n          } else if (status === _util.STATUS_UPLOADING) {\n            uploadingCount++;\n          }\n          i++;\n        };\n\n        while (i < len && uploadingCount < this.simultaneousUploads) {\n          _loop();\n        }\n      },\n      start: function start() {\n        this.paused = false;\n        this.upload();\n      },\n      pause: function pause() {\n        this.paused = true;\n        this.files.forEach(function (file) {\n          if (file.status === _util.STATUS_UPLOADING) {\n            file._xhr.abort();\n            file.status = _util.STATUS_READY;\n          }\n        });\n      },\n      retry: function retry() {\n        this.retryId = Date.now();\n        this.paused = false;\n        this.upload(true);\n      }\n    },\n    components: {\n      UploadBtn: _btn2.default,\n      UploadFile: _file2.default\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 240:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 241:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(192)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./btn-mixin'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.btnMixin);\n    global.btn = mod.exports;\n  }\n})(this, function (module, exports, _btnMixin) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _btnMixin2 = _interopRequireDefault(_btnMixin);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-upload-btn';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_btnMixin2.default],\n    methods: {\n      changeHandler: function changeHandler(e) {\n        var fileEle = e.currentTarget;\n        var files = fileEle.files;\n        if (files) {\n          this.$parent.addFiles(files);\n          fileEle.value = null;\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 242:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-btn\"\n  }, [_vm._t(\"default\", [_vm._m(0)]), _vm._v(\" \"), _c('input', {\n    staticClass: \"cube-upload-input\",\n    attrs: {\n      \"type\": \"file\",\n      \"multiple\": _vm.multiple,\n      \"accept\": _vm.accept\n    },\n    on: {\n      \"change\": _vm.changeHandler\n    }\n  })], 2)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-btn-def\"\n  }, [_c('i')])\n}]}\n\n/***/ }),\n\n/***/ 243:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 244:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(172)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.util);\n    global.file = mod.exports;\n  }\n})(this, function (module, exports, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n\n  var COMPONENT_NAME = 'cube-upload-file';\n  var STATUS_CLASS_MAP = {\n    success: 'cubeic-right',\n    error: 'cubeic-warn'\n  };\n  var EVENT_CLICK = 'click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    props: {\n      file: {\n        type: Object,\n        required: true\n      }\n    },\n    computed: {\n      fileCls: function fileCls() {\n        return 'cube-upload-file_' + this.file.status;\n      },\n      fileStatusCls: function fileStatusCls() {\n        var file = this.file;\n        var status = file.status;\n        if (file.progress >= 0.01 || status === _util.STATUS_SUCCESS || status === _util.STATUS_ERROR) {\n          return 'cube-upload-file_stat';\n        }\n      },\n      fileStyle: function fileStyle() {\n        var url = this.file.url || this.file.base64;\n        if (!url) {\n          return;\n        }\n        return {\n          'background-image': 'url(\"' + url + '\")'\n        };\n      },\n      statusCls: function statusCls() {\n        var status = this.file.status;\n        return STATUS_CLASS_MAP[status];\n      },\n      fileProgress: function fileProgress() {\n        if (this.statusCls) {\n          return '100%';\n        }\n        var p = Math.min(Math.floor(this.file.progress * 100), 99);\n        return p + '%';\n      }\n    },\n    methods: {\n      clickHandler: function clickHandler() {\n        this.$emit(EVENT_CLICK, this.file);\n      },\n      removeFile: function removeFile() {\n        this.$parent.removeFile(this.file);\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 245:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload-file\",\n    class: _vm.fileCls,\n    on: {\n      \"click\": _vm.clickHandler\n    }\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-upload-file-def\",\n    style: (_vm.fileStyle)\n  }, [_c('i', {\n    staticClass: \"cubeic-wrong\",\n    on: {\n      \"click\": function($event) {\n        $event.stopPropagation();\n        return _vm.removeFile($event)\n      }\n    }\n  }), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-upload-file-state\",\n    class: _vm.fileStatusCls\n  }, [_c('i', {\n    staticClass: \"cube-upload-file-status\",\n    class: _vm.statusCls\n  }), _vm._v(\" \"), _c('span', {\n    staticClass: \"cube-upload-file-progress\"\n  }, [_vm._v(_vm._s(_vm.fileProgress))])])])], {\n    imgStyle: _vm.fileStyle,\n    progress: _vm.fileProgress\n  })], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 246:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(48), __webpack_require__(172)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/core-js/object/keys'), require('./util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.keys, global.util);\n    global.ajax = mod.exports;\n  }\n})(this, function (module, exports, _keys, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = ajaxUpload;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function ajaxUpload(file, options, changeHandler) {\n    var target = options.target,\n        _options$headers = options.headers,\n        headers = _options$headers === undefined ? {} : _options$headers,\n        _options$data = options.data,\n        data = _options$data === undefined ? {} : _options$data,\n        _options$fileName = options.fileName,\n        fileName = _options$fileName === undefined ? 'file' : _options$fileName,\n        withCredentials = options.withCredentials,\n        timeout = options.timeout,\n        _options$prop = options.prop,\n        prop = _options$prop === undefined ? 'file' : _options$prop,\n        _options$progressInte = options.progressInterval,\n        progressInterval = _options$progressInte === undefined ? 100 : _options$progressInte,\n        _options$checkSuccess = options.checkSuccess,\n        checkSuccess = _options$checkSuccess === undefined ? function () {\n      return true;\n    } : _options$checkSuccess;\n\n\n    var realTarget = (0, _util.evalOpts)(target, file);\n\n    file.progress = 0;\n    file.status = _util.STATUS_UPLOADING;\n\n    var xhr = new window.XMLHttpRequest();\n    file._xhr = xhr;\n    var progressTid = 0;\n    if (xhr.upload) {\n      var lastProgressTime = Date.now();\n      xhr.upload.onprogress = function (e) {\n        if (e.total > 0) {\n          if (progressTid) {\n            clearTimeout(progressTid);\n            var now = Date.now();\n            var diff = now - lastProgressTime;\n            if (diff >= progressInterval) {\n              computed();\n            } else {\n              progressTid = setTimeout(computed, diff);\n            }\n          } else {\n            computed();\n            progressTid = 1;\n          }\n        }\n        function computed() {\n          file.progress = e.loaded / e.total;\n          lastProgressTime = Date.now();\n        }\n      };\n    }\n\n    var formData = new window.FormData();\n    var realData = (0, _util.evalOpts)(data, file);\n    (0, _keys2.default)(realData).forEach(function (key) {\n      formData.append(key, realData[key]);\n    });\n    formData.append(fileName, file[prop]);\n\n    xhr.onload = function () {\n      if (xhr.status < 200 || xhr.status >= 300) {\n        setStatus(_util.STATUS_ERROR);\n        return;\n      }\n      setResponse();\n      var response = file.response;\n\n      if (checkSuccess.length <= 2) {\n        var isSuccess = checkSuccess(response, file);\n        setStatus(isSuccess ? _util.STATUS_SUCCESS : _util.STATUS_ERROR);\n      } else {\n        checkSuccess(response, file, function (isSuccess) {\n          setStatus(isSuccess ? _util.STATUS_SUCCESS : _util.STATUS_ERROR);\n        });\n      }\n    };\n    xhr.onerror = function () {\n      setResponse();\n      setStatus(_util.STATUS_ERROR);\n    };\n    xhr.ontimeout = function () {\n      setResponse();\n      setStatus(_util.STATUS_ERROR);\n    };\n\n    xhr.open('POST', realTarget, true);\n    if (withCredentials) {\n      xhr.withCredentials = true;\n    }\n    var realHeaders = (0, _util.evalOpts)(headers, file);\n    (0, _keys2.default)(realHeaders).forEach(function (key) {\n      xhr.setRequestHeader(key, realHeaders[key]);\n    });\n    if (timeout > 0) {\n      xhr.timeout = timeout;\n    }\n\n    xhr.send(formData);\n    function setStatus(status) {\n      clearTimeout(progressTid);\n      progressTid = 0;\n      file.progress = 1;\n      file.status = status;\n      changeHandler && changeHandler(file);\n    }\n    function setResponse() {\n      var response = xhr.responseText || xhr.response;\n      try {\n        response = JSON.parse(response);\n      } catch (e) {}\n      file.response = response;\n      file.responseHeaders = xhr.getAllResponseHeaders();\n    }\n  }\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 247:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-upload\"\n  }, [_vm._t(\"default\", [_c('div', {\n    staticClass: \"cube-upload-def clear-fix\"\n  }, [_vm._l((_vm.files), function(file, i) {\n    return _c('upload-file', {\n      key: i,\n      attrs: {\n        \"file\": file\n      },\n      on: {\n        \"click\": function($event) {\n          _vm.fileClick(file, i)\n        }\n      }\n    })\n  }), _vm._v(\" \"), _c('upload-btn', {\n    directives: [{\n      name: \"show\",\n      rawName: \"v-show\",\n      value: (_vm.isShowBtn),\n      expression: \"isShowBtn\"\n    }],\n    attrs: {\n      \"multiple\": _vm.multiple,\n      \"accept\": _vm.accept\n    }\n  })], 2)])], 2)\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 429:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(237), __webpack_require__(197), __webpack_require__(198)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/upload/upload.vue'), require('../../components/upload/btn.vue'), require('../../components/upload/file.vue'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.upload, global.btn, global.file);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _upload, _btn, _file) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _upload2 = _interopRequireDefault(_upload);\n\n  var _btn2 = _interopRequireDefault(_btn);\n\n  var _file2 = _interopRequireDefault(_file);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _upload2.default.install = function (Vue) {\n    Vue.component(_upload2.default.name, _upload2.default);\n    Vue.component(_btn2.default.name, _btn2.default);\n    Vue.component(_file2.default.name, _file2.default);\n  };\n\n  _upload2.default.Btn = _btn2.default;\n  _upload2.default.File = _file2.default;\n\n  exports.default = _upload2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 48:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.env = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var inBrowser = exports.inBrowser = typeof window !== 'undefined';\n  var ua = exports.ua = inBrowser && navigator.userAgent.toLowerCase();\n  var isAndroid = exports.isAndroid = ua && ua.indexOf('android') > 0;\n  var isIOS = exports.isIOS = ua && /iphone|ipad|ipod|ios/.test(ua);\n});\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/upload/style.css",
    "content": ".cube-upload{position:relative}.cube-upload-def{margin-right:-10px}.cube-upload-def .cube-upload-btn,.cube-upload-def .cube-upload-file{float:left;margin:0 10px 10px 0}.cube-upload-btn{position:relative;overflow:hidden}.cube-upload-btn:active .cube-upload-btn-def{background-color:rgba(0,0,0,.04)}.cube-upload-input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;font-size:0;opacity:0}.cube-upload-btn-def{width:80px;height:80px;box-sizing:border-box;background-color:#fff;box-shadow:0 0 6px 2px rgba(0,0,0,.08);border-radius:2px;position:relative}.cube-upload-btn-def:after{content:\"\";pointer-events:none;display:block;position:absolute;left:0;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid #e5e5e5;border-radius:2px;box-sizing:border-box;width:100%;height:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.cube-upload-btn-def:after{width:200%;height:200%;border-radius:4px;-webkit-transform:scale(.5);transform:scale(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.cube-upload-btn-def:after{width:300%;height:300%;border-radius:6px;-webkit-transform:scale(.333);transform:scale(.333)}}.cube-upload-btn-def>i:after,.cube-upload-btn-def>i:before{content:\"\";position:absolute;top:50%;left:50%;width:20px;height:2px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#666}.cube-upload-btn-def>i:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.cube-upload-file{position:relative}.cube-upload-file-def{position:relative;width:80px;height:80px;box-sizing:border-box;background:#fff no-repeat 50%;background-size:cover;border-radius:2px}.cube-upload-file-def>.cubeic-wrong{position:absolute;z-index:2;top:-2px;right:-2px;color:rgba(0,0,0,.8);font-size:16px;background-color:#fff;border-radius:50%}.cube-upload-file-def>.cubeic-wrong:before{display:inline-block;-webkit-transform:scale(1.625);transform:scale(1.625);-webkit-transform-origin:center;transform-origin:center}.cube-upload-file-state{position:relative;width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;overflow:hidden;opacity:0;background-color:rgba(37,38,45,.4);border-radius:2px;-webkit-transition:opacity .1s;transition:opacity .1s}.cube-upload-file-state:before{content:\".\";position:relative;left:-50%;display:block;width:1px;height:1px;margin-left:-1px;background-color:rgba(0,0,0,.1)}.cube-upload-file_stat{opacity:1}.cube-upload-file-status{position:relative;z-index:1;font-size:30px;display:none}.cube-upload-file-status.cubeic-right{display:block;color:#fc9153}.cube-upload-file-status.cubeic-warn{display:block;color:#f43530}.cube-upload-file-status.cubeic-right:after,.cube-upload-file-status.cubeic-warn:after{content:\"\";z-index:-1;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:.56em;height:.56em;border-radius:50%;background-color:#fff}.cube-upload-file-status.cubeic-right+.cube-upload-file-progress,.cube-upload-file-status.cubeic-warn+.cube-upload-file-progress{display:none}.cube-upload-file-progress{color:#fff;font-size:20px}"
  },
  {
    "path": "lib/validator/index.js",
    "content": "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"validator\"] = factory();\n\telse\n\t\troot[\"cube\"] = root[\"cube\"] || {}, root[\"cube\"][\"validator\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 430);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(31);\nvar hide = __webpack_require__(6);\nvar has = __webpack_require__(5);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ 105:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports);\n    global.zhCN = mod.exports;\n  }\n})(this, function (module, exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.default = {\n    cancel: '取消',\n    confirm: '确认',\n    ok: '确定',\n    prev: '上一步',\n    next: '下一步',\n    selectText: '请选择',\n    now: '现在',\n    selectTime: '选择时间',\n    today: '今日',\n    formatDate: 'M月D日',\n    hours: '点',\n    minutes: '分',\n    validator: {\n      required: '此为必填项',\n      type: {\n        string: '请输入字符',\n        number: '请输入数字',\n        array: '数据类型应为数组',\n        date: '请选择有效日期',\n        email: '请输入有效邮箱',\n        tel: '请输入有效的手机号码',\n        url: '请输入有效网址'\n      },\n      min: {\n        string: '至少输入 {{config}} 位字符',\n        number: '不得小于 {{config}}',\n        array: '请选择至少 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n        email: '至少输入 {{config}} 位字符',\n        tel: '至少输入 {{config}} 位字符',\n        url: '至少输入 {{config}} 位字符'\n      },\n      max: {\n        string: '请勿超过 {{config}} 位字符',\n        number: '请勿大于 {{config}}',\n        array: '最多选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请勿超过 {{config}} 位字符',\n        tel: '请勿超过 {{config}} 位字符',\n        url: '请勿超过 {{config}} 位字符'\n      },\n      len: {\n        string: '请输入 {{config}} 位字符',\n        number: '长度应等于 {{config}}',\n        array: '请选择 {{config}} 项',\n        date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n        email: '请输入 {{config}} 位字符',\n        tel: '请输入 {{config}} 位字符',\n        url: '请输入 {{config}} 位字符'\n      },\n      pattern: '格式错误',\n      custom: '未通过校验',\n      notWhitespace: '空白内容无效'\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(36);\nvar enumBugKeys = __webpack_require__(25);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ 182:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(214), __webpack_require__(215), __webpack_require__(183)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('./rules'), require('./messages'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.rules, global.messages, global.types);\n    global.index = mod.exports;\n  }\n})(this, function (exports, _rules, _messages, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(exports, 'rules', {\n    enumerable: true,\n    get: function () {\n      return _rules.rules;\n    }\n  });\n  Object.defineProperty(exports, 'addRule', {\n    enumerable: true,\n    get: function () {\n      return _rules.addRule;\n    }\n  });\n  Object.defineProperty(exports, 'addMessage', {\n    enumerable: true,\n    get: function () {\n      return _messages.addMessage;\n    }\n  });\n  Object.defineProperty(exports, 'types', {\n    enumerable: true,\n    get: function () {\n      return _types.types;\n    }\n  });\n  Object.defineProperty(exports, 'addType', {\n    enumerable: true,\n    get: function () {\n      return _types.addType;\n    }\n  });\n});\n\n/***/ }),\n\n/***/ 183:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('../util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.util);\n    global.types = mod.exports;\n  }\n})(this, function (exports, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addType = exports.types = undefined;\n\n\n  var DATE_RE = /^(1|2)\\d{3}[.\\-/]\\d{1,2}[.\\-/]\\d{1,2}$/;\n\n  var types = {\n    string: function string(val) {\n      return typeof val === 'string';\n    },\n    number: function number(val) {\n      return !isNaN(Number(val));\n    },\n    array: function array(val) {\n      return Array.isArray(val);\n    },\n    date: function date(val) {\n      return !isNaN(Number(val)) || DATE_RE.test(val);\n    },\n    email: function email(val) {\n      return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)+$/i.test(val);\n    },\n    tel: function tel(val) {\n      return typeof val === 'string' && /^(11|13|14|15|17|18|19)[0-9]{9}$/.test(val);\n    },\n    url: function url(val) {\n      return typeof val === 'string' && /(https?|ftp|file):\\/\\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/.test(val);\n    }\n  };\n\n  var addType = (0, _util.createAddAPI)(types);\n\n  exports.types = types;\n  exports.addType = addType;\n});\n\n/***/ }),\n\n/***/ 184:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(85)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../common/locale'), require('../../common/mixins/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.locale);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _locale, _locale3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _locale4 = _interopRequireDefault(_locale3);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _locale2.default.localeMixin = _locale4.default;\n\n  exports.default = _locale2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 195:\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction injectStyle (ssrContext) {\n  __webpack_require__(212)\n}\nvar Component = __webpack_require__(9)(\n  /* script */\n  __webpack_require__(213),\n  /* template */\n  __webpack_require__(217),\n  /* styles */\n  injectStyle,\n  /* scopeId */\n  null,\n  /* moduleIdentifier (server only) */\n  null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(24)('wks');\nvar uid = __webpack_require__(17);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ 212:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 213:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(53), __webpack_require__(48), __webpack_require__(35), __webpack_require__(182), __webpack_require__(85), __webpack_require__(216)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/typeof'), require('babel-runtime/core-js/object/keys'), require('../../common/helpers/util'), require('../../common/helpers/validator'), require('../../common/mixins/locale'), require('../../common/helpers/string-template'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global._typeof, global.keys, global.util, global.validator, global.locale, global.stringTemplate);\n    global.validator = mod.exports;\n  }\n})(this, function (module, exports, _typeof2, _keys, _util, _validator, _locale, _stringTemplate) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  var _stringTemplate2 = _interopRequireDefault(_stringTemplate);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var COMPONENT_NAME = 'cube-validator';\n  var EVENT_INPUT = 'input';\n  var EVENT_VALIDATING = 'validating';\n  var EVENT_VALIDATED = 'validated';\n  var EVENT_MSG_CLICK = 'msg-click';\n\n  exports.default = {\n    name: COMPONENT_NAME,\n    mixins: [_locale2.default],\n    props: {\n      model: {\n        required: true\n      },\n      modelKey: {\n        type: String,\n        default: ''\n      },\n      rules: {\n        type: Object,\n        default: function _default() {\n          return {};\n        }\n      },\n      messages: {\n        type: [Object, String],\n        default: function _default() {\n          return {};\n        }\n      },\n      value: {},\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      immediate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data: function data() {\n      return {\n        valid: this.value,\n        validated: false,\n        msg: '',\n        dirty: false,\n        validating: false,\n        result: {}\n      };\n    },\n\n    computed: {\n      targetModel: function targetModel() {\n        var modelKey = this.modelKey;\n        var model = this.model;\n        return modelKey ? model[modelKey] : model;\n      },\n      invalid: function invalid() {\n        var valid = this.valid;\n        return (0, _util.isUndef)(valid) ? undefined : !valid;\n      },\n      isDisabled: function isDisabled() {\n        var disabled = this.disabled;\n        var noRules = (0, _keys2.default)(this.rules).length <= 0;\n        return disabled || noRules;\n      },\n      dirtyOrValidated: function dirtyOrValidated() {\n        return (this.dirty || this.validated) && !this.validating;\n      },\n      containerClass: function containerClass() {\n        var disabled = this.isDisabled;\n        if (disabled) {\n          return;\n        }\n        return {\n          'cube-validator_invalid': this.invalid,\n          'cube-validator_valid': this.valid,\n          'cube-validator_validating': this.validating\n        };\n      }\n    },\n    watch: {\n      value: function value(newVal) {\n        this.valid = newVal;\n      },\n\n      targetModel: {\n        handler: function handler() {\n          if (this.isDisabled) {\n            return;\n          }\n          if (!this.dirty) {\n            this.dirty = true;\n          }\n\n          this.validate();\n        },\n\n        sync: true\n      },\n      rules: function rules() {\n        this.validate();\n      },\n      isDisabled: function isDisabled(newVal) {\n        if (!newVal && this.trigger && !this.validated) {\n          this.validate();\n        }\n      }\n    },\n    created: function created() {\n      this._validateCount = 0;\n      if (!this.isDisabled && this.immediate) {\n        this.validate();\n      }\n    },\n\n    methods: {\n      validate: function validate(cb) {\n        var promise = (0, _util.cb2PromiseWithResolve)(cb);\n        if (promise) {\n          cb = promise.resolve;\n        }\n        if (this.isDisabled) {\n          cb && cb(this.valid);\n          return promise;\n        }\n        this._validateCount++;\n        var validateCount = this._validateCount;\n        var val = this.targetModel;\n\n        var configRules = this.rules;\n        var type = configRules.type;\n        var allTasks = [];\n\n        var requiredValid = true;\n        if (!configRules.required) {\n          requiredValid = _validator.rules.required(val, true, type);\n        }\n\n        if (requiredValid) {\n          var _loop = function _loop(key) {\n            var ruleValue = configRules[key];\n            var ret = void 0;\n            if ((0, _util.isFunc)(ruleValue)) {\n              ret = ruleValue(val, configRules[key], type);\n            } else {\n              ret = !_validator.rules[key] || _validator.rules[key](val, configRules[key], type);\n            }\n            allTasks.push(function (next) {\n              var resolve = function resolve(_ret) {\n                next({\n                  key: key,\n                  valid: _ret === true,\n                  ret: _ret\n                });\n              };\n              var reject = function reject(err) {\n                next({\n                  key: key,\n                  valid: false,\n                  ret: err\n                });\n              };\n              if ((typeof ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(ret)) === 'object' && (0, _util.isFunc)(ret.then)) {\n                ret.then(resolve).catch(reject);\n              } else if ((0, _util.isFunc)(ret)) {\n                ret(resolve, reject);\n              } else {\n                next({\n                  key: key,\n                  valid: ret === true,\n                  ret: ret\n                });\n              }\n            });\n          };\n\n          for (var key in configRules) {\n            _loop(key);\n          }\n        }\n        this._checkTasks(allTasks, validateCount, cb);\n        return promise;\n      },\n      _checkTasks: function _checkTasks(allTasks, validateCount, cb) {\n        var _this = this;\n\n        var configRules = this.rules;\n        var isValid = true;\n        var result = {};\n        var sync = true;\n        this.validating = true;\n        var model = this.targetModel;\n        (0, _util.parallel)(allTasks, function (results) {\n          if (_this._validateCount !== validateCount) {\n            return;\n          }\n          _this.validating = false;\n          results.forEach(function (_ref) {\n            var key = _ref.key,\n                valid = _ref.valid,\n                ret = _ref.ret;\n\n            var msg = _this.messages[key] ? (0, _util.isFunc)(_this.messages[key]) ? _this.messages[key](ret, valid) : _this.messages[key] : _this.findMessage(key, configRules[key], configRules.type, model);\n            if (isValid && !valid) {\n              isValid = false;\n              _this.msg = msg;\n            }\n            result[key] = {\n              valid: valid,\n              invalid: !valid,\n              message: msg\n            };\n          });\n          if (!sync) {\n            _this.$emit(EVENT_VALIDATED, isValid);\n          }\n          _this._updateModel(isValid, result);\n          cb && cb(_this.valid);\n        });\n        if (this.validating) {\n          sync = false;\n\n          this.$emit(EVENT_VALIDATING);\n          this.valid = undefined;\n          this.$emit(EVENT_INPUT, this.valid);\n        }\n      },\n      _updateModel: function _updateModel(valid, result) {\n        this.validated = true;\n        this.result = result;\n        if (result.required && result.required.invalid) {\n          this.msg = result.required.message;\n        }\n\n        if (valid) {\n          this.msg = '';\n        }\n        this.valid = valid;\n        this.$emit(EVENT_INPUT, this.valid);\n      },\n      reset: function reset() {\n        this._validateCount++;\n        this.validating = false;\n        this.dirty = false;\n        this.result = {};\n        this.msg = '';\n        this.validated = false;\n        this.valid = undefined;\n        this.$emit(EVENT_INPUT, this.valid);\n      },\n      msgClickHandler: function msgClickHandler() {\n        this.$emit(EVENT_MSG_CLICK);\n      },\n      findMessage: function findMessage(key, config, type, val) {\n        var messages = this.$cubeMessages;\n        var lang = this.$cubeLang;\n        var NAMESPACE = 'validator';\n        var target = messages[lang][NAMESPACE][key];\n        if (!target) {\n          return '';\n        }\n        if ((0, _util.isString)(target)) {\n          return target;\n        } else if ((0, _util.isFunc)(target)) {\n          return target(config);\n        } else {\n          if (!target[type]) {\n            type = (0, _util.isArray)(val) ? 'array' : typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val);\n          }\n          return typeof target[type] === 'function' ? target[type](config) : (0, _stringTemplate2.default)(target[type], config);\n        }\n      }\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 214:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(53), __webpack_require__(35), __webpack_require__(183)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/typeof'), require('../util'), require('./types'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global._typeof, global.util, global.types);\n    global.rules = mod.exports;\n  }\n})(this, function (exports, _keys, _typeof2, _util, _types) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addRule = exports.rules = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var rules = {\n    required: function required(val, _required, type) {\n      type = type || (Array.isArray(val) ? 'array' : typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'array' && Array.isArray(val)) {\n        return val.length > 0;\n      }\n      return val !== '' && val !== undefined && val !== null;\n    },\n    type: function type(val, _type) {\n      return !_types.types[_type] || _types.types[_type](val);\n    },\n    min: function min(val, _min, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'number' || type === 'date') {\n        return Number(val) >= _min;\n      } else {\n        return val.length >= _min;\n      }\n    },\n    max: function max(val, _max, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      if (type === 'number' || type === 'date') {\n        return Number(val) <= _max;\n      } else {\n        return val.length <= _max;\n      }\n    },\n    len: function len(val, _len, type) {\n      type = type || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val));\n      var target = val;\n      if (target.length === undefined) {\n        target = type === 'object' ? (0, _keys2.default)(target) : String(target);\n      }\n      return target.length === _len;\n    },\n    notWhitespace: function notWhitespace(val, config, type) {\n      return !/^\\s+$/.test(val);\n    },\n    pattern: function pattern(val, _pattern, type) {\n      return _pattern.test(val);\n    },\n    custom: function custom(val, _custom, type) {\n      return _custom(val);\n    }\n  };\n\n  var addRule = (0, _util.createAddAPI)(rules);\n\n  exports.rules = rules;\n  exports.addRule = addRule;\n});\n\n/***/ }),\n\n/***/ 215:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(37), __webpack_require__(35)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/helpers/defineProperty'), require('../util'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.defineProperty, global.util);\n    global.messages = mod.exports;\n  }\n})(this, function (exports, _defineProperty2, _util) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.addMessage = undefined;\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function addMessage() {\n    var NAMESPACE = 'validator';\n    var vueProto = this._base.prototype;\n    var lang = vueProto.$cubeLang;\n    var baseMessages = vueProto.$cubeMessages[lang][NAMESPACE];\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    if (typeof args[0] === 'string') {\n      args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n    }\n\n    (0, _util.deepAssign)(baseMessages, args[0]);\n  }\n\n  exports.addMessage = addMessage;\n});\n\n/***/ }),\n\n/***/ 216:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(35), __webpack_require__(39), __webpack_require__(184)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('./util'), require('./debug'), require('../../modules/locale'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.util, global.debug, global.locale);\n    global.stringTemplate = mod.exports;\n  }\n})(this, function (module, exports, _util, _debug, _locale) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var stringRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\n  var quoteRe = /['\"]/g;\n  var INVALID_INDEX = -1;\n\n  function format(string) {\n    var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    return string.replace(stringRE, function (match, group1, index) {\n      var helpersArr = group1.split('|').slice(1).map(function (_) {\n        return _.trim();\n      });\n      var hasHelpers = helpersArr.length;\n      var result = config;\n\n      if (hasHelpers) {\n        helpersArr.forEach(function (helperString) {\n          var _resolveHelperFnStrin = resolveHelperFnString(helperString),\n              fnName = _resolveHelperFnStrin.fnName,\n              args = _resolveHelperFnStrin.args;\n\n          args.unshift(result);\n\n          if ((0, _util.isFunc)(_locale2.default.helpers[fnName])) {\n            result = _locale2.default.helpers[fnName].apply(null, args);\n          } else {\n            (0, _debug.warn)('A helper function named \"' + fnName + '\" is not registered, ' + 'please register it by Validator.addHelper()');\n            result = '';\n          }\n        });\n      }\n\n      return result;\n    });\n  }\n\n  function resolveHelperFnString(helperString) {\n    var leftBracketsIndex = helperString.indexOf('(');\n    var rightBracketsIndex = helperString.indexOf(')');\n    var fnName = '';\n    var args = [];\n\n    if (leftBracketsIndex === INVALID_INDEX) {\n      args = [];\n      fnName = helperString;\n    } else if (leftBracketsIndex !== INVALID_INDEX && rightBracketsIndex !== INVALID_INDEX) {\n      var argsStr = helperString.slice(leftBracketsIndex + 1, rightBracketsIndex);\n      args = argsStr.split(',').map(function (_) {\n        return _.trim().replace(quoteRe, '');\n      });\n      fnName = helperString.slice(0, leftBracketsIndex);\n    }\n    return { fnName: fnName, args: args };\n  }\n\n  exports.default = format;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 217:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n  return _c('div', {\n    staticClass: \"cube-validator\",\n    class: _vm.containerClass\n  }, [_c('div', {\n    staticClass: \"cube-validator-content\"\n  }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n    staticClass: \"cube-validator-msg\",\n    on: {\n      \"click\": _vm.msgClickHandler\n    }\n  }, [_vm._t(\"message\", [_c('span', {\n    staticClass: \"cube-validator-msg-def\"\n  }, [_vm._v(_vm._s(_vm.dirtyOrValidated ? _vm.msg : ''))])], {\n    message: _vm.msg,\n    dirty: _vm.dirty,\n    validated: _vm.validated,\n    validating: _vm.validating,\n    result: _vm.result\n  })], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ 23:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(24)('keys');\nvar uid = __webpack_require__(17);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ 24:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(15) ? 'pure' : 'global',\n  copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ 25:\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(4).f;\nvar has = __webpack_require__(5);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ 27:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ 29:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(11)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(29);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(34);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(3) && !__webpack_require__(11)(function () {\n  return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ 35:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, __webpack_require__(48), __webpack_require__(37), __webpack_require__(53), __webpack_require__(47)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports, require('babel-runtime/core-js/object/keys'), require('babel-runtime/helpers/defineProperty'), require('babel-runtime/helpers/typeof'), require('../lang/string'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports, global.keys, global.defineProperty, global._typeof, global.string);\n    global.util = mod.exports;\n  }\n})(this, function (exports, _keys, _defineProperty2, _typeof2, _string) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.getIOSVersion = exports.isNumber = exports.isObject = exports.isString = exports.isArray = exports.isFunc = exports.isUndef = exports.parsePath = exports.processComponentName = exports.debounce = exports.cb2PromiseWithResolve = exports.parallel = exports.resetTypeValue = exports.createAddAPI = exports.deepAssign = exports.findIndex = undefined;\n\n  var _keys2 = _interopRequireDefault(_keys);\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _typeof3 = _interopRequireDefault(_typeof2);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  function findIndex(ary, fn) {\n    if (ary.findIndex) {\n      return ary.findIndex(fn);\n    }\n\n    var index = -1;\n\n    ary.some(function (item, i, ary) {\n      var ret = fn.call(this, item, i, ary);\n      if (ret) {\n        index = i;\n        return ret;\n      }\n    });\n\n    return index;\n  }\n\n  function deepAssign(to, from) {\n    for (var key in from) {\n      if (!to[key] || (0, _typeof3.default)(to[key]) !== 'object') {\n        to[key] = from[key];\n      } else {\n        deepAssign(to[key], from[key]);\n      }\n    }\n  }\n\n  function createAddAPI(baseObj) {\n    return function add() {\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      if (typeof args[0] === 'string') {\n        args[0] = (0, _defineProperty3.default)({}, args[0], args[1]);\n      }\n      deepAssign(baseObj, args[0]);\n    };\n  }\n\n  function judgeTypeFnCreator(type) {\n    var toString = Object.prototype.toString;\n    return function isType(o) {\n      return toString.call(o) === '[object ' + type + ']';\n    };\n  }\n\n  var typesReset = {\n    _set: function _set(obj, key, value) {\n      obj[key] = value;\n    },\n    string: function string(obj, key) {\n      typesReset._set(obj, key, '');\n    },\n    number: function number(obj, key) {\n      typesReset._set(obj, key, 0);\n    },\n    boolean: function boolean(obj, key) {\n      typesReset._set(obj, key, false);\n    },\n    object: function object(obj, key, value) {\n      if (Array.isArray(value)) {\n        typesReset._set(obj, key, []);\n      } else {\n        typesReset._set(obj, key, {});\n      }\n    }\n  };\n  function resetTypeValue(obj, key, defVal) {\n    if (defVal !== undefined) {\n      return typesReset._set(obj, key, defVal);\n    }\n    if (key) {\n      var value = obj[key];\n      var resetHandler = typesReset[typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)];\n      resetHandler && resetHandler(obj, key, value);\n    } else {\n      (0, _keys2.default)(obj).forEach(function (key) {\n        resetTypeValue(obj, key);\n      });\n    }\n  }\n\n  function parallel(tasks, cb) {\n    var doneCount = 0;\n    var results = [];\n    var tasksLen = tasks.length;\n    if (!tasksLen) {\n      return cb(results);\n    }\n    tasks.forEach(function (task, i) {\n      task(function (ret) {\n        doneCount += 1;\n        results[i] = ret;\n        if (doneCount === tasksLen) {\n          cb(results);\n        }\n      });\n    });\n  }\n\n  function cb2PromiseWithResolve(cb) {\n    var promise = void 0;\n    if (typeof window.Promise !== 'undefined') {\n      var _cb = cb;\n      promise = new window.Promise(function (resolve) {\n        cb = function cb(data) {\n          _cb && _cb(data);\n          resolve(data);\n        };\n      });\n      promise.resolve = cb;\n    }\n    return promise;\n  }\n\n  function debounce(func, wait, immediate, initValue) {\n    var timeout = void 0;\n    var result = initValue;\n\n    var later = function later(context, args) {\n      timeout = null;\n      if (args) {\n        result = func.apply(context, args);\n      }\n    };\n\n    var debounced = function debounced() {\n      var _this = this;\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) {\n          result = func.apply(this, args);\n        }\n      } else {\n        timeout = setTimeout(function () {\n          later(_this, args);\n        }, wait);\n      }\n\n      return result;\n    };\n\n    debounced.cancel = function () {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  }\n\n  function processComponentName(Component) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        _ref$prefix = _ref.prefix,\n        prefix = _ref$prefix === undefined ? '' : _ref$prefix,\n        _ref$firstUpperCase = _ref.firstUpperCase,\n        firstUpperCase = _ref$firstUpperCase === undefined ? false : _ref$firstUpperCase;\n\n    var name = Component.name;\n    var pureName = name.replace(/^cube-/i, '');\n    var camelizeName = '' + (0, _string.camelize)('' + prefix + pureName);\n\n    if (firstUpperCase) {\n      camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1);\n    }\n    return camelizeName;\n  }\n\n  function parsePath(obj) {\n    var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n    var segments = path.split('.');\n    var result = obj;\n    for (var i = 0; i < segments.length; i++) {\n      var key = segments[i];\n\n      if (isUndef(result[key])) {\n        result = '';\n        break;\n      } else {\n        result = result[key];\n      }\n    }\n    return result;\n  }\n\n  function getIOSVersion(ua) {\n    var regex = /os (\\d\\d?_\\d(_\\d)?)/;\n    var matches = regex.exec(ua);\n    if (!matches) return null;\n    var parts = matches[1].split('_').map(function (item) {\n      return parseInt(item, 10);\n    });\n    return {\n      major: parts[0],\n      minor: parts[1],\n      patch: parts[2] || 0\n    };\n  }\n\n  var isFunc = judgeTypeFnCreator('Function');\n  var isUndef = judgeTypeFnCreator('Undefined');\n  var isArray = judgeTypeFnCreator('Array');\n  var isString = judgeTypeFnCreator('String');\n  var isObject = judgeTypeFnCreator('Object');\n  var isNumber = judgeTypeFnCreator('Number');\n\n  exports.findIndex = findIndex;\n  exports.deepAssign = deepAssign;\n  exports.createAddAPI = createAddAPI;\n  exports.resetTypeValue = resetTypeValue;\n  exports.parallel = parallel;\n  exports.cb2PromiseWithResolve = cb2PromiseWithResolve;\n  exports.debounce = debounce;\n  exports.processComponentName = processComponentName;\n  exports.parsePath = parsePath;\n  exports.isUndef = isUndef;\n  exports.isFunc = isFunc;\n  exports.isArray = isArray;\n  exports.isString = isString;\n  exports.isObject = isObject;\n  exports.isNumber = isNumber;\n  exports.getIOSVersion = getIOSVersion;\n});\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(5);\nvar toIObject = __webpack_require__(7);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(55);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n  if (key in obj) {\n    (0, _defineProperty2.default)(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(62)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(42)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ 39:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.debug = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var warn = exports.warn = function warn(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.error('[Cube warn]: ' + component + msg);\n    }\n  };\n\n  var tip = exports.tip = function tip(msg, componentName) {\n    if (process.env.NODE_ENV !== 'production') {\n      var component = componentName ? '<' + componentName + '> ' : '';\n      console.warn('[Cube tip]: ' + component + msg);\n    }\n  };\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(83)))\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar toPrimitive = __webpack_require__(22);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(21);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(20);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ 42:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar $iterCreate = __webpack_require__(63);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(65);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(6);\n\n\n/***/ }),\n\n/***/ 430:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(195), __webpack_require__(84), __webpack_require__(182)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../../components/validator/validator.vue'), require('../../common/locale'), require('../../common/helpers/validator'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.validator, global.locale, global.validator);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _validator, _locale, _validator3) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _validator2 = _interopRequireDefault(_validator);\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  _validator2.default.install = function (Vue) {\n    Vue.component(_validator2.default.name, _validator2.default);\n    _locale2.default.install(Vue);\n    _validator2.default._base = Vue;\n  };\n\n  _validator2.default.addRule = _validator3.addRule;\n  _validator2.default.addMessage = _validator3.addMessage;\n  _validator2.default.addType = _validator3.addType;\n  _validator2.default.addHelper = _locale2.default.addHelper;\n\n  exports.default = _validator2.default;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 44:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(64);\nvar enumBugKeys = __webpack_require__(25);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(28)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(52).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ 45:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(6);\nvar Iterators = __webpack_require__(16);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ 46:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(36);\nvar hiddenKeys = __webpack_require__(25).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ 47:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.string = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  exports.camelize = camelize;\n  exports.kebab = kebab;\n  var camelizeRE = /-(\\w)/g;\n  function camelize(str) {\n    str = String(str);\n    return str.replace(camelizeRE, function (m, c) {\n      return c ? c.toUpperCase() : '';\n    });\n  }\n\n  function kebab(str) {\n    str = String(str);\n    return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n  }\n});\n\n/***/ }),\n\n/***/ 48:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(59), __esModule: true };\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ 50:\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(7);\nvar toLength = __webpack_require__(41);\nvar toAbsoluteIndex = __webpack_require__(51);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ 52:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ 53:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(70);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(72);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n\n/***/ 54:\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(56), __esModule: true };\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(57);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(10);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(3), 'Object', { defineProperty: __webpack_require__(4).f });\n\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(60);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(14);\nmodule.exports = __webpack_require__(3) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(27);\nvar $keys = __webpack_require__(13);\n\n__webpack_require__(61)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(10);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(11);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(20);\nvar defined = __webpack_require__(19);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(44);\nvar descriptor = __webpack_require__(14);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(6)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(13);\n\nmodule.exports = __webpack_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ 65:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(5);\nvar toObject = __webpack_require__(27);\nvar IE_PROTO = __webpack_require__(23)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ 66:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(67);\nvar step = __webpack_require__(68);\nvar Iterators = __webpack_require__(16);\nvar toIObject = __webpack_require__(7);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(42)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(40);\nvar defined = __webpack_require__(19);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ 70:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(71), __esModule: true };\n\n/***/ }),\n\n/***/ 71:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38);\n__webpack_require__(45);\nmodule.exports = __webpack_require__(29).f('iterator');\n\n\n/***/ }),\n\n/***/ 72:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(73), __esModule: true };\n\n/***/ }),\n\n/***/ 73:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(74);\n__webpack_require__(54);\n__webpack_require__(80);\n__webpack_require__(81);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n\n/***/ 74:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(3);\nvar $export = __webpack_require__(10);\nvar redefine = __webpack_require__(43);\nvar META = __webpack_require__(75).KEY;\nvar $fails = __webpack_require__(11);\nvar shared = __webpack_require__(24);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(17);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(29);\nvar wksDefine = __webpack_require__(30);\nvar enumKeys = __webpack_require__(76);\nvar isArray = __webpack_require__(77);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar createDesc = __webpack_require__(14);\nvar _create = __webpack_require__(44);\nvar gOPNExt = __webpack_require__(78);\nvar $GOPD = __webpack_require__(79);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(13);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(46).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(18).f = $propertyIsEnumerable;\n  __webpack_require__(32).f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(15)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(6)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ 75:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(17)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(5);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(11)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n\n/***/ 76:\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(13);\nvar gOPS = __webpack_require__(32);\nvar pIE = __webpack_require__(18);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n\n/***/ 77:\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ 78:\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(7);\nvar gOPN = __webpack_require__(46).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n\n/***/ 79:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(18);\nvar createDesc = __webpack_require__(14);\nvar toIObject = __webpack_require__(7);\nvar toPrimitive = __webpack_require__(22);\nvar has = __webpack_require__(5);\nvar IE8_DOM_DEFINE = __webpack_require__(33);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ 80:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('asyncIterator');\n\n\n/***/ }),\n\n/***/ 81:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(30)('observable');\n\n\n/***/ }),\n\n/***/ 83:\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n\n/***/ 84:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(37), __webpack_require__(105), __webpack_require__(39), __webpack_require__(35), __webpack_require__(91)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('babel-runtime/helpers/defineProperty'), require('../../locale/lang/zh-CN'), require('../helpers/debug'), require('../helpers/util'), require('../lang/date'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.defineProperty, global.zhCN, global.debug, global.util, global.date);\n    global.index = mod.exports;\n  }\n})(this, function (module, exports, _defineProperty2, _zhCN, _debug, _util, _date) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\n  var _zhCN2 = _interopRequireDefault(_zhCN);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var proto = void 0;\n\n  var DEFAULT_LANG = 'zh-CN';\n\n  var locale = {\n    name: 'locale',\n    install: function install(Vue) {\n      if (locale.installed) return;\n      proto = Vue.prototype;\n      Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG);\n      proto['$cubeMessages'] = (0, _defineProperty3.default)({}, DEFAULT_LANG, _zhCN2.default);\n      locale.installed = true;\n    },\n    use: function use(lang, messages) {\n      proto['$cubeLang'] = lang;\n      var cubeMessages = proto['$cubeMessages'];\n\n      if (!(lang in cubeMessages)) {\n        cubeMessages[[lang]] = messages;\n      }\n    },\n\n    helpers: {\n      toLocaleDateString: function toLocaleDateString(config, formatRules) {\n        var compatibleConfig = (0, _util.isNumber)(config) ? config : config.replace(/-/g, '/');\n        var date = new Date(compatibleConfig);\n\n        if ((0, _util.isUndef)(formatRules)) return date.toDateString();\n        return (0, _date.formatDate)(date, formatRules);\n      }\n    },\n    addHelper: function addHelper(fnName, fn) {\n      if (fnName in locale.helpers) {\n        (0, _debug.warn)(fnName + ' has already been registered on helpers function, please change another name');\n        return;\n      }\n      locale.helpers[fnName] = fn;\n    }\n  };\n\n  exports.default = locale;\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 85:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports, __webpack_require__(84), __webpack_require__(35), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(module, exports, require('../locale'), require('../helpers/util'), require('../helpers/debug'));\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod, mod.exports, global.locale, global.util, global.debug);\n    global.locale = mod.exports;\n  }\n})(this, function (module, exports, _locale, _util, _debug) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n\n  var _locale2 = _interopRequireDefault(_locale);\n\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  var TRANSLATION_ABSENT = 'Translation is not registered correctly, ' + 'you can call Locale.use() to install it.';\n\n  exports.default = {\n    computed: {\n      $t: function $t() {\n        var lang = this.$cubeLang;\n        var messages = this.$cubeMessages[lang];\n        if ((0, _util.isUndef)(messages)) {\n          (0, _debug.warn)(TRANSLATION_ABSENT);\n          return '';\n        }\n        return function (path) {\n          return (0, _util.parsePath)(messages, path);\n        };\n      }\n    },\n    beforeCreate: function beforeCreate() {\n      _locale2.default.install(this.$root.constructor);\n    }\n  };\n  module.exports = exports['default'];\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ 91:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports !== \"undefined\") {\n    factory(exports);\n  } else {\n    var mod = {\n      exports: {}\n    };\n    factory(mod.exports);\n    global.date = mod.exports;\n  }\n})(this, function (exports) {\n  'use strict';\n\n  Object.defineProperty(exports, \"__esModule\", {\n    value: true\n  });\n  var DAY_TIMESTAMP = 60 * 60 * 24 * 1000;\n  var HOUR_TIMESTAMP = 60 * 60 * 1000;\n  var MINUTE_TIMESTAMP = 60 * 1000;\n\n  function formatType(type, format, value, regExpAttributes) {\n    var regExpMap = {\n      year: '(Y+)',\n      month: '(M+)',\n      date: '(D+)',\n      hour: '(h+)',\n      minute: '(m+)',\n      second: '(s+)',\n      quarter: '(q+)',\n      millisecond: '(S)'\n    };\n\n    if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n      var replaceStr = type === 'year' ? value.toString().substr(4 - RegExp.$1.length) : RegExp.$1.length === 1 ? value : pad(value);\n      format = format.replace(RegExp.$1, replaceStr);\n    }\n\n    return format;\n  }\n\n  function pad(value) {\n    return ('00' + value).substr(('' + value).length);\n  }\n\n  function formatDate(date, format) {\n    var map = {\n      year: {\n        value: date.getFullYear(),\n        regExpAttributes: 'i'\n      },\n      month: {\n        value: date.getMonth() + 1\n      },\n      date: {\n        value: date.getDate(),\n        regExpAttributes: 'i'\n      },\n      hour: {\n        value: date.getHours(),\n        regExpAttributes: 'i'\n      },\n      minute: {\n        value: date.getMinutes()\n      },\n      second: {\n        value: date.getSeconds()\n      },\n      quarter: {\n        value: Math.floor((date.getMonth() + 3) / 3),\n        regExpAttributes: 'i'\n      },\n      millisecond: {\n        value: date.getMilliseconds()\n      }\n    };\n\n    for (var key in map) {\n      format = formatType(key, format, map[key].value, map[key].regExpAttributes);\n    }\n\n    return format;\n  }\n\n  function getZeroStamp(date) {\n    var year = date.getFullYear();\n    var month = date.getMonth() + 1;\n    var day = date.getDate();\n    return +new Date(year + '/' + month + '/' + day + ' 00:00:00');\n  }\n\n  function getDayDiff(date1, date2) {\n    return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP);\n  }\n\n  function getNow() {\n    return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n  }\n\n  function computeNatureMaxDay(month, year) {\n    var natureMaxDay = 30;\n    if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n      natureMaxDay = 31;\n    } else {\n      if (month === 2) {\n        natureMaxDay = !year || !(year % 400) || !(year % 4) && year % 100 ? 29 : 28;\n      }\n    }\n\n    return natureMaxDay;\n  }\n\n  exports.DAY_TIMESTAMP = DAY_TIMESTAMP;\n  exports.HOUR_TIMESTAMP = HOUR_TIMESTAMP;\n  exports.MINUTE_TIMESTAMP = MINUTE_TIMESTAMP;\n  exports.pad = pad;\n  exports.formatType = formatType;\n  exports.formatDate = formatDate;\n  exports.getZeroStamp = getZeroStamp;\n  exports.getDayDiff = getDayDiff;\n  exports.getNow = getNow;\n  exports.computeNatureMaxDay = computeNatureMaxDay;\n});\n\n/***/ })\n\n/******/ });\n});"
  },
  {
    "path": "lib/validator/style.css",
    "content": ".cube-validator .cube-checkbox,.cube-validator .cube-input input,.cube-validator .cube-radio,.cube-validator .cube-select,.cube-validator .cube-textarea{color:inherit}.cube-validator-msg-def{font-size:14px;color:#e64340}"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"cube-ui\",\n  \"version\": \"1.12.56\",\n  \"description\": \"A fantastic mobile ui lib implement by Vue\",\n  \"main\": \"lib/index.js\",\n  \"module\": \"src/index.js\",\n  \"typings\": \"types/index.d.ts\",\n  \"postCompile\": true,\n  \"scripts\": {\n    \"build\": \"node build/build.js\",\n    \"dev\": \"node build/dev-server.js\",\n    \"doc-dev\": \"npm run dev & node build/document/dev-server.js\",\n    \"doc-build\": \"node build/document/build.js\",\n    \"demo-build\": \"node build/example/build.js\",\n    \"doc-demo-build\": \"npm run doc-build && npm run demo-build\",\n    \"release\": \"bash ./build/release/publish.sh\",\n    \"release-docs\": \"bash ./build/release/docs.sh\",\n    \"lint\": \"eslint --ext .js,.vue src test/unit/specs test/e2e/specs\",\n    \"unit\": \"cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run\",\n    \"codecov\": \"codecov\",\n    \"test\": \"npm run unit && npm run codecov\",\n    \"cm\": \"git-cz\"\n  },\n  \"husky\": {\n    \"hooks\": {\n      \"pre-commit\": \"npm run lint\",\n      \"commit-msg\": \"commitlint -e $GIT_PARAMS\"\n    }\n  },\n  \"commitlint\": {\n    \"extends\": [\n      \"@commitlint/config-conventional\"\n    ]\n  },\n  \"files\": [\n    \"src\",\n    \"lib\",\n    \"types\",\n    \"vetur\"\n  ],\n  \"vetur\": {\n    \"tags\": \"vetur/tags.json\",\n    \"attributes\": \"vetur/attributes.json\"\n  },\n  \"publishConfig\": {\n    \"registry\": \"https://registry.npmjs.org\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git@github.com:didi/cube-ui.git\"\n  },\n  \"homepage\": \"https://didi.github.io/cube-ui/\",\n  \"bugs\": {\n    \"url\": \"https://github.com/didi/cube-ui/issues\"\n  },\n  \"keywords\": [\n    \"cube-ui\",\n    \"cube\",\n    \"vue\",\n    \"components\"\n  ],\n  \"license\": \"Apache\",\n  \"dependencies\": {\n    \"better-scroll\": \"~1.12.6\",\n    \"vue-create-api\": \"^0.2.3\"\n  },\n  \"peerDependencies\": {\n    \"vue\": \"^2.5.13\"\n  },\n  \"devDependencies\": {\n    \"@commitlint/cli\": \"^6.2.0\",\n    \"@commitlint/config-conventional\": \"^6.1.3\",\n    \"autoprefixer\": \"^7.1.1\",\n    \"babel-core\": \"^6.22.1\",\n    \"babel-eslint\": \"^7.1.1\",\n    \"babel-loader\": \"^6.2.10\",\n    \"babel-plugin-add-module-exports\": \"^0.2.1\",\n    \"babel-plugin-istanbul\": \"^4.1.1\",\n    \"babel-plugin-transform-es2015-modules-umd\": \"^6.12.0\",\n    \"babel-plugin-transform-runtime\": \"^6.22.0\",\n    \"babel-polyfill\": \"^6.2.0\",\n    \"babel-preset-env\": \"^1.3.2\",\n    \"babel-preset-stage-2\": \"^6.22.0\",\n    \"babel-register\": \"^6.22.0\",\n    \"basic-mouse-event-polyfill-phantomjs\": \"0.0.2\",\n    \"chai\": \"^3.5.0\",\n    \"chalk\": \"^1.1.3\",\n    \"codecov\": \"^3.0.0\",\n    \"commitizen\": \"^2.9.6\",\n    \"connect-history-api-fallback\": \"^1.3.0\",\n    \"copy-webpack-plugin\": \"^4.5.0\",\n    \"cross-env\": \"^5.0.1\",\n    \"css-loader\": \"^0.28.0\",\n    \"cz-conventional-changelog\": \"^2.1.0\",\n    \"eslint\": \"^4.18.2\",\n    \"eslint-config-standard\": \"^10.2.1\",\n    \"eslint-friendly-formatter\": \"^3.0.0\",\n    \"eslint-loader\": \"^1.7.1\",\n    \"eslint-plugin-html\": \"^3.0.0\",\n    \"eslint-plugin-import\": \"^2.7.0\",\n    \"eslint-plugin-node\": \"^5.2.0\",\n    \"eslint-plugin-promise\": \"^3.4.0\",\n    \"eslint-plugin-standard\": \"^3.0.1\",\n    \"eventsource-polyfill\": \"^0.9.6\",\n    \"express\": \"^4.14.1\",\n    \"extract-text-webpack-plugin\": \"^3.0.0\",\n    \"fastclick\": \"^1.0.6\",\n    \"file-loader\": \"^0.11.1\",\n    \"friendly-errors-webpack-plugin\": \"^1.1.3\",\n    \"highlight.js\": \"^9.18.5\",\n    \"html-webpack-plugin\": \"^2.28.0\",\n    \"http-proxy-middleware\": \"^0.17.3\",\n    \"husky\": \"^1.0.0-rc.6\",\n    \"inject-loader\": \"^3.0.0\",\n    \"js-cookie\": \"^2.1.4\",\n    \"karma\": \"^6.3.16\",\n    \"karma-coverage\": \"^1.1.1\",\n    \"karma-mocha\": \"^1.3.0\",\n    \"karma-phantomjs-launcher\": \"^1.0.2\",\n    \"karma-phantomjs-shim\": \"^1.4.0\",\n    \"karma-sinon-chai\": \"^1.3.1\",\n    \"karma-sourcemap-loader\": \"^0.3.7\",\n    \"karma-spec-reporter\": \"0.0.31\",\n    \"karma-webpack\": \"^2.0.2\",\n    \"lodash-es\": \"^4.17.8\",\n    \"lolex\": \"^1.5.2\",\n    \"markdown-it-anchor-cube\": \"^0.0.1\",\n    \"marked\": \"^4.0.10\",\n    \"mocha\": \"^3.2.0\",\n    \"mockjs\": \"^1.0.1-beta3\",\n    \"opn\": \"^4.0.2\",\n    \"optimize-css-assets-webpack-plugin\": \"^1.3.0\",\n    \"ora\": \"^1.2.0\",\n    \"phantomjs-polyfill-find-index\": \"^1.0.1\",\n    \"phantomjs-prebuilt\": \"^2.1.16\",\n    \"postcss-loader\": \"^2.0.5\",\n    \"rimraf\": \"^2.6.0\",\n    \"scp2\": \"^0.5.0\",\n    \"shelljs\": \"^0.8.5\",\n    \"sinon\": \"^2.1.0\",\n    \"sinon-chai\": \"^2.8.0\",\n    \"style-loader\": \"^0.13.1\",\n    \"stylus\": \"^0.54.5\",\n    \"stylus-loader\": \"^2.1.1\",\n    \"typescript\": \"^4.1.6\",\n    \"url-loader\": \"^0.5.8\",\n    \"vconsole\": \"^2.5.2\",\n    \"vue\": \"^2.5.13\",\n    \"vue-lazyload\": \"^1.1.4\",\n    \"vue-loader\": \"^12.1.0\",\n    \"vue-markdown-loader\": \"^2.2.1\",\n    \"vue-router\": \"^2.7.0\",\n    \"vue-style-loader\": \"^3.0.1\",\n    \"vue-template-compiler\": \"^2.5.13\",\n    \"webpack\": \"^3.12.0\",\n    \"webpack-bundle-analyzer\": \"^3.3.2\",\n    \"webpack-dev-middleware\": \"^1.10.0\",\n    \"webpack-hot-middleware\": \"^2.18.0\",\n    \"webpack-merge\": \"^4.1.0\"\n  },\n  \"config\": {\n    \"commitizen\": {\n      \"path\": \"cz-conventional-changelog\"\n    }\n  },\n  \"engines\": {\n    \"node\": \">= 4.0.0\",\n    \"npm\": \">= 3.0.0\"\n  },\n  \"browserslist\": [\n    \"> 1%\",\n    \"not ie <= 11\",\n    \"Android >= 4.0\",\n    \"iOS >= 8\"\n  ]\n}\n"
  },
  {
    "path": "postcss.config.js",
    "content": "module.exports = {\n  plugins: [\n    require('autoprefixer')({\n      browsers: require('./package.json').browserslist\n    })\n  ]\n}\n"
  },
  {
    "path": "src/common/bscroll/constants.js",
    "content": "import { ua, isIOS } from '../helpers/env'\nimport { getIOSVersion } from '../helpers/util'\n\nfunction getUseTransition() {\n  let useTransition = true\n  if (isIOS) {\n    const version = getIOSVersion(ua)\n    if (!version) return useTransition\n\n    if (version.major >= 13 && version.minor >= 3) {\n      useTransition = false\n    }\n  }\n  return useTransition\n}\n\n// fix the scrolling problem in iOS13.4 webview\nexport const USE_TRANSITION = getUseTransition()\n"
  },
  {
    "path": "src/common/helpers/create-api.js",
    "content": "import createAPIComponent from 'vue-create-api'\n\nexport default function createAPI (Vue, Component, events, single) {\n  Vue.use(createAPIComponent, {componentPrefix: 'cube-'})\n  const api = Vue.createAPI(Component, events, single)\n  return api\n}\n"
  },
  {
    "path": "src/common/helpers/debug.js",
    "content": "export const warn = function (msg, componentName) {\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production') {\n    const component = componentName ? `<${componentName}> ` : ''\n    console.error(`[Cube warn]: ${component}${msg}`)\n  }\n}\n\nexport const tip = function (msg, componentName) {\n  if (process.env.NODE_ENV !== 'production') {\n    const component = componentName ? `<${componentName}> ` : ''\n    console.warn(`[Cube tip]: ${component}${msg}`)\n  }\n}\n"
  },
  {
    "path": "src/common/helpers/dom.js",
    "content": "import { inBrowser } from './env'\n\nexport function hasClass(el, className) {\n  const reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)')\n  return reg.test(el.className)\n}\n\nexport function addClass(el, className) {\n  /* istanbul ignore if */\n  if (hasClass(el, className)) {\n    return\n  }\n\n  const newClass = el.className.split(' ')\n  newClass.push(className)\n  el.className = newClass.join(' ')\n}\n\nexport function removeClass(el, className) {\n  /* istanbul ignore if */\n  if (!hasClass(el, className)) {\n    return\n  }\n\n  const reg = new RegExp('(^|\\\\s)' + className + '(\\\\s|$)', 'g')\n  el.className = el.className.replace(reg, ' ')\n}\n\nexport function getData(el, name) {\n  const prefix = 'data-'\n  return el.getAttribute(prefix + name)\n}\n\nexport function getRect(el) {\n  return {\n    top: el.offsetTop,\n    left: el.offsetLeft,\n    width: el.offsetWidth,\n    height: el.offsetHeight\n  }\n}\n\nlet vendor = (() => {\n  /* istanbul ignore if */\n  if (!inBrowser) {\n    return false\n  }\n  let elementStyle = document.createElement('div').style\n  let transformNames = {\n    standard: 'transform',\n    webkit: 'webkitTransform',\n    Moz: 'MozTransform',\n    O: 'OTransform',\n    ms: 'msTransform'\n  }\n\n  for (let key in transformNames) {\n    if (elementStyle[transformNames[key]] !== undefined) {\n      return key\n    }\n  }\n\n  /* istanbul ignore next */\n  return false\n})()\n\nexport function prefixStyle(style) {\n  /* istanbul ignore if */\n  if (vendor === false) {\n    return false\n  }\n\n  if (vendor === 'standard') {\n    if (style === 'transitionEnd') {\n      return 'transitionend'\n    }\n    return style\n  }\n\n  return vendor + style.charAt(0).toUpperCase() + style.substr(1)\n}\n\nexport function getMatchedTarget(e, targetClassName) {\n  let el = e.target\n\n  while (el && !hasClass(el, targetClassName)) {\n    if (el === e.currentTarget) return null\n    el = el.parentNode\n  }\n\n  return el\n}\n\nexport function dispatchEvent(ele, name, { type = 'Event', bubbles = true, cancelable = true } = {}) {\n  const e = document.createEvent(type)\n  e.initEvent(name, bubbles, cancelable)\n  ele.dispatchEvent(e)\n}\n"
  },
  {
    "path": "src/common/helpers/ease.js",
    "content": "export const easeOutBack = 'cubic-bezier(0.18, 0.89, 0.32, 1.28)'\nexport const easeOutQuart = 'cubic-bezier(0.165, 0.84, 0.44, 1)'\nexport const easeOutCubic = 'cubic-bezier(0.22, 0.61, 0.36, 1)'\n"
  },
  {
    "path": "src/common/helpers/env.js",
    "content": "// ssr support\nexport const inBrowser = typeof window !== 'undefined'\nexport const ua = inBrowser && navigator.userAgent.toLowerCase()\nexport const isAndroid = ua && ua.indexOf('android') > 0\nexport const isIOS = ua && /iphone|ipad|ipod|ios/.test(ua)\n"
  },
  {
    "path": "src/common/helpers/instantiate-component.js",
    "content": "import createAPI from 'vue-create-api'\nconst { instantiateComponent } = createAPI\n\nexport default instantiateComponent\n"
  },
  {
    "path": "src/common/helpers/raf.js",
    "content": "import { inBrowser } from './env'\n\nconst DEFAULT_INTERVAL = 100 / 60\n\nfunction noop() {\n}\n\nexport const requestAnimationFrame = (() => {\n  /* istanbul ignore next */\n  if (!inBrowser) {\n    return noop\n  }\n  return window.requestAnimationFrame ||\n    /* istanbul ignore next */\n    window.webkitRequestAnimationFrame ||\n    /* istanbul ignore next */\n    window.mozRequestAnimationFrame ||\n    /* istanbul ignore next */\n    window.oRequestAnimationFrame ||\n    // if all else fails, use setTimeout\n    /* istanbul ignore next */\n    function (callback) {\n      return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2) // make interval as precise as possible.\n    }\n})()\n\nexport const cancelAnimationFrame = (() => {\n  /* istanbul ignore next */\n  if (!inBrowser) {\n    return noop\n  }\n  return window.cancelAnimationFrame ||\n    /* istanbul ignore next */\n    window.webkitCancelAnimationFrame ||\n    /* istanbul ignore next */\n    window.mozCancelAnimationFrame ||\n    /* istanbul ignore next */\n    window.oCancelAnimationFrame ||\n    /* istanbul ignore next */\n    function (id) {\n      window.clearTimeout(id)\n    }\n})()\n"
  },
  {
    "path": "src/common/helpers/string-template.js",
    "content": "import { isFunc } from './util'\nimport { warn } from './debug'\nimport Locale from '../../modules/locale'\nconst stringRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g\nconst quoteRe = /['\"]/g\nconst INVALID_INDEX = -1\n\nfunction format (string, config = '') {\n  return string.replace(stringRE, (match, group1, index) => {\n    const helpersArr = group1.split('|').slice(1).map(_ => _.trim())\n    const hasHelpers = helpersArr.length\n    let result = config\n\n    if (hasHelpers) {\n      helpersArr.forEach((helperString) => {\n        let { fnName, args } = resolveHelperFnString(helperString)\n        args.unshift(result)\n        /* istanbul ignore else */\n        if (isFunc(Locale.helpers[fnName])) {\n          result = Locale.helpers[fnName].apply(null, args)\n        } else {\n          warn(`A helper function named \"${fnName}\" is not registered, ` +\n               `please register it by Validator.addHelper()`)\n          result = ''\n        }\n      })\n    }\n\n    return result\n  })\n}\n\nfunction resolveHelperFnString (helperString) {\n  const leftBracketsIndex = helperString.indexOf('(')\n  const rightBracketsIndex = helperString.indexOf(')')\n  let fnName = ''\n  let args = []\n  /* istanbul ignore if */\n  if (leftBracketsIndex === INVALID_INDEX) {\n    args = []\n    fnName = helperString\n  } else if (leftBracketsIndex !== INVALID_INDEX && rightBracketsIndex !== INVALID_INDEX) {\n    const argsStr = helperString.slice(leftBracketsIndex + 1, rightBracketsIndex)\n    args = argsStr.split(',').map(_ => _.trim().replace(quoteRe, ''))\n    fnName = helperString.slice(0, leftBracketsIndex)\n  }\n  return { fnName, args }\n}\n\nexport default format\n"
  },
  {
    "path": "src/common/helpers/util.js",
    "content": "import { camelize } from '../lang/string'\n\nfunction findIndex(ary, fn) {\n  if (ary.findIndex) {\n    return ary.findIndex(fn)\n  }\n  /* istanbul ignore next */\n  let index = -1\n  /* istanbul ignore next */\n  ary.some(function (item, i, ary) {\n    const ret = fn.call(this, item, i, ary)\n    if (ret) {\n      index = i\n      return ret\n    }\n  })\n  /* istanbul ignore next */\n  return index\n}\n\nfunction deepAssign(to, from) {\n  for (let key in from) {\n    if (!to[key] || typeof to[key] !== 'object') {\n      to[key] = from[key]\n    } else {\n      deepAssign(to[key], from[key])\n    }\n  }\n}\n\nfunction createAddAPI(baseObj) {\n  return function add(...args) {\n    if (typeof args[0] === 'string') {\n      args[0] = {\n        [args[0]]: args[1]\n      }\n    }\n    deepAssign(baseObj, args[0])\n  }\n}\n\nfunction judgeTypeFnCreator (type) {\n  const toString = Object.prototype.toString\n  return function isType (o) {\n    return toString.call(o) === `[object ${type}]`\n  }\n}\n\nconst typesReset = {\n  _set(obj, key, value) {\n    obj[key] = value\n  },\n  string(obj, key) {\n    typesReset._set(obj, key, '')\n  },\n  number(obj, key) {\n    typesReset._set(obj, key, 0)\n  },\n  boolean(obj, key) {\n    typesReset._set(obj, key, false)\n  },\n  object(obj, key, value) {\n    if (Array.isArray(value)) {\n      typesReset._set(obj, key, [])\n    } else {\n      typesReset._set(obj, key, {})\n    }\n  }\n}\nfunction resetTypeValue(obj, key, defVal) {\n  if (defVal !== undefined) {\n    return typesReset._set(obj, key, defVal)\n  }\n  if (key) {\n    const value = obj[key]\n    const resetHandler = typesReset[typeof value]\n    resetHandler && resetHandler(obj, key, value)\n  } else {\n    Object.keys(obj).forEach((key) => {\n      resetTypeValue(obj, key)\n    })\n  }\n}\n\nfunction parallel(tasks, cb) {\n  let doneCount = 0\n  let results = []\n  const tasksLen = tasks.length\n  if (!tasksLen) {\n    return cb(results)\n  }\n  tasks.forEach((task, i) => {\n    task((ret) => {\n      doneCount += 1\n      results[i] = ret\n      if (doneCount === tasksLen) {\n        // all tasks done\n        cb(results)\n      }\n    })\n  })\n}\n\nfunction cb2PromiseWithResolve(cb) {\n  let promise\n  if (typeof window.Promise !== 'undefined') {\n    const _cb = cb\n    promise = new window.Promise((resolve) => {\n      cb = (data) => {\n        _cb && _cb(data)\n        resolve(data)\n      }\n    })\n    promise.resolve = cb\n  }\n  return promise\n}\n\nfunction debounce(func, wait, immediate, initValue) {\n  let timeout\n  let result = initValue\n\n  const later = function (context, args) {\n    timeout = null\n    if (args) {\n      result = func.apply(context, args)\n    }\n  }\n\n  const debounced = function (...args) {\n    if (timeout) {\n      clearTimeout(timeout)\n    }\n    if (immediate) {\n      const callNow = !timeout\n      timeout = setTimeout(later, wait)\n      if (callNow) {\n        result = func.apply(this, args)\n      }\n    } else {\n      timeout = setTimeout(() => {\n        later(this, args)\n      }, wait)\n    }\n\n    return result\n  }\n\n  debounced.cancel = function () {\n    clearTimeout(timeout)\n    timeout = null\n  }\n\n  return debounced\n}\n\nfunction processComponentName(Component, { prefix = '', firstUpperCase = false } = {}) {\n  const name = Component.name\n  const pureName = name.replace(/^cube-/i, '')\n  let camelizeName = `${camelize(`${prefix}${pureName}`)}`\n  /* istanbul ignore if */\n  if (firstUpperCase) {\n    camelizeName = camelizeName.charAt(0).toUpperCase() + camelizeName.slice(1)\n  }\n  return camelizeName\n}\n\nfunction parsePath (obj, path = '') {\n  const segments = path.split('.')\n  let result = obj\n  for (let i = 0; i < segments.length; i++) {\n    const key = segments[i]\n    /* istanbul ignore if */\n    if (isUndef(result[key])) {\n      result = ''\n      break\n    } else {\n      result = result[key]\n    }\n  }\n  return result\n}\n\nfunction getIOSVersion(ua) {\n  const regex = /os (\\d\\d?_\\d(_\\d)?)/\n  const matches = regex.exec(ua)\n  if (!matches) return null\n  const parts = matches[1].split('_').map(function(item) {\n    return parseInt(item, 10)\n  })\n  return {\n    major: parts[0],\n    minor: parts[1],\n    patch: parts[2] || 0\n  }\n}\n\nconst isFunc = judgeTypeFnCreator('Function')\nconst isUndef = judgeTypeFnCreator('Undefined')\nconst isArray = judgeTypeFnCreator('Array')\nconst isString = judgeTypeFnCreator('String')\nconst isObject = judgeTypeFnCreator('Object')\nconst isNumber = judgeTypeFnCreator('Number')\n\nexport {\n  findIndex,\n  deepAssign,\n  createAddAPI,\n  resetTypeValue,\n  parallel,\n  cb2PromiseWithResolve,\n  debounce,\n  processComponentName,\n  parsePath,\n  isUndef,\n  isFunc,\n  isArray,\n  isString,\n  isObject,\n  isNumber,\n  getIOSVersion\n}\n"
  },
  {
    "path": "src/common/helpers/validator/index.js",
    "content": "export { rules, addRule } from './rules'\nexport { addMessage } from './messages'\nexport { types, addType } from './types'\n"
  },
  {
    "path": "src/common/helpers/validator/language/chinese.js",
    "content": "import { toLocaleDateString } from '../../util'\n\nexport default {\n  required: '此为必填项',\n  type: {\n    string: '请输入字符',\n    number: '请输入数字',\n    array: '数据类型应为数组',\n    date: '请选择有效日期',\n    email: '请输入有效邮箱',\n    tel: '请输入有效的手机号码',\n    url: '请输入有效网址'\n  },\n  min: {\n    string: /* istanbul ignore next */ (config) => `至少输入 ${config} 位字符`,\n    number: /* istanbul ignore next */ (config) => `不得小于 ${config}`,\n    array: /* istanbul ignore next */ (config) => `请选择至少 ${config} 项`,\n    date: /* istanbul ignore next */ (config) => `请选择 ${toLocaleDateString(config, 'zh')} 之后的时间`,\n    email: /* istanbul ignore next */ (config) => `至少输入 ${config} 位字符`,\n    tel: /* istanbul ignore next */ (config) => `至少输入 ${config} 位字符`,\n    url: /* istanbul ignore next */ (config) => `至少输入 ${config} 位字符`\n  },\n  max: {\n    string: /* istanbul ignore next */ (config) => `请勿超过 ${config} 位字符`,\n    number: /* istanbul ignore next */ (config) => `请勿大于 ${config}`,\n    array: /* istanbul ignore next */ (config) => `最多选择 ${config} 项`,\n    date: /* istanbul ignore next */ (config) => `请选择 ${toLocaleDateString(config, 'zh')} 之前的时间`,\n    email: /* istanbul ignore next */ (config) => `请勿超过 ${config} 位字符`,\n    tel: /* istanbul ignore next */ (config) => `请勿超过 ${config} 位字符`,\n    url: /* istanbul ignore next */ (config) => `请勿超过 ${config} 位字符`\n  },\n  len: {\n    string: /* istanbul ignore next */ (config) => `请输入 ${config} 位字符`,\n    number: /* istanbul ignore next */ (config) => `长度应等于 ${config}`,\n    array: /* istanbul ignore next */ (config) => `请选择 ${config} 项`,\n    date: /* istanbul ignore next */ (config) => `请选择 ${toLocaleDateString(config, 'zh')}`,\n    email: /* istanbul ignore next */ (config) => `请输入 ${config} 位字符`,\n    tel: /* istanbul ignore next */ (config) => `请输入 ${config} 位字符`,\n    url: /* istanbul ignore next */ (config) => `请输入 ${config} 位字符`\n  },\n  pattern: '格式错误',\n  custom: '未通过校验',\n  notWhitespace: '空白内容无效'\n}\n"
  },
  {
    "path": "src/common/helpers/validator/language/english.js",
    "content": "import { toLocaleDateString } from '../../util'\n\nexport default {\n  required: 'Required.',\n  type: {\n    string: 'Please input characters.',\n    number: 'Please input numbers.',\n    array: 'The data type should be array.',\n    date: 'Please select a valid date.',\n    email: 'Please input a valid E-mail.',\n    tel: 'Please input a valid telphone number.',\n    url: 'Please input a valid web site.'\n  },\n  min: {\n    string: /* istanbul ignore next */ (config) => `Please input at least ${config} characters.`,\n    number: /* istanbul ignore next */ (config) => `The number could not smaller than ${config}.`,\n    array: /* istanbul ignore next */ (config) => `Please select at least ${config} items.`,\n    date: /* istanbul ignore next */ (config) => `Please select a date after ${toLocaleDateString(config, 'en')}`,\n    email: /* istanbul ignore next */ (config) => `Please input at least ${config} characters.`,\n    tel: /* istanbul ignore next */ (config) => `Please input at least ${config} characters.`,\n    url: /* istanbul ignore next */ (config) => `Please input at least ${config} characters.`\n  },\n  max: {\n    string: /* istanbul ignore next */ (config) => `Please input no more than ${config} characters.`,\n    number: /* istanbul ignore next */ (config) => `The number could not bigger than ${config}`,\n    array: /* istanbul ignore next */ (config) => `Please select no more than  ${config} items`,\n    date: /* istanbul ignore next */ (config) => `Please select a date before ${toLocaleDateString(config, 'en')}`,\n    email: /* istanbul ignore next */ (config) => `Please input no more than ${config} characters.`,\n    tel: /* istanbul ignore next */ (config) => `Please input no more than ${config} characters.`,\n    url: /* istanbul ignore next */ (config) => `Please input no more than ${config} characters.`\n  },\n  len: {\n    string: /* istanbul ignore next */ (config) => `Please input ${config} characters.`,\n    number: /* istanbul ignore next */ (config) => `The length should equal ${config}`,\n    array: /* istanbul ignore next */ (config) => `Please select ${config} items`,\n    date: /* istanbul ignore next */ (config) => `Please select ${toLocaleDateString(config, 'en')}`,\n    email: /* istanbul ignore next */ (config) => `Please input ${config} characters.`,\n    tel: /* istanbul ignore next */ (config) => `Please input ${config} characters.`,\n    url: /* istanbul ignore next */ (config) => `Please input ${config} characters.`\n  },\n  pattern: 'The input don\"t match pattern.',\n  custom: 'Invalid.',\n  notWhitespace: 'Whitespace is invalid.'\n}\n"
  },
  {
    "path": "src/common/helpers/validator/messages.js",
    "content": "import { deepAssign } from '../util'\n\nfunction addMessage (...args) {\n  const NAMESPACE = 'validator'\n  const vueProto = this._base.prototype\n  const lang = vueProto.$cubeLang\n  const baseMessages = vueProto.$cubeMessages[lang][NAMESPACE]\n\n  if (typeof args[0] === 'string') {\n    args[0] = {\n      [args[0]]: args[1]\n    }\n  }\n\n  deepAssign(baseMessages, args[0])\n}\n\nexport { addMessage }\n"
  },
  {
    "path": "src/common/helpers/validator/rules.js",
    "content": "import { createAddAPI } from '../util'\nimport { types } from './types'\n\nconst rules = {\n  required: (val, required, type) => {\n    type = type || (Array.isArray(val) ? 'array' : typeof val)\n    if (type === 'array' && Array.isArray(val)) {\n      return val.length > 0\n    }\n    return val !== '' && val !== undefined && val !== null\n  },\n  type: (val, type) => {\n    return !types[type] || types[type](val)\n  },\n  min: (val, min, type) => {\n    type = type || (typeof val)\n    if (type === 'number' || type === 'date') {\n      return Number(val) >= min\n    } else {\n      return val.length >= min\n    }\n  },\n  max: (val, max, type) => {\n    type = type || (typeof val)\n    if (type === 'number' || type === 'date') {\n      return Number(val) <= max\n    } else {\n      return val.length <= max\n    }\n  },\n  len: (val, len, type) => {\n    type = type || (typeof val)\n    let target = val\n    if (target.length === undefined) {\n      target = type === 'object' ? Object.keys(target) : String(target)\n    }\n    return target.length === len\n  },\n  notWhitespace: (val, config, type) => {\n    return !/^\\s+$/.test(val)\n  },\n  pattern: (val, pattern, type) => {\n    return pattern.test(val)\n  },\n  custom: (val, custom, type) => {\n    return custom(val)\n  }\n}\n\nconst addRule = createAddAPI(rules)\n\nexport { rules, addRule }\n"
  },
  {
    "path": "src/common/helpers/validator/types.js",
    "content": "import { createAddAPI } from '../util'\n\nconst DATE_RE = /^(1|2)\\d{3}[.\\-/]\\d{1,2}[.\\-/]\\d{1,2}$/\n\nconst types = {\n  string: (val) => {\n    return typeof val === 'string'\n  },\n  number: (val) => {\n    return !isNaN(Number(val))\n  },\n  array: (val) => {\n    return Array.isArray(val)\n  },\n  date: (val) => {\n    return !isNaN(Number(val)) || DATE_RE.test(val)\n  },\n  email: (val) => {\n    return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)+$/i.test(val)\n  },\n  tel: (val) => {\n    return typeof val === 'string' && /^(11|13|14|15|17|18|19)[0-9]{9}$/.test(val)\n  },\n  url: (val) => {\n    return typeof val === 'string' && /(https?|ftp|file):\\/\\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/.test(val)\n  }\n}\n\nconst addType = createAddAPI(types)\n\nexport { types, addType }\n"
  },
  {
    "path": "src/common/icon/cube-icon.styl",
    "content": "@font-face\n  font-family: \"cube-icon\"\n  src:\n    url(\"./cubeic.woff\") format(\"woff\"),\n    url(\"./cubeic.ttf\") format(\"truetype\")\n\n[class^=\"cubeic-\"], [class*=\" cubeic-\"]\n  font-family: \"cube-icon\"!important\n  font-size: 100%\n  font-style: normal\n  -webkit-font-smoothing: antialiased\n  -webkit-text-stroke-width: 0.2px\n  -moz-osx-font-smoothing: grayscale\n\n.cubeic-eye-invisible::before\n  content: \"\\e624\"\n\n.cubeic-eye-visible::before\n  content: \"\\e625\"\n\n.cubeic-square-right::before\n  content: \"\\e67d\"\n\n.cubeic-select::before\n  content: \"\\e609\"\n\n.cubeic-pulldown::before\n  content: \"\\e603\"\n\n.cubeic-pullup::before\n  content: \"\\e604\"\n\n.cubeic-more::before\n  content: \"\\e607\"\n\n.cubeic-back::before\n  content: \"\\e608\"\n\n.cubeic-arrow::before\n  content: \"\\e60b\"\n\n.cubeic-close::before\n  content: \"\\e60d\"\n\n.cubeic-warn::before\n  content: \"\\e614\"\n\n.cubeic-question::before\n  content: \"\\e616\"\n\n.cubeic-right::before\n  content: \"\\e617\"\n\n.cubeic-wrong::before\n  content: \"\\e618\"\n\n.cubeic-info::before\n  content: \"\\e619\"\n\n.cubeic-remove::before\n  content: \"\\e61a\"\n\n.cubeic-add::before\n  content: \"\\e61c\"\n\n.cubeic-share::before\n  content: \"\\e631\"\n\n.cubeic-no-wifi::before\n  content: \"\\e632\"\n\n.cubeic-smile::before\n  content: \"\\e634\"\n\n.cubeic-sad::before\n  content: \"\\e636\"\n\n.cubeic-email::before\n  content: \"\\e637\"\n\n.cubeic-game::before\n  content: \"\\e638\"\n\n.cubeic-wifi::before\n  content: \"\\e639\"\n\n.cubeic-hot::before\n  content: \"\\e63b\"\n\n.cubeic-notification::before\n  content: \"\\e63d\"\n\n.cubeic-delete::before\n  content: \"\\e63e\"\n\n.cubeic-vip::before\n  content: \"\\e63f\"\n\n.cubeic-mute::before\n  content: \"\\e640\"\n\n.cubeic-danger::before\n  content: \"\\e641\"\n\n.cubeic-volume::before\n  content: \"\\e642\"\n\n.cubeic-bad::before\n  content: \"\\e643\"\n\n.cubeic-mobile-phone::before\n  content: \"\\e644\"\n\n.cubeic-aim::before\n  content: \"\\e645\"\n\n.cubeic-navigation::before\n  content: \"\\e64d\"\n\n.cubeic-safe-pay::before\n  content: \"\\e64e\"\n\n.cubeic-tag::before\n  content: \"\\e64f\"\n\n.cubeic-lock::before\n  content: \"\\e651\"\n\n.cubeic-unlock::before\n  content: \"\\e652\"\n\n.cubeic-edit::before\n  content: \"\\e653\"\n\n.cubeic-scan::before\n  content: \"\\e654\"\n\n.cubeic-qr-code::before\n  content: \"\\e655\"\n\n.cubeic-calendar::before\n  content: \"\\e659\"\n\n.cubeic-time::before\n  content: \"\\e65f\"\n\n.cubeic-red-packet::before\n  content: \"\\e664\"\n\n.cubeic-star::before\n  content: \"\\e668\"\n\n.cubeic-setting::before\n  content: \"\\e669\"\n\n.cubeic-home::before\n  content: \"\\e66d\"\n\n.cubeic-credit-card::before\n  content: \"\\e66e\"\n\n.cubeic-mall::before\n  content: \"\\e670\"\n\n.cubeic-microphone::before\n  content: \"\\e673\"\n\n.cubeic-search::before\n  content: \"\\e674\"\n\n.cubeic-good::before\n  content: \"\\e675\"\n\n.cubeic-alert::before\n  content: \"\\e676\"\n\n.cubeic-picture::before\n  content: \"\\e677\"\n\n.cubeic-message::before\n  content: \"\\e678\"\n\n.cubeic-phone::before\n  content: \"\\e67a\"\n\n.cubeic-location::before\n  content: \"\\e67b\"\n\n.cubeic-like::before\n  content: \"\\e67c\"\n\n.cubeic-camera::before\n  content: \"\\e67e\"\n\n.cubeic-person::before\n  content: \"\\e67f\"\n\n.cubeic-round-border::before\n  content: \"\\e683\"\n\n.cubeic-important::before\n  content: \"\\e68b\"\n\n.cubeic-ok::before\n  content: \"\\e68c\"\n\n.cubeic-square-border::before\n  content: \"\\e990\"\n"
  },
  {
    "path": "src/common/lang/date.js",
    "content": "const DAY_TIMESTAMP = 60 * 60 * 24 * 1000\nconst HOUR_TIMESTAMP = 60 * 60 * 1000\nconst MINUTE_TIMESTAMP = 60 * 1000\n\nfunction formatType(type, format, value, regExpAttributes) {\n  const regExpMap = {\n    year: '(Y+)',\n    month: '(M+)',\n    date: '(D+)',\n    hour: '(h+)',\n    minute: '(m+)',\n    second: '(s+)',\n    quarter: '(q+)',\n    millisecond: '(S)'\n  }\n\n  if (new RegExp(regExpMap[type], regExpAttributes).test(format)) {\n    const replaceStr = type === 'year'\n      ? value.toString().substr(4 - RegExp.$1.length)\n      : (RegExp.$1.length === 1)\n        ? value\n        : pad(value)\n    format = format.replace(RegExp.$1, replaceStr)\n  }\n\n  return format\n}\n\nfunction pad(value) {\n  return ('00' + value).substr(('' + value).length)\n}\n\nfunction formatDate(date, format) {\n  const map = {\n    year: {\n      value: date.getFullYear(),\n      regExpAttributes: 'i'\n    },\n    month: {\n      value: date.getMonth() + 1\n    },\n    date: {\n      value: date.getDate(),\n      regExpAttributes: 'i'\n    },\n    hour: {\n      value: date.getHours(),\n      regExpAttributes: 'i'\n    },\n    minute: {\n      value: date.getMinutes()\n    },\n    second: {\n      value: date.getSeconds()\n    },\n    quarter: {\n      value: Math.floor((date.getMonth() + 3) / 3),\n      regExpAttributes: 'i'\n    },\n    millisecond: {\n      value: date.getMilliseconds()\n    }\n  }\n\n  for (const key in map) {\n    format = formatType(key, format, map[key].value, map[key].regExpAttributes)\n  }\n\n  return format\n}\n\nfunction getZeroStamp(date) {\n  const year = date.getFullYear()\n  const month = date.getMonth() + 1\n  const day = date.getDate()\n  return +new Date(year + '/' + month + '/' + day + ' 00:00:00')\n}\n\nfunction getDayDiff(date1, date2) {\n  return Math.floor((getZeroStamp(date1) - getZeroStamp(date2)) / DAY_TIMESTAMP)\n}\n\nfunction getNow() {\n  return window.performance && window.performance.now ? (window.performance.now() + window.performance.timing.navigationStart) : +new Date()\n}\n\nfunction computeNatureMaxDay(month, year) {\n  let natureMaxDay = 30\n  if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {\n    natureMaxDay = 31\n  } else {\n    if (month === 2) {\n      natureMaxDay = !year || (!(year % 400) || (!(year % 4) && year % 100)) ? 29 : 28\n    }\n  }\n\n  return natureMaxDay\n}\n\nexport {\n  DAY_TIMESTAMP,\n  HOUR_TIMESTAMP,\n  MINUTE_TIMESTAMP,\n  pad,\n  formatType,\n  formatDate,\n  getZeroStamp,\n  getDayDiff,\n  getNow,\n  computeNatureMaxDay\n}\n"
  },
  {
    "path": "src/common/lang/string.js",
    "content": "const camelizeRE = /-(\\w)/g\nexport function camelize (str) {\n  str = String(str)\n  return str.replace(camelizeRE, function (m, c) {\n    return c ? c.toUpperCase() : ''\n  })\n}\n\nexport function kebab (str) {\n  str = String(str)\n  return str.replace(/([A-Z])/g, '-$1').toLowerCase()\n}\n"
  },
  {
    "path": "src/common/locale/index.js",
    "content": "import defaultMessages from '../../locale/lang/zh-CN'\nimport { warn } from '../helpers/debug'\nimport { isUndef, isNumber } from '../helpers/util'\nimport { formatDate } from '../lang/date'\n\nlet proto\n\nconst DEFAULT_LANG = 'zh-CN'\n\nconst locale = {\n  name: 'locale',\n  install (Vue) {\n    if (locale.installed) return\n    proto = Vue.prototype\n    Vue.util.defineReactive(proto, '$cubeLang', DEFAULT_LANG)\n    proto['$cubeMessages'] = { [DEFAULT_LANG]: defaultMessages }\n    locale.installed = true\n  },\n  use (lang, messages) {\n    proto['$cubeLang'] = lang\n    const cubeMessages = proto['$cubeMessages']\n    // if messages have never been stored in vue.prototye\n    if (!(lang in cubeMessages)) {\n      cubeMessages[[lang]] = messages\n    }\n  },\n  helpers: {\n    toLocaleDateString (config, formatRules) {\n      /**\n       * Safari don't support formatRules like\n       * 'yyyy-MM-dd hh:mm:ss', so transfer it to 'yyyy/MM/dd hh:mm:ss'\n       */\n      const compatibleConfig = isNumber(config) ? config : config.replace(/-/g, '/')\n      const date = new Date(compatibleConfig)\n      /* istanbul ignore if */\n      if (isUndef(formatRules)) return date.toDateString()\n      return formatDate(date, formatRules)\n    }\n  },\n  addHelper (fnName, fn) {\n    // check existed helper fn\n    /* istanbul ignore if */\n    if (fnName in locale.helpers) {\n      warn(`${fnName} has already been registered on helpers function, please change another name`)\n      return\n    }\n    locale.helpers[fnName] = fn\n  }\n}\n\nexport default locale\n"
  },
  {
    "path": "src/common/mixins/basic-picker.js",
    "content": "const DEFAULT_KEYS = {\n  value: 'value',\n  text: 'text',\n  order: 'order'\n}\n\nexport default {\n  props: {\n    data: {\n      type: Array,\n      default() {\n        return []\n      }\n    },\n    selectedIndex: {\n      type: Array,\n      default() {\n        return []\n      }\n    },\n    alias: {\n      type: Object,\n      default() {\n        return {}\n      }\n    }\n  },\n  computed: {\n    valueKey() {\n      return this.alias.value || DEFAULT_KEYS.value\n    },\n    textKey() {\n      return this.alias.text || DEFAULT_KEYS.text\n    },\n    orderKey() {\n      return DEFAULT_KEYS.order\n    },\n    merge() {\n      return [this.data, this.selectedIndex]\n    }\n  },\n  watch: {\n    // Merge the watch handlers of data and selectedIndex into one.\n    merge(newVal) {\n      this.setData(newVal[0], newVal[1])\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/deprecated.js",
    "content": "import { tip } from '../../common/helpers/debug'\nimport { kebab } from '../../common/lang/string'\n\nexport default {\n  methods: {\n    _checkDeprecated() {\n      const props = this.$options.props\n      const componentName = this.$options.name\n\n      Object.entries(props).forEach(([key, prop]) => {\n        const deprecated = prop.deprecated\n\n        if (deprecated && this[key] !== undefined) {\n          tip(`The property \"${kebab(key)}\" is deprecated, please use the recommended property \"${deprecated.replacedBy}\" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/${componentName.substr(5)}#cube-Propsconfiguration-anchor`, componentName)\n        }\n      })\n    }\n  },\n  mounted() {\n    this._checkDeprecated()\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/group-col.js",
    "content": "import { prefixStyle } from '../helpers/dom'\nconst FLEXBASIS = prefixStyle('flexBasis')\n\nexport default {\n  props: {\n    colNum: {\n      type: Number,\n      default: 1\n    }\n  },\n  watch: {\n    colNum: {\n      immediate: true,\n      handler (newValue) {\n        if (newValue <= 1) return ''\n        this.$nextTick(() => {\n          let count = 100 / newValue + '%'\n          Array.prototype.forEach.call(this.$refs.group.children, item => {\n            item.style[FLEXBASIS] = count\n          })\n        })\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/input.js",
    "content": "const EVENT_CHANGE = 'change'\n\nexport default {\n  methods: {\n    changeHander(e) {\n      this.$emit(EVENT_CHANGE, e)\n    },\n    focus() {\n      this.$refs.input.focus()\n    },\n    blur() {\n      this.$refs.input.blur()\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/locale.js",
    "content": "import locale from '../locale'\nimport { parsePath, isUndef } from '../helpers/util'\nimport { warn } from '../helpers/debug'\n\nconst TRANSLATION_ABSENT = `Translation is not registered correctly, ` +\n                           `you can call Locale.use() to install it.`\n\nexport default {\n  computed: {\n    $t () {\n      const lang = this.$cubeLang\n      const messages = this.$cubeMessages[lang]\n      if (isUndef(messages)) {\n        warn(TRANSLATION_ABSENT)\n        return ''\n      }\n      return (path) => {\n        return parsePath(messages, path)\n      }\n    }\n  },\n  beforeCreate() {\n    locale.install(this.$root.constructor)\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/picker.js",
    "content": "export default {\n  props: {\n    title: {\n      type: String\n    },\n    subtitle: {\n      type: String\n    },\n    cancelTxt: {\n      type: String,\n      default: ''\n    },\n    confirmTxt: {\n      type: String,\n      default: ''\n    },\n    swipeTime: {\n      type: Number,\n      default: 2500\n    },\n    maskClosable: {\n      type: Boolean,\n      default: true\n    }\n  },\n  computed: {\n    _cancelTxt () {\n      return this.cancelTxt || this.$t('cancel')\n    },\n    _confirmTxt () {\n      return this.confirmTxt || this.$t('ok')\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/popup.js",
    "content": "export default {\n  props: {\n    zIndex: {\n      type: Number,\n      default: 100\n    },\n    maskClosable: {\n      type: Boolean,\n      default: false\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/scroll.js",
    "content": "export default {\n  props: {\n    // the options of BetterScroll\n    options: {\n      type: Object,\n      default() {\n        return {}\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/mixins/visibility.js",
    "content": "const EVENT_TOGGLE = 'toggle'\n\nexport default {\n  model: {\n    prop: 'visible',\n    event: EVENT_TOGGLE\n  },\n  props: {\n    visible: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data() {\n    return {\n      // If use the prop visible directly, the toggle will failed when user haven't set v-model as a reactive property.\n      // So we use the data isVisible instead.\n      isVisible: false\n    }\n  },\n  watch: {\n    isVisible(newVal) {\n      this.$emit(EVENT_TOGGLE, newVal)\n    }\n  },\n  mounted() {\n    this.$watch('visible', (newVal, oldVal) => {\n      if (newVal) {\n        this.show()\n      } else if (oldVal && !this._createAPI_reuse) {\n        this.hide()\n      }\n    }, {\n      immediate: true\n    })\n  },\n  methods: {\n    show() {\n      this.isVisible = true\n    },\n    hide() {\n      this.isVisible = false\n    }\n  }\n}\n"
  },
  {
    "path": "src/common/stylus/base.styl",
    "content": "@require \"./variable.styl\"\n@require \"./mixin.styl\"\n\nbody, html\n  line-height: 1\n  font-family: 'PingFang SC', 'STHeitiSC-Light', 'Helvetica-Light', arial, sans-serif, 'Droid Sans Fallback'\n  user-select: none\n  -webkit-tap-highlight-color: transparent\n\n.clear-fix\n  &::after\n    content: \"\"\n    display: table\n    clear: both\n\n.border-top-1px, .border-right-1px, .border-bottom-1px, .border-left-1px\n  position: relative\n  &::before, &::after\n    content: \"\"\n    display: block\n    position: absolute\n    transform-origin: 0 0\n\n.border-top-1px\n  &::before\n    border-top: 1PX solid $color-row-line\n    left: 0\n    top: 0\n    width: 100%\n    transform-origin: 0 top\n\n.border-right-1px\n  &::after\n    border-right: 1PX solid $color-col-line\n    top: 0\n    right: 0\n    height: 100%\n    transform-origin: right 0\n\n.border-bottom-1px\n  &::after\n    border-bottom: 1PX solid $color-row-line\n    left: 0\n    bottom: 0\n    width: 100%\n    transform-origin: 0 bottom\n\n.border-left-1px\n  &::before\n    border-left: 1PX solid $color-col-line\n    top: 0\n    left: 0\n    height: 100%\n    transform-origin: left 0\n\n.cube-safe-area-pb\n  safe-area-mixin(padding-bottom, bottom, true)\n\n@media (min-resolution: 2dppx)\n  .border-top-1px\n    &::before\n      width: 200%\n      transform: scale(.5)\n  .border-right-1px\n    &::after\n      height: 200%\n      transform: scale(.5)\n  .border-bottom-1px\n    &::after\n      width: 200%\n      transform: scale(.5)\n  .border-left-1px\n    &::before\n      height: 200%\n      transform: scale(.5)\n\n@media (min-resolution: 3dppx)\n  .border-top-1px\n    &::before\n      width: 300%\n      transform: scale(.333)\n  .border-right-1px\n    &::after\n      height: 300%\n      transform: scale(.333)\n  .border-bottom-1px\n    &::after\n      width: 300%\n      transform: scale(.333)\n  .border-left-1px\n    &::before\n      height: 300%\n      transform: scale(.333)\n"
  },
  {
    "path": "src/common/stylus/index.styl",
    "content": "@require \"./variable.styl\"\n@require \"./mixin.styl\"\n@require \"./reset.styl\"\n@require \"./base.styl\"\n@require \"../icon/cube-icon.styl\"\n"
  },
  {
    "path": "src/common/stylus/mixin.styl",
    "content": "border-1px($color = #ccc, $radius = 2PX, $style = solid)\n  position: relative\n  &::after\n    content: \"\"\n    pointer-events: none\n    display: block\n    position: absolute\n    left: 0\n    top: 0\n    transform-origin: 0 0\n    border: 1PX $style $color\n    border-radius: $radius\n    box-sizing border-box\n    width 100%\n    height 100%\n    @media (min-resolution: 2dppx)\n      width: 200%\n      height: 200%\n      border-radius: $radius * 2\n      transform: scale(.5)\n    @media (min-resolution: 3dppx)\n      width: 300%\n      height: 300%\n      border-radius: $radius * 3\n      transform: scale(.333)\n\nborder-none()\n  &::before\n    display: none\n  &::after\n    display: none\n\nflex-fix()\n  flex: 1\n  flex-basis: 0.000000001px\n  width: 1%\n\ntouch-active(type = orange)\n  if (type == orange)\n    &:active\n      color: #fcc1a6\n      background-color: rgba(250, 143, 84, .04)\n  else\n    &:active\n      color: #c6c6c6\n      background-color: rgba(0, 0, 0, .04)\n\nhide-scrollbar()\n  &::-webkit-scrollbar\n    width: 0\n    height: 0\n\nbg-image($url, $ext = \".png\")\n  add-property('background-image', s('url(%s)', $url + '@2x' + $ext))\n  @media (min-resolution: 3dppx)\n    add-property('background-image', s('url(%s)', $url + '@3x' + $ext))\n\nfunctions = constant env\nsafe-area-fn(fn, position)\n  s(\"%s(safe-area-inset-%s)\", fn, position)\nsafe-area-mixin(property, position, important = false)\n  for fn in functions\n    {property} safe-area-fn(fn, position) important == true ? !important : unquote(\"\")\n"
  },
  {
    "path": "src/common/stylus/reset.styl",
    "content": "/**\n * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)\n * http://cssreset.com\n */\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video, input\n  margin: 0\n  padding: 0\n  border: 0\n  font-size: 100%\n  font-weight: normal\n  vertical-align: baseline\n\n/* HTML5 display-role reset for older browsers */\narticle, aside, details, figcaption, figure,\nfooter, header, menu, nav, section\n  display: block\n\nbody\n  line-height: 1\n\nblockquote, q\n  quotes: none\n\nblockquote:before, blockquote:after,\nq:before, q:after\n  content: none\n\ntable\n  border-collapse: collapse\n  border-spacing: 0\n\n/* custom */\n\na\n  color: #7e8c8d\n  text-decoration: none\n\nli\n  list-style: none\n\nbody\n  -webkit-text-size-adjust: none\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)\n"
  },
  {
    "path": "src/common/stylus/theme/default.styl",
    "content": "@require \"../var/color.styl\"\n\n// action-sheet\n$action-sheet-color := $color-grey\n$action-sheet-active-color := $color-orange\n$action-sheet-bgc := $color-white\n$action-sheet-active-bgc := $color-light-grey-opacity\n$action-sheet-title-color := $color-dark-grey\n$action-sheet-space-bgc := $color-mask-bg\n/// picker style\n$action-sheet-picker-cancel-color := $color-light-grey\n$action-sheet-picker-cancel-active-color := $color-light-grey-s\n\n// bubble\n\n// button\n$btn-color := $color-white\n$btn-bgc := $color-regular-blue\n$btn-active-bgc := $color-blue\n/// primary\n$btn-primary-color := $color-white\n$btn-primary-bgc := $color-orange\n$btn-primary-active-bgc := $color-dark-orange\n/// light\n$btn-light-color := $color-grey\n$btn-light-bgc := $color-light-grey-sss\n$btn-light-active-bgc := $color-active-grey\n/// outline\n$btn-outline-color := $color-grey\n$btn-outline-bgc := transparent\n$btn-outline-bdc := $color-grey\n$btn-outline-active-bgc := $color-grey-opacity\n$btn-outline-active-bdc := $color-grey\n/// outline-primary\n$btn-outline-primary-color := $color-orange\n$btn-outline-primary-bgc := transparent\n$btn-outline-primary-bdc := $color-orange\n$btn-outline-primary-active-bgc := $color-orange-opacity\n$btn-outline-primary-active-bdc := $color-dark-orange\n/// disabled\n$btn-disabled-color := $color-white\n$btn-disabled-bgc := $color-light-grey-s\n$btn-disabled-bdc := $color-light-grey-s\n\n// toolbar\n$toolbar-bgc := $color-light-grey-sss\n$toolbar-active-bgc := $color-active-grey\n\n// checkbox\n$checkbox-color := $color-grey\n$checkbox-icon-color := $color-light-grey-s\n/// checked\n$checkbox-checked-icon-color := $color-orange\n$checkbox-checked-icon-bgc := $color-white\n/// disabled\n$checkbox-disabled-icon-color := $color-light-grey-ss\n$checkbox-disabled-icon-bgc := $color-light-grey-ss\n// checkbox hollow\n$checkbox-hollow-checked-icon-color := $color-orange\n$checkbox-hollow-disabled-icon-color := $color-light-grey-ss\n// checkbox-group\n$checkbox-group-bgc := $color-white\n$checkbox-group-horizontal-bdc := $color-light-grey-s\n\n// radio\n$radio-group-bgc := $color-white\n$radio-group-horizontal-bdc := $color-light-grey-s\n$radio-color := $color-grey\n$radio-icon-color := $color-light-grey-s\n/// selected\n$radio-selected-icon-color := $color-white\n$radio-selected-icon-bgc := $color-orange\n/// disabled\n$radio-disabled-icon-bgc := $color-light-grey-ss\n// radio hollow\n$radio-hollow-selected-icon-color := $color-orange\n$radio-hollow-disabled-icon-color := $color-light-grey-ss\n\n//checker\n$checker-item-color := $color-grey\n$checker-item-bdc := $color-light-grey-sss\n$checker-item-bgc := $color-white\n$checker-item-active-color := $color-orange\n$checker-item-active-bdc := $color-orange\n$checker-item-active-bgc := $color-light-orange-opacity\n$checker-item-disabled-color := $color-light-grey-s\n$checker-item-disabled-bdc := $color-light-grey-s\n$checker-item-disabled-bgc := $color-light-grey-ss\n\n// dialog\n$dialog-color := $color-grey\n$dialog-bgc := $color-white\n$dialog-icon-color := $color-regular-blue\n$dialog-icon-bgc := $color-background\n$dialog-title-color := $color-dark-grey\n$dialog-close-color := $color-light-grey\n$dialog-btn-color := $color-light-grey\n$dialog-btn-bgc := $color-white\n$dialog-btn-active-bgc := $color-light-grey-opacity\n$dialog-btn-highlight-color := $color-orange\n$dialog-btn-highlight-active-bgc := $color-light-orange-opacity\n$dialog-btn-disabled-color := $color-light-grey\n$dialog-btn-disabled-active-bgc := transparent\n$dialog-btns-split-color := $color-row-line\n\n// index-list\n$index-list-bgc := $color-white\n$index-list-title-color := $color-dark-grey\n$index-list-anchor-color := $color-light-grey\n$index-list-anchor-bgc := #f7f7f7\n$index-list-item-color := $color-dark-grey\n$index-list-item-active-bgc := $color-light-grey-opacity\n$index-list-nav-color := $color-grey\n$index-list-nav-active-color := $color-orange\n\n// loading\n\n// picker\n$picker-bgc := $color-white\n$picker-title-color := $color-dark-grey\n$picker-subtitle-color := $color-light-grey\n$picker-confirm-btn-color := $color-orange\n$picker-confirm-btn-active-color := $color-light-orange\n$picker-cancel-btn-color := $color-light-grey\n$picker-cancel-btn-active-color := $color-light-grey-s\n$picker-item-color := $color-dark-grey\n\n// popup\n$popup-mask-bgc := rgb(37, 38, 45)\n$popup-mask-opacity := .4\n\n//scroll\n\n// slide\n$slide-dot-bgc := $color-light-grey-s\n$slide-dot-active-bgc := $color-orange\n\n// time-picker\n\n// tip\n$tip-color := $color-white\n$tip-bgc := $color-dark-grey-opacity\n\n// toast\n$toast-color := $color-light-grey-s\n$toast-bgc := rgba(37, 38, 45, 0.9)\n\n// upload\n$upload-btn-color := $color-grey\n$upload-btn-bgc := $color-white\n$upload-btn-active-bgc := $color-light-grey-opacity\n$upload-btn-box-shadow := 0 0 6px 2px $color-grey-opacity\n$upload-btn-border-color := #e5e5e5\n$upload-file-bgc := $color-white\n$upload-file-remove-color := rgba(0, 0, 0, .8)\n$upload-file-remove-bgc := $color-white\n$upload-file-state-bgc := $color-mask-bg\n$upload-file-success-color := $color-orange\n$upload-file-error-color := #f43530\n$upload-file-status-bgc := $color-white\n$upload-file-progress-color := $color-white\n\n// switch\n$switch-on-bgc := $color-orange\n$switch-off-bgc := $color-white\n$switch-off-border-color := #e4e4e4\n\n// input\n$input-color := $color-grey\n$input-bgc := $color-white\n$input-border-color := $color-row-line\n$input-focus-border-color := $color-orange\n$input-placeholder-color := $color-light-grey-s\n$input-clear-icon-color := $color-light-grey\n\n//textarea\n$textarea-color := $color-grey\n$textarea-bgc := $color-white\n$textarea-border-color := $color-row-line\n$textarea-focus-border-color := $color-orange\n$textarea-outline-color := $color-orange\n$textarea-placeholder-color := $color-light-grey-s\n$textarea-indicator-color := $color-light-grey-s\n\n// validator\n$validator-msg-def-color := #e64340\n\n// select\n$select-color := $color-grey\n$select-bgc := $color-white\n$select-disabled-color := #b8b8b8\n$select-disabled-bgc := $color-light-grey-opacity\n$select-border-color := $color-light-grey-s\n$select-border-active-color := $color-orange\n$select-icon-color := $color-light-grey\n$select-placeholder-color := $color-light-grey-s\n\n// swipe\n$swipe-btn-color := $color-white\n\n// form\n$form-color := $color-grey\n$form-bgc := $color-white\n$form-invalid-color := #e64340\n$form-group-legend-color := $color-light-grey\n$form-group-legend-bgc := $color-background\n$form-label-required-color := #e64340\n\n// drawer\n$drawer-color := $color-dark-grey\n$drawer-title-bdc := $color-light-grey-ss\n$drawer-title-bgc := $color-white\n$drawer-panel-bgc := $color-white\n$drawer-item-active-bgc := $color-light-grey-opacity\n\n// scroll-nav\n$scroll-nav-bgc := $color-white\n$scroll-nav-color := $color-grey\n$scroll-nav-active-color := $color-orange\n\n// image-preview\n$image-preview-counter-color := $color-white\n\n// tab-bar & tab-panel\n$tab-color := $color-grey\n$tab-active-color := $color-dark-orange\n$tab-slider-bgc := $color-dark-orange\n"
  },
  {
    "path": "src/common/stylus/var/box-shadow.styl",
    "content": "// box-shadow\n\n$box-shadow-content = 0 1px 3px rgba(0, 0, 0, .1)\n"
  },
  {
    "path": "src/common/stylus/var/color.styl",
    "content": "// color vars\n//// basic\n$color-orange = #fc9153\n$color-regular-blue = #4a4c5b\n$color-background = #f3f4f5\n$color-white = #fff\n\n//// gray\n$color-dark-grey = #333\n$color-grey = #666\n$color-light-grey = #999\n$color-light-grey-s = #ccc\n$color-light-grey-ss = #eee\n$color-light-grey-sss = #fcfcfc\n$color-active-grey = #e8e8e8\n\n$color-dark-grey-opacity = rgba(74, 76, 91, 0.8)\n$color-grey-opacity = rgba(0, 0, 0, .08)\n$color-light-grey-opacity = rgba(0, 0, 0, .04)\n\n//// orange\n$color-dark-orange = #e8864c\n$color-light-orange = #fdc2a5\n$color-orange-opacity = rgba(252, 145, 83, .08)\n$color-light-orange-opacity = rgba(252, 145, 83, .04)\n\n//// blue\n$color-blue = #444654\n\n//// row line\n$color-row-line = #ebebeb\n//// column line\n$color-col-line = #f5f5f5\n\n/// mask\n$color-mask-bg = rgba(37, 38, 45, .4)\n"
  },
  {
    "path": "src/common/stylus/var/size.styl",
    "content": "// font-size vars\n$fontsize-large-xxxx = 30px\n$fontsize-large-xxx = 24px\n$fontsize-large-xx = 20px\n$fontsize-large-x = 18px\n$fontsize-large = 16px\n$fontsize-medium = 14px\n$fontsize-small = 12px\n$fontsize-small-s = 10px\n\n// radius-size\n$radius-size-medium = 5px\n"
  },
  {
    "path": "src/common/stylus/variable.styl",
    "content": "@require \"./var/color.styl\"\n@require \"./var/size.styl\"\n@require \"./var/box-shadow.styl\"\n@require \"./theme/default.styl\"\n"
  },
  {
    "path": "src/components/action-sheet/action-sheet.vue",
    "content": "<template>\n  <transition name=\"cube-action-sheet-fade\">\n    <cube-popup\n      type=\"action-sheet\"\n      :class=\"{'cube-action-sheet_picker': pickerStyle}\"\n      :center=\"false\"\n      :mask=\"true\"\n      :z-index=\"zIndex\"\n      v-show=\"isVisible\"\n      @mask-click=\"maskClick\">\n      <transition name=\"cube-action-sheet-move\">\n        <div class=\"cube-action-sheet-panel cube-safe-area-pb\" v-show=\"isVisible\" @click.stop>\n          <h1 class=\"cube-action-sheet-title border-bottom-1px\" v-show=\"pickerStyle || title\">{{title}}</h1>\n          <div class=\"cube-action-sheet-content\">\n            <ul class=\"cube-action-sheet-list\">\n              <li\n                class=\"cube-action-sheet-item border-bottom-1px\"\n                v-for=\"(item, index) in data\"\n                :data-align=\"item.align\"\n                :class=\"[\n                  item.class || '',\n                  index === active ? 'cube-action-sheet-item_active': ''\n                ]\"\n                v-html=\"item.content\"\n                @click=\"itemClick(item, index)\"></li>\n            </ul>\n          </div>\n          <div class=\"cube-action-sheet-space\"></div>\n          <div class=\"cube-action-sheet-cancel\" @click=\"cancel\"><span>{{_cancelTxt}}</span></div>\n        </div>\n      </transition>\n    </cube-popup>\n  </transition>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePopup from '../popup/popup.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import localeMixin from '../../common/mixins/locale'\n\n  const COMPONENT_NAME = 'cube-action-sheet'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, localeMixin],\n    props: {\n      data: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      active: {\n        type: Number,\n        default: -1\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      pickerStyle: {\n        type: Boolean,\n        default: false\n      },\n      maskClosable: {\n        type: Boolean,\n        default: true\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      _cancelTxt () {\n        return this.cancelTxt || this.$t('cancel')\n      }\n    },\n    methods: {\n      maskClick() {\n        this.maskClosable && this.cancel()\n      },\n      cancel() {\n        this.hide()\n        this.$emit(EVENT_CANCEL)\n      },\n      itemClick(item, index) {\n        this.hide()\n        this.$emit(EVENT_SELECT, item, index)\n      }\n    },\n    components: {\n      CubePopup\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/mixin.styl\"\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-action-sheet-fade-enter, .cube-action-sheet-fade-leave-active\n    opacity: 0\n  .cube-action-sheet-fade-enter-active, .cube-action-sheet-fade-leave-active\n    transition: all .3s ease-in-out\n\n  .cube-action-sheet-panel\n    text-align: center\n    font-size: $fontsize-medium\n    background-color: $action-sheet-bgc\n  .cube-action-sheet-move-enter, .cube-action-sheet-move-leave-active\n    transform: translate3d(0, 100%, 0)\n  .cube-action-sheet-move-enter-active, .cube-action-sheet-move-leave-active\n    transition: all .3s ease-in-out\n  .cube-action-sheet-cancel\n    background-color: $action-sheet-bgc\n  .cube-action-sheet-cancel span, .cube-action-sheet-title, .cube-action-sheet-item\n    display: block\n    padding: 17px 16px\n    margin: 0\n    text-align: center\n    overflow: hidden\n    white-space: nowrap\n    font-size: $fontsize-large\n    font-weight: normal\n    line-height: 1\n    color: $action-sheet-color\n    background-color: $action-sheet-bgc\n\n  .cube-action-sheet-cancel span, .cube-action-sheet-item\n    &:active\n      background-color: $action-sheet-active-bgc\n\n  .cube-action-sheet-title\n    padding-top: 16px\n    padding-bottom: 16px\n    color: $action-sheet-title-color\n    font-size: $fontsize-large-x\n\n  .cube-action-sheet-content\n    overflow: hidden\n    background: $action-sheet-bgc\n\n  .cube-action-sheet-list\n    list-style: none\n\n  .cube-action-sheet-item\n    list-style: none\n    user-select: none\n    &:last-of-type\n      border-none()\n    &[data-align=\"left\"]\n      text-align: left\n    &[data-align=\"right\"]\n      text-align: right\n\n  .cube-action-sheet-space\n    height: 6px\n    background-color: $action-sheet-space-bgc\n\n  .cube-action-sheet-item_active\n    color: $action-sheet-active-color\n\n  .cube-action-sheet_picker\n    .cube-action-sheet-space\n      height: 0\n    .cube-action-sheet-title\n      height: 1em\n      padding-top: 21px\n      padding-bottom: 21px\n\n    .cube-action-sheet-cancel\n      position: absolute\n      top: 0\n      background-color: transparent\n      span\n        padding-top: 23px\n        padding-bottom: 23px\n        color: $action-sheet-picker-cancel-color\n        font-size: $fontsize-medium\n        background-color: transparent\n        &:active\n          color: $action-sheet-picker-cancel-active-color\n          background-color: transparent\n</style>\n"
  },
  {
    "path": "src/components/bubble/bubble.vue",
    "content": "<template>\n  <canvas ref=\"bubble\" :width=\"width\" :height=\"height\" :style=\"style\"></canvas>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  export default {\n    props: {\n      y: {\n        type: Number,\n        default: 0\n      }\n    },\n    data() {\n      return {\n        width: 50,\n        height: 80\n      }\n    },\n    computed: {\n      distance() {\n        return Math.max(0, Math.min(this.y * this.ratio, this.maxDistance))\n      },\n      style() {\n        return `width:${this.width / this.ratio}px;height:${this.height / this.ratio}px`\n      }\n    },\n    mounted() {\n      this.ratio = window.devicePixelRatio\n      this.width *= this.ratio\n      this.height *= this.ratio\n      this.initRadius = 18 * this.ratio\n      this.minHeadRadius = 12 * this.ratio\n      this.minTailRadius = 5 * this.ratio\n      this.initArrowRadius = 10 * this.ratio\n      this.minArrowRadius = 6 * this.ratio\n      this.arrowWidth = 3 * this.ratio\n      this.maxDistance = 40 * this.ratio\n      this.initCenterX = 25 * this.ratio\n      this.initCenterY = 25 * this.ratio\n      this.headCenter = {\n        x: this.initCenterX,\n        y: this.initCenterY\n      }\n      this._draw()\n    },\n    methods: {\n      _draw() {\n        const bubble = this.$refs.bubble\n        let ctx = bubble.getContext('2d')\n        ctx.clearRect(0, 0, bubble.width, bubble.height)\n\n        this._drawBubble(ctx)\n\n        this._drawArrow(ctx)\n      },\n      _drawBubble(ctx) {\n        ctx.save()\n        ctx.beginPath()\n\n        const rate = this.distance / this.maxDistance\n        const headRadius = this.initRadius - (this.initRadius - this.minHeadRadius) * rate\n\n        this.headCenter.y = this.initCenterY - (this.initRadius - this.minHeadRadius) * rate\n\n        // upper semicircle\n        ctx.arc(this.headCenter.x, this.headCenter.y, headRadius, 0, Math.PI, true)\n\n        // left bessel\n        const tailRadius = this.initRadius - (this.initRadius - this.minTailRadius) * rate\n        const tailCenter = {\n          x: this.headCenter.x,\n          y: this.headCenter.y + this.distance\n        }\n\n        const tailPointL = {\n          x: tailCenter.x - tailRadius,\n          y: tailCenter.y\n        }\n        const controlPointL = {\n          x: tailPointL.x,\n          y: tailPointL.y - this.distance / 2\n        }\n\n        ctx.quadraticCurveTo(controlPointL.x, controlPointL.y, tailPointL.x, tailPointL.y)\n\n        // lower semicircle\n        ctx.arc(tailCenter.x, tailCenter.y, tailRadius, Math.PI, 0, true)\n\n        // right bessel\n        const headPointR = {\n          x: this.headCenter.x + headRadius,\n          y: this.headCenter.y\n        }\n        const controlPointR = {\n          x: tailCenter.x + tailRadius,\n          y: headPointR.y + this.distance / 2\n        }\n        ctx.quadraticCurveTo(controlPointR.x, controlPointR.y, headPointR.x, headPointR.y)\n\n        ctx.fillStyle = 'rgb(170,170,170)'\n        ctx.fill()\n        ctx.strokeStyle = 'rgb(153,153,153)'\n        ctx.stroke()\n        ctx.restore()\n      },\n      _drawArrow(ctx) {\n        ctx.save()\n        ctx.beginPath()\n\n        const rate = this.distance / this.maxDistance\n        const arrowRadius = this.initArrowRadius - (this.initArrowRadius - this.minArrowRadius) * rate\n\n        // inner circle\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius - (this.arrowWidth - rate), -Math.PI / 2, 0, true)\n\n        // outer circle\n        ctx.arc(this.headCenter.x, this.headCenter.y, arrowRadius, 0, Math.PI * 3 / 2, false)\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius - this.arrowWidth / 2 + rate)\n        ctx.lineTo(this.headCenter.x + this.arrowWidth * 2 - rate * 2, this.headCenter.y - arrowRadius + this.arrowWidth / 2)\n\n        ctx.lineTo(this.headCenter.x, this.headCenter.y - arrowRadius + this.arrowWidth * 3 / 2 - rate)\n\n        ctx.fillStyle = 'rgb(255,255,255)'\n        ctx.fill()\n        ctx.strokeStyle = 'rgb(170,170,170)'\n        ctx.stroke()\n        ctx.restore()\n      }\n    },\n    watch: {\n      y() {\n        this._draw()\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/button/button.vue",
    "content": "<template>\n  <button\n    class=\"cube-btn\"\n    :type=\"type\"\n    :class=\"btnClass\"\n    @click=\"handleClick\">\n    <i :class=\"icon\" v-if=\"icon\"></i>\n    <slot></slot>\n  </button>\n</template>\n\n<script>\n  const COMPONENT_NAME = 'cube-button'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      icon: {\n        type: String,\n        default: ''\n      },\n      active: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      primary: {\n        type: Boolean,\n        default: false\n      },\n      outline: {\n        type: Boolean,\n        default: false\n      },\n      light: {\n        type: Boolean,\n        default: false\n      },\n      type: {\n        type: String,\n        default: 'button'\n      }\n    },\n    computed: {\n      btnClass() {\n        return {\n          'cube-btn_active': this.active,\n          'cube-btn_disabled': this.disabled,\n          'cube-btn-inline': this.inline,\n          'cube-btn-primary': this.primary,\n          'cube-btn-outline': this.outline,\n          'cube-btn-outline-primary': this.outline && this.primary,\n          'cube-btn-light': this.light\n        }\n      }\n    },\n    methods: {\n      handleClick(event) {\n        if (this.disabled) {\n          event.preventDefault()\n          event.stopPropagation()\n          return\n        }\n        this.$emit('click', event)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n  btn-active($bg, $border = null)\n    &.cube-btn_active, &:active\n      background: $bg\n      if $border != null\n        border-1px($border)\n\n  .cube-btn\n    display: block\n    margin: 0\n    padding: 17px 16px\n    width: 100%\n    text-align: center\n    white-space: nowrap\n    cursor: pointer\n    font-size: $fontsize-large\n    line-height: 1\n    color: $btn-color\n    background: $btn-bgc\n    outline: none\n    border: none\n    border-radius: 2px\n    box-sizing: border-box\n    -webkit-tap-highlight-color: transparent\n    btn-active($btn-active-bgc)\n    > i\n      display: inline-block\n      margin-right: 4px\n      font-size: 100%\n      transform: scale(1.13)\n      transform-origin: right center\n\n  .cube-btn-inline\n    width: auto\n    display: inline-block\n    vertical-align: middle\n    padding: 9px 10px\n    font-size: $fontsize-small\n    > i\n      margin-right: 2px\n      transform: scale(1.14)\n\n  .cube-btn-primary\n    color: $btn-primary-color\n    background: $btn-primary-bgc\n    btn-active($btn-primary-active-bgc)\n\n  .cube-btn-light\n    color: $btn-light-color\n    background: $btn-light-bgc\n    box-shadow: $box-shadow-content\n    btn-active($btn-light-active-bgc)\n\n  .cube-btn-outline\n    color: $btn-outline-color\n    background: $btn-outline-bgc\n    border-1px($btn-outline-bdc)\n    btn-active($btn-outline-active-bgc, $btn-outline-active-bdc)\n\n  .cube-btn-outline-primary\n    color: $btn-outline-primary-color\n    background: $btn-outline-primary-bgc\n    border-1px($btn-outline-primary-bdc)\n    btn-active($btn-outline-primary-active-bgc, $btn-outline-primary-active-bdc)\n\n  .cube-btn_disabled\n    color: $btn-disabled-color\n    background: $btn-disabled-bgc\n    border-1px($btn-disabled-bdc)\n    btn-active($btn-disabled-bgc, $btn-disabled-bdc)\n</style>\n"
  },
  {
    "path": "src/components/cascade-picker/cascade-picker.vue",
    "content": "<template>\n  <cube-picker\n    ref=\"picker\"\n    v-model=\"isVisible\"\n    :data=\"pickerData\"\n    :selected-index=\"pickerSelectedIndex\"\n    :pending=\"pending\"\n    :title=\"title\"\n    :subtitle=\"subtitle\"\n    :z-index=\"zIndex\"\n    :cancel-txt=\"_cancelTxt\"\n    :confirm-txt=\"_confirmTxt\"\n    :swipe-time=\"swipeTime\"\n    :mask-closable=\"maskClosable\"\n    @select=\"_pickerSelect\"\n    @cancel=\"_pickerCancel\"\n    @change=\"_pickerChange\">\n  </cube-picker>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePicker from '../picker/picker.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import basicPickerMixin from '../../common/mixins/basic-picker'\n  import pickerMixin from '../../common/mixins/picker'\n  import localeMixin from '../../common/mixins/locale'\n\n  const COMPONENT_NAME = 'cube-cascade-picker'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n  const EVENT_CHANGE = 'change'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, basicPickerMixin, pickerMixin, localeMixin],\n    props: {\n      async: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data () {\n      return {\n        cascadeData: this.data.slice(),\n        pickerSelectedIndex: this.selectedIndex.slice(),\n        pickerData: [],\n        pending: false\n      }\n    },\n    created() {\n      this._updatePickerData()\n    },\n    methods: {\n      setData(data, selectedIndex = []) {\n        this.pending = false\n        this.cascadeData = data.slice()\n        this.pickerSelectedIndex = selectedIndex.slice()\n        this._updatePickerData()\n      },\n      _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, selectedVal, selectedIndex, selectedText)\n      },\n      _pickerCancel() {\n        this.$emit(EVENT_CANCEL)\n      },\n      _pickerChange(i, newIndex) {\n        if (newIndex !== this.pickerSelectedIndex[i]) {\n          this.pickerSelectedIndex.splice(i, 1, newIndex)\n          this.async\n            ? (this.pending = i !== this.pickerData.length - 1)\n            : this._updatePickerData(i + 1)\n        }\n        this.$emit(EVENT_CHANGE, i, newIndex)\n      },\n      _updatePickerData(fromColumn = 0) {\n        let data = this.cascadeData\n        let i = 0\n        while (data) {\n          if (i >= fromColumn) {\n            let columnData = []\n            data.forEach((item) => {\n              columnData.push({\n                value: item[this.valueKey],\n                text: item[this.textKey],\n                order: item[this.orderKey]\n              })\n            })\n            this.pickerData[i] = columnData\n            /* refillColumn could only be called after show() */\n            this.pickerSelectedIndex[i] = fromColumn === 0\n              ? (this.pickerSelectedIndex[i] < data.length ? this.pickerSelectedIndex[i] || 0 : 0)\n              : this.$refs.picker.refillColumn(i, columnData)\n          }\n          data = data.length ? data[this.pickerSelectedIndex[i]].children : null\n\n          i++\n        }\n\n        if (i < this.pickerData.length) {\n          this.pickerData.splice(i, this.pickerData.length - i)\n        }\n\n        this.pickerData = this.pickerData.slice()\n      }\n    },\n    components: {\n      CubePicker\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/checkbox/checkbox.vue",
    "content": "<template>\n  <div class=\"cube-checkbox\" :class=\"_containerClass\" :data-pos=\"position\">\n    <label class=\"cube-checkbox-wrap\" :class=\"_wrapClass\">\n      <input class=\"cube-checkbox-input\" type=\"checkbox\" :disabled=\"computedOption.disabled\" v-model=\"checkValue\">\n      <span class=\"cube-checkbox-ui\" :class=\"_borderIconClass\">\n        <i :class=\"_rightIconClass\"></i>\n      </span>\n      <span class=\"cube-checkbox-label\">\n        <slot>{{computedOption.label}}</slot>\n      </span>\n    </label>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-checkbox'\n\n  const EVENT_INPUT = 'input'\n  const EVENT_CHECKED = 'checked'\n  const EVENT_CANCLE_CHECKED = 'cancel-checked'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [Boolean, String]\n      },\n      label: {\n        type: [Boolean, String]\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      option: {\n        type: [Boolean, String, Object],\n        default () {\n          return {\n            _def_option: true\n          }\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data () {\n      const parent = this.$parent\n      const isInGroup = parent.$data._checkboxGroup\n      const isInHorizontalGroup = isInGroup && (parent.$props.horizontal || parent.$props.colNum > 1)\n      return {\n        isInGroup,\n        isInHorizontalGroup\n      }\n    },\n    computed: {\n      computedOption() {\n        let option = this.option\n        const label = this.label\n        const disabled = this.disabled\n        if (option._def_option === true) {\n          option = {\n            label,\n            value: label,\n            disabled\n          }\n        } else if (typeof option === 'string') {\n          option = {\n            label: option,\n            value: option,\n            disabled: false\n          }\n        }\n        return option\n      },\n      checkValue: {\n        get () {\n          if (this.isInGroup) {\n            return this.$parent.value.indexOf(this.computedOption.value) > -1\n          } else {\n            return Boolean(this.value)\n          }\n        },\n        set (newValue) {\n          const value = this.computedOption.value\n          const emitValue = value && newValue ? value : newValue\n          this.$emit(EVENT_INPUT, emitValue)\n          if (this.isInGroup) {\n            // fix a bug when checkboxgroup set the min props\n            newValue = !this.checkValue\n            const parentEmitEvent = newValue ? EVENT_CHECKED : EVENT_CANCLE_CHECKED\n            this.$parent.$emit(parentEmitEvent, value || newValue)\n          }\n        }\n      },\n      _containerClass() {\n        return {\n          'cube-checkbox-hollow': this.hollowStyle,\n          'cube-checkbox_checked': this.checkValue,\n          'cube-checkbox_disabled': this.computedOption.disabled,\n          'border-right-1px': this.isInHorizontalGroup\n        }\n      },\n      _wrapClass() {\n        if (this.isInGroup && !this.isInHorizontalGroup) {\n          return 'border-bottom-1px'\n        }\n      },\n      isSquare() {\n        return this.shape === 'square' || this.hollowStyle\n      },\n      _borderIconClass() {\n        return this.isSquare ? 'cubeic-square-border' : 'cubeic-round-border'\n      },\n      _rightIconClass() {\n        return this.isSquare ? 'cubeic-square-right' : 'cubeic-right'\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  $ui-width = 1.42em\n  .cube-checkbox\n    position: relative\n    padding: 0 16px\n    text-align: left\n    font-size: 100%\n    color: $checkbox-color\n    &[data-pos=\"right\"]\n      .cube-checkbox-ui\n        margin-right: 0\n        position: absolute\n        right: 0\n      .cube-checkbox-label\n        margin-right: $ui-width\n  .cube-checkbox-wrap\n    position: relative\n    display: flex\n    align-items: center\n    box-sizing: border-box\n    width: 100%\n    height: 100%\n    padding: 11px 0\n    line-height: 1.5\n    word-break: break-word\n    word-wrap: break-word\n  .cube-checkbox-input\n    z-index: 1\n    position: absolute\n    top: 0\n    left: 0\n    width: 100%\n    height: 100%\n    opacity: 0\n  .cube-checkbox-ui\n    position: relative\n    width: 1em\n    height: 1em\n    margin-right: $ui-width - 1em\n    line-height: 1\n    border-radius: 50%\n    &.cubeic-square-border\n      border-radius: 2px\n    &::before, i\n      transition: all .2s\n    &::before\n      color: $checkbox-icon-color\n      display: inline-block\n      transform: scale(1.24)\n    i\n      position: absolute\n      top: 0\n      left: 0\n      color: transparent\n      transform: scale(.4)\n  .cube-checkbox_checked\n    .cube-checkbox-ui\n      &::before\n        color: transparent\n      i\n        color: $checkbox-checked-icon-color\n        transform: scale(1.23)\n  .cube-checkbox_disabled\n    .cube-checkbox-ui\n      background-color: $checkbox-disabled-icon-bgc\n      &::before, i\n        transition: none\n      &::before\n        color: transparent\n      i\n        color: $checkbox-disabled-icon-color\n  .cube-checkbox_checked.cube-checkbox_disabled\n    .cube-checkbox-ui\n      background-color: $checkbox-checked-icon-bgc\n  .cube-checkbox-hollow\n    i\n      width: 100%\n      height: 100%\n      &::before\n        content: \"\"\n        position: absolute\n        top: 50%\n        left: 50%\n        width: 50%\n        height: 50%\n        transform: translate(-50%, -50%)\n        background-color: currentColor\n        border-radius: 2px\n    &.cube-checkbox_checked\n      .cube-checkbox-ui\n        &::before\n          color: $checkbox-hollow-checked-icon-color\n        i\n          transform: scale(1)\n          color: $checkbox-hollow-checked-icon-color\n    &.cube-checkbox_disabled\n      .cube-checkbox-ui\n        background-color: transparent\n        &::before\n          color: $checkbox-hollow-disabled-icon-color\n        i\n          transform: scale(1)\n          color: transparent\n      &.cube-checkbox_checked\n        .cube-checkbox-ui\n          i\n            color: $checkbox-hollow-disabled-icon-color\n</style>\n"
  },
  {
    "path": "src/components/checkbox-group/checkbox-group.vue",
    "content": "<template>\n  <div class=\"cube-checkbox-group\" ref=\"group\" :class=\"groupClass\" :data-horz=\"horizontal\" :data-col=\"colNum > 1\">\n    <slot>\n      <cube-checkbox\n        v-for=\"(option, index) in options\"\n        :key=\"index\"\n        :option=\"option\"\n        :shape=\"shape\"\n        :position=\"position\"\n        :hollow-style=\"hollowStyle\"\n      />\n    </slot>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import CubeCheckbox from '../checkbox/checkbox.vue'\n  import groupCol from '../../common/mixins/group-col'\n\n  const COMPONENT_NAME = 'cube-checkbox-group'\n  const EVENT_INPUT = 'input'\n  const EVENT_CHECKED = 'checked'\n  const EVENT_CANCLE_CHECKED = 'cancel-checked'\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [groupCol],\n    props: {\n      value: {\n        type: Array\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      shape: {\n        type: String,\n        default: 'circle'\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      },\n      options: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: Infinity\n      }\n    },\n    data () {\n      return {\n        _value: [],\n        _checkboxGroup: true\n      }\n    },\n    computed: {\n      groupClass() {\n        if (!this.horizontal || this.colNum > 1) {\n          return 'border-top-1px border-bottom-1px'\n        }\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler (newValue, oldValue) {\n          this._value = this.value.concat()\n        }\n      }\n    },\n    mounted () {\n      this.$on(EVENT_CHECKED, (value) => {\n        if (this._value.length < this.max && this._value.indexOf(value) === -1) {\n          this._value.push(value)\n        }\n        this.$emit(EVENT_INPUT, this._value)\n      })\n      this.$on(EVENT_CANCLE_CHECKED, (value) => {\n        const index = this._value.indexOf(value)\n        if (this._value.length > this.min && index > -1) {\n          this._value.splice(index, 1)\n        }\n        this.$emit(EVENT_INPUT, this._value)\n      })\n    },\n    components: {\n      CubeCheckbox\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-checkbox-group\n    z-index: 1\n    overflow: hidden\n    background-color: $checkbox-group-bgc\n    .cube-checkbox\n      &:last-child\n        .cube-checkbox-wrap\n          border-none()\n  .cube-checkbox-group[data-horz=\"true\"],\n  .cube-checkbox-group[data-col=\"true\"]\n    display: flex\n    padding-left: 0\n    border-1px($checkbox-group-horizontal-bdc, 2px)\n    border-radius: 2px\n    .cube-checkbox\n      flex-fix()\n      text-align: center\n      padding-left: 10px\n      padding-right: 10px\n      &::after\n        border-color: $checkbox-group-horizontal-bdc\n      &:last-child\n        border-none()\n      &[data-pos=\"right\"]\n        .cube-checkbox-ui\n          position: relative\n          margin-left: .42em\n          order: 1\n        .cube-checkbox-label\n          margin-right: 0\n    .cube-checkbox-wrap\n      justify-content: center\n.cube-checkbox-group[data-col=\"true\"]\n    flex-wrap: wrap\n    .cube-checkbox\n      flex: 0 0 auto\n      box-sizing: border-box\n      &::after\n        display: none\n</style>\n"
  },
  {
    "path": "src/components/checker/checker-item.vue",
    "content": "<template>\n  <li\n    class=\"cube-checker-item\"\n    :class=\"{'cube-checker-item_active': isActive, 'cube-checker-item_disabled': isDisabled}\"\n    @click=\"clickHandler\"\n  >\n    <slot>\n      <span v-html=\"option.text\"></span>\n    </slot>\n  </li>\n</template>\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-checker-item'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      option: {\n        type: Object,\n        default() {\n          /* istanbul ignore next */\n          return {}\n        }\n      }\n    },\n    computed: {\n      isActive() {\n        const isRadio = this.$parent.isRadio\n        const currentValue = this.$parent.currentValue\n        const value = this.option.value\n        return isRadio ? currentValue === value : currentValue.indexOf(value) >= 0\n      },\n      isDisabled() {\n        return this.option.disabled\n      }\n    },\n    methods: {\n      clickHandler() {\n        if (this.isDisabled) {\n          return\n        }\n        this.$parent.check(this.option)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n  .cube-checker-item\n    display: inline-block\n    vertical-align: top\n    text-align: center\n    padding: 8px 10px\n    margin-right: 10px\n    color: $checker-item-color\n    background: $checker-item-bgc\n    border-radius: 4px\n    border-1px($checker-item-bdc, 4px)\n  .cube-checker-item_active\n    color: $checker-item-active-color\n    background: $checker-item-active-bgc\n    border-1px($checker-item-active-bdc, 4px)\n    &.cube-checker-item_disabled\n      background: $checker-item-disabled-bgc\n      border-1px($checker-item-disabled-bdc, 4px)\n  .cube-checker-item_disabled\n    color: $checker-item-disabled-color\n</style>\n"
  },
  {
    "path": "src/components/checker/checker.vue",
    "content": "<template>\n  <ul class=\"cube-checker\">\n    <slot>\n      <cube-checker-item\n        v-for=\"(option, index) in options\"\n        :option=\"option\"\n        :key=\"index\" />\n    </slot>\n  </ul>\n</template>\n<script type=\"text/ecmascript-6\">\n  import CubeCheckerItem from './checker-item.vue'\n  const COMPONENT_NAME = 'cube-checker'\n  const EVENT_INPUT = 'input'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      value: [String, Number, Array],\n      options: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      type: {\n        type: String,\n        default: 'checkbox'\n      },\n      min: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default() {\n          return this.options.length\n        }\n      }\n    },\n    data () {\n      return {\n        currentValue: this.value\n      }\n    },\n    computed: {\n      isRadio() {\n        return this.type === 'radio'\n      }\n    },\n    watch: {\n      value (newValue) {\n        this.currentValue = newValue\n      },\n      currentValue (val) {\n        this.$emit(EVENT_INPUT, val)\n      }\n    },\n    methods: {\n      check(option) {\n        if (this.isRadio) {\n          this.checkRadio(option)\n        } else {\n          this.checkCheckbox(option)\n        }\n      },\n      checkRadio(option) {\n        this.currentValue = option.value\n      },\n      checkCheckbox(option) {\n        const value = option.value\n        const currentValue = this.currentValue\n        const valueLen = currentValue.length\n        const min = this.min\n        const max = this.max\n\n        const index = currentValue.indexOf(value)\n\n        if (index > -1) {\n          (valueLen > min) && currentValue.splice(index, 1)\n        } else {\n          (valueLen < max) && currentValue.push(value)\n        }\n      }\n    },\n    components: {\n      CubeCheckerItem\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/date-picker/date-picker.vue",
    "content": "<template>\n  <cube-cascade-picker\n    v-model=\"isVisible\"\n    :data=\"data\"\n    :selected-index=\"selectedIndex\"\n    :title=\"title\"\n    :subtitle=\"subtitle\"\n    :cancel-txt=\"_cancelTxt\"\n    :confirm-txt=\"_confirmTxt\"\n    :swipe-time=\"swipeTime\"\n    :z-index=\"zIndex\"\n    :mask-closable=\"maskClosable\"\n    @select=\"_select\"\n    @cancel=\"_cancel\"\n    @change=\"_change\">\n  </cube-cascade-picker>\n</template>\n\n<script>\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import pickerMixin from '../../common/mixins/picker'\n  import localeMixin from '../../common/mixins/locale'\n  import { deepAssign, findIndex } from '../../common/helpers/util'\n  import { computeNatureMaxDay, formatType } from '../../common/lang/date'\n  import CubeCascadePicker from '../cascade-picker/cascade-picker.vue'\n\n  const COMPONENT_NAME = 'cube-date-picker'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n  const EVENT_CHANGE = 'change'\n\n  const TYPE_LIST = ['year', 'month', 'date', 'hour', 'minute', 'second']\n  const NATURE_BOUNDARY_MAP = {\n    month: {\n      natureMin: 1,\n      natureMax: 12\n    },\n    date: {\n      natureMin: 1,\n      natureMax: 31\n    },\n    hour: {\n      natureMin: 0,\n      natureMax: 23\n    },\n    minute: {\n      natureMin: 0,\n      natureMax: 59\n    },\n    second: {\n      natureMin: 0,\n      natureMax: 59\n    }\n  }\n\n  const DEFAULT_FORMAT = {\n    year: 'YYYY',\n    month: 'M',\n    date: 'D',\n    hour: 'hh',\n    minute: 'mm',\n    second: 'ss'\n  }\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, pickerMixin, localeMixin],\n    components: {\n      CubeCascadePicker\n    },\n    props: {\n      min: {\n        type: [Date, Array],\n        default() {\n          return new Date(2010, 0, 1)\n        }\n      },\n      max: {\n        type: [Date, Array],\n        default() {\n          return [new Date().getFullYear() + 1, 12, 31, 23, 59, 59]\n        }\n      },\n      startColumn: {\n        type: String,\n        default() {\n          return 'year'\n        }\n      },\n      columnCount: {\n        type: Number,\n        default: 3\n      },\n      format: {\n        type: Object,\n        default() {\n          return {}\n        }\n      },\n      value: {\n        type: [Date, Array],\n        default() {\n          return this.min\n        }\n      },\n      columnOrder: {\n        type: Array,\n        default() {\n          return ['year', 'month', 'date', 'hour', 'minute', 'second']\n        }\n      }\n    },\n    computed: {\n      formatConfig() {\n        const formatConfig = Object.assign({}, DEFAULT_FORMAT)\n        deepAssign(formatConfig, this.format)\n\n        return formatConfig\n      },\n      natureRangeCache() {\n        const natureRangeCache = {\n          hour: [],\n          minute: [],\n          second: []\n        }\n\n        Object.keys(natureRangeCache).forEach((key) => {\n          natureRangeCache[key] = this._range(key, NATURE_BOUNDARY_MAP[key].natureMin, NATURE_BOUNDARY_MAP[key].natureMax)\n        })\n\n        return natureRangeCache\n      },\n      startIndex() {\n        const startIndex = TYPE_LIST.indexOf(this.startColumn)\n        return startIndex < 0 ? 0 : startIndex\n      },\n      minArray() {\n        return this.min instanceof Date\n          ? dateToArray(this.min).slice(this.startIndex, this.startIndex + this.columnCount)\n          : this.min\n      },\n      maxArray() {\n        return this.max instanceof Date\n          ? dateToArray(this.max).slice(this.startIndex, this.startIndex + this.columnCount)\n          : this.max\n      },\n      valueArray() {\n        return this.value instanceof Date\n          ? dateToArray(this.value).slice(this.startIndex, this.startIndex + this.columnCount)\n          : this.value\n      },\n      data() {\n        const data = []\n        this._generateData(this.startIndex, 0, data)\n        return data\n      },\n      selectedIndex() {\n        const selectedIndex = []\n        let data = this.data\n        let index\n\n        for (let i = 0; i < this.columnCount && i < 6 - this.startIndex; i++) {\n          index = findIndex(data, (item) => {\n            return this.valueArray[i] && item.value === this.valueArray[i]\n          })\n          selectedIndex[i] = index !== -1 ? index : 0\n          data = data[selectedIndex[i]] && data[selectedIndex[i]].children\n        }\n\n        return selectedIndex\n      }\n    },\n    methods: {\n      _select(selectedVal, selectedIndex, selectedText) {\n        this.$emit(EVENT_SELECT, this._arrayToDate(selectedVal), selectedVal, selectedText)\n      },\n      _cancel() {\n        this.$emit(EVENT_CANCEL)\n      },\n      _change(i, newIndex) {\n        this.$emit(EVENT_CHANGE, i, newIndex)\n      },\n      _generateData(i, count, item) {\n        if (count === 0) {\n          const min = i === 0 ? this.minArray[0] : Math.max(this.minArray[0], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin)\n          const max = i === 0 ? this.maxArray[0] : Math.min(this.maxArray[0], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMax)\n          item.push.apply(item, this._range(TYPE_LIST[i], min, max, true, true))\n        } else {\n          if (i < 3 || item.isMin || item.isMax) {\n            const natureMax = i === 2 ? computeNatureMaxDay(item.value, item.year) : NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMax\n            const min = item.isMin ? Math.max(this.minArray[count], NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin) : NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin\n            const max = item.isMax ? Math.min(this.maxArray[count], natureMax) : natureMax\n\n            const storageYear = i === 1 && this.startIndex === 0 && this.columnCount >= 3 && item.value\n            item.children = this._range(TYPE_LIST[i], min, max, item.isMin, item.isMax, storageYear)\n          } else {\n            item.children = this.natureRangeCache[TYPE_LIST[i]]\n          }\n        }\n        if (count < this.columnCount - 1 && i < 5) {\n          (item.children || item).forEach(subItem => {\n            (!subItem.children || subItem.isMin || subItem.isMax) && this._generateData(i + 1, count + 1, subItem)\n          })\n        }\n      },\n      _arrayToDate(selectedVal) {\n        const args = []\n        const defaultDateArray = dateToArray(new Date(0))\n\n        for (let i = 0; i < 6; i++) {\n          if (i < this.startIndex) {\n            args[i] = defaultDateArray[i]\n          } else if (i >= this.startIndex + this.columnCount) {\n            args[i] = NATURE_BOUNDARY_MAP[TYPE_LIST[i]].natureMin\n          } else {\n            args[i] = selectedVal[i - this.startIndex]\n          }\n        }\n        // Month need to subtract 1.\n        args[1]--\n\n        return new Date(...args)\n      },\n      _range(type, min, max, fatherIsMin, fatherIsMax, year = 0) {\n        if (!this._rangeCache) {\n          this._rangeCache = {}\n        }\n        const k = type + year + min + max + fatherIsMin + fatherIsMax\n        if (this._rangeCache[k]) {\n          return this._rangeCache[k]\n        }\n        const arr = []\n        const format = this.formatConfig[type]\n        for (let i = min; i <= max; i++) {\n          const object = {\n            text: formatType(type, format, i, 'i'),\n            value: i,\n            order: this.columnOrder.indexOf(type)\n          }\n\n          if (fatherIsMin && i === min) object.isMin = true\n          if (fatherIsMax && i === max) object.isMax = true\n          if (year) object.year = year\n\n          arr.push(object)\n        }\n        this._rangeCache[k] = arr\n        return arr\n      }\n    }\n  }\n\n  function dateToArray(date) {\n    return [date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()]\n  }\n</script>\n"
  },
  {
    "path": "src/components/dialog/dialog.vue",
    "content": "<template>\n  <transition name=\"cube-dialog-fade\">\n    <cube-popup\n      type=\"dialog\"\n      :z-index=\"zIndex\"\n      :mask=\"true\"\n      :center=\"true\"\n      v-show=\"isVisible\"\n      @mask-click=\"maskClick\"\n      >\n      <div class=\"cube-dialog-main\">\n        <span class=\"cube-dialog-close\" v-show=\"showClose\" @click=\"close\"><i class=\"cubeic-close\"></i></span>\n        <div :class=\"containerClass\">\n          <p class=\"cube-dialog-icon\" v-if=\"icon\"><i :class=\"icon\"></i></p>\n          <h2 v-if=\"title || $slots.title\" class=\"cube-dialog-title\">\n            <slot name=\"title\">\n              <p class=\"cube-dialog-title-def\">{{title}}</p>\n            </slot>\n          </h2>\n          <div class=\"cube-dialog-content\">\n            <slot name=\"content\">\n              <div class=\"cube-dialog-content-def\">\n                <p v-html=\"content\" v-if=\"content\"></p>\n                <cube-input v-bind=\"prompt\" v-model=\"promptValue\" v-if=\"isPrompt\" />\n              </div>\n            </slot>\n          </div>\n          <div class=\"cube-dialog-btns\" :class=\"{'border-right-1px': isConfirm || isPrompt}\">\n            <slot name=\"btns\">\n              <a :href=\"_cancelBtn.href\" class=\"cube-dialog-btn border-top-1px\" :class=\"{'cube-dialog-btn_highlight': _cancelBtn.active, 'cube-dialog-btn_disabled': _cancelBtn.disabled}\" v-if=\"isConfirm || isPrompt\" @click=\"cancel\">{{_cancelBtn.text}}</a>\n              <a :href=\"_confirmBtn.href\" class=\"cube-dialog-btn border-top-1px\" :class=\"{'cube-dialog-btn_highlight': _confirmBtn.active, 'cube-dialog-btn_disabled': _confirmBtn.disabled}\" @click=\"confirm\">{{_confirmBtn.text}}</a>\n            </slot>\n          </div>\n        </div>\n      </div>\n    </cube-popup>\n  </transition>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubePopup from '../popup/popup.vue'\n  import CubeInput from '../input/input.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import localeMixin from '../../common/mixins/locale'\n\n  const COMPONENT_NAME = 'cube-dialog'\n  const EVENT_CONFIRM = 'confirm'\n  const EVENT_CANCEL = 'cancel'\n  const EVENT_CLOSE = 'close'\n\n  const defHref = 'javascript:;'\n  const defConfirmBtn = {\n    textType: 'ok',\n    active: true,\n    disabled: false,\n    href: defHref\n  }\n  const defCancelBtn = {\n    textType: 'cancel',\n    active: false,\n    disabled: false,\n    href: defHref\n  }\n  const parseBtn = function (btn, defBtn) {\n    if (typeof btn === 'string') {\n      btn = {\n        text: btn\n      }\n    }\n    const text = defBtn && this.$t(defBtn.textType)\n    return Object.assign({}, defBtn, { text }, btn)\n  }\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, localeMixin],\n    props: {\n      type: {\n        type: String,\n        default: 'alert'\n      },\n      prompt: {\n        type: Object,\n        default() {\n          return {\n            value: '',\n            placeholder: ''\n          }\n        }\n      },\n      icon: {\n        type: String,\n        default: ''\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      showClose: {\n        type: Boolean,\n        default: false\n      },\n      confirmBtn: {\n        type: [Object, String],\n        default() {\n          return {\n            ...defConfirmBtn\n          }\n        }\n      },\n      cancelBtn: {\n        type: [Object, String],\n        default() {\n          return {\n            ...defCancelBtn\n          }\n        }\n      }\n    },\n    data() {\n      return {\n        defHref,\n        promptValue: this.prompt.value\n      }\n    },\n    computed: {\n      _confirmBtn() {\n        return parseBtn.call(this, this.confirmBtn, defConfirmBtn)\n      },\n      _cancelBtn() {\n        return parseBtn.call(this, this.cancelBtn, defCancelBtn)\n      },\n      isConfirm() {\n        return this.type === 'confirm'\n      },\n      isPrompt() {\n        return this.type === 'prompt'\n      },\n      containerClass() {\n        return `cube-dialog-${this.type}`\n      }\n    },\n    watch: {\n      'prompt.value': {\n        handler: function (newVal) {\n          this.promptValue = newVal\n        }\n      }\n    },\n    methods: {\n      maskClick(e) {\n        this.maskClosable && this.cancel(e)\n      },\n      confirm(e) {\n        if (this._confirmBtn.disabled) {\n          return\n        }\n        this.hide()\n        this.$emit(EVENT_CONFIRM, e, this.promptValue)\n      },\n      cancel(e) {\n        if (this._cancelBtn.disabled) {\n          return\n        }\n        this.hide()\n        this.$emit(EVENT_CANCEL, e)\n      },\n      close(e) {\n        this.hide()\n        this.$emit(EVENT_CLOSE, e)\n      }\n    },\n    components: {\n      CubePopup,\n      CubeInput\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-dialog-main\n    width: 270px\n    padding: 0\n    text-align: center\n    overflow: hidden\n    border-radius: 2px\n    background-color: $dialog-bgc\n  .cube-dialog-confirm, .cube-dialog-alert\n    position: relative\n    overflow: hidden\n  .cube-dialog-icon\n    margin-top: 20px\n    margin-bottom: 16px\n    line-height: 1\n    color: $dialog-icon-color\n    font-size: $fontsize-large-xxxx\n    i\n      display: inline-block\n      width: 30px\n      height: 30px\n      padding: 10px\n      box-sizing: content-box\n      border-radius: 50%\n      background-color: $dialog-icon-bgc\n    +\n      .cube-dialog-title\n        .cube-dialog-title-def\n          margin-top: 0\n    +\n      .cube-dialog-content\n        margin-top: -4px\n  .cube-dialog-title\n    color: $dialog-title-color\n    font-size: $fontsize-large\n    line-height: 1\n    +\n      .cube-dialog-content\n        margin-top: 12px\n  .cube-dialog-title-def\n    margin: 30px 16px 0\n    overflow: hidden\n    white-space: nowrap\n  .cube-dialog-content\n    margin: 16px 0\n    text-align: left\n    color: $dialog-color\n    font-size: $fontsize-medium\n    line-height: 22px\n  .cube-dialog-content-def\n    padding: 0 16px\n    > p\n      display: table\n      margin: auto\n      + .cube-input\n        margin-top: 12px\n  .cube-dialog-confirm, .cube-dialog-prompt\n    .cube-dialog-btns\n      .cube-dialog-btn\n        width: 50%\n        float: left\n      &.border-right-1px\n        &::after\n          right: 50%\n          border-color: $dialog-btns-split-color\n  .cube-dialog-close\n    display: flex\n    align-items: center\n    justify-content: center\n    z-index: 1\n    position: absolute\n    top: 0\n    right: 0\n    width: 32px\n    height: 32px\n    color: $dialog-close-color\n    font-size: $fontsize-large-x\n  .cube-dialog-btns\n    overflow: hidden\n    width: 100%\n    font-size: 0\n  .cube-dialog-btn\n    display: inline-block\n    width: 100%\n    padding: 17px 10px\n    margin: 0\n    font-size: $fontsize-large\n    line-height: 1\n    text-align: center\n    text-decoration: none\n    color: $dialog-btn-color\n    background-color: $dialog-btn-bgc\n    background-clip: padding-box\n    box-sizing: border-box\n    &:active\n      background-color: $dialog-btn-active-bgc\n  .cube-dialog-btn_highlight\n    color: $dialog-btn-highlight-color\n    &:active\n      background-color: $dialog-btn-highlight-active-bgc\n  .cube-dialog-btn_disabled\n    color: $dialog-btn-disabled-color\n    &:active\n      background-color: $dialog-btn-disabled-active-bgc\n\n  .cube-dialog-fade-enter-active\n    animation: dialog-fadein .4s\n    .cube-dialog-main\n      animation: dialog-zoom .4s\n\n  @keyframes dialog-fadein\n    0%\n      opacity: 0\n    100%\n      opacity: 1\n  @keyframes dialog-zoom\n    0%\n      transform: scale(0)\n    50%\n      transform: scale(1.1)\n    100%\n      transform: scale(1)\n</style>\n"
  },
  {
    "path": "src/components/drawer/drawer-item.vue",
    "content": "<template>\n  <li\n    class=\"cube-drawer-item border-bottom-1px\"\n    :class=\"itemClass\"\n    @click=\"clickItem(item)\"\n  >\n    <slot>\n      {{item.text || item}}\n    </slot>\n  </li>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-drawer-item'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: [String, Object],\n        default: ''\n      },\n      index: {\n        type: Number,\n        default: -1\n      }\n    },\n    computed: {\n      itemClass() {\n        return this.$parent.$parent.selectedIndex === this.index ? 'cube-drawer-item_active' : ''\n      }\n    },\n    methods: {\n      clickItem(item) {\n        this.$parent.$parent.itemClickHandler(item, this.index)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-drawer-item\n    padding: 0 20px\n    height: 50px\n    line-height: 50px\n    white-space: nowrap\n    overflow: hidden\n    font-size: 15px\n    &::after\n      left: 20px\n    &:last-child\n      &::after\n        display: none\n    &:first-child\n      &::after\n        display: block\n  .cube-drawer-item_active\n    background: $drawer-item-active-bgc\n</style>\n"
  },
  {
    "path": "src/components/drawer/drawer-panel.vue",
    "content": "<template>\n  <transition name=\"cube-drawer-move\">\n    <div class=\"cube-drawer-panel\" v-show=\"isVisible\">\n      <div class=\"cube-drawer-scroll-wrapper\">\n        <cube-scroll ref=\"scroll\" :data=\"data\">\n          <ul class=\"cube-drawer-list\">\n            <slot>\n              <cube-drawer-item v-for=\"(item, i) in data\" :item=\"item\" :key=\"i\" :index=\"i\" />\n            </slot>\n          </ul>\n        </cube-scroll>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import visibilityMixin from '../../common/mixins/visibility'\n  import CubeScroll from '../scroll/scroll.vue'\n  import CubeDrawerItem from './drawer-item.vue'\n\n  const COMPONENT_NAME = 'cube-drawer-panel'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin],\n    props: {\n      data: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      index: {\n        type: Number,\n        default: -1\n      }\n    },\n    computed: {\n      selectedIndex() {\n        const selectedIndex = this.$parent.selected[this.index]\n        return selectedIndex === undefined ? -1 : selectedIndex\n      }\n    },\n    watch: {\n      data() {\n        this.scrollToTop()\n      },\n      isVisible() {\n        this.$nextTick(() => {\n          this.refresh()\n        })\n      }\n    },\n    mounted() {\n      this.$parent.addPanel(this)\n    },\n    beforeDestroy() {\n      this.$parent.removePanel(this)\n    },\n    methods: {\n      refresh() {\n        this.$refs.scroll.refresh()\n      },\n      scrollToTop() {\n        this.$refs.scroll.scroll && this.$refs.scroll.scroll.scrollTo(0, 0, 0)\n      },\n      itemClickHandler(item, index) {\n        if (this.selectedIndex !== index) {\n          this.$parent.changeHandler(this.index, item, index)\n        }\n      }\n    },\n    components: {\n      CubeScroll,\n      CubeDrawerItem\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-drawer-panel\n    position: relative\n    z-index: 1\n    flex: 1\n    width: 170px\n    overflow: hidden\n    background-color: $drawer-panel-bgc\n    box-shadow: 0 1px 2px rgba(0, 0, 0, .2)\n    + .cube-drawer-panel\n      margin-left: -67px\n    &:first-child\n      box-shadow: none\n  .cube-drawer-scroll-wrapper // fix flex item height: 100% bug in android\n    position: absolute\n    top: 0\n    left: 0\n    width: 100%\n    height: 100%\n\n  .cube-drawer-move-enter, .cube-drawer-move-leave-to\n    transform: translate(67px, 0)\n  .cube-drawer-move-enter-active, .cube-drawer-move-leave-active\n    transition: transform .3s ease-in-out\n</style>\n"
  },
  {
    "path": "src/components/drawer/drawer.vue",
    "content": "<template>\n  <div class=\"cube-drawer\" @click=\"drawerClick\" v-show=\"isVisible\">\n    <div class=\"cube-drawer-main\" :style=\"slideStyle\" @click.stop @transitionend=\"transitionend\">\n      <div class=\"cube-drawer-title\" v-show=\"$slots.title || title\">\n        <slot name=\"title\">{{title}}</slot>\n      </div>\n      <div class=\"cube-drawer-panels\" @transitionend.stop>\n        <slot>\n          <cube-drawer-panel\n            v-for=\"(panel, index) in data\"\n            :key=\"index\"\n            :index=\"index\"\n            :data=\"panel\" />\n        </slot>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import { prefixStyle } from '../../common/helpers/dom'\n  import CubeDrawerPanel from './drawer-panel.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n\n  const COMPONENT_NAME = 'cube-drawer'\n  const EVENT_CHANGE = 'change'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n\n  const transform = prefixStyle('transform')\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin],\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      data: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      selectedIndex: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      }\n    },\n    data() {\n      return {\n        index: -1,\n        selectedVal: [],\n        selectedText: [],\n        selected: [...this.selectedIndex],\n        slideStyle: {\n          [transform]: 'translate3d(0, 0, 0)'\n        }\n      }\n    },\n    watch: {\n      selectedIndex(newVal) {\n        this.selected = [...newVal]\n      },\n      index(newIndex, oldIndex) {\n        this.showPanel()\n        if (newIndex < oldIndex) {\n          this.hidePanel()\n        }\n      }\n    },\n    created() {\n      this.panels = []\n    },\n    methods: {\n      show() {\n        if (this.isVisible) {\n          return\n        }\n        this.isVisible = true\n\n        let len = this.data.length\n        for (let i = 0; i < len; i++) {\n          this.index = i\n          if (this.selected[i] < 0 || this.selected[i] === undefined) {\n            if (i > 0) {\n              const lastIndex = i - 1\n              const index = this.selected[lastIndex]\n              this.changeHandler(lastIndex, this.data[lastIndex][index], index)\n            }\n            break\n          }\n        }\n        this.computedStyle()\n      },\n      hide() {\n        this.slideStyle[transform] = 'translate3d(0, 0, 0)'\n        this.shouldHide = true\n      },\n      addPanel(panel) {\n        this.panels.push(panel)\n      },\n      removePanel(panel) {\n        const i = this.panels.indexOf(panel)\n        this.panels.splice(i, 1)\n      },\n      transitionend() {\n        if (this.shouldHide) {\n          this.isVisible = false\n          this.shouldHide = false\n        }\n      },\n      refill(panelIndex, data, index) {\n        this.$set(this.data, panelIndex, data)\n        this.index = panelIndex\n        this.selected = this.selected.slice(0, panelIndex)\n        this.selectedVal = this.selectedVal.slice(0, panelIndex)\n        this.selectedText = this.selectedText.slice(0, panelIndex)\n        if (index >= 0) {\n          this.$set(this.selected, panelIndex, index)\n          this.changeHandler(panelIndex, this.data[panelIndex][index], index)\n        }\n      },\n      showPanel() {\n        const index = this.index\n        let i = 0\n        while (i <= index) {\n          this.panels[i].show()\n          i++\n        }\n        this.computedStyle()\n      },\n      hidePanel() {\n        const len = this.data.length\n        let i = this.index + 1\n        while (i < len) {\n          this.panels[i].hide()\n          i++\n        }\n      },\n      computedStyle() {\n        this.$nextTick(() => {\n          let allWidth = 0\n          let i = 0\n          const index = this.index\n          while (i <= index) {\n            const el = this.panels[i].$el\n            allWidth += el.offsetWidth\n            const elStyle = window.getComputedStyle(el)\n            allWidth += parseInt(elStyle.marginLeft)\n            allWidth += parseInt(elStyle.marginRight)\n            i++\n          }\n          this.slideStyle[transform] = `translate3d(-${allWidth}px, 0, 0)`\n        })\n      },\n      changeHandler(panelIndex, item, index) {\n        if (typeof item === 'string') {\n          this.selectedVal[panelIndex] = item\n          this.selectedText[panelIndex] = item\n        } else {\n          this.selectedVal[panelIndex] = item.value\n          this.selectedText[panelIndex] = item.text\n        }\n        this.$set(this.selected, panelIndex, index)\n        if (panelIndex === (this.data.length - 1)) {\n          // last column\n          this.$emit(EVENT_SELECT, this.selectedVal, this.selected, this.selectedText)\n          this.hide()\n        } else {\n          this.$emit(EVENT_CHANGE, panelIndex, item, this.selectedVal, this.selected, this.selectedText)\n        }\n      },\n      drawerClick() {\n        this.hide()\n        this.$emit(EVENT_CANCEL)\n      }\n    },\n    components: {\n      CubeDrawerPanel\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-drawer\n    position: absolute\n    z-index: 5\n    top: 0\n    right: 0\n    bottom: 0\n    left: 0\n    overflow: hidden\n    color: $drawer-color\n  .cube-drawer-main\n    position: absolute\n    top: 0\n    left: 100%\n    bottom: 0\n    max-width: 90%\n    display: flex\n    flex-direction: column\n    overflow: hidden\n    transform: translate3d(0, 0, 0)\n    transition: transform .3s ease-in-out\n    box-shadow: -2px 0 2px rgba(0, 0, 0, .2)\n  .cube-drawer-title\n    position: relative\n    padding: 0 20px\n    height: 50px\n    line-height: 50px\n    border-bottom: 1px solid $drawer-title-bdc\n    font-size: $fontsize-large\n    background-color: $drawer-title-bgc\n  .cube-drawer-panels\n    display: flex\n    flex: 1\n</style>\n"
  },
  {
    "path": "src/components/form/components.js",
    "content": "import CubeButton from '../button/button.vue'\nimport CubeCheckbox from '../checkbox/checkbox.vue'\nimport CubeCheckboxGroup from '../checkbox-group/checkbox-group.vue'\nimport CubeChecker from '../checker/checker.vue'\nimport CubeInput from '../input/input.vue'\nimport CubeRadio from '../radio/radio.vue'\nimport CubeRadioGroup from '../radio/radio-group.vue'\nimport CubeRate from '../rate/rate.vue'\nimport CubeSelect from '../select/select.vue'\nimport CubeSwitch from '../switch/switch.vue'\nimport CubeTextarea from '../textarea/textarea.vue'\nimport CubeUpload from '../upload/upload.vue'\n\nconst allComponents = [\n  CubeButton,\n  CubeCheckbox,\n  CubeCheckboxGroup,\n  CubeChecker,\n  CubeInput,\n  CubeRadio,\n  CubeRadioGroup,\n  CubeRate,\n  CubeSelect,\n  CubeSwitch,\n  CubeTextarea,\n  CubeUpload\n]\n\nconst components = {}\nallComponents.forEach((Component) => {\n  components[Component.name] = Component\n})\n\nexport default components\n"
  },
  {
    "path": "src/components/form/fields/index.js",
    "content": "import processTypes from './types'\n\nfunction processField(field) {\n  const _field = {\n    ...field\n  }\n  processTypes(_field)\n  return _field\n}\n\nexport { processField }\n"
  },
  {
    "path": "src/components/form/fields/props.js",
    "content": "const toButtonHandler = (field, type) => {\n  field.type = 'button'\n  if (!field.props) {\n    field.props = {}\n  }\n  field.props.type = type\n}\n\nexport {\n  toButtonHandler\n}\n"
  },
  {
    "path": "src/components/form/fields/reset.js",
    "content": "const typesResetMap = {\n  checkbox() {\n    /* istanbul ignore next */\n    return false\n  },\n  select() {\n    /* istanbul ignore next */\n    return null\n  }\n}\nfunction getResetValueByType(type) {\n  const resetHandler = typesResetMap[type]\n  return resetHandler && resetHandler()\n}\n\nexport {\n  getResetValueByType\n}\n"
  },
  {
    "path": "src/components/form/fields/types.js",
    "content": "import {\n  boolRequiredHandler,\n  numberGT0RequiredHandler\n} from './validate'\nimport {\n  toButtonHandler\n} from './props'\n\nconst typesMap = {\n  submit(field) {\n    toButtonHandler(field, 'submit')\n  },\n  reset(field) {\n    toButtonHandler(field, 'reset')\n  },\n  checkbox(field) {\n    boolRequiredHandler(field)\n  },\n  switch(field) {\n    boolRequiredHandler(field)\n  },\n  rate(field) {\n    numberGT0RequiredHandler(field)\n  }\n}\nexport default function processTypes(field) {\n  const typeFn = typesMap[field.type]\n  if (typeFn) {\n    typeFn(field)\n  }\n}\n"
  },
  {
    "path": "src/components/form/fields/validate.js",
    "content": "const handleValidateRule = (field, type, custom) => {\n  const ruleValue = field.rules && field.rules[type]\n  if (type !== 'custom' && ruleValue && typeof ruleValue !== 'function') {\n    field.rules[type] = custom\n  }\n}\nconst createHandler = (type) => {\n  return (field, custom) => {\n    return handleValidateRule(field, type, custom)\n  }\n}\n\nconst handleRequired = createHandler('required')\nconst boolRequiredHandler = (field) => {\n  return handleRequired(field, (val) => {\n    return val !== false\n  })\n}\nconst numberGT0RequiredHandler = (field) => {\n  return handleRequired(field, (val) => {\n    return val > 0\n  })\n}\n\nexport {\n  boolRequiredHandler,\n  numberGT0RequiredHandler\n}\n"
  },
  {
    "path": "src/components/form/form-group.vue",
    "content": "<template>\n  <div class=\"cube-form-group\">\n    <p class=\"cube-form-group-legend\">{{legend}}</p>\n    <div class=\"cube-form-group-content\">\n      <slot>\n        <cube-form-item\n          v-for=\"(field, index) in fields\"\n          :key=\"field.key || index\"\n          :field=\"field\"\n        />\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script>\n  import CubeFormItem from './form-item.vue'\n\n  const COMPONENT_NAME = 'cube-form-group'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      legend: {\n        type: String,\n        default: ''\n      },\n      fields: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      }\n    },\n    beforeCreate() {\n      this.form = this.$parent.form\n    },\n    beforeDestroy() {\n      this.form = null\n    },\n    components: {\n      CubeFormItem\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-form-group\n    overflow: hidden\n  .cube-form-group-legend\n    font-size: $fontsize-medium\n    color: $form-group-legend-color\n    background-color: $form-group-legend-bgc\n</style>\n"
  },
  {
    "path": "src/components/form/form-item.vue",
    "content": "<template>\n  <div class=\"cube-form-item border-bottom-1px\" ref=\"formItem\" :class=\"itemClass\">\n    <template v-if=\"!isBtnField\">\n      <slot name=\"label\">\n        <div class=\"cube-form-label\" v-show=\"fieldValue.label\"><span>{{fieldValue.label}}</span></div>\n      </slot>\n      <cube-validator\n        class=\"cube-form-field\"\n        v-if=\"hasRules\"\n        ref=\"validator\"\n        v-model=\"originValid\"\n        :disabled=\"validatorDisabled\"\n        :model=\"validatorModel\"\n        :model-key=\"validatorModelKey\"\n        :rules=\"fieldValue.rules\"\n        :messages=\"fieldValue.messages\"\n        @input=\"validatorChangeHandler\"\n        @validating=\"validatingHandler\"\n        @validated=\"validatedHandler\"\n        @msg-click=\"msgClick\"\n      >\n        <slot>\n          <component :is=\"componentName\" v-model=\"modelValue\" v-bind=\"fieldValue.props\" v-on=\"fieldValue.events\"></component>\n        </slot>\n      </cube-validator>\n      <div class=\"cube-form-field\" v-else>\n        <slot>\n          <component :is=\"componentName\" v-model=\"modelValue\" v-bind=\"fieldValue.props\" v-on=\"fieldValue.events\"></component>\n        </slot>\n      </div>\n    </template>\n    <cube-button v-bind=\"fieldValue.props\" v-on=\"fieldValue.events\" v-else>{{fieldValue.label}}</cube-button>\n  </div>\n</template>\n\n<script>\n  import { processField } from './fields/index'\n  import { resetTypeValue, cb2PromiseWithResolve, debounce } from '../../common/helpers/util'\n  import CubeValidator from '../validator/validator.vue'\n  import LAYOUTS from './layouts'\n  import { getResetValueByType } from './fields/reset'\n  import mixin from './mixin'\n  import components from './components'\n  components.CubeValidator = CubeValidator\n\n  const COMPONENT_NAME = 'cube-form-item'\n  const EVENT_FOCUSIN = 'focusin'\n  const EVENT_FOCUSOUT = 'focusout'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [mixin],\n    props: {\n      field: {\n        type: Object,\n        default() {\n          /* istanbul ignore next */\n          return {}\n        }\n      }\n    },\n    data() {\n      const validatorModelKey = 'value'\n      const modelKey = this.field.modelKey\n      const modelValue = modelKey ? this.form.model[modelKey] : null\n      return {\n        validatorDisabled: false,\n        validatorModelKey,\n        modelValue: modelValue,\n        validatorModel: {\n          [validatorModelKey]: modelValue\n        }\n      }\n    },\n    computed: {\n      fieldValue() {\n        return processField(this.field)\n      },\n      hasRules() {\n        return Object.keys(this.fieldValue.rules || {}).length > 0\n      },\n      isBtnField() {\n        return this.fieldValue.type === 'button'\n      },\n      itemClass() {\n        const rules = this.fieldValue.rules\n        return {\n          // only handle required rule for now\n          'cube-form-item_required': rules && rules.required,\n          'cube-form-item_btn': this.isBtnField,\n          'cube-form-item_validating': this.validating,\n          'cube-form-item_pending': this.pending,\n          'cube-form-item_valid': this.valid,\n          'cube-form-item_invalid': this.invalid\n        }\n      },\n      modelVal() {\n        return this.form.model[this.fieldValue.modelKey]\n      },\n      componentName() {\n        const fieldValue = this.fieldValue\n        const component = fieldValue.component\n        if (component) {\n          return component\n        }\n        const type = fieldValue.type\n        const cubeType = `cube-${type}`\n        if (components[cubeType]) {\n          return cubeType\n        }\n        return type\n      }\n    },\n    watch: {\n      modelVal(newModel) {\n        if (this.modelValue !== newModel) {\n          this.modelValue = newModel\n        }\n      },\n      modelValue: {\n        handler(newModel) {\n          // update form model\n          this.form.model[this.fieldValue.modelKey] = newModel\n          this.updateValidatorModel()\n        },\n        sync: true\n      },\n      originValid(newVal) {\n        this.lastOriginValid = newVal\n      }\n    },\n    beforeCreate() {\n      this.form = this.$parent.form\n    },\n    created() {\n      this.form.addField(this)\n      this.getValidatorModel = (modelValue) => {\n        this.pending = false\n        return modelValue\n      }\n    },\n    mounted() {\n      this.initDebounce()\n      this.initFocusEvents()\n    },\n    methods: {\n      initDebounce() {\n        let debounceTime = this.fieldValue.debounce\n        if (debounceTime === true) {\n          debounceTime = 200\n        }\n        if ((!debounceTime && debounceTime !== 0) || debounceTime < 0 || this.fieldValue.trigger === 'blur') return\n        this.getValidatorModel = debounce((modelValue) => {\n          this.syncValidatorValue()\n          this.validate()\n          return modelValue\n        }, debounceTime, false, this.validatorModel[this.validatorModelKey])\n      },\n      focusInHandler() {\n        this.focused = true\n      },\n      focusOutHandler() {\n        this.focused = false\n        this.updateValidatorModel()\n        this.validate()\n      },\n      initFocusEvents() {\n        if (this.fieldValue.trigger === 'blur') {\n          const formItem = this.$refs.formItem\n          formItem.addEventListener(EVENT_FOCUSIN, this.focusInHandler, false)\n          formItem.addEventListener(EVENT_FOCUSOUT, this.focusOutHandler, false)\n          this.getValidatorModel = (modelValue) => {\n            if (this.focused) {\n              return this.validatorModel[this.validatorModelKey]\n            } else {\n              this.pending = false\n              this.form.updatePending()\n              return modelValue\n            }\n          }\n        }\n      },\n      removeFocusEvents() {\n        const formItem = this.$refs.formItem\n        formItem.removeEventListener(EVENT_FOCUSIN, this.focusInHandler, false)\n        formItem.removeEventListener(EVENT_FOCUSOUT, this.focusOutHandler, false)\n      },\n      updateValidatorModel() {\n        this.pending = true\n        this.validatorModel[this.validatorModelKey] = this.getValidatorModel(this.modelValue)\n        if (this.pending) {\n          this.form.setPending(this.pending)\n          this.originValid = undefined\n        }\n      },\n      syncValidatorValue() {\n        this.pending = false\n        this.validatorModel[this.validatorModelKey] = this.modelValue\n        this.form.updatePending()\n      },\n      validatorChangeHandler() {\n        // disabled or true to true no update validity\n        if (this.validatorDisabled || (this.originValid && this.lastOriginValid)) {\n          return\n        }\n        this.updateValidity()\n      },\n      validatingHandler() {\n        this.validating = true\n        this.form.setValidating(true)\n      },\n      validatedHandler() {\n        this.validating = false\n        this.form.updateValidating()\n      },\n      updateValidity() {\n        const validator = this.$refs.validator\n        if (validator) {\n          // sync update validaty\n          this.form.updateValidity(this.fieldValue.modelKey, validator.valid, validator.result, validator.dirty)\n        }\n      },\n      validate(cb) {\n        const promise = cb2PromiseWithResolve(cb)\n        if (promise) {\n          cb = promise.resolve\n        }\n        const validator = this.$refs.validator\n        if (validator) {\n          validator.validate(() => {\n            this.validatorDisabled = true\n            this.updateValidity()\n            cb && cb()\n            this.$nextTick(() => {\n              this.validatorDisabled = false\n            })\n          })\n        } else {\n          cb && cb()\n        }\n        return promise\n      },\n      reset() {\n        const fieldValue = this.fieldValue\n        if (fieldValue.modelKey) {\n          const defValue = getResetValueByType(fieldValue.type)\n          this.validatorDisabled = true\n          resetTypeValue(this, 'modelValue', defValue)\n          // need to sync validator value too, because of trigger blur or debounce\n          this.syncValidatorValue()\n          this.$refs.validator && this.$refs.validator.reset()\n          this.$nextTick(() => {\n            this.validatorDisabled = false\n          })\n        }\n        this.validating = false\n        this.pending = false\n      },\n      msgClick() {\n        /* istanbul ignore if */\n        if (this.form.layout !== LAYOUTS.STANDARD) {\n          return\n        }\n        /* istanbul ignore next */\n        this.$createToast && this.$createToast({\n          type: 'warn',\n          txt: this.$refs.validator.msg,\n          time: 1000\n        }).show()\n      }\n    },\n    beforeDestroy() {\n      this.removeFocusEvents()\n      this.form.destroyField(this)\n      this.form = null\n    },\n    components\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-form-item\n    position: relative\n    display: flex\n    align-items: center\n    padding: 0 15px\n    &:last-child\n      &::after\n        display: none\n    .cube-checkbox-group, .cube-radio-group\n      background-color: transparent\n    .cube-checkbox, .cube-radio\n      padding-left: 0\n      padding-right: 0\n  .cube-form-item_btn\n    margin: 15px 0\n    &::after\n      display: none\n  .cube-form-label\n    display: flex\n    align-items: center\n    word-wrap: break-word\n    word-break: break-word\n  .cube-form-item_required\n    .cube-form-label\n      &::before\n        content: \"*\"\n        display: block\n        margin-top: 1px\n        margin-right: .3em\n        color: $form-label-required-color\n</style>\n"
  },
  {
    "path": "src/components/form/form.vue",
    "content": "<template>\n  <form ref=\"form\" class=\"cube-form\" :class=\"formClass\" :action=\"action\" @submit=\"submitHandler\" @reset=\"resetHandler\">\n    <slot>\n      <cube-form-group\n        v-for=\"(group, index) in groups\"\n        :fields=\"group.fields\"\n        :legend=\"group.legend\"\n        :key=\"group.key || index\" />\n    </slot>\n  </form>\n</template>\n\n<script>\n  import { dispatchEvent } from '../../common/helpers/dom'\n  import { cb2PromiseWithResolve } from '../../common/helpers/util'\n  import CubeFormGroup from './form-group.vue'\n  import LAYOUTS from './layouts'\n  import mixin from './mixin'\n\n  const COMPONENT_NAME = 'cube-form'\n  const EVENT_SUBMIT = 'submit'\n  const EVENT_RESET = 'reset'\n  const EVENT_VALIDATE = 'validate'\n  const EVENT_VALID = 'valid'\n  const EVENT_INVALID = 'invalid'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [mixin],\n    props: {\n      action: String,\n      model: {\n        type: Object,\n        default() {\n          /* istanbul ignore next */\n          return {}\n        }\n      },\n      schema: {\n        type: Object,\n        default() {\n          /* istanbul ignore next */\n          return {}\n        }\n      },\n      options: {\n        type: Object,\n        default() {\n          return {\n            scrollToInvalidField: false,\n            layout: LAYOUTS.STANDARD\n          }\n        }\n      },\n      immediateValidate: {\n        type: Boolean,\n        default: false\n      },\n      submitAlwaysValidate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data() {\n      return {\n        validatedCount: 0,\n        dirty: false,\n        firstInvalidField: null,\n        firstInvalidFieldIndex: -1\n      }\n    },\n    computed: {\n      fieldsModel() {\n        const model = {}\n        this.fields.forEach((fieldComponent) => {\n          if (!fieldComponent.isBtnField) {\n            model[fieldComponent.fieldValue.modelKey] = fieldComponent.modelValue\n          }\n        })\n        return model\n      },\n      groups() {\n        const schema = this.schema\n        const groups = schema.groups || []\n        if (schema.fields) {\n          groups.unshift({\n            fields: schema.fields\n          })\n        }\n        return groups\n      },\n      fieldsData() {\n        return this.groups.reduce((fields, group) => {\n          group.fields.reduce((fields, field) => {\n            fields.push(field)\n            return fields\n          }, fields)\n          return fields\n        }, [])\n      },\n      layout() {\n        const options = this.options\n        const layout = (options && options.layout) || LAYOUTS.STANDARD\n        return layout\n      },\n      formClass() {\n        const invalid = this.invalid\n        const valid = this.valid\n        const layout = this.layout\n        return {\n          'cube-form_standard': layout === LAYOUTS.STANDARD,\n          'cube-form_groups': this.groups.length > 1,\n          'cube-form_validating': this.validating,\n          'cube-form_pending': this.pending,\n          'cube-form_valid': valid,\n          'cube-form_invalid': invalid,\n          'cube-form_classic': layout === LAYOUTS.CLASSIC,\n          'cube-form_fresh': layout === LAYOUTS.FRESH\n        }\n      }\n    },\n    watch: {\n      validatedCount() {\n        this.$emit(EVENT_VALIDATE, {\n          validity: this.validity,\n          valid: this.valid,\n          invalid: this.invalid,\n          dirty: this.dirty,\n          firstInvalidFieldIndex: this.firstInvalidFieldIndex\n        })\n      }\n    },\n    beforeCreate() {\n      this.form = this\n      this.fields = []\n      this.validity = {}\n    },\n    mounted() {\n      if (this.immediateValidate) {\n        this.validate()\n      }\n    },\n    methods: {\n      submit(skipValidate = false) {\n        this.skipValidate = skipValidate\n        dispatchEvent(this.$refs.form, 'submit')\n        this.skipValidate = false\n      },\n      reset() {\n        dispatchEvent(this.$refs.form, 'reset')\n      },\n      submitHandler(e) {\n        // sync all fields value because of trigger: blur or debounce\n        this.syncValidatorValues()\n        if (this.skipValidate) {\n          this.$emit(EVENT_SUBMIT, e, this.model, this.fieldsModel)\n          return\n        }\n        const submited = (submitResult) => {\n          if (submitResult) {\n            this.$emit(EVENT_VALID, this.validity)\n            this.$emit(EVENT_SUBMIT, e, this.model, this.fieldsModel)\n          } else {\n            // scrollToInvalidField\n            if (this.options.scrollToInvalidField && this.firstInvalidField) {\n              this.firstInvalidField.$el.scrollIntoView()\n            }\n            e.preventDefault()\n            this.$emit(EVENT_INVALID, this.validity)\n          }\n        }\n        if (this.submitAlwaysValidate || this.valid === undefined) {\n          this._submit(submited)\n          if (this.validating || this.pending) {\n            // async validate\n            e.preventDefault()\n          }\n        } else {\n          submited(this.valid)\n        }\n      },\n      resetHandler(e) {\n        this._reset()\n        this.$emit(EVENT_RESET, e)\n      },\n      _submit(cb) {\n        this.validate(() => {\n          cb && cb(this.valid)\n        })\n      },\n      _reset() {\n        this.fields.forEach((fieldComponent) => {\n          fieldComponent.reset()\n        })\n        this.setValidity()\n        this.setValidating()\n        this.setPending()\n      },\n      syncValidatorValues() {\n        this.fields.forEach((fieldComponent) => {\n          fieldComponent.syncValidatorValue()\n        })\n      },\n      validate(cb) {\n        const promise = cb2PromiseWithResolve(cb)\n        if (promise) {\n          cb = promise.resolve\n        }\n        let doneCount = 0\n        const len = this.fields.length\n        this.originValid = undefined\n        this.fields.forEach((fieldComponent) => {\n          fieldComponent.validate(() => {\n            doneCount++\n            if (doneCount === len) {\n              // all done\n              cb && cb(this.valid)\n            }\n          })\n        })\n        return promise\n      },\n      updateValidating() {\n        const validating = this.fields.some((fieldComponent) => fieldComponent.validating)\n        this.setValidating(validating)\n      },\n      updatePending() {\n        const pending = this.fields.some((fieldComponent) => fieldComponent.pending)\n        this.setPending(pending)\n      },\n      setValidating(validating = false) {\n        this.validating = validating\n      },\n      setPending(pending = false) {\n        this.pending = pending\n      },\n      updateValidity(modelKey, valid, result, dirty) {\n        const curResult = this.validity[modelKey]\n        if (curResult && curResult.valid === valid && curResult.result === result && curResult.dirty === dirty) {\n          return\n        }\n        this.setValidity(modelKey, {\n          valid,\n          result,\n          dirty\n        })\n      },\n      setValidity(key, val) {\n        let validity = {}\n        if (key) {\n          Object.assign(validity, this.validity)\n          if (val === undefined) {\n            delete validity[key]\n          } else {\n            validity[key] = val\n          }\n        }\n\n        let dirty = false\n        let invalid = false\n        let valid = true\n        let firstInvalidFieldKey = ''\n        this.fields.forEach((fieldComponent) => {\n          const modelKey = fieldComponent.fieldValue.modelKey\n          if (modelKey) {\n            const retVal = validity[modelKey]\n            if (retVal) {\n              if (retVal.dirty) {\n                dirty = true\n              }\n              if (retVal.valid === false) {\n                valid = false\n              } else if (valid && !retVal.valid) {\n                valid = retVal.valid\n              }\n\n              if (!invalid && retVal.valid === false) {\n                // invalid\n                invalid = true\n                firstInvalidFieldKey = modelKey\n              }\n            } else if (fieldComponent.hasRules) {\n              if (valid) {\n                valid = undefined\n              }\n              validity[modelKey] = {\n                valid: undefined,\n                result: {},\n                dirty: false\n              }\n            }\n          }\n        })\n        this.validity = validity\n        this.dirty = dirty\n        this.originValid = valid\n        this.setFirstInvalid(firstInvalidFieldKey)\n        this.validatedCount++\n      },\n      setFirstInvalid(key) {\n        if (!key) {\n          this.firstInvalidField = null\n          this.firstInvalidFieldIndex = -1\n          return\n        }\n        this.fields.some((fieldComponent, index) => {\n          if (fieldComponent.fieldValue.modelKey === key) {\n            this.firstInvalidField = fieldComponent\n            this.firstInvalidFieldIndex = index\n            return true\n          }\n        })\n      },\n      addField(fieldComponent) {\n        const i = this.fieldsData.indexOf(fieldComponent.field)\n        this.fields.splice(i, 0, fieldComponent)\n        const modelKey = fieldComponent.fieldValue.modelKey\n        modelKey && this.setValidity(modelKey)\n      },\n      destroyField(fieldComponent) {\n        const i = this.fields.indexOf(fieldComponent)\n        this.fields.splice(i, 1)\n        const modelKey = fieldComponent.fieldValue.modelKey\n        modelKey && this.setValidity(modelKey)\n      }\n    },\n    beforeDestroy() {\n      this.form = null\n      this.firstInvalidField = null\n    },\n    components: {\n      CubeFormGroup\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-form\n    position: relative\n    font-size: $fontsize-large\n    line-height: 1.429\n    color: $form-color\n    background-color: $form-bgc\n  .cube-form_groups\n    .cube-form-group-legend\n      padding: 10px 15px\n      &:empty\n        padding-top: 5px\n        padding-bottom: 5px\n  .cube-form_standard\n    .cube-form-item\n      min-height: 46px\n    .cube-form-field\n      flex: 1\n      font-size: $fontsize-medium\n    .cube-validator\n      display: flex\n      align-items: center\n      position: relative\n    .cube-validator_invalid\n      color: $form-invalid-color\n    .cube-validator-content\n      flex: 1\n    .cube-validator-msg-def\n      font-size: 0\n    .cube-validator_invalid\n      .cube-validator-msg\n        &::before\n          content: \"\\e614\"\n          padding-left: 5px\n          font-family: \"cube-icon\"!important\n          font-size: $fontsize-large-xx\n          font-style: normal\n          -webkit-font-smoothing: antialiased\n          -webkit-text-stroke-width: 0.2px\n          -moz-osx-font-smoothing: grayscale\n    .cube-form-label\n      width: 100px\n      padding-right: 10px\n    .cube-checkbox-group, .cube-radio-group\n      &::before, &::after\n        display: none\n    .cube-input\n      input\n        padding: 13px 0\n        background-color: transparent\n      &::after\n        display: none\n    .cube-textarea-wrapper\n      padding: 13px 0\n      height: 20px\n      &.cube-textarea_expanded\n        height: 60px\n        padding-bottom: 20px\n        .cube-textarea-indicator\n          bottom: 2px\n      .cube-textarea\n        padding: 0\n        background-color: transparent\n      &::after\n        display: none\n    .cube-select\n      padding-left: 0\n      background-color: transparent\n      &::after\n        display: none\n    .cube-upload-def\n      padding: 5px 0\n      .cube-upload-btn, .cube-upload-file\n        margin: 5px 10px 5px 0\n  .cube-form_classic\n    .cube-form-item\n      display: block\n      padding: 15px\n      &:last-child\n        padding-bottom: 30px\n      &::after\n        display: none\n      .cube-validator-msg\n        position: absolute\n        margin-top: 3px\n        &::before\n          display: none\n      .cube-validator-msg-def\n        font-size: $fontsize-small\n    .cube-form-item_btn\n      padding-top: 0\n      padding-bottom: 0\n      &:last-child\n        padding-bottom: 0\n    .cube-form-label\n      padding-bottom: 15px\n  .cube-form_fresh\n    .cube-form-item\n      display: block\n      padding: 2em 15px 10px\n      &::after\n        display: none\n      .cube-validator-msg\n        position: absolute\n        top: 1em\n        right: 15px\n        bottom: auto\n        margin-top: -.4em\n        font-size: $fontsize-small\n        &::before\n          display: none\n      .cube-validator-msg-def\n        font-size: 100%\n    .cube-form-item_btn\n      padding-top: 0\n      padding-bottom: 0\n      &:last-child\n        padding-bottom: 0\n    .cube-form-label\n      position: absolute\n      top: 1em\n      margin-top: -.4em\n      font-size: $fontsize-small\n</style>\n"
  },
  {
    "path": "src/components/form/layouts.js",
    "content": "const LAYOUTS = {\n  STANDARD: 'standard',\n  CLASSIC: 'classic',\n  FRESH: 'fresh'\n}\n\nexport default LAYOUTS\n"
  },
  {
    "path": "src/components/form/mixin.js",
    "content": "export default {\n  data() {\n    return {\n      validating: false,\n      pending: false,\n      originValid: undefined\n    }\n  },\n  computed: {\n    valid() {\n      const originValid = this.originValid\n      const pending = this.pending\n      const validating = this.validating\n      return (pending || validating) ? undefined : originValid\n    },\n    invalid() {\n      const valid = this.valid\n      return valid === undefined ? valid : !valid\n    }\n  }\n}\n"
  },
  {
    "path": "src/components/image-preview/image-preview.vue",
    "content": "<template>\n  <transition name=\"cube-image-preview-fade\">\n    <cube-popup type=\"image-preview\" :z-index=\"zIndex\" :center=\"false\" v-show=\"isVisible\">\n      <div class=\"cube-image-preview-container\">\n        <div class=\"cube-image-preview-header\">\n          <slot name=\"header\" :current=\"currentPageIndex\"></slot>\n        </div>\n        <cube-slide\n          ref=\"slide\"\n          v-if=\"isVisible\"\n          :data=\"imgs\"\n          :initial-index=\"currentPageIndex\"\n          :auto-play=\"false\"\n          :loop=\"loop\"\n          :speed=\"speed\"\n          :options=\"options\"\n          @change=\"slideChangeHandler\"\n        >\n          <cube-slide-item\n            v-for=\"(img, index) in imgs\"\n            :key=\"index\"\n          >\n            <div class=\"cube-image-preview-item\" @click=\"itemClickHandler\">\n              <cube-scroll\n                ref=\"items\"\n                :options=\"scrollOptions\"\n                @dblclick.native=\"dblclickHandler(index, $event)\"\n              >\n                <img class=\"cube-image-preview-img\" :src=\"img\" @load=\"imgLoad(index)\">\n              </cube-scroll>\n            </div>\n          </cube-slide-item>\n          <template slot=\"dots\"><i></i></template>\n        </cube-slide>\n        <div class=\"cube-image-preview-footer\">\n          <slot name=\"footer\" :current=\"currentPageIndex\">\n            <span class=\"cube-image-preview-counter\">{{currentPageIndex + 1}}/{{imgs.length}}</span>\n          </slot>\n        </div>\n      </div>\n    </cube-popup>\n  </transition>\n</template>\n<script type=\"text/ecmascript-6\">\n  import CubePopup from '../popup/popup.vue'\n  import CubeSlide from '../slide/slide.vue'\n  import CubeSlideItem from '../slide/slide-item.vue'\n  import CubeScroll from '../scroll/scroll.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import { isAndroid } from '../../common/helpers/env'\n  import { USE_TRANSITION } from '../../common/bscroll/constants'\n\n  const COMPONENT_NAME = 'cube-image-preview'\n  const EVENT_CHANGE = 'change'\n  const EVENT_HIDE = 'hide'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin],\n    props: {\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      imgs: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      preventDefault: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data() {\n      return {\n        currentPageIndex: this.initialIndex,\n        options: {\n          observeDOM: false,\n          bounce: {\n            left: true,\n            right: true\n          },\n          useTransition: isAndroid ? false : USE_TRANSITION,\n          probeType: 3,\n          preventDefault: this.preventDefault\n        },\n        scrollOptions: {\n          useTransition: USE_TRANSITION,\n          HWCompositing: isAndroid,\n          observeDOM: false,\n          zoom: true,\n          bindToWrapper: true,\n          freeScroll: true,\n          scrollX: true,\n          scrollY: true,\n          probeType: 3,\n          bounce: false,\n          click: false,\n          dblclick: true,\n          bounceTime: 300,\n          preventDefault: this.preventDefault\n        }\n      }\n    },\n    watch: {\n      initialIndex(newIndex) {\n        this.setPageIndex(newIndex)\n      }\n    },\n    methods: {\n      show() {\n        this.isVisible = true\n        this.$nextTick(() => {\n          this._listenSlide()\n          this._listenScroll()\n        })\n      },\n      _listenSlide() {\n        // waiting slide initial\n        this.$nextTick(() => {\n          const slide = this.$refs.slide.slide\n          slide.on('scrollStart', this.slideScrollStartHandler)\n          slide.on('scrollEnd', this.slideScrollEndHandler)\n        })\n      },\n      _listenScroll() {\n        // waiting scroll initial\n        this.$nextTick(() => {\n          this.$refs.items.forEach((scrollItem) => {\n            const scroll = scrollItem.scroll\n            scroll.on('zoomStart', this.zoomStartHandler.bind(this, scroll))\n            scroll.on('beforeScrollStart', this.beforeScrollHandler)\n            scroll.on('scroll', this.checkBoundary.bind(this, scroll))\n            scroll.on('scrollEnd', this.scrollEndHandler.bind(this, scroll))\n          })\n        })\n      },\n      hide() {\n        this.isVisible = false\n        this.$emit(EVENT_HIDE)\n      },\n      prev() {\n        const slide = this.$refs.slide.slide\n        slide && slide.prev()\n      },\n      next() {\n        const slide = this.$refs.slide.slide\n        slide && slide.next()\n      },\n      goTo(index) {\n        const slide = this.$refs.slide.slide\n        slide && slide.goToPage(index, 0)\n      },\n      imgLoad(i) {\n        /* istanbul ignore if */\n        if (this.isVisible && this.$refs.items) {\n          this.$refs.items[i].scroll.refresh()\n        }\n      },\n      setPageIndex(currentPageIndex) {\n        if (this.currentPageIndex >= 0 && this.currentPageIndex !== currentPageIndex) {\n          const item = this.$refs.items[this.currentPageIndex]\n          if (item) {\n            const scroll = item.scroll\n            /* istanbul ignore if */\n            if (scroll.scale !== 1) {\n              scroll.scale = 1\n              scroll.lastcale = 1\n              scroll.refresh()\n            }\n          }\n        }\n        this.currentPageIndex = currentPageIndex\n      },\n      slideChangeHandler(currentPageIndex) {\n        this.setPageIndex(currentPageIndex)\n        this.slideScrollEndHandler()\n        this.$emit(EVENT_CHANGE, currentPageIndex)\n      },\n      slideScrollStartHandler() {\n        const slide = this.$refs.slide.slide\n        if (this._scrolling && !this._hasEnableSlide) {\n          slide.disable()\n        } else {\n          slide.enable()\n        }\n      },\n      slideScrollEndHandler() {\n        this.$refs.items.forEach((scrollItem) => {\n          this.scrollEndHandler(scrollItem.scroll)\n        })\n      },\n      _scroll(scroll) {\n        const slide = this.$refs.slide.slide\n        slide.disable()\n        slide.refresh()\n        scroll.enable()\n      },\n      _slide(scroll) {\n        this.$refs.slide.slide.enable()\n        scroll.disable()\n      },\n      beforeScrollHandler() {\n        // for touchstart scrollEnd\n        // cancel it, do not enable slide\n        clearTimeout(this.enableSlideTid)\n      },\n      scrollEndHandler(scroll) {\n        clearTimeout(this.enableSlideTid)\n        if (this.dblZooming) {\n          this.dblZooming = false\n          clearTimeout(this.clickTid)\n        }\n        this._hasEnableSlide = false\n        this._scrolling = false\n        scroll.enable()\n        this.enableSlideTid = setTimeout(() => {\n          this.$refs.slide.slide.enable()\n        })\n      },\n      checkBoundary(scroll, pos) {\n        if (scroll.distX && Math.abs(scroll.distX) > Math.abs(scroll.distY)) {\n          this._scrolling = true\n          const reached = scroll.distX > 0 ? pos.x >= scroll.minScrollX : pos.x <= scroll.maxScrollX\n          if (reached) {\n            this._hasEnableSlide = true\n            this._slide(scroll)\n          } else {\n            if (!this._hasEnableSlide) {\n              this._scroll(scroll)\n            }\n          }\n        } else if (scroll.distY) {\n          this._scrolling = true\n          this._scroll(scroll)\n        }\n      },\n      zoomStartHandler(scroll) {\n        this._scroll(scroll)\n      },\n      dblclickHandler(index, e) {\n        const scroll = this.$refs.items[index].scroll\n        this.dblZooming = true\n        this.zoomTo(scroll, scroll.scale > 1 ? 1 : 2, e)\n        scroll.disable()\n      },\n      itemClickHandler() {\n        clearTimeout(this.clickTid)\n        this.clickTid = setTimeout(() => {\n          !this.dblZooming && this.hide()\n        }, this.scrollOptions.bounceTime)\n      },\n      zoomTo(scroll, scale, e) {\n        scroll.zoomTo(scale, e.pageX, e.pageY)\n      }\n    },\n    components: {\n      CubePopup,\n      CubeSlide,\n      CubeSlideItem,\n      CubeScroll\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-image-preview-fade-enter, .cube-image-preview-fade-leave-active\n    opacity: 0\n  .cube-image-preview-fade-enter-active, .cube-image-preview-fade-leave-active\n    transition: all .3s ease-in-out\n\n  .cube-image-preview\n    .cube-popup-mask\n      opacity: .6\n    .cube-popup-content\n      width: 100%\n      height: 100%\n    .cube-slide-item\n      display: flex\n      align-items: center\n      justify-content: center\n      overflow: hidden\n  .cube-image-preview-container\n    height: 100%\n    margin: 0 -10px\n  .cube-image-preview-header,\n  .cube-image-preview-footer\n    position: absolute\n    left: 0\n    right: 0\n  .cube-image-preview-header\n    top: 0\n  .cube-image-preview-footer\n    bottom: 0\n  .cube-image-preview-counter\n    position: absolute\n    bottom: 50px\n    width: 100%\n    text-align: center\n    font-size: $fontsize-medium\n    color: $image-preview-counter-color\n  .cube-image-preview-item\n    position: relative\n    padding: 0 10px\n    width: 100%\n    height: 100%\n    .cube-scroll-wrapper\n      display: flex\n      align-items: center\n      justify-content: center\n    .cube-image-preview-img\n      display: block\n      height: auto\n      max-width: 100%\n      max-height: 100%\n</style>\n"
  },
  {
    "path": "src/components/index-list/index-list-group.vue",
    "content": "<template>\n  <li class=\"cube-index-list-group\">\n    <h2 class=\"cube-index-list-anchor\" v-html=\"group.name\"></h2>\n    <ul>\n      <slot>\n        <cube-index-list-item v-for=\"(item, index) in group.items\" :key=\"index\" :item=\"item\" @select=\"selectItem\"></cube-index-list-item>\n      </slot>\n    </ul>\n  </li>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeIndexListItem from './index-list-item.vue'\n\n  const COMPONENT_NAME = 'cube-index-list-group'\n  const EVENT_SELECT = 'select'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      group: {\n        type: Object,\n        default() {\n          return {}\n        }\n      }\n    },\n    methods: {\n      selectItem(item) {\n        this.$emit(EVENT_SELECT, item)\n      }\n    },\n    components: {\n      CubeIndexListItem\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/index-list/index-list-item.vue",
    "content": "<template>\n  <li\n    class=\"cube-index-list-item\"\n    :class=\"itemClass\"\n    @touchstart=\"addActiveCls\"\n    @touchend=\"removeActiveCls\"\n    @click=\"selectItem()\">\n    <slot>\n      <div class=\"cube-index-list-item-def border-bottom-1px\">\n        {{item.name}}\n      </div>\n    </slot>\n  </li>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import {\n    addClass,\n    removeClass\n  } from '../../common/helpers/dom'\n\n  const COMPONENT_NAME = 'cube-index-list-item'\n  const ACTIVE_CLS = 'cube-index-list-item_active'\n  const EVENT_SELECT = 'select'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default() {\n          return {}\n        }\n      }\n    },\n    computed: {\n      itemClass() {\n        return this.item.active ? ACTIVE_CLS : ''\n      }\n    },\n    methods: {\n      addActiveCls(e) {\n        addClass(e.currentTarget, ACTIVE_CLS)\n      },\n      removeActiveCls(e) {\n        removeClass(e.currentTarget, ACTIVE_CLS)\n      },\n      selectItem() {\n        this.$emit(EVENT_SELECT, this.item)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-index-list-item-def\n    position: relative\n    height: 50px\n    line-height: 50px\n    padding: 0 16px\n    font-size: $fontsize-medium\n    color: $index-list-item-color\n    &:last-child\n      border-none()\n  .cube-index-list-item_active\n    background: $index-list-item-active-bgc\n</style>\n"
  },
  {
    "path": "src/components/index-list/index-list.vue",
    "content": "<template>\n  <div class=\"cube-index-list\">\n    <cube-scroll\n      ref=\"scroll\"\n      :scroll-events=\"scrollEvents\"\n      :options=\"scrollOptions\"\n      :data=\"data\"\n      @scroll=\"scroll\"\n      @pulling-down=\"onPullingDown\"\n      @pulling-up=\"onPullingUp\">\n      <div class=\"cube-index-list-content\" ref=\"content\">\n        <h1 class=\"cube-index-list-title\" v-if=\"hasTitle\" ref=\"title\" @click=\"titleClick\">\n          <slot name=\"title\">{{ title }}</slot>\n        </h1>\n        <ul>\n          <slot>\n            <cube-index-list-group v-for=\"(group, index) in data\" :key=\"index\" :group=\"group\" @select=\"selectItem\">\n            </cube-index-list-group>\n          </slot>\n        </ul>\n      </div>\n      <template v-if=\"$slots.pullup || $scopedSlots.pullup\" slot=\"pullup\" slot-scope=\"props\">\n        <slot name=\"pullup\"\n          :pullUpLoad=\"props.pullUpLoad\"\n          :isPullUpLoad=\"props.isPullUpLoad\">\n        </slot>\n      </template>\n      <template v-if=\"$slots.pulldown || $scopedSlots.pulldown\" slot=\"pulldown\" slot-scope=\"props\">\n        <slot name=\"pulldown\"\n          :pullDownRefresh=\"props.pullDownRefresh\"\n          :pullDownStyle=\"props.pullDownStyle\"\n          :beforePullDown=\"props.beforePullDown\"\n          :isPullingDown=\"props.isPullingDown\"\n          :bubbleY=\"props.bubbleY\">\n        </slot>\n      </template>\n    </cube-scroll>\n    <div v-if=\"navbar\" class=\"cube-index-list-nav\" @touchstart=\"onShortcutTouchStart\" @touchmove.stop.prevent=\"onShortcutTouchMove\">\n      <ul class=\"cube-index-list-nav-list\">\n        <li\n          v-for=\"(item, index) in shortcutList\"\n          :key=\"index\"\n          :data-index=\"index\"\n          class=\"cube-index-list-nav-item\"\n          :class=\"{active: currentIndex === index}\"\n        >\n          <slot name=\"nav-item\" :item=\"item\">{{ item }}</slot>\n        </li>\n      </ul>\n    </div>\n    <div ref=\"fixed\"\n      v-show=\"fixedTitle\"\n      v-html=\"fixedTitle\"\n      class=\"cube-index-list-fixed cube-index-list-anchor\">\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import {\n    getData,\n    getRect,\n    prefixStyle,\n    getMatchedTarget\n  } from '../../common/helpers/dom'\n  import { inBrowser } from '../../common/helpers/env'\n\n  import CubeScroll from '../scroll/scroll.vue'\n  import CubeIndexListGroup from './index-list-group.vue'\n  import scrollMixin from '../../common/mixins/scroll'\n  import deprecatedMixin from '../../common/mixins/deprecated'\n\n  const COMPONENT_NAME = 'cube-index-list'\n  const EVENT_SELECT = 'select'\n  const EVENT_TITLE_CLICK = 'title-click'\n  const EVENT_PULLING_UP = 'pulling-up'\n  const EVENT_PULLING_DOWN = 'pulling-down'\n\n  const ANCHOR_HEIGHT = inBrowser ? window.innerHeight <= 480 ? 17 : 18 : 18\n  const transformStyleKey = prefixStyle('transform')\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [scrollMixin, deprecatedMixin],\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      data: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      speed: {\n        type: Number,\n        default: 0\n      },\n      navbar: {\n        type: Boolean,\n        default: true\n      },\n      pullDownRefresh: {\n        type: [Object, Boolean],\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      pullUpLoad: {\n        type: [Object, Boolean],\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      }\n    },\n    data() {\n      return {\n        scrollEvents: ['scroll'],\n        currentIndex: 0,\n        scrollY: -1,\n        diff: -1,\n        titleHeight: 0\n      }\n    },\n    computed: {\n      hasTitle() {\n        return this.title || this.$slots.title\n      },\n      fixedTitle() {\n        this.hasTitle && !this.titleHeight && this._caculateTitleHeight()\n\n        return this.scrollY <= -this.titleHeight && this.data[this.currentIndex] ? this.data[this.currentIndex].name : ''\n      },\n      shortcutList() {\n        return this.data.map((group) => {\n          return group ? group.shortcut || group.name.substr(0, 1) : ''\n        })\n      },\n      scrollOptions() {\n        return Object.assign({}, {\n          pullDownRefresh: this.pullDownRefresh,\n          pullUpLoad: this.pullUpLoad\n        }, this.options)\n      }\n    },\n    created() {\n      this.groupList = []\n      this.listHeight = []\n      this.touch = {}\n      this.subTitleHeight = 0\n    },\n    mounted() {\n      this.$nextTick(() => {\n        this.refresh()\n      })\n    },\n    methods: {\n      /* TODO: remove refresh next minor version */\n      refresh() {\n        this._caculateTitleHeight()\n        this._calculateHeight()\n        this.$refs.scroll && this.$refs.scroll.refresh()\n      },\n      selectItem(item) {\n        this.$emit(EVENT_SELECT, item)\n      },\n      scroll(pos) {\n        this.scrollY = pos.y\n      },\n      titleClick() {\n        this.$emit(EVENT_TITLE_CLICK, this.title)\n      },\n      forceUpdate(dirty = false, nomore = false) {\n        this.$refs.scroll.forceUpdate(dirty, nomore)\n        dirty && this.$nextTick(() => {\n          this._calculateHeight()\n        })\n      },\n      onShortcutTouchStart(e) {\n        const target = getMatchedTarget(e, 'cube-index-list-nav-item')\n        if (!target) return\n        let anchorIndex = getData(target, 'index')\n        let firstTouch = e.touches[0]\n        this.touch.y1 = firstTouch.pageY\n        this.touch.anchorIndex = anchorIndex\n\n        this._scrollTo(anchorIndex)\n      },\n      onShortcutTouchMove(e) {\n        let firstTouch = e.touches[0]\n        this.touch.y2 = firstTouch.pageY\n        let delta = (this.touch.y2 - this.touch.y1) / ANCHOR_HEIGHT | 0\n        let anchorIndex = parseInt(this.touch.anchorIndex) + delta\n\n        this._scrollTo(anchorIndex)\n      },\n      onPullingUp() {\n        this.$emit(EVENT_PULLING_UP)\n      },\n      onPullingDown() {\n        this.$emit(EVENT_PULLING_DOWN)\n      },\n      _caculateTitleHeight() {\n        this.titleHeight = this.$refs.title ? getRect(this.$refs.title).height : 0\n      },\n      _calculateHeight() {\n        this.groupList = this.$el.getElementsByClassName('cube-index-list-group')\n        const subTitleEl = this.$el.getElementsByClassName('cube-index-list-anchor')[0]\n        this.subTitleHeight = subTitleEl ? getRect(subTitleEl).height : 0\n        this.listHeight = []\n\n        if (!this.groupList) {\n          return\n        }\n\n        let height = this.titleHeight\n        this.listHeight.push(height)\n        for (let i = 0; i < this.groupList.length; i++) {\n          let item = this.groupList[i]\n          height += item.clientHeight\n          this.listHeight.push(height)\n        }\n      },\n      _scrollTo(index) {\n        if (index < 0) {\n          index = 0\n        } else if (index > this.listHeight.length - 2) {\n          index = this.listHeight.length - 2\n        }\n        this.$refs.scroll.scrollToElement(this.groupList[index], this.speed)\n        this.scrollY = this.$refs.scroll.scroll.y\n      }\n    },\n    watch: {\n      data() {\n        this.$nextTick(() => {\n          this._calculateHeight()\n        })\n      },\n      title(newVal) {\n        this.$nextTick(() => {\n          this.refresh()\n        })\n      },\n      diff(newVal) {\n        let fixedTop = (newVal > 0 && newVal < this.subTitleHeight) ? newVal - this.subTitleHeight : 0\n        if (this.fixedTop === fixedTop) {\n          return\n        }\n        this.fixedTop = fixedTop\n        this.$refs.fixed.style[transformStyleKey] = `translate3d(0,${fixedTop}px,0)`\n      },\n      scrollY(newY) {\n        const listHeight = this.listHeight\n        // top\n        if (newY > -this.titleHeight) {\n          this.currentIndex = 0\n          return\n        }\n        // midd\n        for (let i = 0; i < listHeight.length - 1; i++) {\n          let height1 = listHeight[i]\n          let height2 = listHeight[i + 1]\n          if (-newY >= height1 && -newY < height2) {\n            this.currentIndex = i\n            this.diff = height2 + newY\n            return\n          }\n        }\n        // bottom\n        this.currentIndex = listHeight.length - 2\n      }\n    },\n    components: {\n      CubeScroll,\n      CubeIndexListGroup\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-index-list\n    position: relative\n    height: 100%\n    overflow: hidden\n    .cube-scroll-wrapper\n      position: absolute\n      left: 0\n      top: 0\n      right: 0\n      bottom: 0\n      overflow: hidden\n  .cube-index-list-content\n    background: $index-list-bgc\n    border-radius: 2px\n  .cube-index-list-title\n    padding: 14px 16px\n    font-size: $fontsize-medium\n    line-height: 1.6\n    color: $index-list-title-color\n  .cube-index-list-anchor\n    padding: 16px 16px 10px 16px\n    line-height: 1\n    font-size: $fontsize-medium\n    color: $index-list-anchor-color\n    background: $index-list-anchor-bgc\n  .cube-index-list-fixed\n    z-index: 1\n    position: absolute\n    top: 0\n    left: 0\n    right: 0\n  .cube-index-list-nav\n    position: absolute\n    z-index: 30\n    right: 0\n    top: 50%\n    transform: translateY(-50%)\n    font-family: Helvetica\n    > ul\n      padding: 0\n      margin: 0\n      > li\n        padding: 6px 16px 0 16px\n        line-height: 1\n        text-align: center\n        box-sizing(border-box)\n        font-size: $fontsize-small\n        color: $index-list-nav-color\n        &.active\n          color: $index-list-nav-active-color\n        @media (max-height: 480px)\n          &\n            padding-top: 3px\n</style>\n"
  },
  {
    "path": "src/components/input/input.vue",
    "content": "<template>\n  <div class=\"cube-input\" :class=\"{'cube-input_active': isFocus}\">\n    <div class=\"cube-input-prepend\" v-if=\"$slots.prepend\">\n      <slot name=\"prepend\"></slot>\n    </div>\n    <input\n      class=\"cube-input-field\"\n      ref=\"input\"\n      v-model=\"inputValue\"\n      v-bind=\"$props\"\n      :type=\"_type\"\n      :disabled=\"disabled\"\n      :readonly=\"readonly\"\n      :autocomplete=\"autocomplete\"\n      :autofocus=\"autofocus\"\n      @focus=\"handleFocus\"\n      @blur=\"handleBlur\"\n      @change=\"changeHander\"\n    >\n    <div class=\"cube-input-append\" v-if=\"$slots.append || _showClear || _showPwdEye\">\n      <div class=\"cube-input-clear\" v-if=\"_showClear\" @touchend=\"handleClear\">\n        <i class=\"cubeic-wrong\"></i>\n      </div>\n      <div class=\"cube-input-eye\" v-if=\"_showPwdEye\" @click=\"handlePwdEye\">\n        <i :class=\"eyeClass\"></i>\n      </div>\n      <slot name=\"append\"></slot>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import inputMixin from '../../common/mixins/input'\n  const COMPONENT_NAME = 'cube-input'\n  const EVENT_INPUT = 'input'\n  const EVENT_BLUR = 'blur'\n  const EVENT_FOCUS = 'focus'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [inputMixin],\n    props: {\n      value: [String, Number],\n      type: {\n        type: String,\n        default: 'text'\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      placeholder: String,\n      readonly: {\n        type: Boolean,\n        default: false\n      },\n      autofocus: {\n        type: Boolean,\n        default: false\n      },\n      autocomplete: {\n        type: [Boolean, String],\n        default: false\n      },\n      name: String,\n      id: String,\n      form: String,\n      minlength: Number,\n      maxlength: Number,\n      resize: String,\n      min: Number,\n      max: Number,\n      step: Number,\n      tabindex: String,\n      pattern: String,\n      clearable: {\n        type: [Boolean, Object],\n        default: false\n      },\n      eye: {\n        type: [Boolean, Object],\n        default: false\n      }\n    },\n    data() {\n      return {\n        inputValue: this.value,\n        isFocus: false,\n        formatedClearable: {\n          visible: false,\n          blurHidden: true\n        },\n        formatedEye: {\n          open: false,\n          reverse: false\n        }\n      }\n    },\n    computed: {\n      _type() {\n        const type = this.type\n        if (type === 'password' && this.eye && this.pwdVisible) {\n          return 'text'\n        }\n        return type\n      },\n      _showClear() {\n        let visible = this.formatedClearable.visible && this.inputValue && !this.readonly && !this.disabled\n        if (this.formatedClearable.blurHidden && !this.isFocus) {\n          visible = false\n        }\n        return visible\n      },\n      _showPwdEye() {\n        return this.type === 'password' && this.eye && !this.disabled\n      },\n      pwdVisible() {\n        const eye = this.formatedEye\n        return eye.reverse ? !eye.open : eye.open\n      },\n      eyeClass() {\n        return this.formatedEye.open ? 'cubeic-eye-visible' : 'cubeic-eye-invisible'\n      }\n    },\n    watch: {\n      value(newValue) {\n        this.inputValue = newValue\n      },\n      inputValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue)\n      },\n      clearable: {\n        handler() {\n          this.formatClearable()\n        },\n        deep: true,\n        immediate: true\n      },\n      eye: {\n        handler() {\n          this.formateEye()\n        },\n        deep: true,\n        immediate: true\n      }\n    },\n    methods: {\n      formatClearable() {\n        if (typeof this.clearable === 'boolean') {\n          this.formatedClearable.visible = this.clearable\n        } else {\n          Object.assign(this.formatedClearable, this.clearable)\n        }\n      },\n      formateEye() {\n        if (typeof this.eye === 'boolean') {\n          this.formatedEye.open = this.eye\n        } else {\n          Object.assign(this.formatedEye, this.eye)\n        }\n      },\n      handleFocus(e) {\n        this.$emit(EVENT_FOCUS, e)\n        this.isFocus = true\n      },\n      handleBlur(e) {\n        this.$emit(EVENT_BLUR, e)\n        this.isFocus = false\n      },\n      handleClear(e) {\n        this.inputValue = ''\n        this.$refs.input.focus()\n      },\n      handlePwdEye() {\n        this.formatedEye.open = !this.formatedEye.open\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-input\n    display: flex\n    align-items: center\n    font-size: $fontsize-medium\n    line-height: 1.429\n    background-color: $input-bgc\n    border-1px($input-border-color)\n  .cube-input-field\n    display: block\n    flex: 1\n    width: 100%\n    min-width: 0\n    padding: 10px\n    box-sizing: border-box\n    color: $input-color\n    line-height: inherit\n    background-color: inherit\n    border-radius: 2px\n    outline: none\n    &::-webkit-input-placeholder\n      color: $input-placeholder-color\n      text-overflow: ellipsis\n    + .cube-input-append\n      .cube-input-clear, .cube-input-eye\n        &:first-child\n          margin-left: -5px\n  .cube-input_active\n    &::after\n      border-color: $input-focus-border-color\n  .cube-input-prepend, .cube-input-append\n    display: flex\n    align-items: center\n  .cube-input-clear, .cube-input-eye\n    width: 1em\n    height: 1em\n    line-height: 1\n    padding: 10px\n    box-sizing: content-box\n    color: $input-clear-icon-color\n    > i\n      display: inline-block\n      transform: scale(1.2)\n  .cube-input-eye\n    >\n      .cubeic-eye-invisible, .cubeic-eye-visible\n        transform: scale(1.4)\n</style>\n"
  },
  {
    "path": "src/components/loading/loading.vue",
    "content": "<template>\n  <div class=\"cube-loading\">\n    <span class=\"cube-loading-spinners\" :style=\"style\">\n      <i class=\"cube-loading-spinner\" v-for=\"item in balde\"></i>\n    </span>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-loading'\n\n  export default {\n    name: COMPONENT_NAME,\n    data() {\n      return {\n        balde: 12\n      }\n    },\n    props: {\n      size: {\n        type: Number\n      }\n    },\n    computed: {\n      style() {\n        if (!this.size) {\n          return\n        }\n        const value = `${this.size}px`\n        return {\n          width: value,\n          height: value\n        }\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-loading\n    font-size: $fontsize-large-xxx\n  .cube-loading-spinners\n    position: relative\n    display: block\n    width: 1em\n    height: 1em\n  .cube-loading-spinner\n    position: absolute\n    left: 44.5%\n    top: 37%\n    width: 2PX // for rem\n    height: 25%\n    border-radius: 50%/20%\n    opacity: .25\n    background-color: currentColor\n    animation: spinner-fade 1s linear infinite\n    for num in (1..12)\n      &:nth-child({num})\n        animation-delay: ((num - 1) / 12)s\n        transform: rotate(30deg * (num - 6)) translateY(-150%)\n  @keyframes spinner-fade\n    0%\n      opacity: .85\n    50%\n      opacity: .25\n    100%\n      opacity: .25\n\n</style>\n"
  },
  {
    "path": "src/components/picker/picker.vue",
    "content": "<template>\n  <transition name=\"cube-picker-fade\">\n    <!-- Transition animation need use with v-show in the same template. -->\n    <cube-popup\n      type=\"picker\"\n      :mask=\"true\"\n      :center=\"false\"\n      :z-index=\"zIndex\"\n      v-show=\"isVisible\"\n      @touchmove.prevent\n      @mask-click=\"maskClick\">\n      <transition name=\"cube-picker-move\">\n        <div class=\"cube-picker-panel cube-safe-area-pb\" v-show=\"isVisible\" @click.stop>\n          <div class=\"cube-picker-choose border-bottom-1px\">\n            <span class=\"cube-picker-cancel\" @click=\"cancel\">{{_cancelTxt}}</span>\n            <span class=\"cube-picker-confirm\" @click=\"confirm\">{{_confirmTxt}}</span>\n            <div class=\"cube-picker-title-group\">\n              <h1 class=\"cube-picker-title\" v-html=\"title\"></h1>\n              <h2 v-if=\"subtitle\" class=\"cube-picker-subtitle\" v-html=\"subtitle\"></h2>\n            </div>\n          </div>\n\n          <div class=\"cube-picker-content\">\n            <i class=\"border-bottom-1px\"></i>\n            <i class=\"border-top-1px\"></i>\n            <div class=\"cube-picker-wheel-wrapper\" ref=\"wheelWrapper\">\n              <div v-for=\"(data,index) in finalData\" :key=\"index\" :style=\"{ order: _getFlexOrder(data)}\">\n                <!-- The class name of the ul and li need be configured to BetterScroll. -->\n                <ul class=\"cube-picker-wheel-scroll\">\n                  <li v-for=\"(item,index) in data\" class=\"cube-picker-wheel-item\" :key=\"index\" v-html=\"item[textKey]\">\n                  </li>\n                </ul>\n              </div>\n            </div>\n          </div>\n\n          <div class=\"cube-picker-footer\"></div>\n        </div>\n      </transition>\n    </cube-popup>\n  </transition>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import BScroll from 'better-scroll'\n  import CubePopup from '../popup/popup.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import basicPickerMixin from '../../common/mixins/basic-picker'\n  import pickerMixin from '../../common/mixins/picker'\n  import localeMixin from '../../common/mixins/locale'\n  import { USE_TRANSITION } from '../../common/bscroll/constants'\n  const COMPONENT_NAME = 'cube-picker'\n\n  const EVENT_SELECT = 'select'\n  const EVENT_VALUE_CHANGE = 'value-change'\n  const EVENT_CANCEL = 'cancel'\n  const EVENT_CHANGE = 'change'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, basicPickerMixin, pickerMixin, localeMixin],\n    props: {\n      pending: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data() {\n      return {\n        finalData: this.data.slice()\n      }\n    },\n    created() {\n      this._values = []\n      this._indexes = this.selectedIndex\n    },\n    methods: {\n      confirm() {\n        if (!this._canConfirm()) {\n          return\n        }\n        this.hide()\n\n        let changed = false\n        let pickerSelectedText = []\n\n        const length = this.finalData.length\n        const oldLength = this._values.length\n\n        // when column count has changed.\n        if (oldLength !== length) {\n          changed = true\n          oldLength > length && (this._values.length = this._indexes.length = length)\n        }\n\n        for (let i = 0; i < length; i++) {\n          let index = this._getSelectIndex(this.wheels[i])\n          this._indexes[i] = index\n\n          let value = null\n          let text = ''\n          if (this.finalData[i].length) {\n            value = this.finalData[i][index][this.valueKey]\n            text = this.finalData[i][index][this.textKey]\n          }\n          if (this._values[i] !== value) {\n            changed = true\n          }\n          this._values[i] = value\n          pickerSelectedText[i] = text\n        }\n\n        this.$emit(EVENT_SELECT, this._values, this._indexes, pickerSelectedText)\n\n        if (changed) {\n          this.$emit(EVENT_VALUE_CHANGE, this._values, this._indexes, pickerSelectedText)\n        }\n      },\n      maskClick() {\n        this.maskClosable && this.cancel()\n      },\n      cancel() {\n        this.hide()\n        this.$emit(EVENT_CANCEL)\n      },\n      show() {\n        if (this.isVisible) {\n          return\n        }\n\n        this.isVisible = true\n        if (!this.wheels || this.dirty) {\n          this.$nextTick(() => {\n            this.wheels = this.wheels || []\n            let wheelWrapper = this.$refs.wheelWrapper\n            for (let i = 0; i < this.finalData.length; i++) {\n              this._createWheel(wheelWrapper, i).enable()\n              this.wheels[i].wheelTo(this._indexes[i])\n            }\n            this.dirty && this._destroyExtraWheels()\n            this.dirty = false\n          })\n        } else {\n          for (let i = 0; i < this.finalData.length; i++) {\n            this.wheels[i].enable()\n            this.wheels[i].wheelTo(this._indexes[i])\n          }\n        }\n      },\n      hide() {\n        if (!this.isVisible) {\n          return\n        }\n        this.isVisible = false\n\n        for (let i = 0; i < this.finalData.length; i++) {\n          this.wheels[i].disable()\n        }\n      },\n      setData(data, selectedIndex) {\n        this._indexes = selectedIndex ? [...selectedIndex] : []\n        this.finalData = data.slice()\n        if (this.isVisible) {\n          this.$nextTick(() => {\n            const wheelWrapper = this.$refs.wheelWrapper\n            this.finalData.forEach((item, i) => {\n              this._createWheel(wheelWrapper, i)\n              this.wheels[i].wheelTo(this._indexes[i])\n            })\n            this._destroyExtraWheels()\n          })\n        } else {\n          this.dirty = true\n        }\n      },\n      refill(datas) {\n        let ret = []\n        if (!datas.length) {\n          return ret\n        }\n        datas.forEach((data, index) => {\n          ret[index] = this.refillColumn(index, data)\n        })\n        return ret\n      },\n      refillColumn(index, data) {\n        const wheelWrapper = this.$refs.wheelWrapper\n        let scroll = wheelWrapper.children[index].querySelector('.cube-picker-wheel-scroll')\n        let wheel = this.wheels ? this.wheels[index] : false\n        let dist = 0\n        if (scroll && wheel) {\n          let oldData = this.finalData[index]\n          this.$set(this.finalData, index, data)\n          let selectedIndex = wheel.getSelectedIndex()\n          if (oldData.length) {\n            let oldValue = oldData[selectedIndex][this.valueKey]\n            for (let i = 0; i < data.length; i++) {\n              if (data[i][this.valueKey] === oldValue) {\n                dist = i\n                break\n              }\n            }\n          }\n          this._indexes[index] = dist\n          this.$nextTick(() => {\n            // recreate wheel so that the wrapperHeight will be correct.\n            wheel = this._createWheel(wheelWrapper, index)\n            wheel.wheelTo(dist)\n          })\n        }\n        return dist\n      },\n      scrollTo(index, dist) {\n        const wheel = this.wheels[index]\n        this._indexes[index] = dist\n        wheel.wheelTo(dist)\n      },\n      refresh() {\n        this.$nextTick(() => {\n          this.wheels.forEach((wheel) => {\n            wheel.refresh()\n          })\n        })\n      },\n      _createWheel(wheelWrapper, i) {\n        if (!this.wheels[i]) {\n          const wheel = this.wheels[i] = new BScroll(wheelWrapper.children[i], {\n            wheel: {\n              selectedIndex: this._indexes[i] || 0,\n              wheelWrapperClass: 'cube-picker-wheel-scroll',\n              wheelItemClass: 'cube-picker-wheel-item'\n            },\n            swipeTime: this.swipeTime,\n            observeDOM: false,\n            useTransition: USE_TRANSITION\n          })\n          wheel.on('scrollEnd', () => {\n            this.$emit(EVENT_CHANGE, i, this._getSelectIndex(wheel))\n          })\n        } else {\n          this.wheels[i].refresh()\n        }\n        return this.wheels[i]\n      },\n      _destroyExtraWheels() {\n        const dataLength = this.finalData.length\n        if (this.wheels.length > dataLength) {\n          const extraWheels = this.wheels.splice(dataLength)\n          extraWheels.forEach((wheel) => {\n            wheel.destroy()\n          })\n        }\n      },\n      _canConfirm() {\n        return !this.pending && this.wheels.every((wheel) => {\n          return !wheel.isInTransition\n        })\n      },\n      _getFlexOrder(data) {\n        if (data[0]) {\n          return data[0][this.orderKey]\n        }\n        return 0\n      },\n      // fixed BScroll not calculating selectedIndex when setting useTransition to false\n      _getSelectIndex(wheel) {\n        const y = wheel.y\n        let selectedIndex\n        if (USE_TRANSITION) {\n          selectedIndex = wheel.getSelectedIndex()\n        } else {\n          if (y > wheel.minScrollY) {\n            selectedIndex = 0\n          } else if (y < wheel.maxScrollY) {\n            selectedIndex = wheel.items.length - 1\n          } else {\n            selectedIndex = Math.round(Math.abs(y / wheel.itemHeight))\n          }\n        }\n        return selectedIndex\n      }\n    },\n    beforeDestroy() {\n      this.wheels && this.wheels.forEach((wheel) => {\n        wheel.destroy()\n      })\n      this.wheels = null\n    },\n    components: {\n      CubePopup\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/mixin.styl\"\n  @require \"../../common/stylus/variable.styl\"\n\n  $picker-lr-padding = 16px\n\n  .cube-picker-fade-enter, .cube-picker-fade-leave-active\n    opacity: 0\n\n  .cube-picker-fade-enter-active, .cube-picker-fade-leave-active\n    transition: all .3s ease-in-out\n\n  .cube-picker-panel\n    height: 273px\n    text-align: center\n    font-size: $fontsize-medium\n    background: $picker-bgc\n\n  .cube-picker-move-enter, .cube-picker-move-leave-active\n    transform: translate3d(0, 100%, 0)\n\n  .cube-picker-move-enter-active, .cube-picker-move-leave-active\n    transition: all .3s ease-in-out\n\n  .cube-picker-choose\n    position: relative\n    height: 60px\n\n  .cube-picker-confirm, .cube-picker-cancel\n    font-size: $fontsize-medium\n    line-height: 60px\n    padding: 0 $picker-lr-padding\n    box-sizing: content-box\n    font-size: $fontsize-medium\n\n  .cube-picker-confirm\n    position: absolute\n    right: 0\n    color: $picker-confirm-btn-color\n    &:active\n      color: $picker-confirm-btn-active-color\n\n  .cube-picker-cancel\n    position: absolute\n    left: 0\n    color: $picker-cancel-btn-color\n    &:active\n      color: $picker-cancel-btn-active-color\n\n  .cube-picker-title-group\n    padding: 0 60px\n    display: flex\n    height: 100%\n    flex-flow: column\n    justify-content: center\n    text-align: center\n\n  .cube-picker-title\n    font-size: $fontsize-large-x\n    line-height: 25px\n    font-weight: normal\n    color: $picker-title-color\n\n  .cube-picker-subtitle\n    margin-top: 2px\n    line-height: 16px\n    font-size: $fontsize-small\n    color: $picker-subtitle-color\n\n  .cube-picker-content\n    position: relative\n    top: 20px\n    > i\n      position: absolute\n      z-index: 10\n      left: 0\n      width: 100%\n      height: 68px\n      pointer-events: none\n      transform: translateZ(0)\n    > .border-bottom-1px\n      top: 0\n      background: linear-gradient(to top, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.8))\n    > .border-top-1px\n      bottom: 0\n      background: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.8))\n\n  .cube-picker-wheel-wrapper\n    display: flex\n    padding: 0 $picker-lr-padding\n    > div\n      flex-fix()\n      height: 173px\n      overflow: hidden\n      font-size: $fontsize-large-xx\n\n  .cube-picker-wheel-scroll\n    padding: 0\n    margin-top: 68px\n    line-height: 36px\n    list-style: none\n\n  .cube-picker-wheel-item\n    list-style: none\n    height: 36px\n    overflow: hidden\n    white-space: nowrap\n    color: $picker-item-color\n\n  .cube-picker-footer\n    height: 20px\n</style>\n"
  },
  {
    "path": "src/components/popup/popup.vue",
    "content": "<template>\n  <div class=\"cube-popup\" :style=\"{'z-index': zIndex}\" :class=\"rootClass\" v-show=\"isVisible\">\n    <div class=\"cube-popup-mask\" @touchmove.prevent @click=\"maskClick\">\n      <slot name=\"mask\"></slot>\n    </div>\n    <div class=\"cube-popup-container\" @touchmove.prevent :class=\"containerClass\">\n      <div class=\"cube-popup-content\" v-if=\"$slots.default\">\n        <slot></slot>\n      </div>\n      <div class=\"cube-popup-content\" v-else v-html=\"content\">\n      </div>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  const COMPONENT_NAME = 'cube-popup'\n  const EVENT_MASK_CLICK = 'mask-click'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin],\n    props: {\n      type: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: true\n      },\n      content: {\n        type: String,\n        default: ''\n      },\n      center: {\n        type: Boolean,\n        default: true\n      },\n      position: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      rootClass() {\n        const cls = {\n          'cube-popup_mask': this.mask\n        }\n        if (this.type) {\n          cls[`cube-${this.type}`] = true\n        }\n        return cls\n      },\n      containerClass() {\n        const center = this.center\n        const position = this.position\n        if (position) {\n          return {\n            [`cube-popup-${position}`]: true\n          }\n        }\n        if (center) {\n          return {\n            'cube-popup-center': true\n          }\n        }\n      }\n    },\n    methods: {\n      maskClick(e) {\n        this.$emit(EVENT_MASK_CLICK, e)\n        if (this.maskClosable) {\n          this.hide()\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  .cube-popup\n    position: fixed\n    left: 0\n    right:0\n    top: 0\n    bottom: 0\n    z-index: 100\n    pointer-events: none\n  .cube-popup_mask\n    pointer-events: auto\n    .cube-popup-mask\n      display: block\n  .cube-popup-mask, .cube-popup-container\n    position: absolute\n    width: 100%\n    height: 100%\n  .cube-popup-mask\n    display: none\n    overflow: hidden\n    background-color: $popup-mask-bgc\n    opacity: $popup-mask-opacity\n    pointer-events: auto\n    // fix some android webview opacity render bug\n    &::before\n      content: \".\"\n      display: block\n      width: 1px\n      height: 1px\n      background-color: rgba(0, 0, 0, .1)\n      margin-left: -10px\n  .cube-popup-container\n    transform: translate(100%, 100%)\n  .cube-popup-content\n    position: absolute\n    top: 0\n    left: 0\n    width: 100%\n    box-sizing: border-box\n    transform: translate(-100%, -100%)\n    pointer-events: auto\n  .cube-popup-center,\n  .cube-popup-right,\n  .cube-popup-left\n    .cube-popup-content\n      top: -50%\n      left: -50%\n      width: auto\n      max-width: 100%\n      transform: translate(0, 0)\n  .cube-popup-right,\n  .cube-popup-left\n    .cube-popup-content\n      height: 100%\n      top: -100%\n  .cube-popup-center\n      .cube-popup-content\n        transform: translate(-50%, -50%)\n  .cube-popup-top\n    .cube-popup-content\n      top: -100%\n      left: -100%\n      transform: translate(0, 0)\n  .cube-popup-right\n    .cube-popup-content\n      top: -100%\n      right: 100%\n  .cube-popup-left\n    .cube-popup-content\n      left: -100%\n</style>\n"
  },
  {
    "path": "src/components/radio/radio-group.vue",
    "content": "<template>\n  <div class=\"cube-radio-group\" ref=\"group\" :class=\"_groupClass\" :data-horz=\"horizontal\" :data-col=\"colNum > 1\">\n    <slot>\n      <cube-radio\n        v-for=\"(option, index) in options\"\n        :key=\"index\"\n        :option=\"option\"\n        :position=\"position\"\n        :hollow-style=\"hollowStyle\"\n        v-model=\"radioValue\">\n      </cube-radio>\n    </slot>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import CubeRadio from './radio.vue'\n  import groupCol from '../../common/mixins/group-col'\n  const COMPONENT_NAME = 'cube-radio-group'\n\n  const EVENT_INPUT = 'input'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [groupCol],\n    provide() {\n      return {\n        radioGroup: this\n      }\n    },\n    props: {\n      value: [String, Number],\n      options: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      position: {\n        type: String,\n        default: 'left'\n      },\n      horizontal: {\n        type: Boolean,\n        default: false\n      },\n      hollowStyle: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data() {\n      return {\n        radioValue: this.value\n      }\n    },\n    watch: {\n      value(newV) {\n        this.radioValue = newV\n      },\n      radioValue(newV) {\n        this.$emit(EVENT_INPUT, newV)\n      }\n    },\n    computed: {\n      _groupClass() {\n        if (!this.horizontal) {\n          return 'border-top-1px border-bottom-1px'\n        }\n      }\n    },\n    components: {\n      CubeRadio\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-radio-group\n    z-index: 1\n    overflow: hidden\n    background-color: $radio-group-bgc\n    .cube-radio\n      &:last-child\n        .cube-radio-wrap\n          border-none()\n  .cube-radio-group[data-horz=\"true\"],\n  .cube-radio-group[data-col=\"true\"]\n    display: flex\n    padding-left: 0\n    border-1px($radio-group-horizontal-bdc, 2px)\n    border-radius: 2px\n    .cube-radio\n      flex-fix()\n      text-align: center\n      padding-left: 10px\n      padding-right: 10px\n      &::after\n        border-color: $radio-group-horizontal-bdc\n      &:last-child\n        border-none()\n      &:last-child\n        border-none()\n      &[data-pos=\"right\"]\n        .cube-radio-ui\n          position: relative\n          margin-left: .42em\n          order: 1\n        .cube-radio-label\n          margin-right: 0\n    .cube-radio-wrap\n      justify-content: center\n  .cube-radio-group[data-col=\"true\"]\n    flex-wrap: wrap\n    .cube-radio\n      flex: 0 0 auto\n      box-sizing: border-box\n      &::after\n        display: none\n</style>\n"
  },
  {
    "path": "src/components/radio/radio.vue",
    "content": "<template>\n  <div class=\"cube-radio\" :class=\"_containerClass\" :data-pos=\"position\">\n    <label class=\"cube-radio-wrap\" :class=\"_wrapClass\">\n      <input\n        class=\"cube-radio-input\"\n        type=\"radio\"\n        :disabled=\"option.disabled\"\n        v-model=\"radioValue\"\n        :value=\"computedOption.value\"\n      />\n      <span class=\"cube-radio-ui cubeic-round-border\">\n        <i></i>\n      </span>\n      <slot>\n        <span class=\"cube-radio-label\">{{ computedOption.label }}</span>\n      </slot>\n    </label>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\nconst COMPONENT_NAME = 'cube-radio'\nconst EVENT_INPUT = 'input'\n\nexport default {\n  name: COMPONENT_NAME,\n  inject: {\n    radioGroup: {\n      default: null\n    }\n  },\n  props: {\n    value: [String, Number],\n    option: {\n      type: [String, Object],\n      required: true\n    },\n    position: {\n      type: String,\n      default: 'left'\n    },\n    hollowStyle: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data() {\n    return {\n      radioValue: this.value\n    }\n  },\n  created() {\n    const radioGroup = this.radioGroup\n    if (radioGroup && radioGroup.radioValue !== void 0) {\n      this.radioValue = radioGroup.radioValue\n      this._cancelWatchGroup = this.$watch(\n        () => {\n          return radioGroup.radioValue\n        },\n        newValue => {\n          this.radioValue = newValue\n        }\n      )\n    }\n  },\n  beforeDestroy() {\n    this._cancelWatchGroup && this._cancelWatchGroup()\n    this._cancelWatchGroup = null\n  },\n  watch: {\n    value(newV) {\n      this.radioValue = newV\n    },\n    radioValue(newV) {\n      if (typeof this.value === 'number') {\n        newV = Number(newV)\n      }\n      this.$emit(EVENT_INPUT, newV)\n      if (this.radioGroup) {\n        this.radioGroup.radioValue = newV\n      }\n    }\n  },\n  computed: {\n    computedOption() {\n      const option = this.option\n      if (typeof option === 'string') {\n        return {\n          value: option,\n          label: option\n        }\n      }\n      return option\n    },\n    _containerClass() {\n      const option = this.computedOption\n      return {\n        'cube-radio-hollow': this.hollowStyle,\n        'cube-radio_selected': this.radioValue === option.value,\n        'cube-radio_disabled': option.disabled,\n        'border-right-1px': this.$parent.horizontal\n      }\n    },\n    _wrapClass() {\n      let parent = this.$parent\n      if (!(parent.horizontal || parent.$props.colNum > 1)) {\n        return 'border-bottom-1px'\n      }\n    }\n  }\n}\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n  $ui-width = 1.42em\n  .cube-radio\n    position: relative\n    padding: 0 16px\n    text-align: left\n    font-size: 100%\n    color: $radio-color\n    &[data-pos=\"right\"]\n      .cube-radio-ui\n        margin-right: 0\n        position: absolute\n        right: 0\n      .cube-radio-label\n        margin-right: $ui-width\n  .cube-radio-wrap\n    position: relative\n    display: flex\n    align-items: center\n    box-sizing: border-box\n    width: 100%\n    height: 100%\n    padding: 11px 0\n    line-height: 1.5\n    word-break: break-word\n    word-wrap: break-word\n  .cube-radio-input\n    z-index: 1\n    position: absolute\n    top: 0\n    left: 0\n    width: 100%\n    height: 100%\n    opacity: 0\n  .cube-radio-ui\n    position: relative\n    width: 1em\n    height: 1em\n    margin-right: $ui-width - 1em\n    line-height: 1\n    color: transparent\n    background-color: transparent\n    border-radius: 50%\n    &::before, i\n      transition: all .2s\n    &::before\n      color: $radio-icon-color\n      display: inline-block\n      transform: scale(1.24)\n    i\n      position: absolute\n      top: 0\n      left: 0\n      overflow: hidden\n      width: 100%\n      height: 100%\n      border-radius: 50%\n      transform: scale(.4)\n      &::before\n        content: \"\"\n        position: absolute\n        top: 50%\n        left: 50%\n        width: 50%\n        height: 50%\n        transform: translate(-50%, -50%) scale(.8)\n        // background-color: transparent\n        border-radius: 50%\n  .cube-radio_selected\n    .cube-radio-ui\n      background-color: $radio-selected-icon-bgc\n      &::before\n        color: transparent\n      i\n        transform: scale(1)\n        // color: $radio-selected-icon-color\n        &::before\n          background-color: $radio-selected-icon-color\n  .cube-radio_disabled\n    .cube-radio-ui\n      background-color: $radio-disabled-icon-bgc\n      &::before, i\n        transition: none\n      &::before\n        color: transparent\n  .cube-radio-hollow\n    &.cube-radio_selected, &.cube-radio_disabled\n      .cube-radio-ui\n        background-color: transparent\n        i::before\n          transform: translate(-50%, -50%) scale(1)\n    &.cube-radio_selected\n      .cube-radio-ui\n        &::before\n          color: $radio-hollow-selected-icon-color\n        i\n          &::before\n            background-color: $radio-hollow-selected-icon-color\n    &.cube-radio_disabled\n      .cube-radio-ui\n        &::before\n          color: $radio-hollow-disabled-icon-color\n      &.cube-radio_selected\n        .cube-radio-ui\n          i\n            &::before\n              background-color: $radio-hollow-disabled-icon-color\n</style>\n\n"
  },
  {
    "path": "src/components/rate/rate-item.vue",
    "content": "<template>\n  <li class=\"cube-rate-item\" :class=\"{\n    'cube-rate-item_active': index <= $parent.tempValue,\n    'cube-rate-item_half_active': index === $parent.tempValue + 0.5\n  }\">\n    <slot>\n      <div class=\"cube-rate-item-def\"></div>\n    </slot>\n  </li>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-rate-item'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      index: {\n        type: Number,\n        default: 0\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-rate-item\n    position: relative\n    width: 32px\n    flex: 0 1 auto\n    margin-right: 6px\n    &::after\n      content: \"\"\n      display: block\n      padding: 50% 0\n    &:last-child\n      margin-right: 0\n    .cube-rate-item-def\n      position: absolute\n      width: 100%\n      height: 100%\n      background-size: 100%\n      background-repeat: no-repeat\n      background-position: center\n      bg-image(\"evaluation_icon_star_gray\")\n  .cube-rate-item_active\n    .cube-rate-item-def\n      bg-image(\"evaluation_icon_star\")\n  .cube-rate-item_half_active\n    .cube-rate-item-def\n      bg-image(\"evaluation_icon_half\")\n</style>\n"
  },
  {
    "path": "src/components/rate/rate.vue",
    "content": "<template>\n  <!-- the preventDefault of touchmove is to prevent any default action caused by any touchmove event associated with the same active touch point, such as scrolling. -->\n  <ul ref=\"rateContainer\"\n    class=\"cube-rate\"\n    :class=\"rateClass\"\n    @touchstart.stop=\"handleStart\"\n    @touchmove.stop.prevent=\"handleMove\"\n    @touchend.stop=\"handleEnd\"\n    @mousedown.stop=\"handleStart\"\n    @mousemove.stop=\"handleMove\"\n    @mouseup.stop=\"handleEnd\">\n    <slot>\n      <cube-rate-item v-for=\"n in max\" :key=\"n\" :index=\"n\"></cube-rate-item>\n    </slot>\n  </ul>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeRateItem from './rate-item.vue'\n  const COMPONENT_NAME = 'cube-rate'\n  const EVENT_INPUT = 'input'\n\n  const EVENT_TYPE_MOUSE = 'mouse'\n  function isMouseEvent(e) {\n    return e.type.indexOf(EVENT_TYPE_MOUSE) > -1\n  }\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Number,\n        default: 0\n      },\n      max: {\n        type: Number,\n        default: 5\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      justify: {\n        type: Boolean,\n        default: false\n      },\n      allowHalf: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data() {\n      return {\n        tempValue: 0\n      }\n    },\n    created() {\n      this.mousePressed = false\n    },\n    computed: {\n      rateClass() {\n        return this.justify && 'cube-rate-justify'\n      }\n    },\n    watch: {\n      value: {\n        immediate: true,\n        handler(val) {\n          if (val !== this.tempValue) {\n            this.tempValue = this.handleNum(val)\n          }\n        }\n      }\n    },\n    methods: {\n      handleStart(e) {\n        if (!this.disabled) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = true\n            document.addEventListener('mouseup', this.handleEnd)\n            document.addEventListener('mousemove', this.handleMove)\n          }\n          const rect = this.$refs.rateContainer.getBoundingClientRect()\n          this.left = rect.left\n          this.containerWidth = rect.width\n        }\n      },\n      handleMove(e) {\n        if (this.disabled) return\n\n        if (!isMouseEvent(e)) {\n          this.computeTempValue(e.touches[0])\n        } else if (this.mousePressed) {\n          this.computeTempValue(e)\n        }\n      },\n      handleEnd(e) {\n        if (this.disabled) return\n        if ((!isMouseEvent(e) || this.mousePressed)) {\n          if (isMouseEvent(e)) {\n            this.mousePressed = false\n            document.removeEventListener('mouseup', this.handleEnd)\n            document.removeEventListener('mousemove', this.handleMove)\n          }\n          this.computeTempValue(isMouseEvent(e) ? e : e.changedTouches[0])\n          this.$emit(EVENT_INPUT, this.tempValue)\n        }\n      },\n      handleNum(num) {\n        if (this.allowHalf) {\n          const baseNum = Math.ceil(num) - 0.5\n          num = num <= baseNum ? baseNum : baseNum + 0.5\n        } else {\n          num = Math.ceil(num)\n        }\n        return num\n      },\n      computeTempValue(touch) {\n        let num = (touch.clientX - this.left) / this.containerWidth * this.max\n        num = this.handleNum(num)\n        if (num > 0 && num <= this.max) {\n          this.tempValue = num\n        } else if (num <= 0) {\n          this.tempValue = 0\n        } else {\n          this.tempValue = this.max\n        }\n      }\n    },\n    components: {\n      CubeRateItem\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-rate\n    list-style: none\n    display: inline-flex\n    vertical-align: top\n    flex-wrap: nowrap\n    max-width: 100%\n  .cube-rate-justify\n    width: 100%\n    justify-content: space-between\n</style>\n"
  },
  {
    "path": "src/components/recycle-list/recycle-list.vue",
    "content": "<template>\n  <div class=\"cube-recycle-list\">\n    <div class=\"cube-recycle-list-main\">\n      <div class=\"cube-recycle-list-items\" :style=\"{height: heights + 'px'}\">\n        <div\n          v-for=\"item in visibleItems\"\n          class=\"cube-recycle-list-item\"\n          :style=\"{transform: 'translate(0,' + item.top + 'px)'}\"\n        >\n          <div\n            v-if=\"infinite\"\n            :class=\"{'cube-recycle-list-transition': infinite}\"\n            :style=\"{opacity: +!item.loaded}\"\n          >\n            <slot name=\"tombstone\"></slot>\n          </div>\n          <div\n            :class=\"{'cube-recycle-list-transition': infinite}\"\n            :style=\"{opacity: item.loaded}\"\n          >\n            <slot name=\"item\" :data=\"item.data\"></slot>\n          </div>\n        </div>\n\n        <!-- preloads item for get its height, remove it after caculating height-->\n        <div class=\"cube-recycle-list-pool\">\n          <div\n            class=\"cube-recycle-list-item cube-recycle-list-invisible\"\n            v-if=\"item && !item.isTombstone && !item.height\"\n            :ref=\"'preloads'+index\"\n            v-for=\"(item, index) in items\"\n          >\n            <slot name=\"item\" :data=\"item.data\"></slot>\n          </div>\n          <div ref=\"tomb\" class=\"cube-recycle-list-item cube-recycle-list-invisible\">\n            <slot name=\"tombstone\"></slot>\n          </div>\n        </div>\n      </div>\n      <div\n        v-if=\"!infinite && !noMore\"\n        class=\"cube-recycle-list-loading\"\n        :style=\"{visibility: loading ? 'visible' : 'hidden'}\"\n      >\n        <slot name=\"spinner\">\n          <div class=\"cube-recycle-list-loading-content\">\n            <cube-loading class=\"cube-recycle-list-spinner\"></cube-loading>\n          </div>\n        </slot>\n      </div>\n\n      <div v-show=\"noMore\" class=\"cube-recycle-list-noMore\">\n        <slot name=\"noMore\" />\n      </div>\n    </div>\n    <div class=\"cube-recycle-list-fake\"></div>\n  </div>\n</template>\n\n<script>\n  import CubeLoading from '../loading/loading.vue'\n  import { warn } from '../../common/helpers/debug.js'\n  import { isUndef } from '../../common/helpers/util.js'\n\n  const COMPONENT_NAME = 'cube-recycle-list'\n  const PROMISE_ERROR = 'requires a Promise polyfill in this browser.'\n  const EVENT_SCROLL = 'scroll'\n  const EVENT_RESIZE = 'resize'\n\n  export default {\n    name: COMPONENT_NAME,\n    data() {\n      return {\n        items: [],\n        heights: 0,\n        startIndex: 0,\n        loadings: [],\n        noMore: false\n      }\n    },\n    props: {\n      infinite: {\n        type: Boolean,\n        default: false\n      },\n      size: {\n        type: Number,\n        default: 20\n      },\n      offset: {\n        type: Number,\n        default: 100\n      },\n      onFetch: {\n        type: Function,\n        required: true\n      }\n    },\n    computed: {\n      visibleItems() {\n        return this.items.slice(Math.max(0, this.startIndex - this.size), Math.min(this.items.length, this.startIndex + this.size))\n      },\n      tombHeight() {\n        return this.infinite ? this.$refs.tomb && this.$refs.tomb.offsetHeight : 0\n      },\n      loading() {\n        return this.loadings.length\n      }\n    },\n    created() {\n      this.list = []\n      this.promiseStack = []\n    },\n    mounted() {\n      this.checkPromiseCompatibility()\n      this.$el.addEventListener(EVENT_SCROLL, this._onScroll)\n      window.addEventListener(EVENT_RESIZE, this._onResize)\n      this.load()\n    },\n    beforeDestroy() {\n      this.$el.removeEventListener(EVENT_SCROLL, this._onScroll)\n      window.removeEventListener(EVENT_RESIZE, this._onResize)\n    },\n    methods: {\n      checkPromiseCompatibility() {\n        /* istanbul ignore if */\n        if (isUndef(window.Promise)) {\n          warn(PROMISE_ERROR)\n        }\n      },\n      load() {\n        if (this.infinite) {\n          const items = this.items\n          const start = items.length\n          // increase capacity of items to display tombstone\n          items.length += this.size\n          const end = items.length\n          this.loadItems(start, end)\n          this.getItems()\n        } else if (!this.loading) {\n          this.getItems()\n        }\n      },\n      getItems() {\n        const index = this.promiseStack.length\n        const promiseFetch = this.onFetch()\n        this.loadings.push('pending')\n        this.promiseStack.push(promiseFetch)\n        promiseFetch.then((res) => {\n          this.loadings.pop()\n          /* istanbul ignore if */\n          if (!res) {\n            this.stopScroll(index)\n          } else {\n            this.setList(index, res)\n            this.loadItemsByIndex(index)\n            if (res.length < this.size) {\n              this.stopScroll(index)\n            }\n          }\n        })\n      },\n      removeUnusedTombs(copy, index) {\n        let cursor\n        let size = this.size\n        let start = index * size\n        let end = (index + 1) * size\n        for (cursor = start; cursor < end; cursor++) {\n          if (copy[cursor] && copy[cursor].isTombstone) break\n        }\n        this.items = copy.slice(0, cursor)\n      },\n      stopScroll(index) {\n        this.noMore = true\n        this.removeUnusedTombs(this.items.slice(0), index)\n        this.updateItemTop()\n        this.updateStartIndex()\n      },\n      setList(index, res) {\n        const list = this.list\n        const baseIndex = index * this.size\n        for (let i = 0; i < res.length; i++) {\n          list[baseIndex + i] = res[i]\n        }\n      },\n      loadItemsByIndex(index) {\n        const size = this.size\n        const start = index * size\n        const end = (index + 1) * size\n        this.loadItems(start, end)\n      },\n      loadItems(start, end) {\n        const items = this.items\n        let promiseTasks = []\n        let item\n        for (let i = start; i < end; i++) {\n          item = items[i]\n          /* istanbul ignore if */\n          if (item && item.loaded) {\n            continue\n          }\n          this.setItem(i, this.list[i])\n          // get each item's height in nextTick\n          promiseTasks.push(this.$nextTick().then(() => {\n            this.updateItemHeight(i)\n          }))\n        }\n        // update items top and full list height\n        window.Promise.all(promiseTasks).then(() => {\n          this.updateItemTop()\n          this.updateStartIndex()\n        })\n      },\n      setItem(index, data) {\n        this.$set(this.items, index, {\n          data: data || {},\n          height: 0,\n          top: -1000,\n          isTombstone: !data,\n          loaded: data ? 1 : 0\n        })\n      },\n      updateItemHeight(index) {\n        // update item height\n        let cur = this.items[index]\n        let dom = this.$refs['preloads' + index]\n        if (dom && dom[0]) {\n          cur.height = dom[0].offsetHeight\n        } else if (cur) {\n          cur.height = this.tombHeight\n        }\n      },\n      updateItemTop() {\n        let heights = 0\n        const items = this.items\n        let pre\n        let current\n        // loop all items to update item top and list height\n        for (let i = 0; i < items.length; i++) {\n          pre = items[i - 1]\n          current = items[i]\n          // it is empty in array\n          /* istanbul ignore if */\n          if (!items[i]) {\n            heights += 0\n          } else {\n            current.top = pre ? pre.top + pre.height : 0\n            heights += current.height\n          }\n        }\n        this.heights = heights\n      },\n      updateStartIndex() {\n        // update visible items start index\n        let top = this.$el.scrollTop\n        let item\n        const items = this.items\n        for (let i = 0; i < items.length; i++) {\n          item = items[i]\n          if (!item || item.top > top) {\n            this.startIndex = Math.max(0, i - 1)\n            break\n          }\n        }\n      },\n      reset () {\n        const map = [\n          {\n            key: 'items',\n            value: []\n          },\n          {\n            key: 'heights',\n            value: 0\n          },\n          {\n            key: 'startIndex',\n            value: 0\n          },\n          {\n            key: 'loadings',\n            value: []\n          },\n          {\n            key: 'noMore',\n            value: false\n          },\n          {\n            key: 'list',\n            value: []\n          },\n          {\n            key: 'promiseStack',\n            value: []\n          }\n        ]\n        map.forEach(({ key, value }) => {\n          this[key] = value\n        })\n        this.$el.scrollTop = 0\n        this.load()\n      },\n      _onScroll() {\n        // trigger load\n        if (!this.noMore && this.$el.scrollTop + this.$el.offsetHeight > this.heights - this.offset) {\n          this.load()\n        }\n        this.updateStartIndex()\n      },\n      _onResize() {\n        const items = this.items\n        items.forEach((item) => {\n          item.loaded = false\n        })\n        this.loadItems(0, items.length)\n      }\n    },\n    components: {\n      CubeLoading\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-recycle-list\n    position: relative\n    height: 100%\n    overflow-x: hidden\n    overflow-y: auto\n    -webkit-overflow-scrolling: touch\n\n  .cube-recycle-list-main\n    min-height: 100%\n\n  .cube-recycle-list-fake\n    height: 1px\n\n  .cube-recycle-list-invisible\n    top: -1000px\n    visibility: hidden\n\n  .cube-recycle-list-item\n    width: 100%\n    position: absolute\n    box-sizing: border-box\n\n  .cube-recycle-list-transition\n    position: absolute\n    opacity: 0\n    transition-property: opacity\n    transition-duration: 500ms\n\n  .cube-recycle-list-loading\n    overflow: hidden\n\n  .cube-recycle-list-loading-content\n    text-align: center\n  .cube-recycle-list-spinner\n    margin: 10px auto\n    display: flex\n    justify-content: center\n</style>\n"
  },
  {
    "path": "src/components/scroll/scroll.vue",
    "content": "<template>\n  <div ref=\"wrapper\" class=\"cube-scroll-wrapper\">\n    <div class=\"cube-scroll-content\">\n      <div ref=\"listWrapper\" class=\"cube-scroll-list-wrapper\">\n        <slot>\n          <ul class=\"cube-scroll-list\">\n            <li\n              class=\"cube-scroll-item border-bottom-1px\"\n              v-for=\"(item, index) in data\"\n              :key=\"index\"\n              @click=\"clickItem(item)\">{{item}}</li>\n          </ul>\n        </slot>\n      </div>\n      <slot name=\"pullup\" :pullUpLoad=\"pullUpLoad\" :isPullUpLoad=\"isPullUpLoad\">\n        <div class=\"cube-pullup-wrapper\" v-if=\"pullUpLoad\">\n          <div class=\"before-trigger\" v-if=\"!isPullUpLoad\">\n            <span>{{ pullUpTxt }}</span>\n          </div>\n          <div class=\"after-trigger\" v-else>\n            <loading></loading>\n          </div>\n        </div>\n      </slot>\n    </div>\n    <div v-if=\"pullDownRefresh\" class=\"cube-pulldown\" ref=\"pulldown\">\n      <slot\n        name=\"pulldown\"\n        :pullDownRefresh=\"pullDownRefresh\"\n        :pullDownStyle=\"pullDownStyle\"\n        :beforePullDown=\"beforePullDown\"\n        :isPullingDown=\"isPullingDown\"\n        :bubbleY=\"bubbleY\">\n        <div class=\"cube-pulldown-wrapper\" :style=\"pullDownStyle\">\n          <div class=\"before-trigger\" v-show=\"beforePullDown\">\n            <bubble :y=\"bubbleY\" class=\"bubble\"></bubble>\n          </div>\n          <div class=\"after-trigger\" v-show=\"!beforePullDown\">\n            <div v-show=\"isPullingDown\" class=\"loading\">\n              <loading></loading>\n            </div>\n            <div v-show=\"!isPullingDown\" class=\"cube-pulldown-loaded\"><span>{{ refreshTxt }}</span></div>\n          </div>\n        </div>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import BScroll from 'better-scroll'\n  import Loading from '../loading/loading.vue'\n  import Bubble from '../bubble/bubble.vue'\n  import scrollMixin from '../../common/mixins/scroll'\n  import deprecatedMixin from '../../common/mixins/deprecated'\n  import { getRect } from '../../common/helpers/dom'\n  import { camelize } from '../../common/lang/string'\n  import { USE_TRANSITION } from '../../common/bscroll/constants'\n\n  const COMPONENT_NAME = 'cube-scroll'\n  const DIRECTION_H = 'horizontal'\n  const DIRECTION_V = 'vertical'\n  const DEFAULT_REFRESH_TXT = 'Refresh success'\n  const DEFAULT_STOP_TIME = 600\n\n  const EVENT_CLICK = 'click'\n  const EVENT_PULLING_DOWN = 'pulling-down'\n  const EVENT_PULLING_UP = 'pulling-up'\n\n  const EVENT_SCROLL = 'scroll'\n  const EVENT_BEFORE_SCROLL_START = 'before-scroll-start'\n  const EVENT_SCROLL_END = 'scroll-end'\n\n  const NEST_MODE_NONE = 'none'\n  const NEST_MODE_NATIVE = 'native'\n\n  const SCROLL_EVENTS = [EVENT_SCROLL, EVENT_BEFORE_SCROLL_START, EVENT_SCROLL_END]\n\n  const DEFAULT_OPTIONS = {\n    observeDOM: true,\n    click: true,\n    probeType: 1,\n    scrollbar: false,\n    pullDownRefresh: false,\n    pullUpLoad: false\n  }\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [scrollMixin, deprecatedMixin],\n    provide() {\n      return {\n        parentScroll: this\n      }\n    },\n    inject: {\n      parentScroll: {\n        default: null\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      scrollEvents: {\n        type: Array,\n        default() {\n          return []\n        },\n        validator(arr) {\n          return arr.every((item) => {\n            return SCROLL_EVENTS.indexOf(item) !== -1\n          })\n        }\n      },\n      // TODO: plan to remove at 1.10.0\n      listenScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      listenBeforeScroll: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'scroll-events'\n        }\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_V\n      },\n      refreshDelay: {\n        type: Number,\n        default: 20\n      },\n      nestMode: {\n        type: String,\n        default: NEST_MODE_NONE\n      }\n    },\n    data() {\n      return {\n        beforePullDown: true,\n        isPullingDown: false,\n        isPullUpLoad: false,\n        pullUpNoMore: false,\n        bubbleY: 0,\n        pullDownStyle: '',\n        pullDownStop: 40,\n        pullDownHeight: 60,\n        pullUpHeight: 0\n      }\n    },\n    computed: {\n      pullDownRefresh() {\n        let pullDownRefresh = this.options.pullDownRefresh\n        if (!pullDownRefresh) {\n          return pullDownRefresh\n        }\n        if (pullDownRefresh === true) {\n          pullDownRefresh = {}\n        }\n        return Object.assign({stop: this.pullDownStop}, pullDownRefresh)\n      },\n      pullUpLoad() {\n        return this.options.pullUpLoad\n      },\n      pullUpTxt() {\n        const pullUpLoad = this.pullUpLoad\n        const txt = pullUpLoad && pullUpLoad.txt\n        const moreTxt = (txt && txt.more) || ''\n        const noMoreTxt = (txt && txt.noMore) || ''\n\n        return this.pullUpNoMore ? noMoreTxt : moreTxt\n      },\n      refreshTxt() {\n        const pullDownRefresh = this.pullDownRefresh\n        return (pullDownRefresh && pullDownRefresh.txt) || DEFAULT_REFRESH_TXT\n      },\n      finalScrollEvents() {\n        const finalScrollEvents = this.scrollEvents.slice()\n\n        if (!finalScrollEvents.length) {\n          this.listenScroll && finalScrollEvents.push(EVENT_SCROLL)\n          this.listenBeforeScroll && finalScrollEvents.push(EVENT_BEFORE_SCROLL_START)\n        }\n        return finalScrollEvents\n      },\n      needListenScroll() {\n        return this.finalScrollEvents.indexOf(EVENT_SCROLL) !== -1 || this.parentScroll\n      }\n    },\n    watch: {\n      data() {\n        setTimeout(() => {\n          this.forceUpdate(true)\n        }, this.refreshDelay)\n      },\n      pullDownRefresh: {\n        handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullDown(newVal)\n            if (!oldVal) {\n              this._onPullDownRefresh()\n              this._pullDownRefreshChangeHandler()\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullDown()\n            this._offPullDownRefresh()\n            this._pullDownRefreshChangeHandler()\n          }\n        },\n        deep: true\n      },\n      pullUpLoad: {\n        handler(newVal, oldVal) {\n          if (newVal) {\n            this.scroll.openPullUp(newVal)\n            if (!oldVal) {\n              this._onPullUpLoad()\n              this._pullUpLoadChangeHandler()\n            }\n          }\n\n          if (!newVal && oldVal) {\n            this.scroll.closePullUp()\n            this._offPullUpLoad()\n            this._pullUpLoadChangeHandler()\n          }\n        },\n        deep: true\n      }\n    },\n    activated() {\n      /* istanbul ignore next */\n      this.enable()\n    },\n    deactivated() {\n      /* istanbul ignore next */\n      this.disable()\n    },\n    mounted() {\n      this.$nextTick(() => {\n        this.initScroll()\n      })\n    },\n    beforeDestroy() {\n      this.destroy()\n    },\n    methods: {\n      initScroll() {\n        if (!this.$refs.wrapper) {\n          return\n        }\n        this._calculateMinHeight()\n        let dynamicOptions = {\n          scrollY: this.direction === DIRECTION_V,\n          scrollX: this.direction === DIRECTION_H,\n          probeType: this.needListenScroll ? 3 : 1,\n          useTransition: USE_TRANSITION\n        }\n        let options = Object.assign({}, DEFAULT_OPTIONS, dynamicOptions, this.options)\n\n        this.scroll = new BScroll(this.$refs.wrapper, options)\n\n        this.parentScroll && this.nestMode !== NEST_MODE_NONE && this._handleNestScroll()\n\n        this._listenScrollEvents()\n\n        if (this.pullDownRefresh) {\n          this._onPullDownRefresh()\n          this._pullDownRefreshChangeHandler()\n        }\n\n        if (this.pullUpLoad) {\n          this._onPullUpLoad()\n          this._pullUpLoadChangeHandler()\n        }\n      },\n      disable() {\n        this.scroll && this.scroll.disable()\n      },\n      enable() {\n        this.scroll && this.scroll.enable()\n      },\n      refresh() {\n        this._calculateMinHeight()\n        this.scroll && this.scroll.refresh()\n      },\n      destroy() {\n        this.scroll && this.scroll.destroy()\n        this.scroll = null\n      },\n      scrollTo() {\n        this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments)\n      },\n      scrollToElement() {\n        this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments)\n      },\n      clickItem(item) {\n        this.$emit(EVENT_CLICK, item)\n      },\n      async forceUpdate(dirty = false, nomore = false) {\n        if (this.isPullDownUpdating) {\n          return\n        }\n\n        if (this.pullDownRefresh && this.isPullingDown) {\n          this.isPullingDown = false\n          this.isPullDownUpdating = true\n          await this._waitFinishPullDown()\n          this.isPullDownUpdating = false\n          await this._waitResetPullDown(dirty)\n        } else if (this.pullUpLoad && this.isPullUpLoad) {\n          this.isPullUpLoad = false\n          this.scroll.finishPullUp()\n          this.pullUpNoMore = !dirty || nomore\n        }\n\n        dirty && this.refresh()\n      },\n      resetPullUpTxt() {\n        this.pullUpNoMore = false\n      },\n      _listenScrollEvents() {\n        this.finalScrollEvents.forEach((event) => {\n          this.scroll.on(camelize(event), (...args) => {\n            this.$emit(event, ...args)\n          })\n        })\n      },\n      _handleNestScroll() {\n        // waiting scroll initial\n        this.$nextTick(() => {\n          const innerScroll = this.scroll\n          const outerScroll = this.parentScroll.scroll\n          const scrolls = [innerScroll, outerScroll]\n          scrolls.forEach((scroll, index, arr) => {\n            // scroll ended always enable them\n            scroll.on('touchEnd', () => {\n              outerScroll.enable()\n              innerScroll.enable()\n              // when inner scroll reaching boundary, we will disable inner scroll, so when 'touchend' event fire,\n              // the inner scroll will not reset initiated within '_end' method in better-scroll.\n              // then lead to inner and outer scrolls together when we touch and move on the outer scroll element,\n              // so here we reset inner scroll's 'initiated' manually.\n              innerScroll.initiated = false\n            })\n\n            scroll.on('beforeScrollStart', () => {\n              this.touchStartMoment = true\n              const anotherScroll = arr[(index + 1) % 2]\n              anotherScroll.stop()\n              anotherScroll.resetPosition()\n            })\n          })\n\n          innerScroll.on('scroll', (pos) => {\n            // if scroll event triggered not by touch event, such as by 'scrollTo' method\n            if (!innerScroll.initiated || innerScroll.isInTransition) {\n              return\n            }\n\n            if (this.nestMode === NEST_MODE_NATIVE && !this.touchStartMoment) {\n              return\n            }\n\n            const reachBoundary = this._checkReachBoundary(pos)\n            if (reachBoundary) {\n              innerScroll.resetPosition()\n              innerScroll.disable()\n              // Prevent outer scroll have a bouncing step when enabled in 'free' nestMode.\n              outerScroll.pointX = innerScroll.pointX\n              outerScroll.pointY = innerScroll.pointY\n              outerScroll.enable()\n            } else {\n              outerScroll.disable()\n            }\n            this.touchStartMoment = false\n          })\n        })\n      },\n      _checkReachBoundary(pos) {\n        const distX = this.scroll.distX\n        const distY = this.scroll.distY\n        const reachBoundaryX = distX > 0 ? pos.x >= this.scroll.minScrollX : distX < 0 ? pos.x <= this.scroll.maxScrollX : false\n        const reachBoundaryY = distY > 0 ? pos.y >= this.scroll.minScrollY : distY < 0 ? pos.y <= this.scroll.maxScrollY : false\n        const freeScroll = this.scroll.freeScroll\n        const hasHorizontalScroll = this.scroll.hasHorizontalScroll\n        const hasVerticalScroll = this.scroll.hasVerticalScroll\n\n        if (!hasHorizontalScroll && !hasVerticalScroll) {\n          return true\n        }\n\n        if (freeScroll) {\n          return reachBoundaryX || reachBoundaryY\n        }\n\n        let reachBoundary\n        if (this.scroll.movingDirectionX) {\n          reachBoundary = reachBoundaryX\n        } else if (this.scroll.movingDirectionY) {\n          reachBoundary = reachBoundaryY\n        }\n        return reachBoundary\n      },\n      _calculateMinHeight() {\n        const { wrapper, listWrapper } = this.$refs\n        const pullUpLoad = this.pullUpLoad\n        const pullDownRefresh = this.pullDownRefresh\n        let minHeight = 0\n\n        if (pullDownRefresh || pullUpLoad) {\n          const wrapperHeight = getRect(wrapper).height\n          minHeight = wrapperHeight + 1\n          if (pullUpLoad && pullUpLoad.visible) {\n            // minHeight = wrapperHeight + 1 - pullUpHeight, then pullUpLoad text is visible\n            // when content's height is not larger than wrapper height\n            minHeight -= this.pullUpHeight\n          }\n        }\n\n        listWrapper.style.minHeight = `${minHeight}px`\n      },\n      _onPullDownRefresh() {\n        this.scroll.on('pullingDown', this._pullDownHandle)\n        this.scroll.on('scroll', this._pullDownScrollHandle)\n      },\n      _offPullDownRefresh() {\n        this.scroll.off('pullingDown', this._pullDownHandle)\n        this.scroll.off('scroll', this._pullDownScrollHandle)\n      },\n      _pullDownRefreshChangeHandler() {\n        this.$nextTick(() => {\n          this._getPullDownEleHeight()\n          this._calculateMinHeight()\n        })\n      },\n      _pullDownHandle() {\n        if (this.resetPullDownTimer) {\n          clearTimeout(this.resetPullDownTimer)\n        }\n        this.beforePullDown = false\n        this.isPullingDown = true\n        this.$emit(EVENT_PULLING_DOWN)\n      },\n      _pullDownScrollHandle(pos) {\n        if (this.beforePullDown) {\n          this.bubbleY = Math.max(0, pos.y - this.pullDownHeight)\n          this.pullDownStyle = `top:${Math.min(pos.y - this.pullDownHeight, 0)}px`\n        } else {\n          this.bubbleY = 0\n          this.pullDownStyle = `top:${Math.min(pos.y - this.pullDownStop, 0)}px`\n        }\n      },\n      _pullUpLoadChangeHandler() {\n        this.$nextTick(() => {\n          this._getPullUpEleHeight()\n          this._calculateMinHeight()\n        })\n      },\n      _onPullUpLoad() {\n        this.scroll.on('pullingUp', this._pullUpHandle)\n      },\n      _offPullUpLoad() {\n        this.scroll.off('pullingUp', this._pullUpHandle)\n      },\n      _pullUpHandle() {\n        this.isPullUpLoad = true\n        this.$emit(EVENT_PULLING_UP)\n      },\n      _waitFinishPullDown(next) {\n        const {stopTime = DEFAULT_STOP_TIME} = this.pullDownRefresh\n        return new Promise(resolve => {\n          setTimeout(() => {\n            this.scroll && this.scroll.finishPullDown()\n            resolve()\n          }, stopTime)\n        })\n      },\n      _waitResetPullDown(dirty) {\n        return new Promise(resolve => {\n          this.resetPullDownTimer = setTimeout(() => {\n            this.pullDownStyle = `top: -${this.pullDownHeight}px`\n            this.beforePullDown = true\n            resolve()\n          }, this.scroll && this.scroll.options.bounceTime)\n        })\n      },\n      _getPullDownEleHeight() {\n        let pulldown = this.$refs.pulldown\n        if (!pulldown) {\n          return\n        }\n        pulldown = pulldown.firstChild\n        this.pullDownHeight = getRect(pulldown).height\n\n        this.beforePullDown = false\n        this.isPullingDown = true\n        this.$nextTick(() => {\n          this.pullDownStop = getRect(pulldown).height\n\n          this.beforePullDown = true\n          this.isPullingDown = false\n        })\n      },\n      _getPullUpEleHeight() {\n        const listWrapper = this.$refs.listWrapper\n        const pullup = listWrapper.nextElementSibling\n        if (!pullup) {\n          this.pullUpHeight = 0\n          return\n        }\n        this.pullUpHeight = getRect(pullup).height\n      }\n    },\n    components: {\n      Loading,\n      Bubble\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-scroll-wrapper\n    position: relative\n    height: 100%\n    overflow: hidden\n\n  .cube-scroll-list-wrapper\n    overflow: hidden\n\n  .cube-pulldown-wrapper\n    position: absolute\n    width: 100%\n    left: 0\n    display: flex\n    justify-content: center\n    align-items: center\n    transition: all\n    .before-trigger\n      height: 54px\n      line-height: 0\n      padding-top: 6px\n    .after-trigger\n      .loading\n        padding: 8px 0\n      .cube-pulldown-loaded\n        padding: 12px 0\n\n  .cube-pullup-wrapper\n    width: 100%\n    display: flex\n    justify-content: center\n    align-items: center\n    .before-trigger\n      padding: 22px 0\n      min-height: 1em\n    .after-trigger\n      padding: 19px 0\n\n  .cube-scroll-content\n    position: relative\n    z-index: 1\n\n  .cube-scroll-item\n    height: 60px\n    line-height: 60px\n    font-size: $fontsize-large-x\n    padding-left: 20px\n</style>\n"
  },
  {
    "path": "src/components/scroll-nav/scroll-nav-panel.vue",
    "content": "<template>\n  <div class=\"cube-scroll-nav-panel\">\n    <cube-sticky-ele :ele-key=\"label\">\n      <h2 class=\"cube-scroll-nav-panel-title\" v-html=\"title\"></h2>\n    </cube-sticky-ele>\n    <slot></slot>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeStickyEle from '../sticky/sticky-ele.vue'\n\n  const COMPONENT_NAME = 'cube-scroll-nav-panel'\n\n  export default {\n    name: COMPONENT_NAME,\n    inject: ['scrollNav'],\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      title: {\n        type: [String, Number],\n        default() {\n          /* istanbul ignore next */\n          return this.label\n        }\n      }\n    },\n    mounted() {\n      this.scrollNav.addPanel(this)\n    },\n    beforeDestroy() {\n      this.scrollNav.removePanel(this)\n    },\n    components: {\n      CubeStickyEle\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/scroll-nav/scroll-nav.vue",
    "content": "<template>\n  <div class=\"cube-scroll-nav\" :class=\"{'cube-scroll-nav_side': side}\">\n    <cube-sticky ref=\"sticky\" :pos=\"scrollY\" @change=\"stickyChangeHandler\">\n      <cube-scroll\n        ref=\"scroll\"\n        :scroll-events=\"scrollEvents\"\n        :options=\"options\"\n        :data=\"data\"\n        @scroll=\"scrollHandler\"\n        @scroll-end=\"scrollEndHandler\">\n        <slot name=\"prepend\"></slot>\n        <div class=\"cube-scroll-nav-main\">\n          <cube-sticky-ele ref=\"navBarEle\" ele-key=\"cube-scroll-nav-bar\">\n            <slot name=\"bar\" :txts=\"barTxts\" :labels=\"labels\" :current=\"active\">\n              <cube-scroll-nav-bar\n                :direction=\"barDirection\"\n                :txts=\"barTxts\"\n                :labels=\"labels\"\n                :current=\"active\" />\n            </slot>\n          </cube-sticky-ele>\n          <cube-sticky\n            ref=\"pageSticky\"\n            :offset=\"pageStickyOffset\"\n            :pos=\"scrollY\"\n            @change=\"pageStickyChangeHandler\">\n            <div class=\"cube-scroll-nav-panels\">\n              <slot></slot>\n            </div>\n            <template slot=\"fixed\" v-if=\"!side\">\n              <div></div>\n            </template>\n          </cube-sticky>\n        </div>\n      </cube-scroll>\n    </cube-sticky>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import scrollMixin from '../../common/mixins/scroll'\n\n  import CubeSticky from '../sticky/sticky.vue'\n  import CubeStickyEle from '../sticky/sticky-ele.vue'\n  import CubeScroll from '../scroll/scroll.vue'\n  import CubeScrollNavBar from '../scroll-nav-bar/scroll-nav-bar.vue'\n\n  const DIRECTION_H = 'horizontal'\n  const DIRECTION_V = 'vertical'\n\n  const COMPONENT_NAME = 'cube-scroll-nav'\n  const EVENT_CHANGE = 'change'\n  const EVENT_STICKY_CHANGE = 'sticky-change'\n\n  export default {\n    name: COMPONENT_NAME,\n    provide() {\n      return {\n        scrollNav: this\n      }\n    },\n    mixins: [scrollMixin],\n    props: {\n      data: {\n        type: Array\n      },\n      speed: {\n        type: Number,\n        default: 300\n      },\n      side: {\n        type: Boolean,\n        default: false\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data() {\n      return {\n        scrollEvents: ['scroll', 'scroll-end'],\n        scrollY: 0,\n        panels: [],\n        active: this.current,\n        pageStickyOffset: 0\n      }\n    },\n    computed: {\n      labels() {\n        return this.panels.map((panel) => panel.label)\n      },\n      barTxts() {\n        return this.panels.map((panel) => panel.title)\n      },\n      barDirection() {\n        return this.side ? DIRECTION_V : DIRECTION_H\n      }\n    },\n    watch: {\n      current(newVal) {\n        this.stickyCurrent = newVal\n        this.active = newVal\n        this.jumpTo(newVal)\n      },\n      active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal)\n      }\n    },\n    created() {\n      this.navBar = null\n      this.stickyCurrent = this.current\n    },\n    mounted() {\n      this.$nextTick(() => {\n        if (this.side) {\n          const fixedEle = this.$refs.pageSticky.$refs.fixedEle\n          this.$refs.scroll.$el.appendChild(fixedEle)\n        }\n        if (!this.current) {\n          this.active = this.stickyCurrent = this.labels[0]\n        }\n        this.refresh()\n        this.jumpTo(this.current)\n      })\n    },\n    methods: {\n      scrollTo() {\n        this.$refs.scroll && this.$refs.scroll.scrollTo.apply(this.$refs.scroll, arguments)\n      },\n      refresh() {\n        this.navBar && this.navBar.refresh()\n        this.$refs.sticky.refresh()\n        this.$refs.pageSticky.refresh()\n        this.pageStickyOffset = this.side ? 0 : this.$refs.navBarEle.$el.offsetHeight\n        this.$refs.scroll.refresh()\n      },\n      setBar(bar) {\n        this.navBar = bar\n      },\n      barChange(label) {\n        this.active = label\n        // waiting touchend\n        // so the inner scroll won't affect the touchend logic\n        setTimeout(() => {\n          this.jumpTo(label)\n        })\n      },\n      jumpTo(label) {\n        if (!label) {\n          return\n        }\n        const panel = this.getPanel(label)\n        if (panel) {\n          this._jumping = true\n          const offset = this.pageStickyOffset\n          this.$refs.scroll.scrollToElement(panel.$el, this.speed, 0, this.side ? offset : -offset)\n        }\n      },\n      getPanel(label) {\n        let panel = null\n        this.panels.some((_panel) => {\n          if (_panel.label === label) {\n            panel = _panel\n            return true\n          }\n        })\n        return panel\n      },\n      pageStickyChangeHandler(current) {\n        if (current === '') {\n          current = this.labels[0]\n        }\n        this.stickyCurrent = current\n        if (this._jumping) {\n          return\n        }\n        this.active = current\n      },\n      stickyChangeHandler(current) {\n        // when sticky change waiting dom changed\n        // then refresh navBar(navBar will get correct height)\n        this.$nextTick(() => {\n          this.navBar && this.navBar.refresh()\n        })\n        this.$emit(EVENT_STICKY_CHANGE, current)\n      },\n      scrollHandler(pos) {\n        this.scrollY = -pos.y\n        if (!this._jumping) {\n          this.active = this.stickyCurrent\n        }\n      },\n      scrollEndHandler() {\n        this._jumping = false\n      },\n      addPanel(panel) {\n        this.panels.push(panel)\n      },\n      removePanel(panel) {\n        const i = this.panels.indexOf(panel)\n        this.panels.splice(i, 1)\n      }\n    },\n    components: {\n      CubeSticky,\n      CubeStickyEle,\n      CubeScroll,\n      CubeScrollNavBar\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-scroll-nav\n    position: relative\n    height: 100%\n    overflow: hidden\n    .cube-sticky-content\n      height: 100%\n  .cube-scroll-nav-main\n    overflow: hidden\n    > .cube-sticky\n      position: static\n  .cube-scroll-nav_side\n    > .cube-sticky\n      display: flex\n      > .cube-scroll-wrapper\n        flex: 1\n      > .cube-sticky-fixed\n        position: relative\n        height: 100%\n        order: -1\n    .cube-scroll-nav-main\n      > .cube-sticky-ele\n        float: left\n      > .cube-sticky\n        overflow: hidden\n</style>\n"
  },
  {
    "path": "src/components/scroll-nav-bar/scroll-nav-bar.vue",
    "content": "<template>\n  <div class=\"cube-scroll-nav-bar\" :class=\"'cube-scroll-nav-bar_' + direction\">\n    <cube-scroll\n      ref=\"scroll\"\n      nestMode=\"none\"\n      :options=\"options\"\n      :direction=\"direction\">\n      <div class=\"cube-scroll-nav-bar-items\" ref=\"items\">\n        <div\n          class=\"cube-scroll-nav-bar-item\"\n          v-for=\"(txt, index) in usedTxts\"\n          :key=\"index\"\n          :class=\"{'cube-scroll-nav-bar-item_active': active === labels[index]}\"\n          @click=\"clickHandler(labels[index])\">\n          <slot\n            :txt=\"txt\"\n            :index=\"index\"\n            :active=\"active\"\n            :label=\"labels[index]\">\n              <span v-html=\"txt\"></span>\n            </slot>\n        </div>\n      </div>\n    </cube-scroll>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import scrollMixin from '../../common/mixins/scroll'\n  import CubeScroll from '../scroll/scroll.vue'\n\n  const DIRECTION_H = 'horizontal'\n  const DIRECTION_V = 'vertical'\n\n  const COMPONENT_NAME = 'cube-scroll-nav-bar'\n  const EVENT_CHANGE = 'change'\n\n  export default {\n    name: COMPONENT_NAME,\n    inject: {\n      scrollNav: {\n        default: null\n      }\n    },\n    mixins: [scrollMixin],\n    props: {\n      direction: {\n        type: String,\n        default: DIRECTION_H,\n        validator(val) {\n          return val === DIRECTION_H || val === DIRECTION_V\n        }\n      },\n      labels: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      txts: {\n        type: Array,\n        default() {\n          this._defaultTxts = true\n          /* istanbul ignore next */\n          return this.labels\n        }\n      },\n      current: {\n        type: [String, Number],\n        default: ''\n      }\n    },\n    data() {\n      return {\n        active: this.current,\n        usedTxts: this.txts\n      }\n    },\n    watch: {\n      labels(newLabels) {\n        if (this._defaultTxts) {\n          this.usedTxts = newLabels\n        }\n      },\n      txts(newTxts) {\n        this.usedTxts = newTxts\n      },\n      current(newVal) {\n        this.active = newVal\n      },\n      active(newVal) {\n        this.$emit(EVENT_CHANGE, newVal)\n        this._adjust()\n      }\n    },\n    mounted() {\n      this.scrollNav && this.scrollNav.setBar(this)\n      if (this.active) {\n        // waiting panels loaded\n        this.$nextTick(() => {\n          this._adjust()\n        })\n      }\n    },\n    beforeDestroy() {\n      this.scrollNav && this.scrollNav.setBar(null)\n    },\n    methods: {\n      clickHandler(label) {\n        if (label === this.active) {\n          return\n        }\n        this.active = label\n        this.scrollNav && this.scrollNav.barChange(label)\n      },\n      refresh() {\n        this.$refs.scroll.refresh()\n        this._adjust()\n      },\n      _adjust() {\n        // waiting ui\n        this.$nextTick(() => {\n          const isHorizontal = this.direction === DIRECTION_H\n          const targetProp = isHorizontal ? 'clientWidth' : 'clientHeight'\n          const active = this.active\n          const viewportSize = this.$refs.scroll.$el[targetProp]\n          const itemsEle = this.$refs.items\n          const scrollerSize = itemsEle[targetProp]\n          const minTranslate = Math.min(0, viewportSize - scrollerSize)\n          const middleTranslate = viewportSize / 2\n          const items = itemsEle.children\n          let size = 0\n          this.labels.every((label, index) => {\n            if (label === active) {\n              size += (items[index][targetProp] / 2)\n              return false\n            }\n            size += items[index][targetProp]\n            return true\n          })\n          let translate = middleTranslate - size\n          translate = Math.max(minTranslate, Math.min(0, translate))\n          this.$refs.scroll.scrollTo(isHorizontal ? translate : 0, isHorizontal ? 0 : translate, 300)\n        })\n      }\n    },\n    components: {\n      CubeScroll\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-scroll-nav-bar\n    position: relative\n    display: flex\n    color: $scroll-nav-color\n    background-color: $scroll-nav-bgc\n  .cube-scroll-nav-bar_horizontal\n    align-items: center\n    .cube-scroll-wrapper\n      flex: 1\n      text-align: center\n    .cube-scroll-content\n      display: inline-block\n      vertical-align: top\n    .cube-scroll-nav-bar-items\n      white-space: nowrap\n  .cube-scroll-nav-bar_vertical\n    height: 100%\n    justify-content: center\n    text-align: center\n    .cube-scroll-nav-bar-item\n      display: block\n  .cube-scroll-nav-bar-items\n    font-size: $fontsize-medium\n  .cube-scroll-nav-bar-item\n    display: inline-block\n    vertical-align: top\n    padding: 20px 15px\n  .cube-scroll-nav-bar-item_active\n    color: $scroll-nav-active-color\n</style>\n"
  },
  {
    "path": "src/components/segment-picker/segment-picker.vue",
    "content": "<template>\n  <div class=\"cube-segment-picker\">\n    <!-- Direct props will recover the property from v-bind Object expect 'is'. -->\n    <!-- To ensure the priority of v-bind Object which is from user configure, we check the property of item in every prop. -->\n    <component\n      v-for=\"(item, index) in data\"\n      :key=\"index\"\n      :index=\"index\"\n      ref=\"pickers\"\n      :is=\"item.is || 'cube-picker'\"\n      :title=\"item.title || title\"\n      :subtitle=\"item.subtitle || subtitle\"\n      :confirm-txt=\"item.confirmTxt || (index === data.length - 1 ? _confirmTxt : _nextTxt)\"\n      :cancel-txt=\"item.cancelTxt || (index === 0 ? _cancelTxt : _prevTxt)\"\n      :swipe-time=\"item.swipeTime || swipeTime\"\n      :z-index=\"item.zIndex || zIndex\"\n      :mask-closable=\"maskClosable\"\n      v-bind=\"item\"\n      @select=\"_select\"\n      @cancel=\"_cancel\"\n      @change=\"_change\">\n    </component>\n  </div>\n</template>\n\n<script>\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import pickerMixin from '../../common/mixins/picker'\n  import localeMixin from '../../common/mixins/locale'\n\n  const COMPONENT_NAME = 'cube-segment-picker'\n  const EVENT_NEXT = 'next'\n  const EVENT_PREV = 'prev'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n  const EVENT_CHANGE = 'change'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, pickerMixin, localeMixin],\n    props: {\n      data: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      nextTxt: {\n        type: String,\n        default: ''\n      },\n      prevTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    data() {\n      return {\n        current: 0,\n        selectedVal: [],\n        selectedIndex: [],\n        selectedText: []\n      }\n    },\n    computed: {\n      currentPicker () {\n        // $refs is not reactive, should not use to computed or watch, so we import this.data to responsive.\n        for (let i = 0; i < this.data.length; i++) {\n          let item = this.$refs.pickers[i]\n          if (item.$attrs.index === this.current) {\n            return item\n          }\n        }\n      },\n      _nextTxt () {\n        return this.nextTxt || this.$t('next')\n      },\n      _prevTxt () {\n        return this.prevTxt || this.$t('prev')\n      }\n    },\n    watch: {\n      data() {\n        this.current = 0\n        this.selectedVal = []\n        this.selectedIndex = []\n        this.selectedText = []\n      }\n    },\n    methods: {\n      show() {\n        if (this.isVisible || !this.data.length) {\n          return\n        }\n        this.isVisible = true\n        this.currentPicker.show()\n      },\n      hide() {\n        if (!this.isVisible || !this.data.length) {\n          return\n        }\n        this.isVisible = false\n        this.currentPicker.hide()\n      },\n      _select(...args) {\n        this.selectedVal[this.current] = args[0]\n        this.selectedIndex[this.current] = args[1]\n        this.selectedText[this.current] = args[2]\n\n        if (this.current < this.data.length - 1) {\n          this.$emit(EVENT_NEXT, this.current, ...args)\n          this.current++\n          this.currentPicker.show()\n        } else {\n          this.isVisible = false\n          this.$emit(EVENT_SELECT, this.selectedVal, this.selectedIndex, this.selectedText)\n          this.current = 0\n        }\n      },\n      _cancel(...args) {\n        if (this.current > 0) {\n          this.$emit(EVENT_PREV, this.current, ...args)\n          this.current--\n          this.currentPicker.show()\n        } else {\n          this.isVisible = false\n          this.$emit(EVENT_CANCEL)\n        }\n      },\n      _change(...args) {\n        this.$emit(EVENT_CHANGE, this.current, ...args)\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/select/select.vue",
    "content": "<template>\n  <div class=\"cube-select\" :class=\"{ 'cube-select_active': active, 'cube-select_disabled': disabled }\" @click=\"showPicker\">\n    <span v-if=\"selectedText\" class=\"cube-select-text\">{{ selectedText }}</span>\n    <span v-else class=\"cube-select-placeholder\">{{ _placeholder }}</span>\n    <i class=\"cube-select-icon\"></i>\n  </div>\n</template>\n\n<script>\n  import { findIndex } from '../../common/helpers/util'\n  import localeMixin from '../../common/mixins/locale'\n\n  const COMPONENT_NAME = 'cube-select'\n\n  const EVENT_CHANGE = 'change'\n  const EVENT_INPUT = 'input' // only used for v-model\n  const EVENT_PICKER_SHOW = 'picker-show'\n  const EVENT_PICKER_HIDE = 'picker-hide'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [ localeMixin ],\n    data() {\n      return {\n        active: false\n      }\n    },\n    props: {\n      options: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      value: null,\n      placeholder: {\n        type: String,\n        default: ''\n      },\n      autoPop: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      cancelTxt: {\n        type: String,\n        default: ''\n      },\n      confirmTxt: {\n        type: String,\n        default: ''\n      }\n    },\n    computed: {\n      adaptOptions() {\n        return [this.options.map(item => {\n          if (typeof item !== 'object') {\n            item = {\n              value: item,\n              text: item\n            }\n          }\n          return item\n        })]\n      },\n      valueIndex() {\n        const val = this.value\n        const index = findIndex(this.adaptOptions[0], (item) => {\n          return item.value === val\n        })\n        this.picker && this.picker.setData(this.adaptOptions, index !== -1 ? [index] : [0])\n\n        return index\n      },\n      selectedIndex() {\n        return this.valueIndex !== -1 ? [this.valueIndex] : [0]\n      },\n      selectedText() {\n        return this.valueIndex !== -1 ? this.adaptOptions[0][this.valueIndex].text : ''\n      },\n      _placeholder () {\n        return this.placeholder || this.$t('selectText')\n      },\n      _title () {\n        return this.title || this.$t('selectText')\n      },\n      _cancelTxt () {\n        return this.cancelTxt || this.$t('cancel')\n      },\n      _confirmTxt () {\n        return this.confirmTxt || this.$t('ok')\n      }\n    },\n    created() {\n      this.picker = this.$createPicker({\n        $props: {\n          title: '_title',\n          data: 'adaptOptions',\n          selectedIndex: 'selectedIndex',\n          cancelTxt: '_cancelTxt',\n          confirmTxt: '_confirmTxt'\n        },\n        $events: {\n          select: 'selectHandler',\n          cancel: this.hided\n        }\n      })\n      this.autoPop && this.showPicker()\n    },\n    methods: {\n      showPicker() {\n        if (this.disabled) {\n          return\n        }\n        this.picker.show()\n        this.active = true\n        this.$emit(EVENT_PICKER_SHOW)\n      },\n      hided() {\n        this.active = false\n        this.$emit(EVENT_PICKER_HIDE)\n      },\n      selectHandler(selectedVal, selectedIndex, selectedText) {\n        this.hided()\n        if (selectedVal[0] !== this.value) {\n          this.$emit(EVENT_INPUT, selectedVal[0])\n          this.$emit(EVENT_CHANGE, selectedVal[0], selectedIndex[0], selectedText[0])\n        }\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-select\n    position: relative\n    box-sizing: border-box\n    padding: 10px 20px 10px 10px\n    border-radius: 2px\n    font-size: $fontsize-medium\n    line-height: 1.429\n    color: $select-color\n    background-color: $select-bgc\n    border-1px($select-border-color, 2px)\n    > span\n      display: inline-block\n  .cube-select_active\n    border-1px($select-border-active-color)\n    .cube-select-icon\n      transform: translate(0, -50%) rotate(180deg)\n  .cube-select_disabled\n    color: $select-disabled-color\n    background-color: $select-disabled-bgc\n    cursor: not-allowed\n  .cube-select-placeholder\n    color: $select-placeholder-color\n  .cube-select-icon\n    position: absolute\n    right: 8px\n    top: 50%\n    transform: translate(0, -50%)\n    border-style: solid\n    border-color: $select-icon-color transparent transparent transparent\n    border-width: 4px 4px 0 4px\n    transition: transform .3s ease-in-out\n</style>\n"
  },
  {
    "path": "src/components/slide/slide-item.vue",
    "content": "<template>\n  <div class=\"cube-slide-item\">\n    <slot>\n      <a :href=\"item.url\">\n        <img :src=\"item.image\">\n      </a>\n    </slot>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-slide-item'\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      item: {\n        type: Object,\n        default() {\n          /* istanbul ignore next */\n          return {}\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-slide-item\n    float: left\n    box-sizing: border-box\n    height: 100%\n    width: 100%\n    > a\n      display: block\n      height: 100%\n      overflow: hidden\n      text-decoration: none\n      > img\n        display: block\n        height: 100%\n</style>\n"
  },
  {
    "path": "src/components/slide/slide.vue",
    "content": "<template>\n  <div class=\"cube-slide\" ref=\"slide\">\n    <div class=\"cube-slide-group\" ref=\"slideGroup\">\n      <slot>\n        <cube-slide-item\n          v-for=\"(item, index) in data\"\n          :key=\"index\"\n          @click.native=\"clickItem(item, index)\"\n          :item=\"item\">\n        </cube-slide-item>\n      </slot>\n    </div>\n    <div class=\"cube-slide-dots\" v-if=\"showDots\">\n      <slot name=\"dots\" :current=\"currentPageIndex\" :dots=\"dots\">\n        <span :class=\"{active: currentPageIndex === index}\" v-for=\"(item, index) in dots\" :key=\"index\"></span>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeSlideItem from './slide-item.vue'\n  import BScroll from 'better-scroll'\n  import scrollMixin from '../../common/mixins/scroll'\n  import deprecatedMixin from '../../common/mixins/deprecated'\n\n  const COMPONENT_NAME = 'cube-slide'\n  const EVENT_CHANGE = 'change'\n  const EVENT_SELECT = 'click'\n  const EVENT_SCROLL_END = 'scroll-end'\n  const EVENT_SCROLL = 'scroll'\n\n  const DIRECTION_H = 'horizontal'\n  const DIRECTION_V = 'vertical'\n\n  const DEFAULT_OPTIONS = {\n    momentum: false,\n    click: true,\n    observeDOM: false,\n    bounce: false\n  }\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [scrollMixin, deprecatedMixin],\n    props: {\n      data: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      initialIndex: {\n        type: Number,\n        default: 0\n      },\n      loop: {\n        type: Boolean,\n        default: true\n      },\n      threshold: {\n        type: Number,\n        default: 0.3\n      },\n      speed: {\n        type: Number,\n        default: 400\n      },\n      autoPlay: {\n        type: Boolean,\n        default: true\n      },\n      interval: {\n        type: Number,\n        default: 4000\n      },\n      showDots: {\n        type: Boolean,\n        default: true\n      },\n      direction: {\n        type: String,\n        default: DIRECTION_H\n      },\n      // The props allowVertical, stopPropagation could be removed in next minor version.\n      allowVertical: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      stopPropagation: {\n        type: Boolean,\n        default: undefined,\n        deprecated: {\n          replacedBy: 'options'\n        }\n      },\n      refreshResetCurrent: {\n        type: Boolean,\n        default: true\n      }\n    },\n    data() {\n      return {\n        dots: 0,\n        currentPageIndex: this.initialIndex || 0\n      }\n    },\n    created() {\n      this._dataWatchers = []\n      const needRefreshProps = ['data', 'loop', 'autoPlay', 'options.eventPassthrough', 'threshold', 'speed', 'allowVertical']\n      needRefreshProps.forEach((key) => {\n        this._dataWatchers.push(this.$watch(key, () => {\n          // To fix the render bug when add items since loop.\n          if (key === 'data') {\n            this._destroy()\n          }\n\n          /* istanbul ignore next */\n          this.$nextTick(() => {\n            this.refresh()\n          })\n        }))\n      })\n    },\n    watch: {\n      initialIndex(newIndex) {\n        if (newIndex !== this.currentPageIndex) {\n          this._goToPage(newIndex)\n        }\n      }\n    },\n    methods: {\n      clickItem(item, index) {\n        /* istanbul ignore next */\n        this.$emit(EVENT_SELECT, item, index)\n      },\n      refresh() {\n        /* istanbul ignore if */\n        if (this.slide === null) {\n          return\n        }\n        this._destroy()\n        clearTimeout(this._timer)\n\n        if (this.slide && this.refreshResetCurrent) {\n          this.currentPageIndex = 0\n        }\n        this._updateSlideDom()\n        if (this.showDots) {\n          this._initDots()\n        }\n        if (this.currentPageIndex >= this.dots.length) {\n          this.currentPageIndex = this.dots.length - 1\n        }\n        this._initSlide()\n\n        if (this.autoPlay) {\n          this._play()\n        }\n      },\n      play() {\n        /* 基于 autoPlay 为true 时，调用 play 方法生效 */\n        if (!this.autoPlay) return\n        if (this._timer === null) {\n          this._play()\n        }\n      },\n      pause() {\n        /* 基于 autoPlay 为true 时，调用 pause 方法生效 */\n        if (!this.autoPlay) return\n        clearTimeout(this._timer)\n        this._timer = null\n      },\n      _destroy() {\n        this.slide && this.slide.destroy()\n      },\n      _refresh() {\n        this._updateSlideDom(true)\n        this.slide.refresh()\n      },\n      _updateSlideDom(isResize) {\n        this._setSlideStyle(isResize)\n      },\n      _setSlideStyle(isResize) {\n        this.children = this.$refs.slideGroup.children\n\n        const target = this.direction === DIRECTION_H ? 'width' : 'height'\n        let allSize = 0\n        const slideSize = this.$refs.slide[`client${target[0].toUpperCase() + target.slice(1)}`]\n        const len = this.children.length\n        for (let i = 0; i < len; i++) {\n          const child = this.children[i]\n          child.style[target] = slideSize + 'px'\n          allSize += slideSize\n        }\n        if (this.loop && !isResize && len > 1) {\n          allSize += 2 * slideSize\n        }\n        this.$refs.slideGroup.style[target] = allSize + 'px'\n      },\n      _initSlide() {\n        const eventPassthrough = this.direction === DIRECTION_H && this.allowVertical ? DIRECTION_V : ''\n\n        const options = Object.assign({}, DEFAULT_OPTIONS, {\n          scrollX: this.direction === DIRECTION_H,\n          scrollY: this.direction === DIRECTION_V,\n          eventPassthrough,\n          snap: {\n            loop: this.loop,\n            threshold: this.threshold,\n            speed: this.speed\n          },\n          stopPropagation: this.stopPropagation\n        }, this.options)\n\n        this.slide = new BScroll(this.$refs.slide, options)\n\n        this.slide.on('scrollEnd', this._onScrollEnd)\n\n        this._goToPage(this.currentPageIndex, 0)\n\n        /* dispatch scroll position constantly */\n        if (this.options.listenScroll && this.options.probeType === 3) {\n          this.slide.on('scroll', this._onScroll)\n        }\n        const slideEl = this.$refs.slide\n        slideEl.removeEventListener('touchend', this._touchEndEvent, false)\n        this._touchEndEvent = () => {\n          if (this.autoPlay) {\n            this._play()\n          }\n        }\n        slideEl.addEventListener('touchend', this._touchEndEvent, false)\n\n        this.slide.on('beforeScrollStart', () => {\n          if (this.autoPlay) {\n            clearTimeout(this._timer)\n          }\n        })\n      },\n      _onScrollEnd() {\n        const { pageX, pageY } = this.slide.getCurrentPage()\n        let pageIndex = this.direction === DIRECTION_H ? pageX : pageY\n        if (this.currentPageIndex !== pageIndex) {\n          this.currentPageIndex = pageIndex\n          this.$emit(EVENT_CHANGE, pageIndex)\n        }\n\n        this.$emit(EVENT_SCROLL_END, pageIndex)\n\n        if (this.autoPlay) {\n          this._play()\n        }\n      },\n      _onScroll(pos) {\n        this.$emit(EVENT_SCROLL, pos)\n      },\n      _initDots() {\n        this.dots = new Array(this.children.length)\n      },\n      _play() {\n        clearTimeout(this._timer)\n        this._timer = setTimeout(() => {\n          this.slide && this.slide.next()\n        }, this.interval)\n      },\n      _deactivated() {\n        clearTimeout(this._timer)\n        clearTimeout(this._resizeTimer)\n        window.removeEventListener('resize', this._resizeHandler)\n        const slideEl = this.$refs.slide\n        if (slideEl) {\n          slideEl.removeEventListener('touchend', this._touchEndEvent, false)\n        }\n      },\n      _resizeHandler() {\n        /* istanbul ignore if */\n        if (!this.slide) {\n          return\n        }\n        clearTimeout(this._resizeTimer)\n        this._resizeTimer = setTimeout(() => {\n          /* istanbul ignore if */\n          if (this.slide.isInTransition) {\n            this._onScrollEnd()\n          } else {\n            if (this.autoPlay) {\n              this._play()\n            }\n          }\n          this._refresh()\n        }, 60)\n      },\n      _goToPage(index, time) {\n        if (this.direction === DIRECTION_H) {\n          this.slide && this.slide.goToPage(index, 0, time)\n        } else if (this.direction === DIRECTION_V) {\n          this.slide && this.slide.goToPage(0, index, time)\n        }\n      }\n    },\n    mounted() {\n      this.$nextTick(() => {\n        this.refresh()\n      })\n\n      window.addEventListener('resize', this._resizeHandler)\n    },\n    activated() {\n      /* istanbul ignore next */\n      if (this.autoPlay) {\n        this._play()\n      }\n      window.addEventListener('resize', this._resizeHandler)\n    },\n    deactivated() {\n      /* istanbul ignore next */\n      this._deactivated()\n    },\n    destroyed() {\n      this._deactivated()\n      this._destroy()\n      this.slide = null\n\n      this._dataWatchers.forEach((cancalWatcher) => {\n        cancalWatcher()\n      })\n      this._dataWatchers = null\n    },\n    components: {\n      CubeSlideItem\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  .cube-slide\n    position: relative\n    min-height: 1px\n    height: 100%\n    overflow: hidden\n\n  .cube-slide-group\n    position: relative\n    height: 100%\n    overflow: hidden\n    white-space: nowrap\n    transition-property: transform\n\n  .cube-slide-dots\n    position: absolute\n    bottom: 2px\n    right: 0\n    left: 0\n    padding: 0 6px\n    font-size: 0\n    text-align: center\n    transform: translateZ(1px)\n    > span\n      display: inline-block\n      vertical-align: bottom\n      margin: 0 1px\n      width: 10px\n      height: 1px\n      background: $slide-dot-bgc\n      &.active\n        background: $slide-dot-active-bgc\n</style>\n"
  },
  {
    "path": "src/components/sticky/sticky-ele.vue",
    "content": "<template>\n  <div class=\"cube-sticky-ele\">\n    <div class=\"cube-sticky-content\">\n      <slot></slot>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-sticky-ele'\n\n  export default {\n    name: COMPONENT_NAME,\n    inject: ['sticky'],\n    props: {\n      eleKey: {\n        type: [Number, String]\n      }\n    },\n    mounted() {\n      this.sticky.addEle(this)\n    },\n    methods: {\n      refresh() {\n        const el = this.$el\n        if (el.firstElementChild) {\n          el.style.height = ''\n          el.style.height = `${el.offsetHeight}px`\n        }\n      }\n    },\n    beforeDestroy() {\n      this.sticky.removeEle(this)\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-sticky-ele\n    position: relative\n</style>\n"
  },
  {
    "path": "src/components/sticky/sticky.vue",
    "content": "<template>\n  <div class=\"cube-sticky\">\n    <slot></slot>\n    <transition :name=\"fixedShowAni\">\n      <div\n        ref=\"fixedEle\"\n        v-show=\"fixedShow\"\n        class=\"cube-sticky-fixed\">\n        <slot name=\"fixed\" :current=\"currentKey\" :index=\"currentIndex\"></slot>\n      </div>\n    </transition>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import {\n    getRect,\n    prefixStyle,\n    addClass,\n    removeClass\n  } from '../../common/helpers/dom'\n\n  const COMPONENT_NAME = 'cube-sticky'\n  const EVENT_CHANGE = 'change'\n  const EVENT_DIFF_CHANGE = 'diff-change'\n\n  const transformStyleKey = prefixStyle('transform')\n\n  export default {\n    name: COMPONENT_NAME,\n    provide() {\n      return {\n        sticky: this\n      }\n    },\n    props: {\n      pos: {\n        type: Number,\n        required: true\n      },\n      checkTop: {\n        type: Boolean,\n        default: true\n      },\n      fixedShowAni: {\n        type: String,\n        default() {\n          return this.checkTop ? '' : 'cube-sticky-fixed-fade'\n        }\n      },\n      offset: {\n        type: Number,\n        default: 0\n      }\n    },\n    data() {\n      return {\n        diff: 0,\n        currentDiff: 0,\n        currentIndex: -1,\n        currentKey: ''\n      }\n    },\n    computed: {\n      fixedShow() {\n        const targetEle = this.eles[this.currentIndex]\n        return !!targetEle\n      }\n    },\n    watch: {\n      diff(newVal) {\n        if (newVal >= 0) {\n          newVal = 0\n        }\n        newVal = Math.ceil(newVal)\n        if (this._fixedTop === newVal) {\n          return\n        }\n        this._fixedTop = newVal\n        this.$refs.fixedEle.style[transformStyleKey] = `translate3d(0, ${newVal}px, 0)`\n      },\n      pos: 'computeCurrentSticky',\n      currentIndex(newIndex, oldIndex) {\n        const oldEle = this.eles[oldIndex]\n        const newEle = this.eles[newIndex]\n\n        const currentKey = (newEle && newEle.eleKey !== undefined) ? newEle.eleKey : newIndex === -1 ? '' : newIndex\n        const fixedEle = this.$refs.fixedEle\n        const fixedSlot = this.$slots.fixed || this.$scopedSlots.fixed\n\n        this.$nextTick(() => {\n          if (fixedSlot) {\n            this.fixedEleHeight = fixedEle.offsetHeight\n          } else {\n            const oldChild = fixedEle.firstElementChild\n            if (oldEle) {\n              oldEle.$el.appendChild(oldChild)\n              oldEle.refresh()\n            }\n            if (newEle) {\n              fixedEle.appendChild(newEle.$el.firstElementChild)\n              this.fixedEleHeight = fixedEle.offsetHeight\n            } else {\n              this.fixedEleHeight = 0\n            }\n          }\n          const onClass = 'cube-sticky-ele-on'\n          if (oldEle) {\n            removeClass(oldEle.$el, onClass)\n          }\n          if (newEle) {\n            addClass(newEle.$el, onClass)\n          }\n        })\n\n        this.currentKey = currentKey\n        this.$emit(EVENT_CHANGE, currentKey, newIndex)\n      },\n      currentDiff(newVal) {\n        const height = this.heights[this.currentIndex] || 0\n        this.$emit(EVENT_DIFF_CHANGE, newVal, height)\n      }\n    },\n    created() {\n      this.fixedEleHeight = 0\n      this.eles = []\n      this.positions = []\n      this.heights = []\n    },\n    mounted() {\n      this.refresh()\n    },\n    methods: {\n      addEle(ele) {\n        this.eles.push(ele)\n      },\n      removeEle(ele) {\n        const i = this.eles.indexOf(ele)\n        this.eles.splice(i, 1)\n        this.positions.splice(i, 1)\n      },\n      refresh() {\n        this.$nextTick(() => {\n          this.eles.forEach((ele) => {\n            ele.refresh()\n          })\n          this._calculateHeight()\n          this.computeCurrentSticky(this.pos)\n        })\n      },\n      computeCurrentSticky(scrollY) {\n        scrollY += this.offset\n\n        const positions = this.positions\n        const heights = this.heights\n        const checkTop = this.checkTop\n\n        const len = positions.length\n        for (let i = len - 1; i >= 0; i--) {\n          const isLast = i === len - 1\n          const nextTop = isLast ? scrollY : positions[i + 1]\n          let top\n          let bottom\n          if (checkTop) {\n            top = positions[i]\n            bottom = top + heights[i]\n          } else {\n            top = positions[i] + heights[i]\n            bottom = top\n          }\n          const max = Math.max(bottom, nextTop)\n\n          if (scrollY >= top && scrollY <= max) {\n            this.currentIndex = i\n            this.currentDiff = scrollY - top\n            const diff = nextTop - scrollY\n            if (diff >= 0 && !isLast) {\n              this.diff = diff - (this.fixedEleHeight || heights[i])\n            } else {\n              this.diff = 0\n            }\n            return\n          }\n        }\n        this.currentIndex = -1\n        this.currentDiff = 0\n      },\n      _calculateHeight() {\n        const eles = this.eles\n        eles.forEach((ele, i) => {\n          const { top, height } = getRect(ele.$el)\n          this.positions[i] = top\n          this.heights[i] = height\n        })\n        this.fixedEleHeight = this.$refs.fixedEle.offsetHeight\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-sticky\n    position: relative\n    height: 100%\n    overflow: hidden\n  .cube-sticky-fixed\n    z-index: 1\n    position: absolute\n    top: 0\n    left: 0\n    right: 0\n  .cube-sticky-fixed-fade-enter, .cube-sticky-fixed-fade-leave-active\n    opacity: 0\n  .cube-sticky-fixed-fade-enter-active, .cube-sticky-fixed-fade-leave-active\n    transition: all .2s ease-in-out\n</style>\n"
  },
  {
    "path": "src/components/swipe/swipe-item.vue",
    "content": "<template>\n  <div ref=\"swipeItem\"\n       @transitionend=\"onTransitionEnd\"\n       @touchstart=\"onTouchStart\"\n       @touchmove=\"onTouchMove\"\n       @touchend=\"onTouchEnd\"\n       class=\"cube-swipe-item\">\n    <slot>\n      <div @click=\"clickItem\" class=\"cube-swipe-item-inner border-bottom-1px\">\n        <span>{{item.text}}</span>\n      </div>\n    </slot>\n    <ul class=\"cube-swipe-btns\">\n      <li ref=\"btns\"\n          v-for=\"btn in btns\"\n          class=\"cube-swipe-btn\"\n          :style=\"genBtnStyl(btn)\"\n          @click.prevent=\"clickBtn(btn)\">\n        <span class=\"text\">{{btn.text}}</span>\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import {\n    getRect,\n    prefixStyle\n  } from '../../common/helpers/dom'\n\n  import { easeOutQuart, easeOutCubic } from '../../common/helpers/ease'\n  import { getNow } from '../../common/lang/date'\n\n  const COMPONENT_NAME = 'cube-swipe-item'\n  const EVENT_ITEM_CLICK = 'item-click'\n  const EVENT_BTN_CLICK = 'btn-click'\n  const EVENT_SCROLL = 'scroll'\n  const EVENT_ACTIVE = 'active'\n  const DIRECTION_LEFT = 1\n  const DIRECTION_RIGHT = -1\n  const STATE_SHRINK = 0\n  const STATE_GROW = 1\n  const easingTime = 600\n  const momentumLimitTime = 300\n  const momentumLimitDistance = 15\n  const directionLockThreshold = 5\n\n  const transform = prefixStyle('transform')\n  const transitionProperty = prefixStyle('transitionProperty')\n  const transitionDuration = prefixStyle('transitionDuration')\n  const transitionTimingFunction = prefixStyle('transitionTimingFunction')\n\n  export default {\n    name: COMPONENT_NAME,\n    inject: ['swipe'],\n    props: {\n      item: {\n        type: Object,\n        default() {\n          return {}\n        }\n      },\n      btns: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      index: {\n        type: Number,\n        index: -1\n      },\n      autoShrink: {\n        type: Boolean,\n        default: false\n      }\n    },\n    watch: {\n      btns() {\n        this.$nextTick(() => {\n          this.refresh()\n        })\n      }\n    },\n    created() {\n      this.x = 0\n      this.state = STATE_SHRINK\n      this.swipe.addItem(this)\n    },\n    mounted() {\n      this.scrollerStyle = this.$refs.swipeItem.style\n      this.$nextTick(() => {\n        this.refresh()\n      })\n      this.$on(EVENT_SCROLL, this._handleBtns)\n    },\n    methods: {\n      _initCachedBtns() {\n        this.cachedBtns = []\n        const len = this.$refs.btns.length\n        for (let i = 0; i < len; i++) {\n          this.cachedBtns.push({\n            width: getRect(this.$refs.btns[i]).width\n          })\n        }\n      },\n      _handleBtns(x) {\n        /* istanbul ignore if */\n        if (this.btns.length === 0) {\n          return\n        }\n        const len = this.$refs.btns.length\n        let delta = 0\n        let totalWidth = -this.maxScrollX\n        for (let i = 0; i < len; i++) {\n          const btn = this.$refs.btns[i]\n          let rate = (totalWidth - delta) / totalWidth\n          let width\n          let translate = rate * x - x\n          if (x < this.maxScrollX) {\n            width = this.cachedBtns[i].width + rate * (this.maxScrollX - x)\n          } else {\n            width = this.cachedBtns[i].width\n          }\n          delta += this.cachedBtns[i].width\n          btn.style.width = `${width}px`\n          btn.style[transform] = `translate(${translate}px)`\n          btn.style[transitionDuration] = '0ms'\n        }\n      },\n      _isInBtns(target) {\n        let parent = target\n        let flag = false\n        while (parent && parent.className.indexOf('cube-swipe-item') < 0) {\n          if (parent.className.indexOf('cube-swipe-btns') >= 0) {\n            flag = true\n            break\n          }\n          parent = parent.parentNode\n        }\n        return flag\n      },\n      _calculateBtnsWidth() {\n        let width = 0\n        const len = this.cachedBtns.length\n        for (let i = 0; i < len; i++) {\n          width += this.cachedBtns[i].width\n        }\n        this.maxScrollX = -width\n      },\n      _translate(x, useZ) {\n        let translateZ = useZ ? ' translateZ(0)' : ''\n        this.scrollerStyle[transform] = `translate(${x}px,0)${translateZ}`\n        this.x = x\n      },\n      _transitionProperty(property = 'transform') {\n        this.scrollerStyle[transitionProperty] = property\n      },\n      _transitionTimingFunction(easing) {\n        this.scrollerStyle[transitionTimingFunction] = easing\n      },\n      _transitionTime(time = 0) {\n        this.scrollerStyle[transitionDuration] = `${time}ms`\n      },\n      _getComputedPositionX() {\n        let matrix = window.getComputedStyle(this.$refs.swipeItem, null)\n        matrix = matrix[transform].split(')')[0].split(', ')\n        let x = +(matrix[12] || matrix[4])\n        return x\n      },\n      _translateBtns(time, easing, extend) {\n        /* istanbul ignore if */\n        if (this.btns.length === 0) {\n          return\n        }\n        const len = this.$refs.btns.length\n        let delta = 0\n        let translate = 0\n        for (let i = 0; i < len; i++) {\n          const btn = this.$refs.btns[i]\n          if (this.state === STATE_GROW) {\n            translate = delta\n          } else {\n            translate = 0\n          }\n          delta += this.cachedBtns[i].width\n          btn.style[transform] = `translate(${translate}px,0) translateZ(0)`\n          btn.style[transitionProperty] = 'all'\n          btn.style[transitionTimingFunction] = easing\n          btn.style[transitionDuration] = `${time}ms`\n          if (extend) {\n            btn.style.width = `${this.cachedBtns[i].width}px`\n          }\n        }\n      },\n      refresh() {\n        if (this.btns.length > 0) {\n          this._initCachedBtns()\n          this._calculateBtnsWidth()\n        }\n        this.endTime = 0\n      },\n      shrink() {\n        this.stop()\n        this.state = STATE_SHRINK\n        this.$nextTick(() => {\n          this.scrollTo(0, easingTime, easeOutQuart)\n          this._translateBtns(easingTime, easeOutQuart)\n        })\n      },\n      grow() {\n        this.state = STATE_GROW\n        const extend = this.x < this.maxScrollX\n        let easing = easeOutCubic\n        this.scrollTo(this.maxScrollX, easingTime, easing)\n        this._translateBtns(easingTime, easing, extend)\n      },\n      scrollTo(x, time, easing) {\n        this._transitionProperty()\n        this._transitionTimingFunction(easing)\n        this._transitionTime(time)\n        this._translate(x, true)\n        if (time) {\n          this.isInTransition = true\n        }\n      },\n      genBtnStyl(btn) {\n        return `background: ${btn.color}`\n      },\n      clickItem() {\n        this.swipe.onItemClick(this.item, this.index)\n        this.$emit(EVENT_ITEM_CLICK, this.item, this.index)\n      },\n      clickBtn(btn) {\n        this.swipe.onBtnClick(btn, this.index)\n        this.$emit(EVENT_BTN_CLICK, btn, this.index)\n        if (this.autoShrink) {\n          this.shrink()\n        }\n      },\n      stop() {\n        if (this.isInTransition) {\n          this.isInTransition = false\n          let x = this.state === STATE_SHRINK ? 0 : this._getComputedPositionX()\n          this._translate(x)\n          this.$emit(EVENT_SCROLL, this.x)\n        }\n      },\n      onTouchStart(e) {\n        this.swipe.onItemActive(this.index)\n        this.$emit(EVENT_ACTIVE, this.index)\n        this.stop()\n        this.moved = false\n        this.movingDirectionX = 0\n        const point = e.touches[0]\n        this.pointX = point.pageX\n        this.pointY = point.pageY\n        this.distX = 0\n        this.distY = 0\n        this.startX = this.x\n        this._transitionTime()\n        this.startTime = getNow()\n        if (this.state === STATE_GROW && !this._isInBtns(e.target)) {\n          this.shrinkTimer = setTimeout(() => {\n            this.shrink()\n          }, 300)\n        }\n      },\n      onTouchMove(e) {\n        if (this.moved) {\n          clearTimeout(this.shrinkTimer)\n          e.stopPropagation()\n        }\n        /* istanbul ignore if */\n        if (this.isInTransition) {\n          return\n        }\n        e.preventDefault()\n        const point = e.touches[0]\n        let deltaX = point.pageX - this.pointX\n        let deltaY = point.pageY - this.pointY\n        this.pointX = point.pageX\n        this.pointY = point.pageY\n\n        this.distX += deltaX\n        this.distY += deltaY\n        let absDistX = Math.abs(this.distX)\n        let absDistY = Math.abs(this.distY)\n\n        if (absDistX + directionLockThreshold <= absDistY) {\n          return\n        }\n\n        let timestamp = getNow()\n        if (timestamp - this.endTime > momentumLimitTime && absDistX < momentumLimitDistance) {\n          return\n        }\n\n        this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0\n\n        let newX = this.x + deltaX\n        if (newX > 0) {\n          newX = 0\n        }\n        if (newX < this.maxScrollX) {\n          newX = this.x + deltaX / 3\n        }\n        if (!this.moved) {\n          this.moved = true\n        }\n\n        this._translate(newX, true)\n\n        if (timestamp - this.startTime > momentumLimitTime) {\n          this.startTime = timestamp\n          this.startX = this.x\n        }\n\n        this.$emit(EVENT_SCROLL, this.x)\n      },\n      onTouchEnd() {\n        if (!this.moved) {\n          return\n        }\n        if (this.movingDirectionX === DIRECTION_RIGHT) {\n          this.shrink()\n          return\n        }\n        this.endTime = getNow()\n        let duration = this.endTime - this.startTime\n        let absDistX = Math.abs(this.x - this.startX)\n        if ((duration < momentumLimitTime && absDistX > momentumLimitDistance) || this.x < this.maxScrollX / 2) {\n          this.grow()\n        } else {\n          this.shrink()\n        }\n      },\n      onTransitionEnd() {\n        this.isInTransition = false\n        this._transitionTime()\n        this._translate(this.x)\n      }\n    },\n    beforeDestroy() {\n      this.swipe.removeItem(this)\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  .cube-swipe-item\n    position: relative\n\n  .cube-swipe-item-inner\n    height: 60px\n    line-height: 60px\n    font-size: $fontsize-large\n    padding-left: 20px\n\n  .cube-swipe-btn\n    display: flex\n    align-items: center\n    position: absolute\n    top: 0\n    left: 100%\n    height: 100%\n    text-align: left\n    font-size: $fontsize-large\n    .text\n      flex: 1\n      padding: 0 20px\n      white-space: nowrap\n      color: $swipe-btn-color\n</style>\n"
  },
  {
    "path": "src/components/swipe/swipe.vue",
    "content": "<template>\n  <div class=\"cube-swipe\">\n    <slot>\n      <transition-group name=\"cube-swipe\" tag=\"ul\">\n        <li v-for=\"(item, index) in data\" :key=\"item.item.value\">\n          <cube-swipe-item\n            :btns=\"item.btns\"\n            :item=\"item.item\"\n            :index=\"index\"\n            :auto-shrink=\"autoShrink\" />\n        </li>\n      </transition-group>\n    </slot>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import CubeSwipeItem from './swipe-item.vue'\n\n  const COMPONENT_NAME = 'cube-swipe'\n  const EVENT_ITEM_CLICK = 'item-click'\n  const EVENT_BTN_CLICK = 'btn-click'\n\n  export default {\n    name: COMPONENT_NAME,\n    provide() {\n      return {\n        swipe: this\n      }\n    },\n    props: {\n      data: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      autoShrink: {\n        type: Boolean,\n        default: false\n      }\n    },\n    created() {\n      this.activeIndex = -1\n      this.items = []\n    },\n    methods: {\n      addItem(item) {\n        this.items.push(item)\n      },\n      removeItem(item) {\n        const index = this.items.indexOf(item)\n        this.items.splice(index, 1)\n        if (index <= this.activeIndex) {\n          this.activeIndex -= 1\n        }\n      },\n      onItemClick(item, index) {\n        this.$emit(EVENT_ITEM_CLICK, item, index)\n      },\n      onBtnClick(btn, index) {\n        const item = this.data[index]\n        this.$emit(EVENT_BTN_CLICK, btn, index, item)\n      },\n      onItemActive(index) {\n        if (index === this.activeIndex) {\n          return\n        }\n        if (this.activeIndex !== -1) {\n          const activeItem = this.items[this.activeIndex]\n          activeItem.shrink()\n        }\n        this.activeIndex = index\n      }\n    },\n    components: {\n      CubeSwipeItem\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-swipe\n    overflow: hidden\n\n  .cube-swipe-enter-active, .cube-swipe-leave-active\n    transition: all 0.3s\n    .cube-swipe-item-inner\n      transition: all 0.3s\n\n  .cube-swipe-enter, .cube-swipe-leave-to\n    .cube-swipe-item-inner\n      height: 0\n</style>\n"
  },
  {
    "path": "src/components/switch/switch.vue",
    "content": "<template>\n  <div class=\"cube-switch\">\n    <input class=\"cube-switch-input\" type=\"checkbox\" v-model=\"checkboxValue\" :disabled=\"disabled\">\n    <i class=\"cube-switch-ui\"></i>\n    <span class=\"cube-switch-label\"><slot></slot></span>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-switch'\n\n  const EVENT_INPUT = 'input'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: Boolean,\n        default: false\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data() {\n      return {\n        checkboxValue: this.value\n      }\n    },\n    watch: {\n      value (newVal) {\n        this.checkboxValue = newVal\n      },\n      checkboxValue (newVal) {\n        this.$emit(EVENT_INPUT, newVal)\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  $switch-width = 48px\n  $switch-height = 28px\n\n  .cube-switch\n    display: flex\n    position: relative\n    align-items: center\n    .cube-switch-input\n      position: absolute\n      z-index: 1\n      width: $switch-width\n      height: $switch-height\n      opacity: 0\n      &:checked + .cube-switch-ui\n        border-color: $switch-on-bgc\n        background-color: $switch-on-bgc\n        &::before\n          transform: scale(0)\n        &::after\n          transform: translateX($switch-width - $switch-height)\n      &:disabled + .cube-switch-ui\n        opacity: 0.3\n    .cube-switch-ui\n      position: relative\n      display: block\n      width: $switch-width\n      height: $switch-height\n      box-sizing: content-box\n      border: 1px solid $switch-off-border-color\n      border-radius: $switch-height\n      background-color: $switch-off-border-color\n      &::before, &::after\n        content: \"\"\n        position: absolute\n        top: 0\n        left: 0\n        width: 100%\n        height: 100%\n        border-radius: $switch-height\n        background-color: $switch-off-bgc\n        transition: transform .4s cubic-bezier(.25, .1, .25, 1.28)\n      &::after\n        width: $switch-height\n        background-color: $color-white\n        box-shadow: 0 1px 3px rgba(0, 0, 0, .4)\n    .cube-switch-label\n      display: block\n      margin-left: 10px\n      &:empty\n        margin-left: 0\n</style>\n"
  },
  {
    "path": "src/components/tab-bar/tab-bar.vue",
    "content": "<template>\n  <div class=\"cube-tab-bar\" :class=\"{'cube-tab-bar_inline': inline}\">\n    <slot>\n      <cube-tab\n        v-for=\"(item, index) in data\"\n        :label=\"item.label\"\n        :value=\"item.value\"\n        :icon=\"item.icon\"\n        :key=\"item.value || item.label\">\n      </cube-tab>\n    </slot>\n    <div v-if=\"showSlider\" ref=\"slider\" class=\"cube-tab-bar-slider\"></div>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import { prefixStyle } from '../../common/helpers/dom'\n  import { findIndex } from '../../common/helpers/util'\n  import CubeTab from './tab.vue'\n\n  const COMPONENT_NAME = 'cube-tab-bar'\n\n  const EVENT_INPUT = 'input'\n  const EVENT_CHANGE = 'change'\n  const EVENT_CLICK = 'click'\n\n  const TRANSFORM = prefixStyle('transform')\n  const TRANSITION = prefixStyle('transition')\n\n  export default {\n    name: COMPONENT_NAME,\n    components: {\n      CubeTab\n    },\n    props: {\n      value: {\n        type: [String, Number],\n        required: true\n      },\n      data: {\n        type: Array,\n        default () {\n          return []\n        }\n      },\n      inline: {\n        type: Boolean,\n        default: false\n      },\n      showSlider: {\n        type: Boolean,\n        default: false\n      },\n      useTransition: {\n        type: Boolean,\n        default: true\n      }\n    },\n    watch: {\n      value () {\n        this._updateSliderStyle()\n      }\n    },\n    created () {\n      this.tabs = []\n    },\n    mounted () {\n      this._updateSliderStyle()\n      window.addEventListener('resize', this._resizeHandler)\n    },\n    activated() {\n      /* istanbul ignore next */\n      window.addEventListener('resize', this._resizeHandler)\n    },\n    deactivated() {\n      /* istanbul ignore next */\n      this._cleanUp()\n    },\n    beforeDestroy () {\n      /* istanbul ignore next */\n      this._cleanUp()\n    },\n    methods: {\n      addTab (tab) {\n        this.tabs.push(tab)\n      },\n      removeTab (tab) {\n        const index = this.tabs.indexOf(tab)\n        if (index > -1) this.tabs.splice(index, 1)\n      },\n      trigger (value) {\n        // emit click event as long as tab is clicked\n        this.$emit(EVENT_CLICK, value)\n        // only when value changed, emit change & input event\n        if (value !== this.value) {\n          const changedEvents = [EVENT_INPUT, EVENT_CHANGE]\n          changedEvents.forEach((eventType) => {\n            this.$emit(eventType, value)\n          })\n        }\n      },\n      _updateSliderStyle () {\n        /* istanbul ignore if */\n        if (!this.showSlider) return\n        const slider = this.$refs.slider\n        this.$nextTick(() => {\n          const { width, index } = this._getSliderWidthAndIndex()\n          slider.style.width = `${width}px`\n          this.setSliderTransform(this._getOffsetLeft(index))\n        })\n      },\n      setSliderTransform (offset) {\n        const slider = this.$refs.slider\n        if (typeof offset === 'number') {\n          offset = `${offset}px`\n        }\n        if (slider) {\n          if (this.useTransition) slider.style[TRANSITION] = `${TRANSFORM} 0.2s linear`\n          slider.style[TRANSFORM] = `translateX(${offset}) translateZ(0)`\n        }\n      },\n      _getSliderWidthAndIndex () {\n        let width = 0\n        let index = 0\n        if (this.tabs.length > 0) {\n          index = findIndex(this.tabs, (tab) => tab.value === this.value)\n          width = this.tabs[index].$el.clientWidth\n        }\n        return {\n          width,\n          index\n        }\n      },\n      _getOffsetLeft (index) {\n        return this.tabs[index].$el.offsetLeft || 0\n      },\n      _resizeHandler () {\n        clearTimeout(this._resizeTimer)\n        this._resizeTimer = setTimeout(() => {\n          this._updateSliderStyle()\n        }, 60)\n      },\n      _cleanUp () {\n        clearTimeout(this._resizeTimer)\n        window.removeEventListener('resize', this._resizeHandler)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-tab-bar\n    position: relative\n    display: flex\n    align-items: center\n    justify-content: center\n\n  .cube-tab-bar_inline\n    .cube-tab\n      display: flex\n      align-content: center\n      justify-content: center\n\n  .cube-tab-bar-slider\n    position: absolute\n    left: 0\n    bottom: 0\n    height: 2px\n    width: 20px\n    background-color: $tab-slider-bgc\n</style>\n"
  },
  {
    "path": "src/components/tab-bar/tab.vue",
    "content": "<template>\n  <div\n    class=\"cube-tab\"\n    :class=\"{'cube-tab_active': isActive}\"\n    @click=\"handleClick\">\n    <slot name=\"icon\">\n      <i :class=\"icon\"></i>\n    </slot>\n    <slot>\n      <div v-html=\"label\"></div>\n    </slot>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-tab'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      value: {\n        type: [String, Number],\n        default() {\n          return this.label\n        }\n      },\n      icon: {\n        type: String,\n        default: ''\n      }\n    },\n    mounted () {\n      this.$parent.addTab(this)\n    },\n    destroyed () {\n      this.$parent.removeTab(this)\n    },\n    computed: {\n      isActive () {\n        return this.$parent.value === this.value\n      }\n    },\n    methods: {\n      handleClick (item) {\n        this.$parent.trigger(this.value)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-tab\n    flex: 1\n    padding: 7px 0\n    color: $tab-color\n    text-align: center\n\n  .cube-tab_active\n    color: $tab-active-color\n</style>\n"
  },
  {
    "path": "src/components/tab-panels/tab-panel.vue",
    "content": "<template>\n  <div class=\"cube-tab-panel\">\n    <slot>\n    </slot>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  const COMPONENT_NAME = 'cube-tab-panel'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      label: {\n        type: [String, Number],\n        required: true\n      },\n      value: {\n        type: [String, Number],\n        default() {\n          return this.label\n        }\n      }\n    },\n    mounted () {\n      this.$parent.addPanel(this)\n    },\n    destroyed () {\n      this.$parent.removePanel(this)\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-tab-panel\n    width: 100%\n    flex: 1 0 auto\n</style>\n"
  },
  {
    "path": "src/components/tab-panels/tab-panels.vue",
    "content": "<template>\n  <div class=\"cube-tab-panels\" ref=\"panels\">\n    <div class=\"cube-tab-panels-group\" ref=\"panelsGroup\">\n      <slot>\n        <cube-tab-panel\n          v-for=\"(item, index) in data\"\n          :label=\"item.label\"\n          :value=\"item.value\"\n          :key=\"item.value || item.label\">\n          {{item.label}}\n        </cube-tab-panel>\n      </slot>\n    </div>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import TabPanel from './tab-panel.vue'\n  import { findIndex } from '../../common/helpers/util'\n  import { prefixStyle } from '../../common/helpers/dom'\n\n  const TRANSFORM = prefixStyle('transform')\n\n  const COMPONENT_NAME = 'cube-tab-panels'\n  const INDEX_OUT_OF_BOUNDARY = -1\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      value: {\n        type: [String, Number]\n      },\n      data: {\n        type: Array,\n        default () {\n          return []\n        }\n      }\n    },\n    created () {\n      this.panels = []\n    },\n    mounted () {\n      this._move(this.value)\n    },\n    methods: {\n      _move(value) {\n        const curIndex = findIndex(this.panels, panel => panel.value === value)\n        /* istanbul ignore if */\n        if (curIndex === INDEX_OUT_OF_BOUNDARY) {\n          return\n        }\n        const panelsGroup = this.$refs.panelsGroup\n        const distance = -(curIndex * 100)\n        panelsGroup.style[TRANSFORM] = `translateX(${distance}%)`\n      },\n      addPanel (panel) {\n        this.panels.push(panel)\n      },\n      removePanel (panel) {\n        const index = this.panels.indexOf(panel)\n        if (index > -1) this.panels.splice(index, 1)\n      }\n    },\n    watch: {\n      value (newV) {\n        this._move(newV)\n      }\n    },\n    components: { TabPanel }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  .cube-tab-panels\n    position: relative\n    overflow: hidden\n\n  .cube-tab-panels-group\n    display: flex\n    transition: all .4s cubic-bezier(.86, 0, .07, 1)\n</style>\n"
  },
  {
    "path": "src/components/textarea/textarea.vue",
    "content": "<template>\n  <div class=\"cube-textarea-wrapper\" :class=\"{'cube-textarea_expanded': expanded, 'cube-textarea_active': isFocus}\">\n    <textarea\n      ref=\"input\"\n      class=\"cube-textarea\"\n      v-model=\"textareaValue\"\n      v-bind=\"$props\"\n      :placeholder=\"placeholder\"\n      :maxlength=\"maxlength\"\n      :disabled=\"disabled\"\n      @focus=\"handleFocus\"\n      @blur=\"handleBlur\"\n      @change=\"changeHander\"\n    >\n    </textarea>\n    <slot name=\"indicator\" :remain=\"remain\" :count=\"count\">\n      <span v-if=\"indicator\" v-show=\"expanded\" class=\"cube-textarea-indicator\">{{indicatorConf.remain ? remain : count}}</span>\n    </slot>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import inputMixin from '../../common/mixins/input'\n  const COMPONENT_NAME = 'cube-textarea'\n  const EVENT_INPUT = 'input'\n\n  const DEFAULT_INDICATOR = {\n    negative: true,\n    remain: true\n  }\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [inputMixin],\n    data() {\n      return {\n        textareaValue: this.value,\n        expanded: this.forceExpand ? true : (this.autoExpand ? !!this.value : false),\n        isFocus: false\n      }\n    },\n    props: {\n      value: {\n        type: String,\n        default: ''\n      },\n      cols: Number,\n      rows: Number,\n      readonly: Boolean,\n      wrap: String,\n      required: Boolean,\n      placeholder: {\n        type: String,\n        default: 'please type here...'\n      },\n      dirname: String,\n      form: String,\n      name: String,\n      autofocus: Boolean,\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      maxlength: {\n        type: Number,\n        default: 60\n      },\n      indicator: {\n        type: [Boolean, Object],\n        default: true\n      },\n      autoExpand: {\n        type: Boolean,\n        default: false\n      },\n      forceExpand: {\n        type: Boolean,\n        default: false\n      }\n    },\n    computed: {\n      indicatorConf() {\n        let indicator = this.indicator\n        if (typeof indicator === 'boolean') {\n          indicator = {}\n        }\n        return Object.assign({}, DEFAULT_INDICATOR, indicator)\n      },\n      count() {\n        return this.textareaValue.length\n      },\n      remain() {\n        let diff = this.maxlength - this.count\n        if (!this.indicatorConf.negative && diff < 0) {\n          diff = 0\n        }\n        return diff\n      }\n    },\n    watch: {\n      value(newValue) {\n        this.textareaValue = newValue\n      },\n      textareaValue(newValue) {\n        this.$emit(EVENT_INPUT, newValue)\n        if (!this.forceExpand && !this.isFocus && this.expanded) {\n          this.expanded = false\n        }\n      }\n    },\n    methods: {\n      handleFocus(e) {\n        this.$emit('focus', e)\n        this.expanded = true\n        this.isFocus = true\n      },\n      handleBlur(e) {\n        this.$emit('blur', e)\n        if (!this.forceExpand && this.textareaValue.length === 0) {\n          this.expanded = false\n        }\n        this.isFocus = false\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-textarea-wrapper\n    position: relative\n    transition: height 200ms\n    height: 40px\n    font-size: $fontsize-medium\n    line-height: 1.429\n    textarea::-webkit-input-placeholder\n      color: $textarea-placeholder-color\n      text-overflow: ellipsis\n    border-1px($textarea-border-color)\n  .cube-textarea_expanded\n    height: 80px\n  .cube-textarea_active\n    border-1px($textarea-focus-border-color)\n  .cube-textarea-indicator\n    position: absolute\n    bottom: 7px\n    right: 10px\n    color: $textarea-indicator-color\n  .cube-textarea\n    width: 100%\n    height: 100%\n    text-align: left\n    padding: 10px\n    box-sizing: border-box\n    font-size: 100%\n    line-height: inherit\n    color: $textarea-color\n    background-color: $textarea-bgc\n    border-radius: 2px\n    resize: none\n    border: none\n    outline: none\n</style>\n"
  },
  {
    "path": "src/components/time-picker/time-picker.vue",
    "content": "<template>\n  <cube-cascade-picker\n    ref=\"picker\"\n    v-model=\"isVisible\"\n    :data=\"cascadeData\"\n    :selected-index=\"selectedIndex\"\n    :title=\"_title\"\n    :subtitle=\"subtitle\"\n    :cancel-txt=\"_cancelTxt\"\n    :confirm-txt=\"_confirmTxt\"\n    :swipe-time=\"swipeTime\"\n    :z-index=\"zIndex\"\n    :mask-closable=\"maskClosable\"\n    @select=\"_pickerSelect\"\n    @cancel=\"_pickerCancel\"\n    @change=\"_pickerChange\">\n  </cube-cascade-picker>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import {\n    pad,\n    formatDate,\n    getZeroStamp,\n    getDayDiff,\n    DAY_TIMESTAMP,\n    HOUR_TIMESTAMP,\n    MINUTE_TIMESTAMP\n  } from '../../common/lang/date'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n  import pickerMixin from '../../common/mixins/picker'\n  import localeMixin from '../../common/mixins/locale'\n  import CubeCascadePicker from '../cascade-picker/cascade-picker.vue'\n  import { warn } from '../../common/helpers/debug'\n\n  const COMPONENT_NAME = 'cube-time-picker'\n  const EVENT_SELECT = 'select'\n  const EVENT_CANCEL = 'cancel'\n  const EVENT_CHANGE = 'change'\n\n  const NOW = {\n    value: 'now'\n  }\n\n  const INT_RULE = {\n    floor: 'floor',\n    ceil: 'ceil',\n    round: 'round'\n  }\n\n  const DEFAULT_STEP = 10\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin, pickerMixin, localeMixin],\n    components: {\n      CubeCascadePicker\n    },\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n      delay: {\n        type: Number,\n        default: 15\n      },\n      day: {\n        type: Object,\n        default() {\n          return {\n            len: 3\n          }\n        }\n      },\n      showNow: {\n        type: [Boolean, Object],\n        default: true\n      },\n      minuteStep: {\n        type: [Number, Object],\n        default: DEFAULT_STEP\n      },\n      format: {\n        type: String,\n        default: 'YYYY/M/D hh:mm'\n      },\n      min: {\n        type: [Date, Number],\n        default: null\n      },\n      max: {\n        type: [Date, Number],\n        default: null\n      }\n    },\n    data() {\n      return {\n        now: new Date(),\n        selectedIndex: [0, 0, 0],\n        value: 0\n      }\n    },\n    computed: {\n      _title () {\n        return this.title || this.$t('selectTime')\n      },\n      _day () {\n        const defaultDay = {\n          filter: [this.$t('today')],\n          format: this.$t('formatDate')\n        }\n        return Object.assign({}, defaultDay, this.day)\n      },\n      nowText() {\n        const defaultText = this.$t('now')\n        return (this.showNow && this.showNow.text) || defaultText\n      },\n      minuteStepRule() {\n        const minuteStep = this.minuteStep\n        return (typeof minuteStep === 'object' && Math[INT_RULE[minuteStep.rule]]) || Math[INT_RULE.floor]\n      },\n      minuteStepNumber() {\n        const minuteStep = this.minuteStep\n        return typeof minuteStep === 'number' ? minuteStep : (minuteStep.step || DEFAULT_STEP)\n      },\n      minTime() {\n        let minTimeStamp = +this.min || +this.now + this.delay * MINUTE_TIMESTAMP\n\n        // Handle the minTime selectable change caused by minute step.\n        const minute = new Date(minTimeStamp).getMinutes()\n        const intMinute = Math.min(this.minuteStepRule(minute / this.minuteStepNumber) * this.minuteStepNumber, 60)\n\n        minTimeStamp += (intMinute - minute) * MINUTE_TIMESTAMP\n        return new Date(minTimeStamp)\n      },\n      maxTime() {\n        let maxTimeStamp = +this.max || (getZeroStamp(new Date(+this.minTime + this._day.len * DAY_TIMESTAMP)) - 1)\n\n        const minute = new Date(maxTimeStamp).getMinutes()\n        const intMinute = Math.floor(minute / this.minuteStepNumber) * this.minuteStepNumber\n        maxTimeStamp -= (minute - intMinute) * MINUTE_TIMESTAMP\n\n        return new Date(maxTimeStamp)\n      },\n      days() {\n        const days = []\n        const dayDiff = getDayDiff(this.minTime, this.now)\n        const len = this.max ? getDayDiff(this.maxTime, this.minTime) + 1 : this._day.len\n\n        for (let i = 0; i < len; i++) {\n          const timestamp = +this.minTime + i * DAY_TIMESTAMP\n          days.push({\n            value: timestamp,\n            text: (this._day.filter && this._day.filter[dayDiff + i]) || formatDate(new Date(timestamp), this._day.format)\n          })\n        }\n        return days\n      },\n      hours() {\n        const hours = []\n        for (let i = 0; i < 24; i++) {\n          hours.push({\n            value: i,\n            text: `${i}${this.$t('hours')}`,\n            children: this.minutes\n          })\n        }\n        return hours\n      },\n      minutes() {\n        const minutes = []\n        for (let i = 0; i < 60; i += this.minuteStepNumber) {\n          minutes.push({\n            value: i,\n            text: `${pad(i)}${this.$t('minutes')}`\n          })\n        }\n        return minutes\n      },\n      cascadeData() {\n        const days = this.days.slice()\n\n        // When the maxTime is smaller than minTime by more than a minute step, there is no option could be chosen.\n        if (this.maxTime - this.minTime <= -60000) {\n          warn('The max is smaller than the min optional time.', COMPONENT_NAME)\n          return []\n        }\n\n        days.forEach((day, index) => {\n          const isMinDay = index === 0\n          const isMaxDay = index === days.length - 1\n\n          if (!isMinDay && !isMaxDay) {\n            day.children = this.hours\n            return\n          }\n\n          const partHours = []\n          const minHour = isMinDay ? this.minTime.getHours() : 0\n          const maxHour = isMaxDay ? this.maxTime.getHours() : 23\n\n          for (let i = minHour; i <= maxHour; i++) {\n            const isMinHour = isMinDay && i === minHour\n            const isMaxHour = isMaxDay && i === maxHour\n\n            if (!isMinHour && !isMaxHour) {\n              partHours.push({\n                value: i,\n                text: `${i}${this.$t('hours')}`,\n                children: this.minutes\n              })\n              continue\n            }\n\n            // Math.round is use to avoid some weird float bug of multiplication and divisionluate in JavaScript. Because we have to ensure the arguments of Array.slice are int.\n            const start = isMinHour ? Math.round(this.minTime.getMinutes() / this.minuteStepNumber) : 0\n            const end = isMaxHour ? Math.round(this.maxTime.getMinutes() / this.minuteStepNumber) : Math.floor(59 / this.minuteStepNumber)\n\n            const partMinutes = this.minutes.slice(start, end + 1)\n            partHours.push({\n              value: i,\n              text: `${i}${this.$t('hours')}`,\n              children: partMinutes\n            })\n          }\n\n          day.children = partHours\n        })\n\n        const dayDiff = getDayDiff(this.minTime, this.now)\n\n        if (this.showNow && dayDiff <= 0) {\n          const index = Math.abs(dayDiff)\n          const daysData = days[index]\n          //  Make sure 'now' is between the 'min' and 'max'\n          if (daysData) {\n            // Because daysData.children is a reference to this.hours, avoid destroying this.hourse by using spread operator '...'\n            daysData.children = [...daysData.children]\n            daysData.children.unshift({\n              value: NOW.value,\n              text: this.nowText,\n              children: []\n            })\n          }\n        }\n\n        return days\n      }\n    },\n    methods: {\n      show() {\n        if (this.isVisible) {\n          return\n        }\n        this.isVisible = true\n\n        this._updateNow()\n        this._updateSelectedIndex()\n      },\n      setTime(value) {\n        this.value = value\n\n        this.isVisible && this._updateSelectedIndex()\n      },\n      _updateSelectedIndex() {\n        const value = this.value\n        const minTime = this.minTime\n        // fix the value last choose was changed when time-picker is opened again\n        const comparativeTime = (this.min || this.min === 0)\n          ? +minTime\n          : Math.floor(minTime / MINUTE_TIMESTAMP) * MINUTE_TIMESTAMP\n        if (value < comparativeTime) {\n          this.selectedIndex = [0, 0, 0]\n        } else {\n          // calculate dayIndex\n          const valueDate = new Date(value)\n          const dayIndex = getDayDiff(valueDate, minTime)\n\n          if (dayIndex >= this.days.length) {\n            warn('Use \"setTime\" to set a time exceeded to the option range do not actually work.', COMPONENT_NAME)\n            return\n          }\n\n          // calculate hourIndex\n          const hour = valueDate.getHours()\n          const beginHour = dayIndex === 0\n            ? this.showNow\n              ? this.minTime.getHours() - 1\n              : this.minTime.getHours()\n            : 0\n          const hourIndex = hour - beginHour\n\n          // calculate minuteIndex\n          const minute = this.minuteStepRule(valueDate.getMinutes() / this.minuteStepNumber)\n          const beginMinute = !dayIndex && (this.showNow ? hourIndex === 1 : !hourIndex)\n            ? this.minuteStepRule(this.minTime.getMinutes() / this.minuteStepNumber)\n            : 0\n          const minuteIndex = minute - beginMinute\n\n          this.selectedIndex = [dayIndex, hourIndex, minuteIndex]\n        }\n      },\n      _updateNow() {\n        this.now = new Date()\n      },\n      _pickerChange(i, newIndex) {\n        this.$emit(EVENT_CHANGE, i, newIndex)\n      },\n      _pickerSelect(selectedVal, selectedIndex, selectedText) {\n        let timestamp\n        let text\n        if (selectedVal[1] === NOW.value) {\n          timestamp = +new Date()\n          text = this.nowText\n        } else {\n          timestamp = getZeroStamp(new Date(selectedVal[0])) + selectedVal[1] * HOUR_TIMESTAMP + selectedVal[2] * MINUTE_TIMESTAMP\n          text = selectedText[0] + ' ' + selectedText[1] + ':' + selectedText[2]\n        }\n\n        this.value = timestamp\n        const formatedTime = formatDate(new Date(timestamp), this.format)\n        this.$emit(EVENT_SELECT, timestamp, text, formatedTime)\n      },\n      _pickerCancel() {\n        this.$emit(EVENT_CANCEL)\n      }\n    }\n  }\n</script>\n"
  },
  {
    "path": "src/components/tip/tip.vue",
    "content": "<template>\n  <transition name=\"cube-tip-zoom\">\n    <div class=\"cube-tip\" :data-dir=\"direction\" v-show=\"isVisible\" @click=\"handleClick\">\n      <i class=\"cube-tip-angle\" ref=\"angle\"></i>\n      <button class=\"cube-tip-close cubeic-close\" @click.stop=\"close\"></button>\n      <div class=\"cube-tip-content\">\n        <slot></slot>\n      </div>\n    </div>\n  </transition>\n</template>\n<script type=\"text/ecmascript-6\">\n  import visibilityMixin from '../../common/mixins/visibility'\n\n  const COMPONENT_NAME = 'cube-tip'\n  const EVENT_CLICK = 'click'\n  const EVENT_CLOSE = 'close'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin],\n    props: {\n      direction: {\n        type: String,\n        default: 'top'\n      },\n      offsetLeft: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetRight: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetTop: {\n        type: [String, Number],\n        default: 0\n      },\n      offsetBottom: {\n        type: [String, Number],\n        default: 0\n      }\n    },\n    mounted() {\n      this.$nextTick(() => {\n        let angleEleStyle = this.$refs.angle.style\n        const boxMap = {\n          left: 'right',\n          right: 'left',\n          top: 'bottom',\n          bottom: 'top'\n        }\n        const offsets = [\n          {\n            name: 'offsetLeft',\n            target: 'left',\n            percentFix: {\n              marginLeft: '-6px'\n            }\n          },\n          {\n            name: 'offsetRight',\n            target: 'right',\n            percentFix: {\n              marginRight: '-6px'\n            }\n          },\n          {\n            name: 'offsetTop',\n            target: 'top',\n            percentFix: {\n              marginTop: '-6px'\n            }\n          },\n          {\n            name: 'offsetBottom',\n            target: 'bottom',\n            percentFix: {\n              marginBottom: '-6px'\n            }\n          }\n        ]\n        offsets.forEach((offset) => {\n          const value = this[offset.name]\n          if (value !== 0) {\n            const isNum = typeof value === 'number'\n            angleEleStyle[offset.target] = value + (isNum ? 'px' : '')\n            if (offset.percentFix && !isNum) {\n              Object.keys(offset.percentFix).forEach((key) => {\n                angleEleStyle[key] = offset.percentFix[key]\n              })\n            }\n            angleEleStyle[boxMap[offset.target]] = 'auto'\n          }\n        })\n      })\n    },\n    methods: {\n      handleClick() {\n        this.hide()\n        this.$emit(EVENT_CLICK)\n      },\n      close() {\n        this.hide()\n        this.$emit(EVENT_CLOSE)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-tip\n    display: flex\n    z-index: 10\n    position: absolute\n    padding: 10px 38px 10px 16px\n    max-height: 60px\n    font-size: $fontsize-small\n    color: $tip-color\n    background: $tip-bgc\n    border-radius: 2px\n    transition: opacity .2s\n    &[data-dir=\"top\"], &[data-dir=\"bottom\"]\n      .cube-tip-angle\n        left: 50%\n        transform: translateX(-50%)\n    &[data-dir=\"top\"]\n      .cube-tip-angle\n        top: 0\n        &::before\n          margin-top: -6px\n          transform: rotate(0deg)\n    &[data-dir=\"bottom\"]\n      .cube-tip-angle\n        bottom: 0\n        &::before\n          margin-bottom: -6px\n          transform: rotate(180deg)\n    &[data-dir=\"left\"], &[data-dir=\"right\"]\n      .cube-tip-angle\n        top: 50%\n        transform: translateY(-50%)\n    &[data-dir=\"left\"]\n      .cube-tip-angle\n        left: 0\n        &::before\n          margin-left: -9px\n          transform: rotate(-90deg)\n    &[data-dir=\"right\"]\n      .cube-tip-angle\n        right: 0\n        &::before\n          margin-right: -9px\n          transform: rotate(90deg)\n  .cube-tip-angle\n    position: absolute\n    &::before\n      content: \"\"\n      display: block\n      border-width: 0 6px 6px\n      border-style: solid\n      border-color: transparent transparent $tip-bgc\n  .cube-tip-close\n    position: absolute\n    right: 14px\n    top: 12px\n    width: 12px\n    height: 12px\n    padding: 0\n    color: inherit\n    outline: none\n    border: none\n    background: none\n    transform: scale(1.3)\n  .cube-tip-content\n    min-height: 18px\n    line-height: 18px\n    flex-fix()\n    overflow: hidden\n\n  .cube-tip-zoom-enter-active\n    animation: tip-in .4s\n\n  .cube-tip-zoom-leave-active\n    animation: tip-out .2s\n\n  @keyframes tip-in\n    0%\n      transform: scale(0)\n    50%\n      transform: scale(1.1)\n    100%\n      transform: scale(1)\n\n  @keyframes tip-out\n    from\n      transform: scale(1)\n      opacity: 1\n    to\n      transform: scale(0)\n      opacity: 0\n</style>\n"
  },
  {
    "path": "src/components/toast/toast.vue",
    "content": "<template>\n  <transition name=\"cube-toast-fade\">\n    <cube-popup\n      type=\"toast\"\n      :z-index=\"zIndex\"\n      :mask=\"mask\"\n      v-show=\"isVisible\"\n      @mask-click=\"maskClick\"\n      >\n      <i v-if=\"!isLoading && iconClass.length\" class=\"cube-toast-icon\" :class=\"iconClass\"></i>\n      <cube-loading v-if=\"isLoading\"></cube-loading>\n      <div v-show=\"txt\" class=\"cube-toast-tip\" v-html=\"txt\"></div>\n    </cube-popup>\n  </transition>\n</template>\n<script type=\"text/ecmascript-6\">\n  import CubeLoading from '../loading/loading.vue'\n  import CubePopup from '../popup/popup.vue'\n  import visibilityMixin from '../../common/mixins/visibility'\n  import popupMixin from '../../common/mixins/popup'\n\n  const COMPONENT_NAME = 'cube-toast'\n\n  const EVENT_TIMEOUT = 'timeout'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [visibilityMixin, popupMixin],\n    props: {\n      type: {\n        type: String,\n        default: 'loading'\n      },\n      icon: {\n        type: String,\n        default: ''\n      },\n      mask: {\n        type: Boolean,\n        default: false\n      },\n      txt: {\n        type: String,\n        default: ''\n      },\n      time: {\n        type: Number,\n        default: 3000\n      },\n      // By default, Toast has the bigest z-index among popoup-based components.\n      zIndex: {\n        type: Number,\n        default: 900\n      }\n    },\n    computed: {\n      iconClass() {\n        const iconClass = []\n        if (this.icon) {\n          iconClass.push(this.icon)\n        }\n        const classMap = {\n          correct: 'cubeic-right',\n          error: 'cubeic-wrong',\n          warn: 'cubeic-warn'\n        }\n        const icon = classMap[this.type]\n        if (icon) {\n          iconClass.push(icon)\n        }\n        return iconClass\n      },\n      isLoading() {\n        return this.type === 'loading'\n      }\n    },\n    methods: {\n      maskClick() {\n        this.maskClosable && this.hide()\n      },\n      show() {\n        this.isVisible = true\n        this.clearTimer()\n        this.$nextTick(() => {\n          if (this.time !== 0) {\n            this.timer = setTimeout(() => {\n              this.hide()\n              this.$emit(EVENT_TIMEOUT)\n            }, this.time)\n          }\n        })\n      },\n      hide() {\n        this.isVisible = false\n        this.clearTimer()\n      },\n      clearTimer() {\n        clearTimeout(this.timer)\n        this.timer = null\n      }\n    },\n    components: {\n      CubePopup,\n      CubeLoading\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  .cube-toast\n    &.cube-popup\n      z-index: 900\n    .cube-popup-content\n      display: flex\n      align-items: center\n      padding: 13px 16px\n      color: $toast-color\n      background-color: $toast-bgc\n      border-radius: 2px\n  .cube-toast-icon\n    width: 24px\n    height: 24px\n    font-size: $fontsize-large-xxx\n  .cube-toast-tip\n    line-height: 20px\n    font-size: $fontsize-medium\n    max-width: 12em\n    max-height: 40px\n    overflow: hidden\n  .cube-toast-icon, .cube-loading\n    ~ .cube-toast-tip\n      margin-left: 8px\n\n  .cube-toast-fade-enter-active\n    animation: toast-in .2s\n  .cube-toast-fade-leave-active\n    animation: toast-out .2s\n\n  @keyframes toast-in\n    0%\n      opacity: 0\n    100%\n      opacity: 1\n\n  @keyframes toast-out\n    0%\n      opacity: 1\n    100%\n      opacity: 0\n</style>\n"
  },
  {
    "path": "src/components/toolbar/toolbar-item.vue",
    "content": "<template>\n  <li class=\"cube-toolbar-item border-right-1px\">\n    <cube-button :icon=\"action.icon\">\n      <cube-checkbox\n        class=\"cube-toolbar-chb\"\n        v-model=\"action.checked\"\n        v-if=\"action.type == 'checkbox'\"\n        :label=\"action.text\">\n      </cube-checkbox>\n      <span v-else v-html=\"action.text\"></span>\n    </cube-button>\n    <i class=\"cube-toolbar-down\"></i>\n  </li>\n</template>\n\n<script>\n  import CubeButton from '../button/button.vue'\n  import CubeCheckbox from '../checkbox/checkbox.vue'\n\n  const COMPONENT_NAME = 'cube-toolbar-item'\n\n  export default {\n    name: COMPONENT_NAME,\n    components: {\n      CubeButton,\n      CubeCheckbox\n    },\n    props: {\n      action: {\n        type: Object,\n        default() {\n          /* istanbul ignore next */\n          return {}\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  .cube-toolbar-item\n    display: flex\n    flex-fix()\n    align-items: center\n    background-color: $toolbar-bgc\n    &:last-child\n      position: static\n      &::after\n        display: none\n    &:active\n      background-color: $toolbar-active-bgc\n    &:active\n      &::after\n        border-color: transparent\n\n    /* reset cube-checkbox style */\n    .cube-toolbar-chb\n      height: 44px\n      padding: 0\n      font-size: $fontsize-small\n      background-color: transparent\n      .cube-checkbox-wrap\n        padding: 0\n        justify-content: center\n        .cube-checkbox-ui\n          position: relative\n          left: auto\n          margin-right: .42em\n\n    /* reset cube-btn style */\n    .cube-btn\n      position: relative\n      padding: 0 5px\n      background-color: transparent\n      border: 0 none\n      color: $color-grey\n      font-size: $fontsize-small\n      &:active\n        background-color: transparent\n      &:active::after\n        display: none\n      i\n        margin-right: 0\n        &.cubeic-more\n          color: $color-light-grey\n          font-size: $fontsize-large\n</style>\n"
  },
  {
    "path": "src/components/toolbar/toolbar.vue",
    "content": "<template>\n  <div class=\"cube-toolbar\">\n    <ul\n      class=\"cube-toolbar-group cube-toolbar-group-more\"\n      v-if=\"moreActions\"\n      v-show=\"showMore\">\n      <cube-toolbar-item\n        v-for=\"(action, index) in moreActions\"\n        :key=\"index\"\n        :action=\"action\"\n        @click.native=\"itemClick(action)\"></cube-toolbar-item>\n    </ul>\n    <ul class=\"cube-toolbar-group\">\n      <cube-toolbar-item\n        v-for=\"(action, index) in basicActions\"\n        :key=\"index\"\n        :action=\"action\"\n        @click.native=\"itemClick(action)\"></cube-toolbar-item>\n    </ul>\n  </div>\n</template>\n\n<script>\n  import CubeToolbarItem from './toolbar-item.vue'\n\n  const COMPONENT_NAME = 'cube-toolbar'\n  const EVENT_CLICK = 'click'\n  const EVENT_MORE_CLICK = 'more-click'\n\n  export default {\n    name: COMPONENT_NAME,\n    components: {\n      CubeToolbarItem\n    },\n    props: {\n      actions: {\n        type: Array,\n        default() {\n          /* istanbul ignore next */\n          return []\n        }\n      },\n      moreActions: {\n        type: Array\n      }\n    },\n    data() {\n      return {\n        showMore: false\n      }\n    },\n    computed: {\n      basicActions() {\n        const basicActions = this.actions.slice()\n        this.moreActions && basicActions.push({\n          icon: 'cubeic-more',\n          $cubeMore: true\n        })\n        return basicActions\n      }\n    },\n    methods: {\n      itemClick(action) {\n        if (action.$cubeMore) {\n          this.showMore = !this.showMore\n          this.$emit(EVENT_MORE_CLICK, this.showMore)\n        } else {\n          this.$emit(EVENT_CLICK, action)\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n\n  $toolbar-spacing = 10px\n  .cube-toolbar\n    position: fixed\n    left: $toolbar-spacing\n    right: $toolbar-spacing\n    bottom: $toolbar-spacing\n    z-index: 2\n    safe-area-mixin(padding-bottom, bottom)\n\n  .cube-toolbar-group\n    display: flex\n    height: 44px\n    overflow: hidden\n    box-sizing: border-box\n    border-radius: 2px\n    box-shadow: 0 1px 6px rgba(0, 0, 0, .24)\n    background-color: $toolbar-bgc\n  .cube-toolbar-group-more\n    margin-bottom: $toolbar-spacing\n    .cube-toolbar-item\n      &:last-child\n        .cube-toolbar-down\n          position: absolute\n          top: 44px\n          right: 9%\n          height: $toolbar-spacing\n          color: $toolbar-bgc\n          font-size: $fontsize-large-xxx\n          font-family: cube-icon\n          font-style: normal\n          text-shadow: 0 1px 3px $toolbar-active-bgc\n          transform: scale(1.3)\n          &::before\n            content: \"\\E603\"\n            position: relative\n            top: -10px\n          &::after\n            content: \"\"\n            display: block\n            position: absolute\n            left: 30%\n            top: 50%\n            margin-top: -6px\n            width: 40%\n            height: 2px\n            background-color: $toolbar-bgc\n        &:active\n          .cube-toolbar-down\n            color: $toolbar-active-bgc\n            &::after\n              background-color: $toolbar-active-bgc\n</style>\n"
  },
  {
    "path": "src/components/upload/ajax.js",
    "content": "import {\n  evalOpts,\n  STATUS_SUCCESS,\n  STATUS_UPLOADING,\n  STATUS_ERROR\n} from './util'\n\nexport default function ajaxUpload(file, options, changeHandler) {\n  const {\n    target,\n    headers = {},\n    data = {},\n    fileName = 'file',\n    withCredentials,\n    timeout,\n    prop = 'file',\n    progressInterval = 100,\n    checkSuccess = function () { return true }\n  } = options\n\n  const realTarget = evalOpts(target, file)\n\n  file.progress = 0\n  file.status = STATUS_UPLOADING\n\n  const xhr = new window.XMLHttpRequest()\n  file._xhr = xhr\n  let progressTid = 0\n  if (xhr.upload) {\n    let lastProgressTime = Date.now()\n    xhr.upload.onprogress = function (e) {\n      if (e.total > 0) {\n        if (progressTid) {\n          clearTimeout(progressTid)\n          const now = Date.now()\n          const diff = now - lastProgressTime\n          if (diff >= progressInterval) {\n            computed()\n          } else {\n            progressTid = setTimeout(computed, diff)\n          }\n        } else {\n          // first time\n          computed()\n          progressTid = 1\n        }\n      }\n      function computed() {\n        file.progress = e.loaded / e.total\n        lastProgressTime = Date.now()\n      }\n    }\n  }\n\n  const formData = new window.FormData()\n  const realData = evalOpts(data, file)\n  Object.keys(realData).forEach((key) => {\n    formData.append(key, realData[key])\n  })\n  formData.append(fileName, file[prop])\n\n  xhr.onload = function () {\n    if (xhr.status < 200 || xhr.status >= 300) {\n      setStatus(STATUS_ERROR)\n      return\n    }\n    setResponse()\n    const response = file.response\n\n    if (checkSuccess.length <= 2) {\n      const isSuccess = checkSuccess(response, file)\n      setStatus(isSuccess ? STATUS_SUCCESS : STATUS_ERROR)\n    } else {\n      // callback\n      checkSuccess(response, file, (isSuccess) => {\n        setStatus(isSuccess ? STATUS_SUCCESS : STATUS_ERROR)\n      })\n    }\n  }\n  xhr.onerror = function () {\n    setResponse()\n    setStatus(STATUS_ERROR)\n  }\n  xhr.ontimeout = function () {\n    setResponse()\n    setStatus(STATUS_ERROR)\n  }\n\n  xhr.open('POST', realTarget, true)\n  if (withCredentials) {\n    xhr.withCredentials = true\n  }\n  const realHeaders = evalOpts(headers, file)\n  Object.keys(realHeaders).forEach((key) => {\n    xhr.setRequestHeader(key, realHeaders[key])\n  })\n  if (timeout > 0) {\n    xhr.timeout = timeout\n  }\n\n  xhr.send(formData)\n  function setStatus(status) {\n    clearTimeout(progressTid)\n    progressTid = 0\n    file.progress = 1\n    file.status = status\n    changeHandler && changeHandler(file)\n  }\n  function setResponse() {\n    let response = xhr.responseText || xhr.response\n    try {\n      response = JSON.parse(response)\n    } catch (e) {}\n    file.response = response\n    file.responseHeaders = xhr.getAllResponseHeaders()\n  }\n}\n"
  },
  {
    "path": "src/components/upload/btn-mixin.js",
    "content": "export default {\n  props: {\n    multiple: {\n      type: Boolean,\n      default: true\n    },\n    accept: {\n      type: String,\n      default: 'image/*'\n    }\n  }\n}\n"
  },
  {
    "path": "src/components/upload/btn.vue",
    "content": "<template>\n  <div class=\"cube-upload-btn\">\n    <slot>\n      <div class=\"cube-upload-btn-def\"><i></i></div>\n    </slot>\n    <input class=\"cube-upload-input\" type=\"file\" @change=\"changeHandler\" :multiple=\"multiple\" :accept=\"accept\">\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import btnMixin from './btn-mixin'\n\n  const COMPONENT_NAME = 'cube-upload-btn'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [btnMixin],\n    methods: {\n      changeHandler(e) {\n        const fileEle = e.currentTarget\n        const files = fileEle.files\n        if (files) {\n          this.$parent.addFiles(files)\n          fileEle.value = null\n        }\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n  .cube-upload-btn\n    position: relative\n    overflow: hidden\n    &:active\n      .cube-upload-btn-def\n        background-color: $upload-btn-active-bgc\n  .cube-upload-input\n    position: absolute\n    top: 0\n    left: 0\n    right: 0\n    bottom: 0\n    width: 100%\n    font-size: 0\n    opacity: 0\n  .cube-upload-btn-def\n    position: relative\n    width: 80px\n    height: 80px\n    box-sizing: border-box\n    background-color: $upload-btn-bgc\n    box-shadow: $upload-btn-box-shadow\n    border-radius: 2px\n    border-1px($upload-btn-border-color, 2px)\n    > i\n      &::before, &::after\n        content: \"\"\n        position: absolute\n        top: 50%\n        left: 50%\n        width: 20px\n        height: 2px\n        transform: translate(-50%, -50%)\n        background-color: $upload-btn-color\n      &::after\n        transform: translate(-50%, -50%) rotate(90deg)\n</style>\n"
  },
  {
    "path": "src/components/upload/file.vue",
    "content": "<template>\n  <div class=\"cube-upload-file\" :class=\"fileCls\" @click=\"clickHandler\">\n    <slot\n      :img-style=\"fileStyle\"\n      :progress=\"fileProgress\"\n    >\n      <div class=\"cube-upload-file-def\" :style=\"fileStyle\">\n        <i class=\"cubeic-wrong\" @click.stop=\"removeFile\"></i>\n        <div class=\"cube-upload-file-state\" :class=\"fileStatusCls\">\n          <i class=\"cube-upload-file-status\" :class=\"statusCls\"></i>\n          <span class=\"cube-upload-file-progress\">{{fileProgress}}</span>\n        </div>\n      </div>\n    </slot>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import { STATUS_SUCCESS, STATUS_ERROR } from './util'\n\n  const COMPONENT_NAME = 'cube-upload-file'\n  const STATUS_CLASS_MAP = {\n    success: 'cubeic-right',\n    error: 'cubeic-warn'\n  }\n  const EVENT_CLICK = 'click'\n\n  export default {\n    name: COMPONENT_NAME,\n    props: {\n      file: {\n        type: Object,\n        required: true\n      }\n    },\n    computed: {\n      fileCls() {\n        return `cube-upload-file_${this.file.status}`\n      },\n      fileStatusCls() {\n        const file = this.file\n        const status = file.status\n        if (file.progress >= 0.01 || status === STATUS_SUCCESS || status === STATUS_ERROR) {\n          return 'cube-upload-file_stat'\n        }\n      },\n      fileStyle() {\n        const url = this.file.url || this.file.base64\n        if (!url) {\n          return\n        }\n        return {\n          'background-image': `url(\"${url}\")`\n        }\n      },\n      statusCls() {\n        const status = this.file.status\n        return STATUS_CLASS_MAP[status]\n      },\n      fileProgress() {\n        if (this.statusCls) {\n          return '100%'\n        }\n        const p = Math.min(Math.floor(this.file.progress * 100), 99)\n        return `${p}%`\n      }\n    },\n    methods: {\n      clickHandler() {\n        this.$emit(EVENT_CLICK, this.file)\n      },\n      removeFile() {\n        this.$parent.removeFile(this.file)\n      }\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  @require \"../../common/stylus/mixin.styl\"\n  .cube-upload-file\n    position: relative\n\n  .cube-upload-file-def\n    position: relative\n    width: 80px\n    height: 80px\n    box-sizing: border-box\n    background: $upload-file-bgc no-repeat center\n    background-size: cover\n    border-radius: 2px\n    > .cubeic-wrong\n      position: absolute\n      z-index: 2\n      top: -2px\n      right: -2px\n      color: $upload-file-remove-color\n      font-size: $fontsize-large\n      background-color: $upload-file-remove-bgc\n      border-radius: 50%\n      &::before\n        display: inline-block\n        transform: scale(1.625)\n        transform-origin: center\n\n  .cube-upload-file-state\n    position: relative\n    width: 100%\n    height: 100%\n    display: flex\n    align-items: center\n    justify-content: center\n    overflow: hidden\n    opacity: 0\n    background-color: $upload-file-state-bgc\n    border-radius: 2px\n    transition: opacity .1s\n    &::before\n      content: \".\"\n      position: relative\n      left: -50%\n      display: block\n      width: 1px\n      height: 1px\n      margin-left: -1px\n      background-color: rgba(0, 0, 0, .1)\n\n  .cube-upload-file_stat\n    opacity: 1\n\n  .cube-upload-file-status\n    position: relative\n    z-index: 1\n    font-size: $fontsize-large-xxxx\n    display: none\n\n  .cube-upload-file-status.cubeic-right\n    display: block\n    color: $upload-file-success-color\n\n  .cube-upload-file-status.cubeic-warn\n    display: block\n    color: $upload-file-error-color\n\n  .cube-upload-file-status.cubeic-right, .cube-upload-file-status.cubeic-warn\n    &::after\n      content: \"\"\n      z-index: -1\n      position: absolute\n      left: 50%\n      top: 50%\n      transform: translate(-50%, -50%)\n      width: .56em\n      height: .56em\n      border-radius: 50%\n      background-color: $upload-file-status-bgc\n    + .cube-upload-file-progress\n        display: none\n\n  .cube-upload-file-progress\n    color: $upload-file-progress-color\n    font-size: $fontsize-large-xx\n</style>\n"
  },
  {
    "path": "src/components/upload/upload.vue",
    "content": "<template>\n  <div class=\"cube-upload\">\n    <slot>\n      <div class=\"cube-upload-def clear-fix\">\n        <upload-file v-for=\"(file, i) in files\" :file=\"file\" :key=\"i\" @click=\"fileClick(file, i)\"></upload-file>\n        <upload-btn :multiple=\"multiple\" :accept=\"accept\" v-show=\"isShowBtn\"></upload-btn>\n      </div>\n    </slot>\n  </div>\n</template>\n<script type=\"text/ecmascript-6\">\n  import UploadBtn from './btn.vue'\n  import UploadFile from './file.vue'\n  import ajaxUpload from './ajax'\n  import btnMixin from './btn-mixin'\n  import {\n    processFiles,\n    newFile,\n    URL,\n    STATUS_READY,\n    STATUS_UPLOADING,\n    STATUS_ERROR,\n    STATUS_SUCCESS\n  } from './util'\n\n  const COMPONENT_NAME = 'cube-upload'\n  const EVENT_INPUT = 'input'\n  const EVENT_ADDED = 'files-added'\n  const EVENT_SUBMITTED = 'file-submitted'\n  const EVENT_REMOVED = 'file-removed'\n  const EVENT_SUCCESS = 'file-success'\n  const EVENT_ERROR = 'file-error'\n  const EVENT_CLICK = 'file-click'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [btnMixin],\n    props: {\n      value: {\n        type: Array,\n        default() {\n          return []\n        }\n      },\n      action: {\n        type: [String, Object],\n        default: ''\n      },\n      max: {\n        type: Number,\n        default: 10\n      },\n      auto: {\n        type: Boolean,\n        default: true\n      },\n      simultaneousUploads: {\n        type: Number,\n        default: 1\n      },\n      processFile: {\n        type: Function,\n        default: function (file, cb) {\n          cb(file)\n        }\n      }\n    },\n    data() {\n      return {\n        files: this.value,\n        paused: !this.auto\n      }\n    },\n    computed: {\n      actionOptions() {\n        const action = this.action\n        if (typeof action === 'string') {\n          return action ? {\n            target: action\n          } : null\n        } else {\n          return action\n        }\n      },\n      isShowBtn() {\n        return this.files.length < this.max\n      }\n    },\n    watch: {\n      value(newVal) {\n        this.files = newVal\n      },\n      files(newFiles) {\n        this.$emit(EVENT_INPUT, newFiles)\n      }\n    },\n    methods: {\n      addFiles(files) {\n        this.$emit(EVENT_ADDED, files)\n        const filesLen = this.files.length\n        const newFiles = []\n        const maxLen = this.max - filesLen\n        let i = 0\n        let file = files[i]\n        while (newFiles.length < maxLen && file) {\n          if (!file.ignore) {\n            newFiles.push(file)\n            this.files.push(newFile())\n          }\n          file = files[++i]\n        }\n        processFiles(newFiles, this.processFile, (file, index) => {\n          this.$set(this.files, filesLen + index, file)\n          this.$emit(EVENT_SUBMITTED, file)\n        }, () => {\n          // waiting ui\n          this.$nextTick(() => {\n            this.upload()\n          })\n        })\n      },\n      removeFile(file) {\n        this.$emit(EVENT_REMOVED, file)\n        file._xhr && file._xhr.abort()\n        if (file.url) {\n          URL.revokeObjectURL(file.url)\n        }\n        const index = this.files.indexOf(file)\n        this.files.splice(index, 1)\n        this.upload()\n      },\n      fileClick(file, index) {\n        this.$emit(EVENT_CLICK, file, index)\n      },\n      upload(retry) {\n        const options = this.actionOptions\n        if (this.paused || !options) {\n          return\n        }\n        const len = this.files.length\n        let uploadingCount = 0\n        let i = 0\n        while (i < len && uploadingCount < this.simultaneousUploads) {\n          const file = this.files[i]\n          const status = file.status\n          if (status === STATUS_READY || (retry && status === STATUS_ERROR && file._retryId !== this.retryId)) {\n            ajaxUpload(file, options, (file) => {\n              if (status === STATUS_ERROR) {\n                file._retryId = this.retryId\n              }\n              this.$emit(file.status === STATUS_SUCCESS ? EVENT_SUCCESS : EVENT_ERROR, file)\n              this.upload(retry)\n            })\n            uploadingCount++\n          } else if (status === STATUS_UPLOADING) {\n            uploadingCount++\n          }\n          i++\n        }\n      },\n      start() {\n        this.paused = false\n        this.upload()\n      },\n      pause() {\n        this.paused = true\n        this.files.forEach((file) => {\n          if (file.status === STATUS_UPLOADING) {\n            file._xhr.abort()\n            file.status = STATUS_READY\n          }\n        })\n      },\n      retry() {\n        this.retryId = Date.now()\n        this.paused = false\n        this.upload(true)\n      }\n    },\n    components: {\n      UploadBtn,\n      UploadFile\n    }\n  }\n</script>\n<style lang=\"stylus\" rel=\"stylesheet/stylus\">\n  @require \"../../common/stylus/variable.styl\"\n  .cube-upload\n    position: relative\n\n  .cube-upload-def\n    margin-right: -10px\n    .cube-upload-btn, .cube-upload-file\n      float: left\n      margin: 0 10px 10px 0\n</style>\n"
  },
  {
    "path": "src/components/upload/util.js",
    "content": "import { inBrowser } from '../../common/helpers/env'\n\nexport const URL = inBrowser ? window.URL || window.webkitURL || window.mozURL : null\n\nexport const STATUS_READY = 'ready'\nexport const STATUS_UPLOADING = 'uploading'\nexport const STATUS_ERROR = 'error'\nexport const STATUS_SUCCESS = 'success'\n\nexport function processFiles(files, eachProcessFile, eachCb, cb) {\n  const fileItems = []\n  const len = files.length\n  let processedLen = 0\n  for (let i = 0; i < len; i++) {\n    processFile(files[i], i, eachProcessFile, function (item, index) {\n      processedLen++\n      fileItems[index] = item\n      eachCb(item, index)\n      if (processedLen === len) {\n        return cb(fileItems)\n      }\n    })\n  }\n}\n\nexport function processFile(file, i, eachProcessFile, cb) {\n  eachProcessFile(file, function (file) {\n    const item = newFile(file.name, file.size, STATUS_READY, 0, file)\n    cb(item, i)\n  })\n}\n\nexport function newFile(name = '', size = 0, status = '', progress = 0, file = null) {\n  const base64 = (file && file.base64) || ''\n  const url = base64 ? '' : createURL(file)\n\n  return {\n    name,\n    size,\n    url,\n    base64,\n    status,\n    progress,\n    file\n  }\n}\n\nfunction createURL(file) {\n  if (file && URL) {\n    return URL.createObjectURL(file)\n  }\n  return ''\n}\n\nexport function evalOpts(data, ...args) {\n  if (typeof data === 'function') {\n    return data.apply(this, args)\n  }\n  return data\n}\n"
  },
  {
    "path": "src/components/validator/validator.vue",
    "content": "<template>\n  <div class=\"cube-validator\" :class=\"containerClass\">\n    <div class=\"cube-validator-content\">\n      <slot></slot>\n    </div>\n    <div class=\"cube-validator-msg\" @click=\"msgClickHandler\">\n      <slot\n        name=\"message\"\n        :message=\"msg\"\n        :dirty=\"dirty\"\n        :validated=\"validated\"\n        :validating=\"validating\"\n        :result=\"result\"\n      >\n        <span class=\"cube-validator-msg-def\">{{ dirtyOrValidated ? msg : '' }}</span>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script type=\"text/ecmascript-6\">\n  import { parallel, cb2PromiseWithResolve, isUndef, isFunc, isString, isArray } from '../../common/helpers/util'\n  import { rules } from '../../common/helpers/validator'\n  import localeMixin from '../../common/mixins/locale'\n  import template from '../../common/helpers/string-template'\n\n  const COMPONENT_NAME = 'cube-validator'\n  const EVENT_INPUT = 'input'\n  const EVENT_VALIDATING = 'validating'\n  const EVENT_VALIDATED = 'validated'\n  const EVENT_MSG_CLICK = 'msg-click'\n\n  export default {\n    name: COMPONENT_NAME,\n    mixins: [localeMixin],\n    props: {\n      model: {\n        required: true\n      },\n      modelKey: {\n        type: String,\n        default: ''\n      },\n      rules: {\n        type: Object,\n        default() {\n          return {}\n        }\n      },\n      messages: {\n        type: [Object, String],\n        default() {\n          return {}\n        }\n      },\n      value: {},\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      immediate: {\n        type: Boolean,\n        default: false\n      }\n    },\n    data() {\n      return {\n        valid: this.value,\n        validated: false,\n        msg: '',\n        dirty: false,\n        validating: false,\n        result: {}\n      }\n    },\n    computed: {\n      targetModel() {\n        const modelKey = this.modelKey\n        const model = this.model\n        return modelKey ? model[modelKey] : model\n      },\n      invalid() {\n        const valid = this.valid\n        return isUndef(valid) ? undefined : !valid\n      },\n      isDisabled() {\n        const disabled = this.disabled\n        const noRules = Object.keys(this.rules).length <= 0\n        return disabled || noRules\n      },\n      dirtyOrValidated() {\n        return (this.dirty || this.validated) && !this.validating\n      },\n      containerClass() {\n        const disabled = this.isDisabled\n        if (disabled) {\n          return\n        }\n        return {\n          'cube-validator_invalid': this.invalid,\n          'cube-validator_valid': this.valid,\n          'cube-validator_validating': this.validating\n        }\n      }\n    },\n    watch: {\n      value(newVal) {\n        this.valid = newVal\n      },\n      targetModel: {\n        handler() {\n          if (this.isDisabled) {\n            return\n          }\n          if (!this.dirty) {\n            this.dirty = true\n          }\n\n          this.validate()\n        },\n        sync: true\n      },\n      rules() {\n        this.validate()\n      },\n      isDisabled(newVal) {\n        if (!newVal && this.trigger && !this.validated) {\n          this.validate()\n        }\n      }\n    },\n    created() {\n      this._validateCount = 0\n      if (!this.isDisabled && this.immediate) {\n        this.validate()\n      }\n    },\n    methods: {\n      validate(cb) {\n        const promise = cb2PromiseWithResolve(cb)\n        if (promise) {\n          cb = promise.resolve\n        }\n        if (this.isDisabled) {\n          cb && cb(this.valid)\n          return promise\n        }\n        this._validateCount++\n        const validateCount = this._validateCount\n        const val = this.targetModel\n\n        const configRules = this.rules\n        const type = configRules.type\n        const allTasks = []\n\n        let requiredValid = true\n        if (!configRules.required) {\n          // treat it as empty, no need to validate other rules\n          requiredValid = rules.required(val, true, type)\n        }\n\n        if (requiredValid) {\n          for (const key in configRules) {\n            const ruleValue = configRules[key]\n            let ret\n            if (isFunc(ruleValue)) {\n              ret = ruleValue(val, configRules[key], type)\n            } else {\n              ret = !rules[key] || rules[key](val, configRules[key], type)\n            }\n            allTasks.push((next) => {\n              const resolve = (_ret) => {\n                next({\n                  key: key,\n                  valid: _ret === true,\n                  ret: _ret\n                })\n              }\n              const reject = (err) => {\n                next({\n                  key: key,\n                  valid: false,\n                  ret: err\n                })\n              }\n              if (typeof ret === 'object' && isFunc(ret.then)) {\n                ret.then(resolve).catch(reject)\n              } else if (isFunc(ret)) {\n                ret(resolve, reject)\n              } else {\n                next({\n                  key: key,\n                  valid: ret === true,\n                  ret: ret\n                })\n              }\n            })\n          }\n        }\n        this._checkTasks(allTasks, validateCount, cb)\n        return promise\n      },\n      _checkTasks(allTasks, validateCount, cb) {\n        const configRules = this.rules\n        let isValid = true\n        const result = {}\n        let sync = true\n        this.validating = true\n        const model = this.targetModel\n        parallel(allTasks, (results) => {\n          if (this._validateCount !== validateCount) {\n            return\n          }\n          this.validating = false\n          results.forEach(({ key, valid, ret }) => {\n            const msg = this.messages[key]\n              ? isFunc(this.messages[key])\n                ? this.messages[key](ret, valid)\n                : this.messages[key]\n              : this.findMessage(key, configRules[key], configRules.type, model)\n            if (isValid && !valid) {\n              isValid = false\n              this.msg = msg\n            }\n            result[key] = {\n              valid: valid,\n              invalid: !valid,\n              message: msg\n            }\n          })\n          if (!sync) {\n            this.$emit(EVENT_VALIDATED, isValid)\n          }\n          this._updateModel(isValid, result)\n          cb && cb(this.valid)\n        })\n        if (this.validating) {\n          sync = false\n          // only async validate trigger validating\n          this.$emit(EVENT_VALIDATING)\n          this.valid = undefined\n          this.$emit(EVENT_INPUT, this.valid)\n        }\n      },\n      _updateModel(valid, result) {\n        this.validated = true\n        this.result = result\n        if (result.required && result.required.invalid) {\n          // required\n          this.msg = result.required.message\n        }\n\n        if (valid) {\n          this.msg = ''\n        }\n        this.valid = valid\n        this.$emit(EVENT_INPUT, this.valid)\n      },\n      reset() {\n        this._validateCount++\n        this.validating = false\n        this.dirty = false\n        this.result = {}\n        this.msg = ''\n        this.validated = false\n        this.valid = undefined\n        this.$emit(EVENT_INPUT, this.valid)\n      },\n      msgClickHandler() {\n        this.$emit(EVENT_MSG_CLICK)\n      },\n      findMessage (key, config, type, val) {\n        const messages = this.$cubeMessages\n        const lang = this.$cubeLang\n        const NAMESPACE = 'validator'\n        const target = messages[lang][NAMESPACE][key]\n        if (!target) {\n          return ''\n        }\n        if (isString(target)) {\n          return target\n        } else if (isFunc(target)) {\n          return target(config)\n        } else {\n          if (!target[type]) {\n            type = isArray(val) ? 'array' : typeof val\n          }\n          return typeof target[type] === 'function' ? target[type](config) : template(target[type], config)\n        }\n      }\n    }\n  }\n</script>\n\n<style lang=\"stylus\">\n  @require \"../../common/stylus/variable.styl\"\n\n  .cube-validator\n    .cube-checkbox, .cube-radio\n      color: inherit\n    .cube-input\n      input\n        color: inherit\n    .cube-textarea\n      color: inherit\n    .cube-select\n      color: inherit\n  .cube-validator-msg-def\n    font-size: $fontsize-medium\n    color: $validator-msg-def-color\n</style>\n"
  },
  {
    "path": "src/index.js",
    "content": "import {\n  /* eslint-disable no-unused-vars */\n  Style,\n  // locale\n  Locale,\n  // basic\n  Button,\n  Loading,\n  Tip,\n  Toolbar,\n  TabBar,\n  TabPanels,\n  // form\n  Checkbox,\n  CheckboxGroup,\n  Checker,\n  Radio,\n  RadioGroup,\n  Input,\n  Textarea,\n  Select,\n  Switch,\n  Rate,\n  Validator,\n  Upload,\n  Form,\n  // popup\n  Popup,\n  Toast,\n  Picker,\n  CascadePicker,\n  DatePicker,\n  TimePicker,\n  SegmentPicker,\n  Dialog,\n  ActionSheet,\n  Drawer,\n  ImagePreview,\n  // scroll\n  Scroll,\n  Slide,\n  IndexList,\n  Swipe,\n  Sticky,\n  ScrollNav,\n  ScrollNavBar,\n  RecycleList,\n  // module\n  BetterScroll,\n  createAPI\n} from './module'\nimport { processComponentName } from './common/helpers/util'\n\nconst components = [\n  // locale\n  Locale,\n  // basic\n  Button,\n  Loading,\n  Tip,\n  Toolbar,\n  TabBar,\n  TabPanels,\n  // form\n  Checkbox,\n  CheckboxGroup,\n  Checker,\n  Radio,\n  RadioGroup,\n  Input,\n  Textarea,\n  Select,\n  Switch,\n  Rate,\n  Validator,\n  Upload,\n  Form,\n  // popup\n  Popup,\n  Toast,\n  Picker,\n  CascadePicker,\n  DatePicker,\n  TimePicker,\n  SegmentPicker,\n  Dialog,\n  ActionSheet,\n  Drawer,\n  ImagePreview,\n  // scroll\n  Scroll,\n  Slide,\n  IndexList,\n  Swipe,\n  Sticky,\n  ScrollNav,\n  ScrollNavBar,\n  RecycleList\n]\n\nfunction install(Vue) {\n  if (install.installed) {\n    return\n  }\n  install.installed = true\n  components.forEach((Component) => {\n    // ignore radio\n    if (Component === Radio) {\n      return\n    }\n    Component.install(Vue)\n  })\n}\n\nconst Cube = {\n  /* eslint-disable no-undef */\n  version: __VERSION__,\n  install,\n  BScroll: BetterScroll,\n  createAPI\n}\n\ncomponents.forEach((Component) => {\n  const name = processComponentName(Component, {\n    firstUpperCase: true\n  })\n  Cube[name] = Component\n})\n\nif (typeof window !== 'undefined' && window.Vue) {\n  window.Vue.use(install)\n}\n\nexport * from './module'\n\nexport default Cube\n"
  },
  {
    "path": "src/locale/lang/en-US.js",
    "content": "export default {\n  cancel: 'Cancel',\n  confirm: 'Confirm',\n  ok: 'OK',\n  prev: 'Prev',\n  next: 'Next',\n  selectText: 'Please select',\n  now: 'Now',\n  selectTime: 'Select time',\n  today: 'Today',\n  formatDate: 'M-D',\n  hours: '',\n  minutes: '',\n  validator: {\n    required: 'Required.',\n    type: {\n      string: 'Please input characters.',\n      number: 'Please input numbers.',\n      array: 'The data type should be array.',\n      date: 'Please select a valid date.',\n      email: 'Please input a valid E-mail.',\n      tel: 'Please input a valid telphone number.',\n      url: 'Please input a valid web site.'\n    },\n    min: {\n      string: 'Please input at least {{config}} characters.',\n      number: 'The number could not smaller than {{config}}.',\n      array: 'Please select at least {{config}} items.',\n      date: 'Please select a date after {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',\n      email: 'Please input at least {{config}} characters.',\n      tel: 'Please input at least {{config}} characters.',\n      url: 'Please input at least {{config}} characters.'\n    },\n    max: {\n      string: 'Please input no more than {{config}} characters.',\n      number: 'The number could not bigger than {{config}}',\n      array: 'Please select no more than  {{config}} items',\n      date: 'Please select a date before {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',\n      email: 'Please input no more than {{config}} characters.',\n      tel: 'Please input no more than {{config}} characters.',\n      url: 'Please input no more than {{config}} characters.'\n    },\n    len: {\n      string: 'Please input {{config}} characters.',\n      number: 'The length should equal {{config}}',\n      array: 'Please select {{config}} items',\n      date: 'Please select {{config | toLocaleDateString(\"yyyy-MM-dd\")}}.',\n      email: 'Please input {{config}} characters.',\n      tel: 'Please input {{config}} characters.',\n      url: 'Please input {{config}} characters.'\n    },\n    pattern: 'The input don\"t match pattern.',\n    custom: 'Invalid.',\n    notWhitespace: 'Whitespace is invalid.'\n  }\n}\n"
  },
  {
    "path": "src/locale/lang/zh-CN.js",
    "content": "export default {\n  cancel: '取消',\n  confirm: '确认',\n  ok: '确定',\n  prev: '上一步',\n  next: '下一步',\n  selectText: '请选择',\n  now: '现在',\n  selectTime: '选择时间',\n  today: '今日',\n  formatDate: 'M月D日',\n  hours: '点',\n  minutes: '分',\n  validator: {\n    required: '此为必填项',\n    type: {\n      string: '请输入字符',\n      number: '请输入数字',\n      array: '数据类型应为数组',\n      date: '请选择有效日期',\n      email: '请输入有效邮箱',\n      tel: '请输入有效的手机号码',\n      url: '请输入有效网址'\n    },\n    min: {\n      string: '至少输入 {{config}} 位字符',\n      number: '不得小于 {{config}}',\n      array: '请选择至少 {{config}} 项',\n      date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之后的时间',\n      email: '至少输入 {{config}} 位字符',\n      tel: '至少输入 {{config}} 位字符',\n      url: '至少输入 {{config}} 位字符'\n    },\n    max: {\n      string: '请勿超过 {{config}} 位字符',\n      number: '请勿大于 {{config}}',\n      array: '最多选择 {{config}} 项',\n      date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n      email: '请勿超过 {{config}} 位字符',\n      tel: '请勿超过 {{config}} 位字符',\n      url: '请勿超过 {{config}} 位字符'\n    },\n    len: {\n      string: '请输入 {{config}} 位字符',\n      number: '长度应等于 {{config}}',\n      array: '请选择 {{config}} 项',\n      date: '请选择 {{config | toLocaleDateString(\"yyyy年MM月dd日\")}} 之前的时间',\n      email: '请输入 {{config}} 位字符',\n      tel: '请输入 {{config}} 位字符',\n      url: '请输入 {{config}} 位字符'\n    },\n    pattern: '格式错误',\n    custom: '未通过校验',\n    notWhitespace: '空白内容无效'\n  }\n}\n"
  },
  {
    "path": "src/module.js",
    "content": "import Style from './modules/style'\n// locale\nimport Locale from './modules/locale'\n\n// Basic\nimport Button from './modules/button'\nimport Loading from './modules/loading'\nimport Tip from './modules/tip'\nimport Toolbar from './modules/toolbar'\nimport TabBar from './modules/tab-bar'\nimport TabPanels from './modules/tab-panels'\n\n// Form\nimport Checkbox from './modules/checkbox'\nimport CheckboxGroup from './modules/checkbox-group'\nimport Checker from './modules/checker'\nimport RadioGroup from './modules/radio-group'\nimport Input from './modules/input'\nimport Textarea from './modules/textarea'\nimport Select from './modules/select'\nimport Switch from './modules/switch'\nimport Rate from './modules/rate'\nimport Validator from './modules/validator'\nimport Upload from './modules/upload'\nimport Form from './modules/form'\n\n// Popup\nimport Popup from './modules/popup'\nimport Toast from './modules/toast'\nimport Picker from './modules/picker'\nimport CascadePicker from './modules/cascade-picker'\nimport DatePicker from './modules/date-picker'\nimport TimePicker from './modules/time-picker'\nimport SegmentPicker from './modules/segment-picker'\nimport Dialog from './modules/dialog'\nimport ActionSheet from './modules/action-sheet'\nimport Drawer from './modules/drawer'\nimport ImagePreview from './modules/image-preview'\n\n// Scroll\nimport Scroll from './modules/scroll'\nimport Slide from './modules/slide'\nimport IndexList from './modules/index-list'\nimport Swipe from './modules/swipe'\nimport Sticky from './modules/sticky'\nimport ScrollNav from './modules/scroll-nav'\nimport ScrollNavBar from './modules/scroll-nav-bar'\nimport RecycleList from './modules/recycle-list'\n\n// module\nimport BetterScroll from './modules/better-scroll'\nimport createAPI from './modules/create-api'\n\nconst FormGroup = Form.Group\nconst FormItem = Form.Item\nconst SlideItem = Slide.Item\nconst Radio = RadioGroup.Radio\nconst SwipeItem = Swipe.Item\nconst DrawerPanel = Drawer.Panel\nconst DrawerItem = Drawer.Item\nconst StickyEle = Sticky.Ele\nconst ScrollNavPanel = ScrollNav.Panel\nconst Tab = TabBar.Tab\nconst TabPanel = TabPanels.Panel\nconst CheckerItem = Checker.Item\n\nexport {\n  // style\n  Style,\n  // locale\n  Locale,\n  // basic\n  Button,\n  Loading,\n  Tip,\n  Toolbar,\n  TabBar,\n  Tab,\n  TabPanels,\n  TabPanel,\n  // form\n  Checkbox,\n  CheckboxGroup,\n  CheckerItem,\n  Checker,\n  Radio,\n  RadioGroup,\n  Input,\n  Textarea,\n  Select,\n  Switch,\n  Rate,\n  Validator,\n  Upload,\n  FormItem,\n  FormGroup,\n  Form,\n  // popup\n  Popup,\n  Toast,\n  Picker,\n  CascadePicker,\n  DatePicker,\n  TimePicker,\n  SegmentPicker,\n  Dialog,\n  ActionSheet,\n  DrawerItem,\n  DrawerPanel,\n  Drawer,\n  ImagePreview,\n  // scroll\n  Scroll,\n  SlideItem,\n  Slide,\n  IndexList,\n  SwipeItem,\n  Swipe,\n  StickyEle,\n  Sticky,\n  ScrollNavPanel,\n  ScrollNav,\n  ScrollNavBar,\n  RecycleList,\n  // module\n  BetterScroll,\n  createAPI\n}\n"
  },
  {
    "path": "src/modules/action-sheet/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\n\nexport default function addActionSheet (Vue, ActionSheet) {\n  createAPI(Vue, ActionSheet, ['select', 'cancel'], true)\n}\n"
  },
  {
    "path": "src/modules/action-sheet/index.js",
    "content": "import ActionSheet from '../../components/action-sheet/action-sheet.vue'\nimport addActionSheet from './api'\nimport Locale from '../../common/locale'\n\nActionSheet.install = function (Vue) {\n  Vue.component(ActionSheet.name, ActionSheet)\n  Locale.install(Vue)\n  addActionSheet(Vue, ActionSheet)\n}\n\nexport default ActionSheet\n"
  },
  {
    "path": "src/modules/better-scroll/index.js",
    "content": "import BScroll from 'better-scroll'\n\nexport default BScroll\n"
  },
  {
    "path": "src/modules/button/index.js",
    "content": "import Button from '../../components/button/button.vue'\n\nButton.install = function (Vue) {\n  Vue.component(Button.name, Button)\n}\n\nexport default Button\n"
  },
  {
    "path": "src/modules/cascade-picker/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\nimport { tip } from '../../common/helpers/debug'\n\nexport default function addCascadePicker (Vue, CascadePicker) {\n  const cascadePickerAPI = createAPI(Vue, CascadePicker, ['select', 'cancel', 'change'])\n  cascadePickerAPI.before((data, renderFn, single) => {\n    if (single) {\n      tip('CascadePicker component can not be a singleton.')\n    }\n  })\n}\n"
  },
  {
    "path": "src/modules/cascade-picker/index.js",
    "content": "import Picker from '../../components/picker/picker.vue'\nimport CascadePicker from '../../components/cascade-picker/cascade-picker.vue'\nimport addCascadePicker from './api'\nimport addPicker from '../picker/api'\nimport Locale from '../../common/locale'\n\nCascadePicker.install = function (Vue) {\n  Vue.component(Picker.name, Picker)\n  Vue.component(CascadePicker.name, CascadePicker)\n  Locale.install(Vue)\n  addPicker(Vue, Picker)\n  addCascadePicker(Vue, CascadePicker)\n}\n\nCascadePicker.Picker = Picker\n\nexport default CascadePicker\n"
  },
  {
    "path": "src/modules/checkbox/index.js",
    "content": "import Checkbox from '../../components/checkbox/checkbox.vue'\n\nCheckbox.install = function (Vue) {\n  Vue.component(Checkbox.name, Checkbox)\n}\n\nexport default Checkbox\n"
  },
  {
    "path": "src/modules/checkbox-group/index.js",
    "content": "import Checkbox from '../../components/checkbox/checkbox.vue'\nimport CheckboxGroup from '../../components/checkbox-group/checkbox-group.vue'\n\nCheckboxGroup.install = function (Vue) {\n  Vue.component(Checkbox.name, Checkbox)\n  Vue.component(CheckboxGroup.name, CheckboxGroup)\n}\n\nCheckboxGroup.Checkbox = Checkbox\n\nexport default CheckboxGroup\n"
  },
  {
    "path": "src/modules/checker/index.js",
    "content": "import Checker from '../../components/checker/checker.vue'\nimport CheckerItem from '../../components/checker/checker-item.vue'\n\nChecker.install = function (Vue) {\n  Vue.component(Checker.name, Checker)\n  Vue.component(CheckerItem.name, CheckerItem)\n}\n\nChecker.Item = CheckerItem\n\nexport default Checker\n"
  },
  {
    "path": "src/modules/create-api/index.js",
    "content": "import createAPI from '../../common/helpers/create-api'\n\nexport default createAPI\n"
  },
  {
    "path": "src/modules/date-picker/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\nimport { tip } from '../../common/helpers/debug'\n\nexport default function addDatePicker (Vue, DatePicker) {\n  const datePickerAPI = createAPI(Vue, DatePicker, ['select', 'cancel', 'change'])\n  datePickerAPI.before((data, renderFn, single) => {\n    if (single) {\n      tip('DatePicker component can not be a singleton.')\n    }\n  })\n}\n"
  },
  {
    "path": "src/modules/date-picker/index.js",
    "content": "import Picker from '../../components/picker/picker.vue'\nimport CascadePicker from '../../components/cascade-picker/cascade-picker.vue'\nimport DatePicker from '../../components/date-picker/date-picker.vue'\nimport addDatePicker from './api'\nimport addCascadePicker from '../cascade-picker/api'\nimport addPicker from '../picker/api'\nimport Locale from '../../common/locale'\n\nDatePicker.install = function (Vue) {\n  Vue.component(Picker.name, Picker)\n  Vue.component(CascadePicker.name, CascadePicker)\n  Vue.component(DatePicker.name, DatePicker)\n  Locale.install(Vue)\n  addPicker(Vue, Picker)\n  addCascadePicker(Vue, CascadePicker)\n  addDatePicker(Vue, DatePicker)\n}\n\nDatePicker.Picker = Picker\nCascadePicker.Picker = Picker\nDatePicker.CascadePicker = CascadePicker\n\nexport default DatePicker\n"
  },
  {
    "path": "src/modules/dialog/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\n\nexport default function addDialog (Vue, Dialog) {\n  createAPI(Vue, Dialog, ['confirm', 'cancel', 'close', 'btn-click', 'link-click'], true)\n}\n"
  },
  {
    "path": "src/modules/dialog/index.js",
    "content": "import Dialog from '../../components/dialog/dialog.vue'\nimport Locale from '../../common/locale'\nimport Input from '../../components/input/input.vue'\nimport addDialog from './api'\n\nDialog.install = function (Vue) {\n  Vue.component(Input.name, Input)\n  Vue.component(Dialog.name, Dialog)\n  Locale.install(Vue)\n  addDialog(Vue, Dialog)\n}\n\nDialog.Input = Input\n\nexport default Dialog\n"
  },
  {
    "path": "src/modules/drawer/index.js",
    "content": "import Drawer from '../../components/drawer/drawer.vue'\nimport DrawerPanel from '../../components/drawer/drawer-panel.vue'\nimport DrawerItem from '../../components/drawer/drawer-item.vue'\n\nDrawer.install = function (Vue) {\n  Vue.component(Drawer.name, Drawer)\n  Vue.component(DrawerPanel.name, DrawerPanel)\n  Vue.component(DrawerItem.name, DrawerItem)\n}\n\nDrawer.Panel = DrawerPanel\nDrawer.Item = DrawerItem\n\nexport default Drawer\n"
  },
  {
    "path": "src/modules/form/index.js",
    "content": "import Form from '../../components/form/form.vue'\nimport FormGroup from '../../components/form/form-group.vue'\nimport FormItem from '../../components/form/form-item.vue'\nimport Locale from '../../common/locale'\n\nimport Validator from '../../components/validator/validator.vue'\nimport { addRule, addMessage, addType } from '../../common/helpers/validator'\n\nForm.install = function (Vue) {\n  Vue.component(Form.name, Form)\n  Vue.component(FormGroup.name, FormGroup)\n  Vue.component(FormItem.name, FormItem)\n  Vue.component(Validator.name, Validator)\n  Locale.install(Vue)\n  Validator._base = Vue // get Vue.prototye when Validator.addMessage()\n}\n\nForm.Group = FormGroup\nForm.Item = FormItem\nForm.Validator = Validator\n\nValidator.addRule = addRule\nValidator.addMessage = addMessage\nValidator.addType = addType\nValidator.addHelper = Locale.addHelper\n\nexport default Form\n"
  },
  {
    "path": "src/modules/image-preview/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\n\nexport default function addImagePreview (Vue, ImagePreview) {\n  createAPI(Vue, ImagePreview, ['change', 'hide'], true)\n}\n"
  },
  {
    "path": "src/modules/image-preview/index.js",
    "content": "import ImagePreview from '../../components/image-preview/image-preview.vue'\nimport addImagePreview from './api'\n\nImagePreview.install = function (Vue) {\n  Vue.component(ImagePreview.name, ImagePreview)\n  addImagePreview(Vue, ImagePreview)\n}\n\nexport default ImagePreview\n"
  },
  {
    "path": "src/modules/index-list/index.js",
    "content": "import IndexList from '../../components/index-list/index-list.vue'\nimport IndexListGroup from '../../components/index-list/index-list-group.vue'\nimport IndexListItem from '../../components/index-list/index-list-item.vue'\n\nIndexList.install = function (Vue) {\n  Vue.component(IndexList.name, IndexList)\n  Vue.component(IndexListGroup.name, IndexListGroup)\n  Vue.component(IndexListItem.name, IndexListItem)\n}\n\nIndexList.Group = IndexListGroup\nIndexList.Item = IndexListItem\n\nexport default IndexList\n"
  },
  {
    "path": "src/modules/input/index.js",
    "content": "import Input from '../../components/input/input.vue'\n\nInput.install = function (Vue) {\n  Vue.component(Input.name, Input)\n}\n\nexport default Input\n"
  },
  {
    "path": "src/modules/loading/index.js",
    "content": "import Loading from '../../components/loading/loading.vue'\n\nLoading.install = function (Vue) {\n  Vue.component(Loading.name, Loading)\n}\n\nexport default Loading\n"
  },
  {
    "path": "src/modules/locale/index.js",
    "content": "import Locale from '../../common/locale'\nimport localeMixin from '../../common/mixins/locale'\n\nLocale.localeMixin = localeMixin\n\nexport default Locale\n"
  },
  {
    "path": "src/modules/picker/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\nimport { tip } from '../../common/helpers/debug'\n\nexport default function addPicker (Vue, Picker) {\n  const pickerAPI = createAPI(Vue, Picker, ['select', 'value-change', 'cancel', 'change'])\n  pickerAPI.before((data, renderFn, single) => {\n    if (single) {\n      tip('Picker component can not be a singleton.')\n    }\n  })\n}\n"
  },
  {
    "path": "src/modules/picker/index.js",
    "content": "import Picker from '../../components/picker/picker.vue'\nimport addPicker from './api'\nimport Locale from '../../common/locale'\n\nPicker.install = function (Vue) {\n  Vue.component(Picker.name, Picker)\n  Locale.install(Vue)\n  addPicker(Vue, Picker)\n}\n\nexport default Picker\n"
  },
  {
    "path": "src/modules/popup/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\n\nexport default function addPopup(Vue, Popup) {\n  createAPI(Vue, Popup, ['mask-click'], true)\n}\n"
  },
  {
    "path": "src/modules/popup/index.js",
    "content": "import Popup from '../../components/popup/popup.vue'\nimport addPopup from './api'\n\nPopup.install = function (Vue) {\n  Vue.component(Popup.name, Popup)\n  addPopup(Vue, Popup)\n}\n\nexport default Popup\n"
  },
  {
    "path": "src/modules/radio/index.js",
    "content": "import RadioGroup from '../../components/radio/radio-group.vue'\nimport Radio from '../../components/radio/radio.vue'\n\nRadioGroup.install = function (Vue) {\n  Vue.component(RadioGroup.name, RadioGroup)\n  Vue.component(Radio.name, Radio)\n}\n\nRadioGroup.Radio = Radio\n\nexport default RadioGroup\n"
  },
  {
    "path": "src/modules/radio-group/index.js",
    "content": "import RadioGroup from '../../components/radio/radio-group.vue'\nimport Radio from '../../components/radio/radio.vue'\n\nRadioGroup.install = function (Vue) {\n  Vue.component(RadioGroup.name, RadioGroup)\n  Vue.component(Radio.name, Radio)\n}\n\nRadioGroup.Radio = Radio\n\nexport default RadioGroup\n"
  },
  {
    "path": "src/modules/rate/index.js",
    "content": "import Rate from '../../components/rate/rate.vue'\nimport RateItem from '../../components/rate/rate-item.vue'\n\nRate.install = function(Vue) {\n  Vue.component(Rate.name, Rate)\n  Vue.component(RateItem.name, RateItem)\n}\nRate.Item = RateItem\nexport default Rate\n"
  },
  {
    "path": "src/modules/recycle-list/index.js",
    "content": "import RecycleList from '../../components/recycle-list/recycle-list.vue'\n\nRecycleList.install = function(Vue) {\n  Vue.component(RecycleList.name, RecycleList)\n}\n\nexport default RecycleList\n"
  },
  {
    "path": "src/modules/scroll/index.js",
    "content": "import Scroll from '../../components/scroll/scroll.vue'\n\nScroll.install = function (Vue) {\n  Vue.component(Scroll.name, Scroll)\n}\n\nexport default Scroll\n"
  },
  {
    "path": "src/modules/scroll-nav/index.js",
    "content": "import ScrollNav from '../../components/scroll-nav/scroll-nav.vue'\nimport ScrollNavPanel from '../../components/scroll-nav/scroll-nav-panel.vue'\nimport ScrollNavBar from '../../components/scroll-nav-bar/scroll-nav-bar.vue'\n\nScrollNav.install = function (Vue) {\n  Vue.component(ScrollNav.name, ScrollNav)\n  Vue.component(ScrollNavPanel.name, ScrollNavPanel)\n  Vue.component(ScrollNavBar.name, ScrollNavBar)\n}\n\nScrollNav.Panel = ScrollNavPanel\nScrollNav.Bar = ScrollNavBar\n\nexport default ScrollNav\n"
  },
  {
    "path": "src/modules/scroll-nav-bar/index.js",
    "content": "import ScrollNavBar from '../../components/scroll-nav-bar/scroll-nav-bar.vue'\n\nScrollNavBar.install = function (Vue) {\n  Vue.component(ScrollNavBar.name, ScrollNavBar)\n}\n\nexport default ScrollNavBar\n"
  },
  {
    "path": "src/modules/segment-picker/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\nimport { tip } from '../../common/helpers/debug'\n\nexport default function addSegmentPicker (Vue, SegmentPicker) {\n  const segmentPickerAPI = createAPI(Vue, SegmentPicker, ['select', 'cancel', 'change', 'next', 'prev'])\n  segmentPickerAPI.before((data, renderFn, single) => {\n    if (single) {\n      tip('SegmentPicker component can not be a singleton.')\n    }\n  })\n}\n"
  },
  {
    "path": "src/modules/segment-picker/index.js",
    "content": "import Picker from '../../components/picker/picker.vue'\nimport CascadePicker from '../../components/cascade-picker/cascade-picker.vue'\nimport SegmentPicker from '../../components/segment-picker/segment-picker.vue'\nimport addPicker from '../picker/api'\nimport addCascadePicker from '../cascade-picker/api'\nimport addSegmentPicker from './api'\nimport Locale from '../../common/locale'\n\nSegmentPicker.install = function (Vue) {\n  Vue.component(Picker.name, Picker)\n  Vue.component(CascadePicker.name, CascadePicker)\n  Vue.component(SegmentPicker.name, SegmentPicker)\n  Locale.install(Vue)\n  addPicker(Vue, Picker)\n  addCascadePicker(Vue, CascadePicker)\n  addSegmentPicker(Vue, SegmentPicker)\n}\n\nSegmentPicker.Picker = Picker\nCascadePicker.Picker = Picker\nSegmentPicker.CascadePicker = CascadePicker\n\nexport default SegmentPicker\n"
  },
  {
    "path": "src/modules/select/index.js",
    "content": "import Picker from '../../components/picker/picker.vue'\nimport Select from '../../components/select/select.vue'\nimport addPicker from '../picker/api'\nimport Locale from '../../common/locale'\n\nSelect.install = function (Vue) {\n  Vue.component(Picker.name, Picker)\n  Vue.component(Select.name, Select)\n  Locale.install(Vue)\n  addPicker(Vue, Picker)\n}\n\nSelect.Picker = Picker\n\nexport default Select\n"
  },
  {
    "path": "src/modules/slide/index.js",
    "content": "import Slide from '../../components/slide/slide.vue'\nimport SlideItem from '../../components/slide/slide-item.vue'\n\nSlide.install = function (Vue) {\n  Vue.component(Slide.name, Slide)\n  Vue.component(SlideItem.name, SlideItem)\n}\n\nSlide.Item = SlideItem\n\nexport default Slide\n"
  },
  {
    "path": "src/modules/sticky/index.js",
    "content": "import Sticky from '../../components/sticky/sticky.vue'\nimport StickyEle from '../../components/sticky/sticky-ele.vue'\n\nSticky.install = function (Vue) {\n  Vue.component(Sticky.name, Sticky)\n  Vue.component(StickyEle.name, StickyEle)\n}\n\nSticky.Ele = StickyEle\n\nexport default Sticky\n"
  },
  {
    "path": "src/modules/style/index.js",
    "content": "import '../../common/stylus/index.styl'\n\nexport default {\n  install() {}\n}\n"
  },
  {
    "path": "src/modules/swipe/index.js",
    "content": "import Swipe from '../../components/swipe/swipe.vue'\nimport SwipeItem from '../../components/swipe/swipe-item.vue'\n\nSwipe.install = function (Vue) {\n  Vue.component(Swipe.name, Swipe)\n  Vue.component(SwipeItem.name, SwipeItem)\n}\n\nSwipe.Item = SwipeItem\n\nexport default Swipe\n"
  },
  {
    "path": "src/modules/switch/index.js",
    "content": "import Switch from '../../components/switch/switch.vue'\n\nSwitch.install = function (Vue) {\n  Vue.component(Switch.name, Switch)\n}\n\nexport default Switch\n"
  },
  {
    "path": "src/modules/tab-bar/index.js",
    "content": "import TabBar from '../../components/tab-bar/tab-bar.vue'\nimport Tab from '../../components/tab-bar/tab.vue'\nTabBar.install = function (Vue) {\n  Vue.component(TabBar.name, TabBar)\n  Vue.component(Tab.name, Tab)\n}\n\nTabBar.Tab = Tab\n\nexport default TabBar\n"
  },
  {
    "path": "src/modules/tab-panels/index.js",
    "content": "import TabPanels from '../../components/tab-panels/tab-panels.vue'\nimport TabPanel from '../../components/tab-panels/tab-panel.vue'\n\nTabPanels.install = function (Vue) {\n  Vue.component(TabPanels.name, TabPanels)\n  Vue.component(TabPanel.name, TabPanel)\n}\n\nTabPanels.Panel = TabPanel\n\nexport default TabPanels\n"
  },
  {
    "path": "src/modules/textarea/index.js",
    "content": "import Textarea from '../../components/textarea/textarea.vue'\n\nTextarea.install = function (Vue) {\n  Vue.component(Textarea.name, Textarea)\n}\n\nexport default Textarea\n"
  },
  {
    "path": "src/modules/time-picker/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\nimport { tip } from '../../common/helpers/debug'\n\nexport default function addTimePicker (Vue, TimePicker) {\n  const timePickerAPI = createAPI(Vue, TimePicker, ['select', 'cancel', 'change'])\n  timePickerAPI.before((data, renderFn, single) => {\n    if (single) {\n      tip('TimePicker component can not be a singleton.')\n    }\n  })\n}\n"
  },
  {
    "path": "src/modules/time-picker/index.js",
    "content": "import Picker from '../../components/picker/picker.vue'\nimport TimePicker from '../../components/time-picker/time-picker.vue'\nimport addTimePicker from './api'\nimport addPicker from '../picker/api'\nimport Locale from '../../common/locale'\n\nTimePicker.install = function (Vue) {\n  Vue.component(Picker.name, Picker)\n  Vue.component(TimePicker.name, TimePicker)\n  Locale.install(Vue)\n  addPicker(Vue, Picker)\n  addTimePicker(Vue, TimePicker)\n}\n\nTimePicker.Picker = Picker\n\nexport default TimePicker\n"
  },
  {
    "path": "src/modules/tip/index.js",
    "content": "import Tip from '../../components/tip/tip.vue'\n\nTip.install = function (Vue) {\n  Vue.component(Tip.name, Tip)\n}\n\nexport default Tip\n"
  },
  {
    "path": "src/modules/toast/api.js",
    "content": "import createAPI from '../../common/helpers/create-api'\n\nexport default function addToast (Vue, Toast) {\n  createAPI(Vue, Toast, ['timeout'], true)\n}\n"
  },
  {
    "path": "src/modules/toast/index.js",
    "content": "import Loading from '../../components/loading/loading.vue'\nimport Toast from '../../components/toast/toast.vue'\nimport addToast from './api'\n\nToast.install = function (Vue) {\n  Vue.component(Loading.name, Loading)\n  Vue.component(Toast.name, Toast)\n  addToast(Vue, Toast)\n}\n\nToast.Loading = Loading\n\nexport default Toast\n"
  },
  {
    "path": "src/modules/toolbar/index.js",
    "content": "import Button from '../../components/button/button.vue'\nimport Checkbox from '../../components/checkbox/checkbox.vue'\nimport Toolbar from '../../components/toolbar/toolbar.vue'\n\nToolbar.install = function (Vue) {\n  Vue.component(Button.name, Button)\n  Vue.component(Checkbox.name, Checkbox)\n  Vue.component(Toolbar.name, Toolbar)\n}\n\nToolbar.Button = Button\nToolbar.Checkbox = Checkbox\n\nexport default Toolbar\n"
  },
  {
    "path": "src/modules/upload/index.js",
    "content": "import Upload from '../../components/upload/upload.vue'\nimport UploadBtn from '../../components/upload/btn.vue'\nimport UploadFile from '../../components/upload/file.vue'\n\nUpload.install = function (Vue) {\n  Vue.component(Upload.name, Upload)\n  Vue.component(UploadBtn.name, UploadBtn)\n  Vue.component(UploadFile.name, UploadFile)\n}\n\nUpload.Btn = UploadBtn\nUpload.File = UploadFile\n\nexport default Upload\n"
  },
  {
    "path": "src/modules/validator/index.js",
    "content": "import Validator from '../../components/validator/validator.vue'\nimport Locale from '../../common/locale'\nimport { addRule, addMessage, addType } from '../../common/helpers/validator'\n\nValidator.install = function (Vue) {\n  Vue.component(Validator.name, Validator)\n  Locale.install(Vue)\n  Validator._base = Vue // get Vue.prototye when use Validator.addMessage()\n}\n\nValidator.addRule = addRule\nValidator.addMessage = addMessage\nValidator.addType = addType\nValidator.addHelper = Locale.addHelper\n\nexport default Validator\n"
  },
  {
    "path": "test/test-dts/ImagePreview.ts",
    "content": "import { ImagePreview } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst root = new Vue()\n\nconst imgs = [\n  'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n  'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n  'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg',\n  'https://wx1.sinaimg.cn/mw1024/686d7361ly1fpha0m3ufuj21hc0zkqbj.jpg'\n]\nlet imagePreview: ImagePreview\nlet customIndex: number = 3\n\n\ndescribe('ImagePreview', () => {\n  imagePreview = root.$createImagePreview({\n    imgs: imgs,\n    initialIndex: customIndex,\n    loop: true,\n    speed: 500,\n    zIndex: 12,\n    preventDefault: false,\n    onChange: (i: number) => {\n      customIndex = i\n    },\n    onHide: () => {\n      console.log('hide')\n    }\n  }, (h) => {\n    return h('div', {\n      class: {\n        'image-preview-custom-header': true\n      },\n      slot: 'header'\n    }, (customIndex + 1).toString())\n  })\n  imagePreview.show()\n})\ndescribe('ImagePreview $props', () => {\n  imagePreview = root.$createImagePreview({\n    $props: {\n      imgs: imgs,\n      'initial-index': customIndex,\n      loop: false,\n      speed: 500,\n      zIndex: 12,\n      preventDefault: true\n    },\n    $events: {\n      change: (i: number) => {\n        customIndex = i\n      },\n      hide: () => {\n        console.log('hide')\n      }\n    }\n  }, (h) => {\n    return h('div', {\n      class: {\n        'image-preview-custom-header': true\n      },\n      slot: 'header'\n    }, (customIndex + 1).toString())\n  })\n  imagePreview.show()\n})"
  },
  {
    "path": "test/test-dts/actionSheet.ts",
    "content": "import { ActionSheet } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconsole.log(Vue)\nconst root = new Vue()\n\nconst data = [\n  {\n    content: '舒适型',\n    align: 'left',\n    class: 'self'\n  },\n  {\n    content: '七座商务',\n    align: 'left',\n    class: 'self'\n  },\n  {\n    content: '豪华型',\n    align: 'left',\n    class: 'self'\n  }\n]\nlet actionSheet: ActionSheet\nconst selectHandler = (item: any) => {\n  root.$createToast({\n    txt: `Clicked ${item.content}`,\n    type: 'correct',\n    time: 1000\n  }).show()\n}\nconst cancelHandler = () => {\n  root.$createToast({\n    txt: 'Clicked canceled',\n    type: 'warn',\n    time: 1000\n  }).show()\n}\n\ndescribe('ActionSheet', () => {\n  actionSheet = root.$createActionSheet({\n    title: '我是标题~~~',\n    active: 2,\n    pickerStyle: true,\n    cancelTxt: 'cancel',\n    data: data,\n    visible: true,\n    maskClosable: true,\n    zIndex: 99,\n    onSelect: selectHandler,\n    onCancel: cancelHandler\n  })\n  actionSheet.show()\n  actionSheet.hide()\n})\n\ndescribe('ActionSheet $props', () => {\n  root.$createActionSheet({\n    $props: {\n      title: '我是标题~~~',\n      active: 2,\n      pickerStyle: true,\n      cancelTxt: 'cancel',\n      data: data,\n      visible: true,\n      maskClosable: true,\n      zIndex: 99\n    },\n    $events: {\n      select: selectHandler,\n      cancel: cancelHandler\n    }\n  })\n})"
  },
  {
    "path": "test/test-dts/cascadePicker.ts",
    "content": "import { CascadePicker } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst root = new Vue()\n\nconst cascadeData = [\n  {\n    value1: 'Fruit1',\n    text1: 'Fruit1',\n    children: [\n      {\n        value1: 'Apple',\n        text1: 'Apple',\n        children: [{ value1: 1, text1: 'One' }, { value1: 2, text1: 'Two' }]\n      },\n      {\n        value1: 'Orange',\n        text1: 'Orange',\n        children: [{ value1: 3, text1: 'Three' }, { value1: 4, text1: 'Four' }]\n      }\n    ]\n  },\n  {\n    value1: 'Drink',\n    text1: 'Drink',\n    children: [\n      {\n        value1: 'Coffee',\n        text1: 'Coffee',\n        children: [{ value1: 1, text1: 'One' }, { value1: 2, text1: 'Two' }]\n      },\n      {\n        value1: 'Tea',\n        text1: 'Tea',\n        children: [{ value1: 1, text1: 'One' }, { value1: 3, text1: 'Three' }]\n      }\n    ]\n  }\n]\nfunction selectHandle(selectedVal: [], selectedIndex: [], selectedText: []) {\n  root.$createDialog({\n    type: 'warn',\n    content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n    icon: 'cubeic-alert'\n  }).show()\n}\nfunction cancelHandle() {\n  root.$createToast({\n    type: 'correct',\n    txt: 'Picker canceled',\n    time: 1000\n  }).show()\n}\n\nlet cascadePicker: CascadePicker\ndescribe('CascadePicker', () => {\n  if (cascadePicker) {\n    cascadePicker.show()\n    return\n  }\n  cascadePicker = root.$createCascadePicker({\n    title: 'Cascade Picker',\n    data: cascadeData,\n    selectedIndex: [0, 1, 0],\n    alias: {\n      value: 'value1',\n      text: 'text1'\n    },\n    onSelect: selectHandle,\n    onCancel: cancelHandle,\n    onChange: (index: number, selectedIndex: number) => {\n      console.log('change', index, selectedIndex)\n    }\n  }).show()\n  \n})\ndescribe('CascadePicker setData', () => {\n  console.log('准备设置数据')\n  if (!cascadePicker) return\n  cascadePicker.setData(cascadeData, [0, 0, 0])\n  console.log('数据设置完成')\n})\ndescribe('CascadePicker $props', () => {\n  root.$createCascadePicker({\n    $props: {\n      title: 'Cascade Picker',\n      data: cascadeData,\n      selectedIndex: [0, 1, 0],\n      alias: {\n        value: 'value1',\n        text: 'text1'\n      }\n    },\n    $events: {\n      select: selectHandle,\n      cancel: cancelHandle\n    }\n  }).show()\n})\n"
  },
  {
    "path": "test/test-dts/datePicker.ts",
    "content": "import { DatePicker } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst root = new Vue()\n\nlet datePicker: DatePicker\nfunction selectHandle(date: Date, selectedVal: [], selectedText: []) {\n  console.log('date: ', date.getTime())\n  root.$createDialog({\n    type: 'warn',\n    content: `Selected Item: <br/> - date: ${date} <br/> - value: ${selectedVal.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n    icon: 'cubeic-alert'\n  }).show()\n}\nfunction cancelHandle() {\n  root.$createToast({\n    type: 'correct',\n    txt: 'Picker canceled',\n    time: 1000\n  }).show()\n}\n\ndescribe('DatePicker', () => {\n  if (!datePicker) {\n    datePicker = root.$createDatePicker({\n      min: new Date(2008, 7, 8),\n      max: new Date(2020, 9, 20),\n      title: 'Date Picker',\n      value: new Date(),\n      startColumn: 'year',\n      columnCount: 3,\n      format: {\n        year: 'YYYY年',\n        month: 'MM月',\n        date: '第 D 日',\n        hour: 'hh',\n        minute: 'mm',\n        second: 's'\n      },\n      subtitle: 'no props',\n      cancelTxt: '返回',\n      confirmTxt: '选择',\n      swipeTime: 2300,\n      visible: true,\n      maskClosable: true,\n      zIndex: 90,\n      columnOrder: ['month', 'date', 'year'],\n      onSelect: selectHandle,\n      onCancel: cancelHandle,\n      onChange: (i, si) => {\n        console.log('change', i, si)\n      }\n    })\n  }\n  datePicker.show()\n  setTimeout(() => {\n    if (!datePicker) {\n      return\n    }\n    datePicker.$updateProps({\n      title: 'updated',\n      value: new Date(2010, 9, 1)\n    })\n  }, 1000)\n})\ndescribe('DatePicker $props', () => {\n  root.$createDatePicker({\n    $props: {\n      title: 'Date Picker',\n      min: [2008, 7, 8],\n      max: [new Date().getFullYear() + 1, 12, 31, 23, 59, 59],\n      value: new Date(),\n      format: {\n        year: 'YY年',\n        month: 'MM月',\n        date: '第 D 日'\n      },\n      columnOrder: ['month', 'date', 'year']\n    },\n    $events: {\n      select: selectHandle,\n      cancel: cancelHandle,\n      change: (i, si) => {\n        console.log('change', i, si)\n      }\n    }\n  }).show()\n})"
  },
  {
    "path": "test/test-dts/dialog.ts",
    "content": "import { Dialog } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\nconst vm = new Vue()\n\nconst cancleHandler = (e: MouseEvent): void => {\n    console.log('cancleHandler', e)\n}\nconst confirmHandler = (e: MouseEvent, val = '') => {\n  console.log('confirmHandler', e, 'value: ', val)\n}\nconst closeHandler = (e: MouseEvent) => {\n  console.log('closeHandler', e)\n}\n\ndescribe('dialog', () => {\n  const dialog: Dialog = vm.$createDialog({\n    type: 'prompt',\n    icon: 'cubeic-alert',\n    title: 'dialog 标题',\n    content: '我是正文',\n    showClose: true,\n    confirmBtn: {\n      text: '确认',\n      active: false,\n      disabled: true,\n      href: 'https://didi.github.io/cube-ui/#/zh-CN/docs/dialog'\n    },\n    cancelBtn: '取消',\n    visible: true,\n    maskClosable: true,\n    zIndex: 2,\n    prompt: {\n      value: 12,\n      placeholder: '请输入'\n    },\n    onCancel: cancleHandler,\n    onConfirm: confirmHandler,\n    onClose: closeHandler\n  }, (createElement) => {\n    return [\n      createElement('div', {\n        'class': {\n          'my-title': true\n        },\n        slot: 'title'\n      }, [\n        createElement('div', {\n          'class': {\n            'my-title-img': true\n          }\n        }),\n        createElement('p', '附近车少,优选出租车将来接您')\n      ]),\n      createElement('p', {\n        'class': {\n          'my-content': true\n        },\n        slot: 'content'\n      }, '价格仍按快车计算')\n    ]\n  }, false)\n  dialog.show()\n  dialog.hide()\n})\n\ndescribe('dialog $props', () => {\n  const dialogProps: Dialog = vm.$createDialog({\n    $props: {\n      type: 'confirm',\n      icon: 'cubeic-alert',\n      title: 'dialog 标题',\n      content: '我是正文',\n      showClose: true,\n      confirmBtn: {\n        text: '确认'\n      },\n      cancelBtn: '取消',\n      visible: true,\n      maskClosable: true\n    },\n    $events: {\n      close: closeHandler,\n      confirm: confirmHandler,\n      cancel: cancleHandler\n    }\n  })\n  \n  dialogProps.show()\n  dialogProps.hide()\n})\n"
  },
  {
    "path": "test/test-dts/helper.d.ts",
    "content": "export function describe(desc: string, fn: () => void): void"
  },
  {
    "path": "test/test-dts/index.ts",
    "content": "import '../../types'\nimport './popup'\nimport './toast'\nimport './picker'\nimport './cascadePicker'\nimport './datePicker'\nimport './timerPicker'\nimport './segmentPicker'\nimport './dialog'\nimport './actionSheet'\nimport './imagePreview'"
  },
  {
    "path": "test/test-dts/picker.ts",
    "content": "import { Picker } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst root = new Vue()\n\nconst column1 = [{ text: '剧毒', value: '剧毒' }, { text: '蚂蚁', value: '蚂蚁' }, { text: '幽鬼', value: '幽鬼' }]\nconst column2 = [{ text: '输出', value: '输出' }, { text: '控制', value: '控制' },\n  { text: '核心', value: '核心' }, { text: '爆发', value: '爆发' }]\nconst column3 = [{ text: '梅肯', value: '梅肯' }, { text: '秘法鞋', value: '秘法鞋' },\n  { text: '假腿', value: '假腿' }, { text: '飞鞋', value: '飞鞋' }]\n\nfunction selectHandle(selectedVal: [], selectedIndex: [], selectedText: []) {\n  root.$createDialog({\n    type: 'warn',\n    content: `Selected Item: <br/> - value: ${selectedVal.join(', ')} <br/> - index: ${selectedIndex.join(', ')} <br/> - text: ${selectedText.join(' ')}`,\n    icon: 'cubeic-alert'\n  }).show()\n}\nfunction cancelHandle() {\n  root.$createToast({\n    type: 'correct',\n    txt: 'Picker canceled',\n    time: 1000\n  }).show()\n}\nfunction valueChangeHandle(selectedVal: [], selectedIndex: [], selectedText: []) {\n  console.log('valueChangeHandle', selectedVal, selectedIndex, selectedText)\n  root.$createToast({\n    type: 'correct',\n    txt: 'value change',\n    time: 1000\n  }).show()\n}\nfunction changeHandle(index: number, selectedIndex: number) {\n  console.log('index', index, selectedIndex, selectedIndex)\n}\n\ndescribe('Picker', () => {\n  let picker: Picker = root.$createPicker({\n    title: 'Picker',\n    subtitle: '英雄联盟',\n    cancelTxt: 'cancel',\n    confirmTxt: 'ok',\n    swipeTime: 3000,\n    alias: { value: 'text', text: 'value' },\n    data: [column1],\n    selectedIndex: [1],\n    visible: true,\n    zIndex: 90,\n    maskClosable: true,\n    onSelect: selectHandle,\n    onCancel: cancelHandle,\n    onValueChange: valueChangeHandle,\n    onChange: changeHandle\n  }).show()\n  \n  setTimeout(() => {\n    if (!picker) { return }\n    picker.$updateProps({\n      title: 'Updated',\n      data: [column1, column2, column3],\n      selectedIndex: [1, 2, 3]\n    })\n  }, 1000)\n  \n})\n\ndescribe('Picker $props', () => {\n  root.$createPicker({\n    $props: {\n      title: 'Picker',\n      data: [column1]\n    },\n    $events: {\n      select: selectHandle,\n      cancel: cancelHandle,\n      'value-change': valueChangeHandle\n    }\n  }).show()\n})"
  },
  {
    "path": "test/test-dts/popup.ts",
    "content": "import { Popup } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst vm = new Vue()\n\ndescribe('Popup $props', () => {\n  const maskClickHandler = (e: MouseEvent) => {\n    console.log('maskClickHandler', e)\n    if (!popup) { return }\n    popup.hide()\n  }\n  const popup: Popup = vm.$createPopup({\n    visible: true,\n    type: 'prompt',\n    mask: true,\n    content: '我是正文',\n    center: true,\n    maskClosable: false,\n    zIndex: 2,\n    position: 'top',\n    onMaskClick: maskClickHandler\n  }, false)\n  \n  popup.show()\n  popup.hide()\n})\n\ndescribe('Popup $props', () => {\n  const popupProps: Popup = vm.$createPopup({\n    $props: {\n      visible: true,\n      type: 'alert',\n      mask: false,\n      content: 'my popup content',\n      center: true,\n      maskClosable: true\n    },\n    $events: {\n      'mask-click': (e: MouseEvent) => {\n        console.log('maskClickHandler', e)\n      }\n    }\n  })\n  \n  popupProps.show()\n  popupProps.hide()\n})"
  },
  {
    "path": "test/test-dts/segmentPicker.ts",
    "content": "import { SegmentPicker } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst root = new Vue()\nconst dateSegmentData = [\n  {\n    is: 'cube-date-picker',\n    title: '入学时间',\n    min: new Date(2000, 0, 1),\n    max: new Date(2030, 11, 31)\n  },\n  {\n    is: 'cube-date-picker',\n    title: '毕业时间',\n    min: new Date(2000, 0, 1),\n    max: new Date(2030, 11, 31)\n  }\n]\nlet segmentPicker: SegmentPicker\nconst selectHandler = (selectedDates: [], selectedVals: [], selectedTexts: Array<[]>) => {\n  console.log('selectedDates: ', selectedDates)\n  console.log('selectedVals: ', selectedVals)\n  console.log('selectedTexts: ', selectedTexts)\n  root.$createDialog({\n    type: 'warn',\n    content: `Selected Items: <br/> - 入学时间: ${selectedTexts[0].join('')} <br/> - 毕业时间: ${selectedTexts[1].join('')}`,\n    icon: 'cubeic-alert'\n  }).show()\n}\nconst nextHandler = (i: number, selectedDate: Date, selectedValue: number[], selectedText: string[]) => {\n  console.log('nextHandler i', i)\n\n  if (!segmentPicker) return\n  console.log(i, selectedDate, selectedValue, selectedText)\n  dateSegmentData[1].min = selectedDate\n  if (i === 0) {\n    segmentPicker.$updateProps({\n      data: dateSegmentData\n    })\n  }\n}\nconst changeHandler = (pickerIndex: number, index: number, selectedIndex: number) => {\n  return console.log(pickerIndex, index, selectedIndex)\n}\nconst prevHandler = (pickerIndex: number) => {\n  console.log('prevHandler pickerIndex', pickerIndex)\n}\nconst cancelHandler = () => {\n  console.log('cancel')\n}\n\ndescribe('SegmentPicker', () => {\n  if (!segmentPicker) {\n    segmentPicker = root.$createSegmentPicker({\n      data: dateSegmentData,\n      nextTxt: '下一个',\n      prevTxt: '上一个',\n      title: 'segmentPicker',\n      subtitle: 'subtitle',\n      cancelTxt: 'cancel',\n      confirmTxt: 'ok',\n      swipeTime: 2300,\n      visible: false,\n      maskClosable: true,\n      zIndex: 90,\n      onSelect: selectHandler,\n      onNext: nextHandler,\n      onChange: changeHandler,\n      onPrev: prevHandler,\n      onCancel: cancelHandler\n    })\n  }\n  segmentPicker.show()\n})\n\ndescribe('SegmentPicker $props', () => {\n  root.$createSegmentPicker({\n    $props: {\n      data: dateSegmentData,\n      nextTxt: '下一个',\n      prevTxt: '上一个',\n      title: 'segmentPicker',\n      subtitle: 'subtitle',\n      cancelTxt: 'cancel',\n      confirmTxt: 'ok',\n      swipeTime: 2300,\n      visible: false,\n      maskClosable: false,\n      zIndex: 90\n    },\n    $events: {\n      select: selectHandler,\n      next: nextHandler,\n      change: changeHandler,\n      prev: prevHandler,\n      cancel: cancelHandler\n    }\n  }).show()\n})\n"
  },
  {
    "path": "test/test-dts/timePicker.ts",
    "content": "import { TimePicker } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst root = new Vue()\n\nlet timePicker: TimePicker\nconst selectHandler = (selectedTime: number, selectedText: string, formatedTime: string) => {\n  console.log(selectedTime, selectedText, formatedTime)\n  root.$createDialog({\n    type: 'warn',\n    title: `selected time: ${selectedTime}`,\n    content: `selected text: ${selectedText}<br>format time: ${formatedTime}`,\n    icon: 'cubeic-alert'\n  }).show()\n}\nconst cancelHandler = () => {\n  root.$createToast({\n    type: 'correct',\n    txt: 'Picker canceled',\n    time: 1000\n  }).show()\n}\nconst changeHandler = (index: number, selectedIndex: number) => {\n  console.log('当前滚动列次序: ', index, '当前列选中项的索引: ', selectedIndex)\n}\n\ndescribe('TimePicker', () => {\n  \n  const time = new Date().valueOf() + 1 * 60 * 60 * 1000\n  if (!timePicker) {\n    timePicker = root.$createTimePicker({\n      day: {\n        len: 5,\n        filter: ['今天', '明天', '后天'],\n        format: 'M月D日'\n      },\n      showNow: true,\n      minuteStep: 10,\n      delay: 15,\n      min: +new Date() - (2 * 60 + 20) * 60 * 1000,\n      max: +new Date() + ((5 * 24 + 2) * 60 + 20) * 60 * 1000,\n      title: 'timepicker',\n      subtitle: 'subtitle',\n      cancelTxt: 'cancel',\n      confirmTxt: 'ok',\n      swipeTime: 2300,\n      visible: true,\n      maskClosable: true,\n      format: 'YY/MM/D hh:mm',\n      zIndex: 99,\n      onSelect: selectHandler,\n      onCancel: cancelHandler,\n      onChange: changeHandler\n    })\n  }\n  timePicker.show()\n  setTimeout(() => {\n    if (!timePicker) {\n      return\n    }\n    timePicker.setTime(time)\n    timePicker.$updateProps({\n      title: 'updated',\n      cancelTxt: '取消'\n    })\n  }, 3000)\n  \n})\ndescribe('TimePicker $props', () => {\n\n  timePicker = root.$createTimePicker({\n    $props: {\n      showNow: {\n        text: 'now at'\n      },\n      minuteStep: {\n        rule: 'ceil',\n        step: 15\n      },\n      delay: 15,\n      day: {\n        len: 5,\n        filter: ['今天', '明天', '后天'],\n        format: 'M月D日'\n      }\n    },\n    $events: {\n      select: selectHandler,\n      cancel: cancelHandler,\n      change: changeHandler\n    }\n  }).show()\n  \n})"
  },
  {
    "path": "test/test-dts/toast.ts",
    "content": "import { Toast } from '../../types/cube-ui'\nimport Vue from 'vue'\nimport { describe } from './helper'\n\nconst vm = new Vue()\n\nconst timeoutHandler = () => {\n  console.log('timeoutHandler')\n}\n\ndescribe('Toast', () => {\n  const toast: Toast = vm.$createToast({\n    visible: true,\n    type: 'error',\n    mask: true,\n    txt: '加载出错啦',\n    time: 0,\n    maskClosable: true,\n    zIndex: 2,\n    onTimeout: timeoutHandler\n  }, false)\n  \n  toast.show()\n  setTimeout(() => {\n    if (!toast) {\n      return\n    }\n    toast.hide()\n  }, 2000)\n})\n\ndescribe('Toast $props', () => {\n  const toastProps: Toast = vm.$createToast({\n    $props: {\n      visible: true,\n      type: 'error',\n      maskClosable: false,\n      zIndex: 2\n    },\n    $events: {\n      'timeout': timeoutHandler\n    }\n  })\n  \n  toastProps.show()\n  toastProps.hide()\n})"
  },
  {
    "path": "test/unit/.eslintrc",
    "content": "{\n  \"env\": {\n    \"mocha\": true\n  },\n  \"globals\": {\n    \"expect\": true,\n    \"sinon\": true\n  },\n  \"rules\": {\n    \"no-unused-expressions\": 0\n  }\n}\n"
  },
  {
    "path": "test/unit/fake/index-list.json",
    "content": "[\n  {\n    \"name\": \"★热门城市\",\n    \"cities\": [\n      {\n        \"name\": \"北京市\",\n        \"tags\": \"BEIJING,北京市\",\n        \"cityid\": 1\n      },\n      {\n        \"name\": \"上海市\",\n        \"tags\": \"SHANGHAI,上海市\",\n        \"cityid\": 2\n      }\n    ]\n  },\n  {\n    \"name\": \"A\",\n    \"cities\": [\n      {\n        \"name\": \"鞍山市\",\n        \"tags\": \"ANSHAN,鞍山市\",\n        \"cityid\": 3\n      },\n      {\n        \"name\": \"安庆市\",\n        \"tags\": \"ANQING,安庆市\",\n        \"cityid\": 4\n      }\n    ]\n  },\n  {\n    \"name\": \"B\",\n    \"cities\": [\n      {\n        \"name\": \"北京市\",\n        \"tags\": \"BEIJING,北京市\",\n        \"cityid\": 1\n      },\n      {\n        \"name\": \"巴音郭楞州\",\n        \"tags\": \"BAYINGUOLENGZHOU,巴音郭楞州\",\n        \"cityid\": 5\n      },\n      {\n        \"name\": \"博尔塔拉州\",\n        \"tags\": \"BOERTALAZHOU,博尔塔拉州\",\n        \"cityid\": 6\n      }\n    ]\n  },\n  {\n    \"name\": \"C\",\n    \"cities\": [\n      {\n        \"name\": \"成都市\",\n        \"tags\": \"CHENGDU,成都市\",\n        \"cityid\": 7\n      }\n    ]\n  },\n  {\n    \"name\": \"E\",\n    \"cities\": [\n      {\n        \"name\": \"鄂尔多斯市\",\n        \"tags\": \"EERDUOSI,鄂尔多斯市\",\n        \"cityid\": 8\n      },\n      {\n        \"name\": \"鄂州市\",\n        \"tags\": \"EZHOU,鄂州市\",\n        \"cityid\": 9\n      },\n      {\n        \"name\": \"恩施州\",\n        \"tags\": \"ENSHIZHOU,恩施州\",\n        \"cityid\": 10\n      }\n    ]\n  },\n  {\n    \"name\": \"F\",\n    \"cities\": [\n      {\n        \"name\": \"福州市\",\n        \"tags\": \"FUZHOU,福州市\",\n        \"cityid\": 11\n      },\n      {\n        \"name\": \"佛山市\",\n        \"tags\": \"FOSHAN,佛山市\",\n        \"cityid\": 12\n      },\n      {\n        \"name\": \"防城港市\",\n        \"tags\": \"FANGCHENGGANG,防城港市\",\n        \"cityid\": 13\n      }\n    ]\n  },\n  {\n    \"name\": \"G\",\n    \"cities\": [\n      {\n        \"name\": \"广州市\",\n        \"tags\": \"GUANGZHOU,广州市\",\n        \"cityid\": 14\n      },\n      {\n        \"name\": \"贵阳市\",\n        \"tags\": \"GUIYANG,贵阳市\",\n        \"cityid\": 15\n      }\n    ]\n  },\n  {\n    \"name\": \"H\",\n    \"cities\": [\n      {\n        \"name\": \"杭州市\",\n        \"tags\": \"HANGZHOU,杭州市\",\n        \"cityid\": 16\n      },\n      {\n        \"name\": \"和田地区\",\n        \"tags\": \"HETIANDIQU,和田地区\",\n        \"cityid\": 17\n      }\n    ]\n  },\n  {\n    \"name\": \"Z\",\n    \"cities\": [\n      {\n        \"name\": \"郑州市\",\n        \"tags\": \"ZHENGZHOU,郑州市\",\n        \"cityid\": 18\n      },\n      {\n        \"name\": \"张家口市\",\n        \"tags\": \"ZHANGJIAKOU,张家口市\",\n        \"cityid\": 19\n      },\n      {\n        \"name\": \"中卫市\",\n        \"tags\": \"ZHONGWEI,中卫市\",\n        \"cityid\": 20\n      }\n    ]\n  }\n]\n"
  },
  {
    "path": "test/unit/index.js",
    "content": "import Vue from 'vue'\nimport 'basic-mouse-event-polyfill-phantomjs'\nimport 'phantomjs-polyfill-find-index'\n\nwindow.Promise = window.Promise || Promise\n\nVue.config.productionTip = false\n\n// require all test files (files that ends with .spec.js)\nconst testsContext = require.context('./specs', true, /\\.spec$/)\ntestsContext.keys().forEach(testsContext)\n\n// require all src files except src/index.js and src/module.js for coverage.\n// you can also change this to match only the subset of files that\n// you want coverage for.\nconst srcContext = require.context('../../src', true, /^\\.\\/\\w+\\/.+$/)\nsrcContext.keys().forEach(srcContext)\n"
  },
  {
    "path": "test/unit/karma.conf.js",
    "content": "// This is a karma config file. For more details see\n//   http://karma-runner.github.io/0.13/config/configuration-file.html\n// we are also using it with karma-webpack\n//   https://github.com/webpack/karma-webpack\n\nvar webpackConfig = require('../../build/webpack.test.conf')\n\nmodule.exports = function (config) {\n  config.set({\n    // to run in additional browsers:\n    // 1. install corresponding karma launcher\n    //    http://karma-runner.github.io/0.13/config/browsers.html\n    // 2. add it to the `browsers` array below.\n    browsers: ['PhantomJS_mobile'],\n    browserDisconnectTimeout: 300000,\n    browserNoActivityTimeout: 300000,\n    customLaunchers:{\n      PhantomJS_mobile: {\n        base: 'PhantomJS',\n        options: {\n          viewportSize: {\n            width: 375,\n            height: 667\n          }\n        }\n      }\n    },\n    frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],\n    reporters: ['spec', 'coverage'],\n    files: [\n      './index.js'\n    ],\n    preprocessors: {\n      './index.js': ['webpack', 'sourcemap']\n    },\n    webpack: webpackConfig,\n    webpackMiddleware: {\n      noInfo: true\n    },\n    coverageReporter: {\n      dir: './coverage',\n      reporters: [\n        { type: 'lcov', subdir: '.' },\n        { type: 'text-summary' }\n      ]\n    }\n  })\n}\n"
  },
  {
    "path": "test/unit/specs/action-sheet.spec.js",
    "content": "import Vue from 'vue2'\nimport ActionSheet from '@/modules/action-sheet'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('ActionSheet', () => {\n  describe('ActionSheet.vue', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n    it('use', () => {\n      Vue.use(ActionSheet)\n      expect(Vue.component(ActionSheet.name))\n        .to.be.a('function')\n    })\n    it('should render correct contents', () => {\n      vm = createActionSheet({\n        data: [\n          {\n            content: '左对齐',\n            align: 'left'\n          },\n          {\n            content: '右对齐',\n            align: 'right'\n          }\n        ],\n        active: 1,\n        title: 'action sheet title'\n      })\n      expect(vm.$el.querySelector('.cube-action-sheet-title').textContent)\n        .to.equal('action sheet title')\n      const items = vm.$el.querySelectorAll('.cube-action-sheet-item')\n      expect(items.length)\n        .to.equal(2)\n      expect(items[1].className)\n        .to.include('cube-action-sheet-item_active')\n      expect(items[0].textContent)\n        .to.equal('左对齐')\n    })\n    it('should render correct contents - no data', () => {\n      vm = createActionSheet({\n        title: 'action sheet title'\n      })\n      const items = vm.$el.querySelectorAll('.cube-action-sheet-item')\n      expect(items.length)\n        .to.equal(0)\n    })\n    it('should render correct contents - picker style', () => {\n      vm = createActionSheet({\n        data: [\n          {\n            content: '舒适型'\n          },\n          {\n            content: '七座商务'\n          },\n          {\n            content: '豪华型'\n          }\n        ],\n        pickerStyle: true,\n        active: 1,\n        title: 'action sheet title2'\n      })\n      vm.show()\n      expect(vm.$el.className)\n        .to.include('cube-action-sheet_picker')\n      expect(vm.$el.querySelector('.cube-action-sheet-title').textContent)\n        .to.equal('action sheet title2')\n      const items = vm.$el.querySelectorAll('.cube-action-sheet-item')\n      expect(items.length)\n        .to.equal(3)\n      expect(items[1].className)\n        .to.include('cube-action-sheet-item_active')\n      expect(items[0].textContent)\n        .to.equal('舒适型')\n      expect(vm.$el.querySelector('.cube-action-sheet-space').offsetHeight)\n        .to.equal(0)\n    })\n\n    it('should trigger events', () => {\n      const selectHandler = sinon.spy()\n      const cancelHandler = sinon.spy()\n      const data = [\n        {\n          content: '舒适型'\n        },\n        {\n          content: '七座商务'\n        },\n        {\n          content: '豪华型'\n        }\n      ]\n      vm = createActionSheet({\n        data: data,\n        pickerStyle: true,\n        active: 1,\n        title: 'action sheet title2'\n      }, {\n        select: selectHandler,\n        cancel: cancelHandler\n      })\n      vm.show()\n      const items = vm.$el.querySelectorAll('.cube-action-sheet-item')\n\n      items[0].click()\n      expect(vm.isVisible)\n        .to.be.false\n      expect(selectHandler)\n        .to.be.calledWith(data[0])\n\n      vm.show()\n      vm.$el.querySelector('.cube-action-sheet-cancel').click()\n      expect(vm.isVisible)\n        .to.be.false\n      expect(cancelHandler)\n        .to.be.calledOnce\n    })\n\n    function createActionSheet (props = {}, events = {}) {\n      return instantiateComponent(Vue, ActionSheet, {\n        props: props,\n        on: events\n      })\n    }\n  })\n\n  describe('ActionSheet API', () => {\n    it('$createActionSheet API', () => {\n      const selectHandler = sinon.spy()\n      const cancelHandler = sinon.spy()\n      const data = [\n        {\n          content: '左对齐',\n          align: 'left'\n        },\n        {\n          content: '右对齐',\n          align: 'right'\n        },\n        {\n          content: '默认居中对齐'\n        },\n        {\n          content: '自定义样式的内容',\n          class: 'orange'\n        },\n        {\n          content: '<i class=\"didi-icons didi-icons-arrow_lift\"></i><span>嵌入了HTML的内容</span>'\n        }\n      ]\n      let ins\n      const vm = new Vue({\n        template: '<div>xx</div>',\n        methods: {\n          showAPI() {\n            ins = this.$createActionSheet({\n              data: data,\n              active: 1,\n              title: 'action sheet api title',\n              onSelect: selectHandler,\n              onCancel: cancelHandler\n            })\n            ins.show()\n          }\n        }\n      })\n      vm.showAPI()\n      expect(ins.isVisible)\n        .to.be.true\n      expect(ins.$el.parentElement)\n        .to.equal(document.body)\n\n      expect(ins.$el.querySelector('.cube-action-sheet-title').textContent)\n        .to.equal('action sheet api title')\n      const items = ins.$el.querySelectorAll('.cube-action-sheet-item')\n      expect(items.length)\n        .to.equal(5)\n      expect(items[1].className)\n        .to.include('cube-action-sheet-item_active')\n      expect(items[4].querySelector('span').textContent)\n        .to.equal('嵌入了HTML的内容')\n\n      items[0].click()\n      expect(ins.isVisible)\n        .to.be.false\n      expect(selectHandler)\n        .to.be.calledWith(data[0])\n\n      ins.show()\n      ins.$el.querySelector('.cube-action-sheet-cancel').click()\n      expect(ins.isVisible)\n        .to.be.false\n      expect(cancelHandler)\n        .to.be.calledOnce\n      ins.remove()\n      expect(ins.$el.parentElement)\n        .to.be.null\n      vm.$destroy()\n    })\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/button.spec.js",
    "content": "import Vue from 'vue2'\nimport Button from '@/modules/button'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Button.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Button)\n    expect(Vue.component(Button.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = instantiateComponent(Vue, Button, {\n      props: {\n        icon: 'mfic-back'\n      }\n    }, (createElement) => {\n      return createElement('span', 'btn content')\n    })\n    expect(vm.$el.querySelector('i').className)\n      .to.equal('mfic-back')\n    expect(vm.$el.querySelector('span').textContent)\n      .to.equal('btn content')\n  })\n  it('props', () => {\n    vm = instantiateComponent(Vue, Button, {\n      props: {\n        icon: 'mfic-back',\n        type: 'submit',\n        disabled: true,\n        inline: true,\n        outline: true,\n        primary: true,\n        light: true\n      }\n    }, (createElement) => {\n      return createElement('span', 'btn content')\n    })\n    expect(vm.$el.type)\n      .to.equal('submit')\n    expect(vm.$el.className)\n      .to.equal('cube-btn cube-btn_disabled cube-btn-inline cube-btn-primary cube-btn-outline cube-btn-outline-primary cube-btn-light')\n  })\n  it('events-called', () => {\n    const clickHandler = sinon.spy()\n    vm = instantiateComponent(Vue, Button, {\n      props: {\n        icon: 'mfic-back'\n      },\n      on: {\n        click: clickHandler\n      }\n    }, (createElement) => {\n      return createElement('span', 'btn content')\n    })\n    expect(clickHandler)\n      .to.have.callCount(0)\n    vm.$el.click()\n    expect(clickHandler)\n      .to.have.been.calledOnce\n  })\n  it('events-no-called', () => {\n    const clickHandler = sinon.spy()\n    vm = instantiateComponent(Vue, Button, {\n      props: {\n        icon: 'mfic-back',\n        disabled: true\n      },\n      on: {\n        click: clickHandler\n      }\n    }, (createElement) => {\n      return createElement('span', 'btn content')\n    })\n    expect(clickHandler)\n      .to.have.callCount(0)\n    vm.$el.click()\n    expect(clickHandler)\n      .to.have.been.callCount(0)\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/cascade-picker.spec.js",
    "content": "import Vue from 'vue2'\nimport CascadePicker from '@/modules/cascade-picker'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { cascadeData } from 'example/data/cascade'\nimport { dispatchSwipe } from '../utils/event'\n\ndescribe('CascadePicker', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(CascadePicker)\n    expect(Vue.component(CascadePicker.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', function () {\n    vm = createCascadePicker({\n      title: 'title',\n      subtitle: 'subtitle',\n      data: cascadeData,\n      selectedIndex: [1, 1, 3]\n    })\n\n    const titleEl = vm.$el.querySelector('.cube-picker-title')\n    expect(titleEl.textContent.trim())\n      .to.equal('title')\n\n    const subtitleEl = vm.$el.querySelector('.cube-picker-subtitle')\n    expect(subtitleEl.textContent.trim())\n      .to.equal('subtitle')\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(3)\n\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(3)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('Drink')\n\n    const secondWheelItems = wheels[1].querySelectorAll('li')\n    expect(secondWheelItems.length)\n      .to.equal(3)\n    expect(secondWheelItems[1].textContent.trim())\n      .to.equal('Tea')\n\n    const thirdWheelItems = wheels[2].querySelectorAll('li')\n    expect(thirdWheelItems.length)\n      .to.equal(4)\n    expect(thirdWheelItems[3].textContent.trim())\n      .to.equal('Four')\n  })\n\n  it('should render correct contents when use alias', function () {\n    vm = createCascadePicker({\n      data: [{ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }],\n      selectedIndex: [1, 1, 3],\n      alias: {\n        value: 'id',\n        text: 'name'\n      }\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(3)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('B')\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n\n    const selectHandle = sinon.spy()\n    const cancelHandle = sinon.spy()\n    const changeHandle = sinon.spy()\n    const events = {\n      select: selectHandle,\n      cancel: cancelHandle,\n      change: changeHandle\n    }\n\n    vm = createCascadePicker({\n      data: cascadeData\n    }, events)\n\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      const firstWheelItems = wheels[0].querySelectorAll('li')\n\n      // change\n      dispatchSwipe(firstWheelItems[1], [\n        {\n          pageX: firstWheelItems[1].offsetLeft + 10,\n          pageY: firstWheelItems[1].offsetTop + 10\n        },\n        {\n          pageX: 300,\n          pageY: 380\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(changeHandle)\n          .to.be.callCount(1)\n\n        // select\n        const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n        confirmBtn.click()\n        expect(selectHandle)\n          .to.be.callCount(1)\n\n        // cancel\n        vm.show()\n        const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n        cancelBtn.click()\n        expect(cancelHandle)\n          .to.be.callCount(1)\n\n        done()\n      }, 1000)\n    }, 150)\n  })\n\n  it('should call methods', function (done) {\n    this.timeout(10000)\n\n    vm = createCascadePicker()\n\n    // setData\n    vm.setData(cascadeData, [1, 1, 1])\n\n    // For unknown reason, expect Array equal has failed.\n    // expect vm.pickerData[2] equal to cascadeData[1].children[1].children\n    expect(vm.pickerData[2].length)\n      .to.equal(cascadeData[1].children[1].children.length)\n    expect(vm.pickerData[2][0].value)\n      .to.equal(cascadeData[1].children[1].children[0].value)\n\n    // show\n    vm.show()\n\n    // hide\n    setTimeout(() => {\n      vm.hide()\n\n      done()\n    }, 100)\n  })\n\n  it('should support async cascade', function (done) {\n    this.timeout(10000)\n\n    const data = [\n      { value: 1,\n        text: '1',\n        children: [{value: 11, text: '11'}]\n      }, {\n        value: 2,\n        text: '2'\n      }\n    ]\n\n    const selectedIndex = [0, 0]\n    const selectHandle = sinon.spy()\n\n    vm = createCascadePicker({\n      async: true,\n      data: data,\n      selectedIndex: selectedIndex.slice()\n    }, {\n      select: selectHandle,\n      change: (i, newIndex) => {\n        if (newIndex !== selectedIndex[i]) {\n          selectedIndex.splice(i, 1, newIndex)\n          if (i < 1) {\n            expect(selectHandle)\n              .to.be.callCount(0)\n            vm.$nextTick(() => {\n              const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n              confirmBtn.click()\n              expect(selectHandle)\n                .to.be.callCount(0)\n\n              setTimeout(() => {\n                data[1].children = [{value: 21, text: '21'}]\n                vm.setData(data, selectedIndex)\n                vm.$nextTick(() => {\n                  confirmBtn.click()\n                  expect(selectHandle)\n                    .to.be.callCount(1)\n\n                  done()\n                })\n              }, 500)\n            })\n          }\n        }\n      }\n    })\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      const firstWheelItems = wheels[0].querySelectorAll('li')\n\n      dispatchSwipe(firstWheelItems[1], [\n        {\n          pageX: firstWheelItems[1].offsetLeft + 10,\n          pageY: firstWheelItems[1].offsetTop + 10\n        },\n        {\n          pageX: firstWheelItems[1].offsetLeft + 10,\n          pageY: 60\n        }\n      ], 100)\n    }, 150)\n  })\n\n  it('$updateProps', function (done) {\n    this.timeout(10000)\n\n    vm = createCascadePicker({\n      data: [{ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }],\n      selectedIndex: [1]\n    })\n\n    let wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(1)\n\n    vm.$updateProps({\n      data: cascadeData,\n      selectedIndex: [1, 1, 1]\n    })\n    vm.$nextTick(() => {\n      wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      expect(wheels.length)\n        .to.equal(3)\n\n      done()\n    })\n  })\n\n  it('should add warn log when single is true', () => {\n    const app = new Vue()\n    const originWarn = console.warn\n    const msgs = []\n    console.warn = function (...args) {\n      msgs.push(args.join('#'))\n    }\n\n    vm = app.$createCascadePicker({}, true)\n    expect(msgs.length)\n      .to.equal(1)\n    console.warn = originWarn\n  })\n\n  function createCascadePicker(props = {}, events = {}) {\n    return instantiateComponent(Vue, CascadePicker, {\n      props: props,\n      on: events\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/checkbox-group.spec.js",
    "content": "import Vue from 'vue2'\nimport CheckboxGroup from '@/modules/checkbox-group'\nimport createVue from '../utils/create-vue'\n\ndescribe('CheckboxGroup.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(CheckboxGroup)\n    expect(Vue.component(CheckboxGroup.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents (horizontal=false)', () => {\n    vm = createCheckboxGroup()\n    expect(vm.$el.className)\n      .to.include('cube-checkbox-group border-top-1px border-bottom-1px')\n    expect(vm.$el.querySelectorAll('.cube-checkbox').length)\n      .to.equal(4)\n    expect(vm.$el.querySelector('.cube-checkbox').className)\n      .to.include('cube-checkbox_checked')\n    expect(vm.$el.querySelector('.cube-checkbox .cube-checkbox-wrap').className)\n      .to.include('cube-checkbox-wrap border-bottom-1px')\n  })\n  it('should render correct contents (horizontal=true)', () => {\n    vm = createCheckboxGroup(true)\n    expect(vm.$el.className)\n      .to.include('cube-checkbox-group')\n    expect(vm.$el.querySelector('.cube-checkbox').className)\n      .to.include('cube-checkbox cube-checkbox_checked border-right-1px')\n  })\n  it('should change v-model value', () => {\n    vm = createCheckboxGroup()\n    const p = vm.$parent\n    expect(p.checkList[0])\n      .to.equal('1')\n    vm.$el.querySelector('.cube-checkbox-input').click()\n    expect(p.checkList[0])\n      .to.equal('4')\n    vm.$el.querySelectorAll('.cube-checkbox-input')[1].click()\n    expect(p.checkList[1])\n      .to.equal('2')\n  })\n\n  it('should work correctly - min & max', () => {\n    vm = createVue({\n      template: `\n        <cube-checkbox-group :min=\"1\" :max=\"3\" v-model=\"checkList\">\n          <cube-checkbox label=\"1\">\n            <div class=\"checkbox-slot-content\">\n              <p>自定义复选框A</p>\n              <p>通过slot方式插入自己的内容</p>\n            </div>\n          </cube-checkbox>\n          <cube-checkbox label=\"2\">复选框B</cube-checkbox>\n          <cube-checkbox label=\"3\">复选框C</cube-checkbox>\n          <cube-checkbox label=\"4\">复选框D</cube-checkbox>\n        </cube-checkbox-group>\n      `,\n      data: {\n        checkList: ['1']\n      }\n    })\n    const p = vm.$parent\n    expect(p.checkList[0])\n      .to.equal('1')\n    vm.$el.querySelector('.cube-checkbox-input').click()\n    // min logic keep 1\n    expect(p.checkList[0])\n      .to.equal('1')\n    // click 2\n    vm.$el.querySelectorAll('.cube-checkbox-input')[1].click()\n    expect(p.checkList[1])\n      .to.equal('2')\n    // click 3\n    vm.$el.querySelectorAll('.cube-checkbox-input')[2].click()\n    expect(p.checkList[2])\n      .to.equal('3')\n    // click 4\n    vm.$el.querySelectorAll('.cube-checkbox-input')[3].click()\n    // keep 3 max logic\n    expect(p.checkList.length)\n      .to.equal(3)\n  })\n})\n\nfunction createCheckboxGroup (horizontal = false) {\n  const vm = createVue({\n    template: `\n      <cube-checkbox-group v-model=\"checkList\" :horizontal=\"${horizontal}\">\n        <cube-checkbox label=\"1\">\n          <div class=\"checkbox-slot-content\">\n            <p>自定义复选框A</p>\n            <p>通过slot方式插入自己的内容</p>\n          </div>\n        </cube-checkbox>\n        <cube-checkbox label=\"2\">复选框B</cube-checkbox>\n        <cube-checkbox label=\"3\" disabled>禁用状态(未选中)</cube-checkbox>\n        <cube-checkbox label=\"4\" disabled>禁用状态(选中)</cube-checkbox>\n      </cube-checkbox-group>\n    `,\n    data: {\n      checkList: ['1', '4']\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/checkbox.spec.js",
    "content": "import Vue from 'vue2'\nimport Checkbox from '@/modules/checkbox'\nimport createVue from '../utils/create-vue'\n\ndescribe('Checkbox.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Checkbox)\n    expect(Vue.component(Checkbox.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createCheckbox()\n    const el = vm.$el\n    expect(el.className)\n      .to.equal('cube-checkbox my-checkbox cube-checkbox_checked')\n    expect(el.getAttribute('data-pos'))\n      .to.equal('left')\n    expect(el.querySelector('.cube-checkbox-wrap').className)\n      .to.equal('cube-checkbox-wrap')\n    expect(el.querySelector('.cube-checkbox-label').textContent.trim())\n      .to.equal('checkbox')\n  })\n  it('should toggle v-model value', () => {\n    vm = createCheckbox()\n    expect(vm.$parent.checked)\n      .to.be.true\n    vm.$el.querySelector('.cube-checkbox-input').click()\n    expect(vm.$parent.checked)\n      .to.be.false\n  })\n})\n\nfunction createCheckbox () {\n  const vm = createVue({\n    template: `\n      <cube-checkbox v-model=\"checked\" class=\"my-checkbox\" :position=\"'left'\">\n        checkbox\n      </cube-checkbox>\n    `,\n    data: {\n      checked: true\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/checker.spec.js",
    "content": "import Vue from 'vue2'\nimport Checker from '@/modules/checker'\nimport createVue from '../utils/create-vue'\n\ndescribe('Checker.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Checker)\n    expect(Vue.component(Checker.name))\n      .to.be.a('function')\n  })\n  it('should render radio contents', () => {\n    vm = createChecker('radio')\n    expect(vm.$el.className)\n      .to.include('cube-checker')\n    expect(vm.$el.querySelectorAll('.cube-checker-item_active').length)\n      .to.equal(1)\n    // expect(vm.$el.querySelector('.checker').className)\n      // .to.include('active')\n  })\n  it('should render radio contents', (done) => {\n    vm = createChecker('radio')\n    const p = vm.$parent\n    const options = p.options\n    expect(p.checkerList)\n      .to.equal(1)\n    vm.$nextTick(() => {\n      const items = vm.$el.querySelectorAll('.cube-checker-item')\n      expect(items.length)\n        .to.equal(options.length)\n      items[0].click()\n      vm.$nextTick(() => {\n        expect(p.checkerList)\n          .to.equal(0)\n        done()\n      })\n    })\n  })\n\n  it('should render checkbox contents', (done) => {\n    vm = createChecker('checkbox')\n    const p = vm.$parent\n    const options = p.options\n    expect(p.checkerList.join(''))\n      .to.equal('14')\n    vm.$nextTick(() => {\n      const items = vm.$el.querySelectorAll('.cube-checker-item')\n      const disabledItems = vm.$el.querySelectorAll('.cube-checker-item_disabled')\n      expect(items.length)\n        .to.equal(options.length)\n      expect(disabledItems[0])\n        .to.equal(items[4])\n      items[1].click()\n      items[2].click()\n      items[3].click()\n      items[4].click()\n      vm.$nextTick(() => {\n        expect(p.checkerList.join(''))\n          .to.equal('423')\n        done()\n      })\n    })\n  })\n})\n\nfunction createChecker (type) {\n  const vm = createVue({\n    template: `\n      <cube-checker\n        v-model=\"checkerList\"\n        :options=\"options\"\n        :type=\"type\">\n      </cube-checker>\n    `,\n    data: {\n      checkerList: type === 'radio' ? 1 : [1, 4],\n      options: [\n        {\n          value: 0,\n          text: 'AAAAA'\n        },\n        {\n          value: 1,\n          text: 'BBBBB'\n        },\n        {\n          value: 2,\n          text: 'CCCCC'\n        },\n        {\n          value: 3,\n          text: 'DDDDD'\n        },\n        {\n          value: 4,\n          text: 'EEEEE',\n          disabled: true\n        }\n      ],\n      type: type,\n      max: 2\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/date-picker.spec.js",
    "content": "import Vue from 'vue2'\nimport DatePicker from '@/modules/date-picker'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchSwipe } from '../utils/event'\n\ndescribe('DatePicker', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(DatePicker)\n    expect(Vue.component(DatePicker.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', function () {\n    vm = createDatePicker({\n      min: new Date(2008, 7, 8),\n      max: new Date(2020, 9, 20)\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(3)\n\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(13)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('2009')\n\n    const secondWheelItems = wheels[1].querySelectorAll('li')\n    expect(secondWheelItems.length)\n      .to.equal(5)\n    expect(secondWheelItems[1].textContent.trim())\n      .to.equal('9')\n\n    const thirdWheelItems = wheels[2].querySelectorAll('li')\n    expect(thirdWheelItems.length)\n      .to.equal(24)\n    expect(thirdWheelItems[1].textContent.trim())\n      .to.equal('9')\n  })\n\n  it('should render correct contents when configured startColumn and columnCount', function (done) {\n    this.timeout(10000)\n\n    vm = createDatePicker({\n      min: [1, 8],\n      max: [31, 23],\n      startColumn: 'date',\n      columnCount: 2\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(2)\n\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(31)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('2')\n\n    const secondWheelItems = wheels[1].querySelectorAll('li')\n    expect(secondWheelItems.length)\n      .to.equal(16)\n    expect(secondWheelItems[1].textContent.trim())\n      .to.equal('09')\n\n    // test: _arrayToDate if (i < this.beginIndex)\n    vm.show()\n    setTimeout(() => {\n      const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n      confirmBtn.click()\n      done()\n    }, 50)\n  })\n\n  it('should render correct contents when configured format', function () {\n    vm = createDatePicker({\n      min: new Date(2008, 7, 8),\n      max: new Date(2020, 9, 20),\n      format: {\n        year: 'yy年',\n        month: 'MM月',\n        date: '第 d 日'\n      }\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(3)\n\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(13)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('09年')\n\n    const secondWheelItems = wheels[1].querySelectorAll('li')\n    expect(secondWheelItems.length)\n      .to.equal(5)\n    expect(secondWheelItems[1].textContent.trim())\n      .to.equal('09月')\n\n    const thirdWheelItems = wheels[2].querySelectorAll('li')\n    expect(thirdWheelItems.length)\n      .to.equal(24)\n    expect(thirdWheelItems[1].textContent.trim())\n      .to.equal('第 9 日')\n  })\n\n  it('should render correct contents when configured columnOrder', function () {\n    vm = createDatePicker({\n      min: new Date(2008, 7, 8),\n      max: new Date(2020, 9, 20),\n      columnOrder: ['month', 'date', 'year']\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels[0].style.webkitOrder || wheels[0].style.order).to.equal('2')\n    expect(wheels[1].style.webkitOrder || wheels[1].style.order).to.equal('0')\n    expect(wheels[2].style.webkitOrder || wheels[2].style.order).to.equal('1')\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n\n    const selectHandle = sinon.spy()\n    const cancelHandle = sinon.spy()\n    const changeHandle = sinon.spy()\n\n    vm = createDatePicker({\n      min: new Date(2008, 7, 8),\n      max: new Date(2020, 9, 20),\n      value: new Date(2010, 9, 1)\n    }, {\n      select: selectHandle,\n      cancel: cancelHandle,\n      change: changeHandle\n    })\n\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      const firstWheelItems = wheels[0].querySelectorAll('li')\n\n      // change\n      dispatchSwipe(firstWheelItems[1], [\n        {\n          pageX: firstWheelItems[1].offsetLeft + 10,\n          pageY: firstWheelItems[1].offsetTop + 10\n        },\n        {\n          pageX: 300,\n          pageY: 380\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(changeHandle)\n          .to.be.callCount(1)\n\n        // select\n        const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n        confirmBtn.click()\n        expect(selectHandle)\n          .to.be.callCount(1)\n\n        // cancel\n        vm.show()\n        const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n        cancelBtn.click()\n        expect(cancelHandle)\n          .to.be.callCount(1)\n\n        done()\n      }, 1000)\n    }, 150)\n  })\n\n  it('should call methods', function (done) {\n    this.timeout(10000)\n\n    vm = createDatePicker()\n\n    // show\n    vm.show()\n\n    // hide\n    setTimeout(() => {\n      vm.hide()\n\n      done()\n    }, 100)\n  })\n\n  it('should add warn log when single is true', () => {\n    const app = new Vue()\n    const originWarn = console.warn\n    const msgs = []\n    console.warn = function (...args) {\n      msgs.push(args.join('#'))\n    }\n    vm = app.$createDatePicker({}, true)\n    expect(msgs.length)\n      .to.equal(1)\n    console.warn = originWarn\n  })\n\n  testUpdateProps()\n\n  function createDatePicker(props = {}, events = {}) {\n    return instantiateComponent(Vue, DatePicker, {\n      props: props,\n      on: events\n    })\n  }\n\n  function testUpdateProps () {\n    const cases = [\n      {\n        props: {\n          value: new Date(2012, 9, 1)\n        },\n        expect: () => {\n          expectArrayEqual(vm.selectedIndex, [2, 9, 0])\n        }\n      },\n      {\n        props: {\n          min: new Date(2012, 3, 5)\n        },\n        expect: () => {\n          expect(vm.data[0].value).to.equal(2012)\n          expect(vm.data[0].children[0].value).to.equal(4)\n          expect(vm.data[0].children[0].children[0].value).to.equal(5)\n        }\n      },\n      {\n        props: {\n          min: new Date(2010, 3, 5)\n        },\n        expect: () => {\n          expect(vm.data[0].value).to.equal(2010)\n          expect(vm.data[0].children[0].value).to.equal(4)\n          expect(vm.data[0].children[0].children[0].value).to.equal(5)\n        }\n      },\n      {\n        props: {\n          max: new Date(2025, 9, 20)\n        },\n        expect: () => {\n          expect(vm.data.length).to.equal(16)\n          expect(vm.data[15].children.length).to.equal(10)\n          expect(vm.data[15].children[9].children.length).to.equal(20)\n        }\n      }\n    ]\n\n    cases.forEach((item) => {\n      it(`$updateProps: ${JSON.stringify(item.props)}`, function (done) {\n        vm = createDatePicker()\n\n        vm.$updateProps(item.props)\n\n        vm.$nextTick(() => {\n          item.expect()\n          done()\n        })\n      })\n    })\n  }\n\n  function expectArrayEqual(arr1, arr2) {\n    expect(arr1.length).to.equal(arr2.length)\n    arr1.forEach((item, index) => {\n      expect(item).to.equal(arr2[index])\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/dialog.spec.js",
    "content": "import Vue from 'vue2'\nimport Dialog from '@/modules/dialog'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Dialog', () => {\n  describe('Dialog.vue', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n    it('use', () => {\n      Vue.use(Dialog)\n      expect(Vue.component(Dialog.name))\n        .to.be.a('function')\n    })\n    it('should render correct contents - icon', () => {\n      vm = createDialog({\n        icon: 'icon-xx',\n        content: 'dialog'\n      })\n      expect(vm.$el.querySelector('.cube-dialog-icon i').className)\n        .to.equal('icon-xx')\n    })\n    it('should render correct contents - title', () => {\n      vm = createDialog({\n        title: 'dialog title',\n        content: 'dialog'\n      })\n      expect(vm.$el.querySelector('.cube-dialog-title-def').textContent)\n        .to.equal('dialog title')\n    })\n    it('should render correct contents - alert', () => {\n      vm = createDialog({\n        type: 'alert',\n        content: 'dialog'\n      })\n      expect(vm.$el.querySelector('.cube-dialog-alert').parentElement.className)\n        .to.equal('cube-dialog-main')\n      expect(vm.$el.querySelector('.cube-dialog-btns').getElementsByTagName('a').length)\n        .to.equal(1)\n    })\n    it('should render correct contents - confirm', () => {\n      vm = createDialog({\n        type: 'confirm',\n        content: 'dialog'\n      })\n      expect(vm.$el.querySelector('.cube-dialog-confirm').parentElement.className)\n        .to.equal('cube-dialog-main')\n      expect(vm.$el.querySelector('.cube-dialog-btns').getElementsByTagName('a').length)\n        .to.equal(2)\n    })\n\n    it('should render correct contents - prompt', () => {\n      vm = createDialog({\n        type: 'prompt',\n        title: 'Prompt',\n        prompt: {\n          value: '',\n          placeholder: 'Please input'\n        }\n      })\n      expect(vm.$el.querySelector('.cube-dialog-prompt').parentElement.className)\n        .to.equal('cube-dialog-main')\n      expect(vm.$el.querySelector('.cube-input-field').placeholder)\n        .to.equal('Please input')\n      expect(vm.$el.querySelector('.cube-dialog-btns').getElementsByTagName('a').length)\n        .to.equal(2)\n    })\n\n    it('should render correct contents - confirmBtn/cancelBtn', () => {\n      const href = 'https://didichuxing.com/'\n      vm = createDialog({\n        type: 'confirm',\n        content: 'dialog',\n        confirmBtn: '确定1',\n        cancelBtn: {\n          text: '取消1',\n          active: false,\n          disabled: false,\n          href: href\n        }\n      })\n      const btns = vm.$el.querySelector('.cube-dialog-btns').getElementsByTagName('a')\n      expect(btns.length)\n        .to.equal(2)\n      expect(btns[0].href).to.equal(href)\n      expect(btns[0].textContent).to.equal('取消1')\n      expect(btns[1].href).to.equal('javascript:;')\n      expect(btns[1].textContent).to.equal('确定1')\n    })\n\n    it('should trigger events', () => {\n      const confirmHandler = sinon.spy()\n      const cancelHandler = sinon.spy()\n      const closeHandler = sinon.spy()\n      vm = createDialog({\n        type: 'confirm',\n        title: 'dialog title',\n        content: 'dialog'\n      }, {\n        confirm: confirmHandler,\n        cancel: cancelHandler,\n        close: closeHandler\n      })\n      vm.show()\n      // confirm click\n      vm.$el.querySelector('.cube-dialog-btns a:last-child').click()\n      expect(vm.isVisible)\n        .to.be.false\n      expect(confirmHandler)\n        .to.be.calledOnce\n      vm.show()\n      vm.$el.querySelector('.cube-dialog-btns a').click()\n      expect(vm.isVisible)\n        .to.be.false\n      expect(cancelHandler)\n        .to.be.calledOnce\n      vm.show()\n      vm.$el.querySelector('.cube-dialog-close').click()\n      expect(vm.isVisible)\n        .to.be.false\n      expect(closeHandler)\n        .to.be.calledOnce\n    })\n\n    it('should not trigger events when btn is disabled', () => {\n      const confirmHandler = sinon.spy()\n      const cancelHandler = sinon.spy()\n      vm = createDialog({\n        type: 'confirm',\n        title: 'dialog title',\n        content: 'dialog',\n        confirmBtn: {\n          disabled: true\n        },\n        cancelBtn: {\n          disabled: true\n        }\n      }, {\n        confirm: confirmHandler,\n        cancel: cancelHandler\n      })\n      vm.show()\n      // confirm click\n      vm.$el.querySelector('.cube-dialog-btns a:last-child').click()\n      expect(vm.isVisible)\n        .to.be.true\n      expect(confirmHandler)\n        .to.have.callCount(0)\n      vm.$el.querySelector('.cube-dialog-btns a').click()\n      expect(vm.isVisible)\n        .to.be.true\n      expect(cancelHandler)\n        .to.have.callCount(0)\n    })\n\n    function createDialog (props = {}, events = {}) {\n      return instantiateComponent(Vue, Dialog, {\n        props: props,\n        on: events\n      })\n    }\n  })\n\n  describe('Dialog API', () => {\n    it('$createDialog API', () => {\n      const confirmHandler = sinon.spy()\n      const cancelHandler = sinon.spy()\n      const closeHandler = sinon.spy()\n      let ins\n      const vm = new Vue({\n        template: '<div>xx</div>',\n        methods: {\n          showAPI() {\n            ins = this.$createDialog({\n              type: 'confirm',\n              showClose: true,\n              title: 'dialog api title',\n              content: 'dialog api content',\n              icon: 'cubeic-dialog-unwifi',\n              onConfirm: confirmHandler,\n              onCancel: cancelHandler,\n              onClose: closeHandler\n            })\n            ins.show()\n          }\n        }\n      })\n      vm.showAPI()\n      expect(ins.isVisible)\n        .to.be.true\n      expect(ins.$el.parentElement)\n        .to.equal(document.body)\n      expect(ins.$el.querySelector('.cube-dialog-title-def').textContent)\n        .to.equal('dialog api title')\n      expect(ins.$el.querySelector('.cube-dialog-content-def p').textContent)\n        .to.equal('dialog api content')\n      expect(ins.$el.querySelector('.cube-dialog-icon i').className)\n        .to.equal('cubeic-dialog-unwifi')\n      // confirm click\n      ins.$el.querySelector('.cube-dialog-btns a:last-child').click()\n      expect(ins.isVisible)\n        .to.be.false\n      expect(confirmHandler)\n        .to.be.calledOnce\n      ins.show()\n      ins.$el.querySelector('.cube-dialog-btns a').click()\n      expect(ins.isVisible)\n        .to.be.false\n      expect(cancelHandler)\n        .to.be.calledOnce\n      ins.show()\n      ins.$el.querySelector('.cube-dialog-close').click()\n      expect(ins.isVisible)\n        .to.be.false\n      expect(closeHandler)\n        .to.be.calledOnce\n      ins.remove()\n      expect(ins.$el.parentElement)\n        .to.be.null\n      vm.$destroy()\n    })\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/drawer.spec.js",
    "content": "import Vue from 'vue2'\nimport Drawer from '@/modules/drawer'\nimport createVue from '../utils/create-vue'\nimport { dispatchTap } from '../utils/event'\n\ndescribe('Drawer', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Drawer)\n    expect(Vue.component(Drawer.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', function (done) {\n    this.timeout(5000)\n    vm = createDrawer({\n      data: [['1', '2'], [], []],\n      selectedIndex: [0]\n    }, {\n      change(index) {\n        this.$refs.drawer.refill(index + 1, index === 0 ? [\n          {\n            text: '11',\n            value: 11\n          },\n          {\n            text: '22',\n            value: 22\n          }\n        ] : [\n          {\n            text: '111',\n            value: 111\n          },\n          {\n            text: '222',\n            value: 222\n          },\n          {\n            text: '333',\n            value: 333\n          }\n        ])\n      }\n    })\n    expect(vm.$el.querySelector('.cube-drawer-title').textContent.trim())\n      .to.equal('请选择')\n    expect(vm.$el.querySelectorAll('.cube-drawer-panel').length)\n      .to.equal(3)\n    expect(vm.$el.style.display)\n      .to.equal('none')\n    vm.show()\n    setTimeout(() => {\n      const panel = vm.$el.querySelector('.cube-drawer-panel')\n      expect(panel.style.display)\n        .not.to.equal('none')\n      expect(vm.$el.querySelector('.cube-drawer-panel:last-child').style.display)\n        .to.equal('none')\n      const firstItems = panel.querySelectorAll('.cube-drawer-item')\n      expect(firstItems.length)\n        .to.equal(2)\n      expect(firstItems[0].textContent.trim())\n        .to.equal('1')\n      expect(firstItems[1].textContent.trim())\n        .to.equal('2')\n      setTimeout(() => {\n        expect(panel.querySelector('.cube-drawer-item').className)\n          .to.include('cube-drawer-item_active')\n        const newPanel = vm.$el.querySelector('.cube-drawer-panel:nth-child(2)')\n        expect(newPanel.style.display)\n          .not.to.equal('none')\n        const items = newPanel.querySelectorAll('.cube-drawer-item')\n        expect(items.length)\n          .to.equal(2)\n        expect(items[1].textContent.trim())\n          .to.equal('22')\n        dispatchTap(items[0])\n        setTimeout(() => {\n          const newPanel = vm.$el.querySelector('.cube-drawer-panel:last-child')\n          expect(newPanel.style.display)\n            .not.to.equal('none')\n          const items = newPanel.querySelectorAll('.cube-drawer-item')\n          expect(items[0].textContent.trim())\n            .to.equal('111')\n          // back to first\n          dispatchTap(firstItems[1])\n          setTimeout(() => {\n            dispatchTap(vm.$el.querySelector('.cube-drawer-panel:nth-child(2)').querySelector('.cube-drawer-item'))\n            setTimeout(() => {\n              const items = newPanel.querySelectorAll('.cube-drawer-item')\n              // select one\n              dispatchTap(items[1])\n              setTimeout(() => {\n                expect(vm.$el.style.display)\n                  .to.equal('none')\n                done()\n              }, 400)\n            }, 400)\n          })\n        }, 400)\n      }, 400)\n    }, 400)\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(2000)\n    const changeHandler = sinon.spy()\n    const selectHandler = sinon.spy()\n    const cancelHandler = sinon.spy()\n    vm = createDrawer({}, {\n      change(index) {\n        changeHandler.apply(this, arguments)\n        this.$refs.drawer.refill(index + 1, ['11', '22'], 1)\n      },\n      select: selectHandler,\n      cancel: cancelHandler\n    })\n    vm.show()\n    setTimeout(() => {\n      const panel = vm.$el.querySelector('.cube-drawer-panel')\n      const items = panel.querySelectorAll('.cube-drawer-item')\n      dispatchTap(items[1])\n      expect(changeHandler)\n        .to.be.calledOnce\n      setTimeout(() => {\n        expect(selectHandler)\n          .to.be.calledOnce\n        vm.show()\n        const newPanel = vm.$el.querySelector('.cube-drawer-panel:last-child')\n        const item = newPanel.querySelector('.cube-drawer-item')\n        dispatchTap(item)\n        expect(selectHandler)\n          .to.be.calledTwice\n        setTimeout(() => {\n          vm.show()\n          // hide\n          vm.$el.click()\n          expect(cancelHandler)\n            .to.be.calledOnce\n          done()\n        }, 400)\n      }, 400)\n    }, 400)\n  })\n\n  function createDrawer (props = {}, events = {}) {\n    return createVue({\n      template: `\n        <cube-drawer\n          ref=\"drawer\"\n          title=\"请选择\"\n          :data=\"data\"\n          :selected-index=\"selectedIndex\"\n          @change=\"changeHandler\"\n          @select=\"selectHandler\"\n          @cancel=\"cancelHandler\" />\n      `,\n      data: {\n        data: props.data || [['1', '2'], []],\n        selectedIndex: props.selectedIndex || []\n      },\n      methods: {\n        changeHandler(index, item, selectedVal, selectedIndex) {\n          if (events.change) {\n            events.change.call(this, index, item, selectedVal, selectedIndex)\n          } else {\n            this.$refs.drawer.refill(index + 1, ['11', '22'])\n          }\n        },\n        selectHandler(selectedVal, selectedIndex) {\n          events.select && events.select.call(this, selectedVal, selectedIndex)\n        },\n        cancelHandler() {\n          events.cancel && events.cancel.call(this)\n        }\n      }\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/form.spec.js",
    "content": "import Vue from 'vue2'\nimport Form from '@/modules/form'\nimport createVue from '../utils/create-vue'\n\ndescribe('Form.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Form)\n    expect(Vue.component(Form.name))\n      .to.be.a('function')\n    expect(Vue.component(Form.Group.name))\n      .to.be.a('function')\n    expect(Vue.component(Form.Item.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', () => {\n    vm = createForm({\n      action: '/',\n      model: {\n        inputValue: ''\n      },\n      schema: {\n        groups: [\n          {\n            legend: 'Legend',\n            fields: [\n              {\n                type: 'input',\n                modelKey: 'inputValue',\n                label: 'Input',\n                props: {\n                  placeholder: 'Please input'\n                },\n                rules: {\n                  required: true\n                }\n              }\n            ]\n          },\n          {\n            fields: [\n              {\n                type: 'submit',\n                label: 'Submit'\n              }\n            ]\n          }\n        ]\n      }\n    })\n\n    expect(vm.fields.length)\n      .to.equal(2)\n    expect(vm.$el.className)\n      .to.equal('cube-form cube-form_standard cube-form_groups')\n    const groups = vm.$el.querySelectorAll('.cube-form-group')\n    expect(groups.length)\n      .to.equal(2)\n    expect(groups[0].querySelector('.cube-form-group-legend').textContent.trim())\n      .to.equal('Legend')\n    expect(groups[0].querySelector('.cube-form-item').className)\n      .to.include('cube-form-item_required')\n    expect(groups[0].querySelector('.cube-validator'))\n      .not.to.be.null\n    expect(groups[1].querySelector('.cube-form-item').className)\n      .to.include('cube-form-item_btn')\n    expect(groups[1].querySelector('.cube-btn'))\n      .not.to.be.null\n  })\n\n  it('should validate & reset correctly', (done) => {\n    vm = createForm({\n      action: '/',\n      immediateValidate: true,\n      model: {\n        inputValue: '',\n        checkboxValue: false,\n        switchValue: false,\n        rateValue: 0\n      },\n      schema: {\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: 'Please input'\n            },\n            rules: {\n              required: true\n            }\n          },\n          {\n            type: 'checkbox',\n            modelKey: 'checkboxValue',\n            label: 'Checkbox',\n            rules: {\n              required: true\n            }\n          },\n          {\n            type: 'switch',\n            modelKey: 'switchValue',\n            label: 'Switch',\n            rules: {\n              required: true\n            }\n          },\n          {\n            type: 'rate',\n            modelKey: 'rateValue',\n            label: 'Rate',\n            rules: {\n              required: true\n            }\n          }\n        ]\n      },\n      options: {\n        scrollToInvalidField: true\n      }\n    })\n    setTimeout(() => {\n      // should validated\n      // corrent contents\n      expect(vm.$el.className)\n        .to.include('cube-form_invalid')\n      expect(vm.$el.querySelector('.cube-form-item').className)\n        .to.include('cube-form-item_invalid')\n      expect(vm.$el.querySelector('.cube-validator').className)\n        .to.include('cube-validator_invalid')\n      expect(vm.$el.querySelector('.cube-validator-msg-def').textContent.trim())\n        .to.equal('此为必填项')\n      expect(vm.$el.querySelectorAll('.cube-form-item_invalid').length)\n        .to.equal(4)\n      // validity\n      expect(vm.dirty)\n        .to.be.false\n      expect(vm.valid)\n        .to.be.false\n      expect(vm.invalid)\n        .to.be.true\n      expect(vm.firstInvalidFieldIndex)\n        .to.equal(0)\n      expect(vm.validity.inputValue.valid)\n        .to.be.false\n      expect(vm.validity.inputValue.result.required.invalid)\n        .to.be.true\n\n      // change switchValue model data\n      vm.model.switchValue = true\n\n      setTimeout(() => {\n        expect(vm.validity.switchValue.valid)\n          .to.be.true\n        expect(vm.validity.switchValue.dirty)\n          .to.be.true\n        expect(vm.dirty)\n          .to.be.true\n        // reset\n        vm.reset()\n        expect(vm.dirty)\n          .to.be.false\n        expect(vm.validity.inputValue.valid)\n          .to.be.undefined\n        expect(vm.validity.switchValue.dirty)\n          .to.be.false\n        setTimeout(() => {\n          // submit\n          vm.submit()\n          setTimeout(() => {\n            expect(vm.dirty)\n              .to.be.false\n            expect(vm.valid)\n              .to.be.false\n            expect(vm.invalid)\n              .to.be.true\n            done()\n          })\n        })\n      })\n    })\n  })\n\n  it('should validate & reset correctly - async validate', (done) => {\n    vm = createForm({\n      action: '/',\n      immediateValidate: true,\n      model: {\n        inputValue: ''\n      },\n      schema: {\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: 'Please input'\n            },\n            rules: {\n              required: true,\n              asyncRule: () => {\n                return new Promise((resolve) => {\n                  setTimeout(() => {\n                    // err\n                    resolve(false)\n                  })\n                })\n              }\n            },\n            messages: {\n              asyncRule: '异步失败'\n            }\n          }\n        ]\n      }\n    })\n    expect(vm.validating)\n      .to.be.true\n    vm.$nextTick(() => {\n      expect(vm.$el.className)\n        .to.include('cube-form_validating')\n    })\n    expect(vm.valid)\n      .to.be.undefined\n    setTimeout(() => {\n      expect(vm.validating)\n        .to.be.false\n      expect(vm.valid)\n        .to.be.false\n      expect(vm.invalid)\n        .to.be.true\n      expect(vm.validity.inputValue.valid)\n        .to.be.false\n      expect(vm.validity.inputValue.dirty)\n        .to.be.false\n      expect(vm.validity.inputValue.result.asyncRule.valid)\n        .to.be.false\n      expect(vm.validity.inputValue.result.asyncRule.message)\n        .to.equal('异步失败')\n\n      vm.model.inputValue = 'input'\n      vm.$nextTick(() => {\n        expect(vm.validating)\n          .to.be.true\n        expect(vm.valid)\n          .to.be.undefined\n        expect(vm.$el.className)\n          .to.include('cube-form_validating')\n      })\n      setTimeout(() => {\n        expect(vm.validating)\n          .to.be.false\n        expect(vm.valid)\n          .to.be.false\n        expect(vm.validity.inputValue.valid)\n          .to.be.false\n        expect(vm.validity.inputValue.dirty)\n          .to.be.true\n        expect(vm.validity.inputValue.result.asyncRule.valid)\n          .to.be.false\n\n        // reset logic\n        vm.reset()\n        expect(vm.dirty)\n          .to.be.false\n        expect(vm.validity.inputValue.valid)\n          .to.be.undefined\n        expect(vm.validating)\n          .to.be.false\n        expect(vm.validity.inputValue.dirty)\n          .to.be.false\n        expect(vm.validity.inputValue.result.asyncRule)\n          .to.be.undefined\n        done()\n      }, 20)\n    }, 20)\n  })\n\n  it('should validate correctly - trigger blur', (done) => {\n    vm = createForm({\n      action: '/',\n      immediateValidate: true,\n      model: {\n        inputValue: ''\n      },\n      schema: {\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: 'Please input'\n            },\n            rules: {\n              required: true\n            },\n            trigger: 'blur'\n          }\n        ]\n      }\n    })\n    expect(vm.valid)\n      .to.be.false\n    expect(vm.dirty)\n      .to.be.false\n    vm.$nextTick(() => {\n      expect(vm.$el.className)\n        .to.include('cube-form_invalid')\n      // mock focusin\n      vm.fields[0].focusInHandler()\n      setTimeout(() => {\n        // no trigger validate, but no changing data\n        // stay the prev state\n        expect(vm.dirty)\n          .to.be.false\n        expect(vm.valid)\n          .to.be.false\n        // mock focusout\n        vm.fields[0].focusOutHandler()\n        // invalid now\n        expect(vm.pending)\n          .to.be.false\n        expect(vm.dirty)\n          .to.be.false\n        expect(vm.invalid)\n          .to.be.true\n        // mock focusin again\n        vm.fields[0].focusInHandler()\n        vm.model.inputValue = 'input value'\n        setTimeout(() => {\n          // no trigger validate, in pending state\n          expect(vm.$el.className)\n            .to.include('cube-form_pending')\n          expect(vm.pending)\n            .to.be.true\n          expect(vm.dirty)\n            .to.be.false\n          expect(vm.valid)\n            .to.be.undefined\n          // mock focusout\n          vm.fields[0].focusOutHandler()\n          expect(vm.pending)\n            .to.be.false\n          expect(vm.valid)\n            .to.be.true\n          expect(vm.dirty)\n            .to.be.true\n          done()\n        })\n      })\n    })\n  })\n\n  it('should validate correctly - debounce', (done) => {\n    vm = createForm({\n      action: '/',\n      immediateValidate: true,\n      model: {\n        inputValue: ''\n      },\n      schema: {\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: 'Please input'\n            },\n            rules: {\n              required: true\n            },\n            debounce: true\n          }\n        ]\n      }\n    })\n    expect(vm.valid)\n      .to.be.false\n    expect(vm.dirty)\n      .to.be.false\n    vm.$nextTick(() => {\n      expect(vm.$el.className)\n        .to.include('cube-form_invalid')\n      // change many times\n      vm.model.inputValue = 'input'\n      setTimeout(() => {\n        vm.model.inputValue = 'input2'\n        setTimeout(() => {\n          vm.model.inputValue = 'input3'\n          vm.$nextTick(() => {\n            // no change stay the initial state\n            expect(vm.$el.className)\n              .to.include('cube-form_pending')\n            expect(vm.pending)\n              .to.be.true\n            expect(vm.dirty)\n              .to.be.false\n            expect(vm.valid)\n              .to.be.undefined\n            // waiting debounce\n            setTimeout(() => {\n              expect(vm.pending)\n                .to.be.false\n              expect(vm.dirty)\n                .to.be.true\n              expect(vm.valid)\n                .to.be.true\n              done()\n            }, 220)\n          })\n        })\n      })\n    })\n  })\n\n  it('should trigger events', (done) => {\n    const submitHandler = sinon.spy()\n    const resetHandler = sinon.spy()\n    const validateHandler = sinon.spy()\n    const validHandler = sinon.spy()\n    const invalidHandler = sinon.spy()\n\n    vm = createForm({\n      action: '/',\n      model: {\n        inputValue: ''\n      },\n      schema: {\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: 'Please input'\n            },\n            rules: {\n              required: true\n            }\n          },\n          {\n            type: 'submit',\n            label: 'Submit'\n          },\n          {\n            type: 'reset',\n            label: 'Reset'\n          }\n        ]\n      }\n    }, {\n      submit: function (e) {\n        e.preventDefault()\n        submitHandler.apply(this, arguments)\n      },\n      reset: resetHandler,\n      validate: validateHandler,\n      valid: validHandler,\n      invalid: invalidHandler\n    })\n    // submit\n    vm.$el.querySelector('.cube-btn').click()\n    expect(invalidHandler)\n      .to.be.calledOnce\n    expect(invalidHandler)\n      .to.be.calledWith(vm.validity)\n    setTimeout(() => {\n      expect(validateHandler)\n        .to.be.calledOnce\n      // reset\n      vm.$el.querySelector('.cube-btn[type=\"reset\"]').click()\n      expect(resetHandler)\n        .to.be.calledOnce\n      setTimeout(() => {\n        expect(validateHandler)\n          .to.be.calledTwice\n        vm.model.inputValue = '1'\n        setTimeout(() => {\n          // for model change\n          expect(validateHandler)\n            .to.be.calledThrice\n          // submit again\n          vm.$el.querySelector('.cube-btn').click()\n          expect(validHandler)\n            .to.be.calledOnce\n          expect(validHandler)\n            .to.be.calledWith(vm.validity)\n          expect(submitHandler)\n            .to.be.calledOnce\n          setTimeout(() => {\n            // submit validate no change because the form is valid alreay\n            expect(validateHandler)\n              .to.have.callCount(3)\n            done()\n          })\n        })\n      })\n    })\n  })\n\n  it('should get fields model when submit - dynamic cases', (done) => {\n    const submitHandler = sinon.spy()\n\n    let args = null\n    vm = createForm({\n      action: '/',\n      model: {\n        inputValue: '1',\n        inputValue2: ''\n      },\n      schema: {\n        fields: [\n          {\n            type: 'input',\n            modelKey: 'inputValue',\n            label: 'Input',\n            props: {\n              placeholder: 'Please input'\n            },\n            rules: {\n              required: true\n            }\n          },\n          {\n            type: 'submit',\n            label: 'Submit'\n          }\n        ]\n      }\n    }, {\n      submit: function (e) {\n        e.preventDefault()\n        args = arguments\n        submitHandler.apply(this, args)\n      }\n    })\n    setTimeout(() => {\n      // submit\n      vm.$el.querySelector('.cube-btn').click()\n      expect(submitHandler)\n        .to.be.calledOnce\n      expect(args[1].inputValue)\n        .to.equal('1')\n      expect(args[1].inputValue2)\n        .to.equal('')\n      expect(args[2].inputValue2)\n        .to.be.undefined\n      // dynamic add field\n      vm.schema.fields = [\n        {\n          type: 'input',\n          modelKey: 'inputValue',\n          label: 'Input',\n          props: {\n            placeholder: 'Please input'\n          },\n          rules: {\n            required: true\n          }\n        },\n        {\n          type: 'input',\n          modelKey: 'inputValue2',\n          label: 'Input2',\n          rules: {\n            required: true\n          }\n        },\n        {\n          type: 'submit',\n          label: 'Submit'\n        }\n      ]\n      setTimeout(() => {\n        vm.model.inputValue2 = '2'\n        setTimeout(() => {\n          // submit again\n          vm.$el.querySelector('.cube-btn').click()\n          expect(submitHandler)\n            .to.be.calledTwice\n          expect(args[1].inputValue)\n            .to.equal('1')\n          expect(args[1].inputValue2)\n            .to.equal('2')\n          expect(args[2].inputValue2)\n            .to.equal('2')\n          done()\n        })\n      })\n    })\n  })\n\n  function createForm(props = {}, events = {}) {\n    return createVue({\n      template: '<cube-form v-bind=\"props\" v-on=\"events\" />',\n      data: {\n        props,\n        events\n      }\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/image-preview.spec.js",
    "content": "import Vue from 'vue2'\nimport ImagePreview from '@/modules/image-preview'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport {\n  dispatchSwipe,\n  dispatchDblclick,\n  dispatchTap,\n  dispatchMoveAction\n} from '../utils/event'\n\nconst imgs = [\n  'https://dpubstatic.udache.com/static/dpubimg/XsZT-Ium9K/686d7361ly1fpha0mpd5uj21hc0tyws2.jpg',\n  'https://dpubstatic.udache.com/static/dpubimg/jM0pARr01R/686d7361ly1fpha0ncnnej21hc0zetxo.jpg',\n  'https://dpubstatic.udache.com/static/dpubimg/uesDMLn8ho/686d7361ly1fpha0mqvu5j21hc0zkgzz.jpg'\n]\ndescribe('ImagePreview', () => {\n  describe('ImagePreview.vue', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n    it('use', () => {\n      Vue.use(ImagePreview)\n      expect(Vue.component(ImagePreview.name))\n        .to.be.a('function')\n    })\n    it('should render correct contents', function (done) {\n      this.timeout(10000)\n      vm = createImagePreview({\n        initialIndex: 0\n      })\n      expect(vm.$el.className)\n        .to.equal('cube-popup cube-popup_mask cube-image-preview')\n      expect(vm.$el.querySelector('.cube-slide'))\n        .to.be.null\n      vm.show()\n      setTimeout(() => {\n        expect(vm.$el.querySelector('.cube-slide'))\n          .not.to.be.null\n        const items = vm.$el.querySelectorAll('.cube-slide-item')\n        // for loop\n        expect(items.length)\n          .to.equal(3 + 2)\n        expect(items[2].querySelector('.cube-image-preview-img').src)\n          .to.equal(imgs[1])\n        expect(vm.$el.querySelector('.cube-image-preview-counter').textContent.trim())\n          .to.equal('1/3')\n        vm.$updateProps({\n          initialIndex: 1\n        })\n        setTimeout(() => {\n          expect(vm.$el.querySelector('.cube-image-preview-counter').textContent.trim())\n            .to.equal('2/3')\n          vm.next()\n          setTimeout(() => {\n            expect(vm.$el.querySelector('.cube-image-preview-counter').textContent.trim())\n              .to.equal('3/3')\n            vm.goTo(0)\n            setTimeout(() => {\n              expect(vm.$el.querySelector('.cube-image-preview-counter').textContent.trim())\n                .to.equal('1/3')\n              vm.hide()\n              vm.$nextTick(() => {\n                expect(vm.$el.querySelector('.cube-slide'))\n                  .to.be.null\n                done()\n              })\n            }, 800)\n          }, 800)\n        }, 800)\n      })\n    })\n\n    it('should trigger events', function (done) {\n      this.timeout(10000)\n      const changeHandler = sinon.spy()\n      const hideHandler = sinon.spy()\n      vm = createImagePreview({}, {\n        change: changeHandler,\n        hide: hideHandler\n      })\n      vm.show()\n      setTimeout(() => {\n        vm.prev()\n        setTimeout(() => {\n          expect(changeHandler)\n            .to.be.calledOnce\n          dispatchDblclick(vm.$refs.items[0].$el)\n          setTimeout(() => {\n            // zoomed\n            expect(Math.round(vm.$refs.items[0].scroll.scale))\n              .to.equal(2)\n            dispatchDblclick(vm.$refs.items[0].$el)\n            setTimeout(() => {\n              expect(Math.round(vm.$refs.items[0].scroll.scale))\n                .to.equal(1)\n              // dispatch touch\n              dispatchSwipe(vm.$refs.slide.$el, [\n                {\n                  pageX: 280,\n                  pageY: 200\n                },\n                {\n                  pageX: 10,\n                  pageY: 200\n                }\n              ], 100)\n              setTimeout(() => {\n                expect(changeHandler)\n                  .to.be.calledTwice\n                const items = vm.$el.querySelectorAll('.cube-image-preview-item')\n                dispatchTap(items[2])\n                setTimeout(() => {\n                  expect(hideHandler)\n                    .to.be.calledOnce\n                  done()\n                }, 300)\n              }, 1000)\n            }, 500)\n          }, 500)\n        }, 800)\n      }, 300)\n    })\n\n    it('should work correctly when slide & zoom', function (done) {\n      this.timeout(10000)\n      vm = createImagePreview()\n      vm.show()\n      setTimeout(() => {\n        const img = new window.Image()\n        img.src = imgs[0]\n        img.onload = () => {\n          const item = vm.$refs.items[0]\n          const itemScroll = item.scroll\n          const slide = vm.$refs.slide\n          const slideScroll = slide.slide\n          const ele = item.$el\n          dispatchSwipe(ele, [\n            [\n              {\n                pageX: 320,\n                pageY: 200\n              },\n              {\n                pageX: 320,\n                pageY: 200\n              }\n            ],\n            [\n              {\n                pageX: 360,\n                pageY: 200\n              },\n              {\n                pageX: 280,\n                pageY: 200\n              }\n            ]\n          ], 100)\n          setTimeout(() => {\n            // zoomed\n            expect(Math.round(itemScroll.scale))\n              .not.to.equal(1)\n            dispatchMoveAction(ele, [\n              {\n                pageX: 360,\n                pageY: 400\n              },\n              {\n                pageX: 360,\n                pageY: 380\n              },\n              {\n                pageX: 360,\n                pageY: 360\n              },\n              {\n                pageX: 320,\n                pageY: 340\n              },\n              {\n                pageX: 280,\n                pageY: 340\n              },\n              {\n                pageX: 240,\n                pageY: 340\n              },\n              {\n                pageX: 200,\n                pageY: 340\n              },\n              {\n                pageX: 160,\n                pageY: 340\n              },\n              {\n                pageX: 10,\n                pageY: 340\n              }\n            ], 30, (i) => {\n              // move cb\n            }, () => {\n              // end cb\n              // in PhantomJS, enabled becomes false in the nextTick\n              // but becomes false in the same tick in safari\n              vm.$nextTick(() => {\n                expect(itemScroll.enabled)\n                  .to.be.false\n              })\n              expect(slideScroll.enabled)\n                .to.be.true\n              setTimeout(() => {\n                expect(vm.currentPageIndex)\n                  .to.equal(0)\n                done()\n              }, 1000)\n            })\n          }, 500)\n        }\n      }, 300)\n    })\n\n    function createImagePreview (props = {}, events = {}) {\n      if (!props.imgs) {\n        props.imgs = imgs\n      }\n      return instantiateComponent(Vue, ImagePreview, {\n        props: props,\n        on: events\n      })\n    }\n  })\n\n  describe('ImagePreview API', () => {\n    it('$createImagePreview API', (done) => {\n      const changeHandler = sinon.spy()\n      const hideHandler = sinon.spy()\n      let ins\n      const vm = new Vue({\n        template: '<div>xx</div>',\n        methods: {\n          showAPI() {\n            ins = this.$createImagePreview({\n              imgs,\n              initialIndex: 1,\n              onChange: changeHandler,\n              onHide: hideHandler\n            })\n            ins.show()\n          }\n        }\n      })\n      vm.showAPI()\n      setTimeout(() => {\n        ins.next()\n        setTimeout(() => {\n          expect(changeHandler)\n            .to.be.calledOnce\n          ins.hide()\n          expect(hideHandler)\n            .to.be.calledOnce\n          vm.$destroy()\n          done()\n        }, 800)\n      }, 300)\n    })\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/index-list.spec.js",
    "content": "import Vue from 'vue2'\nimport IndexList from '@/modules/index-list'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchSwipe, dispatchTap } from '../utils/event'\nimport cityData from '../fake/index-list.json'\n\n// 处理数据\nlet data = []\ncityData.forEach((cityGroup) => {\n  let group = {}\n  group.name = cityGroup.name\n  group.items = []\n  cityGroup.cities.forEach((city) => {\n    let item = {}\n    item.name = city.name\n    item.value = city.cityid\n    group.items.push(item)\n  })\n  data.push(group)\n})\n\nconst title = '当前城市：北京市'\n\ndescribe('IndexList', () => {\n  describe('IndexList.vue', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n\n    it('use', () => {\n      Vue.use(IndexList)\n      expect(Vue.component(IndexList.name))\n        .to.be.a('function')\n    })\n\n    it('should render correct contents', () => {\n      vm = createIndexList({\n        data\n      })\n      const navItems = vm.$el.querySelectorAll('.cube-index-list-nav li')\n      expect(navItems.length)\n        .to.equal(9)\n      expect(navItems[2].textContent)\n        .to.equal('B')\n      const anchorItems = vm.$el.querySelectorAll('.cube-index-list-content .cube-index-list-anchor')\n      expect(anchorItems.length)\n        .to.equal(9)\n      expect(anchorItems[4].textContent)\n        .to.equal('E')\n\n      const items = vm.$el.querySelectorAll('.cube-index-list-item')\n      expect(items.length)\n        .to.equal(21)\n      expect(items[items.length - 1].textContent.trim())\n        .to.equal('中卫市')\n    })\n\n    it('should trigger events', (done) => {\n      const selectHandler = sinon.spy()\n      const titleClickHandler = sinon.spy()\n\n      vm = createIndexList({\n        title,\n        data\n      }, {\n        select: selectHandler,\n        'title-click': titleClickHandler\n      })\n      vm.$nextTick(() => {\n        // select\n        const items = vm.$el.querySelectorAll('.cube-index-list-item')\n        dispatchTap(items[2])\n        expect(selectHandler).to.be.calledOnce\n\n        // title-click\n        dispatchTap(vm.$el.querySelector('.cube-index-list-title'))\n        expect(titleClickHandler).to.be.calledOnce\n\n        done()\n      })\n    })\n\n    it('should trigger pulling-up', function (done) {\n      this.timeout(10000)\n\n      const pullingUpHandler = sinon.spy()\n\n      vm = createIndexList({\n        title,\n        data: data.slice(0, 1),\n        pullUpLoad: true\n      }, {\n        'pulling-up': pullingUpHandler\n      })\n\n      const scrollWrapper = vm.$el.querySelector('.cube-scroll-wrapper')\n      scrollWrapper.style.height = '300px'\n      vm.refresh()\n\n      setTimeout(() => {\n        const scrollContent = vm.$el.querySelector('.cube-scroll-content li:first-child')\n        dispatchSwipe(scrollContent, [\n          {\n            pageX: 10,\n            pageY: 300\n          },\n          {\n            pageX: 10,\n            pageY: 10\n          }\n        ], 100)\n\n        setTimeout(() => {\n          expect(pullingUpHandler).to.be.calledOnce\n\n          vm.forceUpdate()\n          done()\n        }, 400)\n      }, 150)\n    })\n\n    it('should trigger pulling-down', function (done) {\n      this.timeout(10000)\n\n      const pullingDownHandler = sinon.spy()\n\n      vm = createIndexList({\n        title,\n        data: data.slice(0, 1),\n        pullDownRefresh: true\n      }, {\n        'pulling-down': pullingDownHandler\n      })\n\n      const scrollWrapper = vm.$el.querySelector('.cube-scroll-wrapper')\n      scrollWrapper.style.height = '300px'\n      vm.refresh()\n\n      setTimeout(() => {\n        const scrollContent = vm.$el.querySelector('.cube-scroll-content li:first-child')\n        dispatchSwipe(scrollContent, [\n          {\n            pageX: 10,\n            pageY: 10\n          },\n          {\n            pageX: 10,\n            pageY: 300\n          }\n        ], 100)\n\n        setTimeout(() => {\n          expect(pullingDownHandler).to.be.calledOnce\n\n          done()\n        }, 400)\n      }, 150)\n    })\n\n    it('should fixed title', function (done) {\n      this.timeout(10000)\n      vm = createIndexList()\n\n      setTimeout(() => {\n        vm.$parent.updateRenderData({\n          props: {\n            title: title,\n            data: data,\n            speed: 0\n          },\n          on: {}\n        })\n        vm.$parent.$forceUpdate()\n      }, 30)\n\n      setTimeout(() => {\n        const zEle = vm.$el.querySelector('.cube-index-list-nav li[data-index=\"2\"]')\n        // nav li\n        dispatchSwipe(zEle, {\n          pageX: 342,\n          pageY: 327\n        }, 0)\n        setTimeout(() => {\n          // item active class\n          dispatchSwipe(vm.$el.querySelector('.cube-index-list-item'), {\n            pageX: 342,\n            pageY: 327\n          }, 0)\n          // scroll\n          const fixedEle = vm.$el.querySelector('.cube-index-list-fixed')\n          expect(fixedEle.textContent.trim())\n            .to.equal('B')\n          const el = vm.$el.querySelector('.cube-index-list-content')\n          vm.$refs.scroll.scroll.on('scrollEnd', () => {\n            expect(fixedEle.textContent.trim())\n              .to.equal('C')\n            done()\n          })\n          dispatchSwipe(el, [\n            {\n              pageX: 300,\n              pageY: 400\n            },\n            {\n              pageX: 300,\n              pageY: 370\n            }\n          ], 100)\n        }, 20)\n      }, 150)\n    })\n\n    it('should not have navbar when navbar prop is false', () => {\n      vm = createIndexList({\n        data,\n        navbar: false\n      })\n      const navbar = vm.$el.querySelector('.cube-index-list-nav')\n      expect(navbar).to.equal(null)\n    })\n\n    it('run normal when group or item undefined', () => {\n      vm = createIndexList({\n        data: [\n          undefined, // props group in index-list-group.vue\n          {\n            name: 'default',\n            items: [\n              undefined // props item in index-list-item.vue\n            ]\n          }\n        ]\n      })\n    })\n\n    it('should handle condition of unexpected param', function (done) {\n      this.timeout(10000)\n      vm = createIndexList({\n        title,\n        data,\n        speed: 0\n      })\n      setTimeout(() => {\n        const bEl = vm.$el.querySelector('.cube-index-list-nav li[data-index=\"2\"]')\n        dispatchSwipe(bEl, [\n          {\n            pageX: 300,\n            pageY: 400\n          },\n          {\n            pageX: 300,\n            pageY: 50\n          }\n        ], 100)\n        setTimeout(() => {\n          const fixedEl = vm.$el.querySelector('.cube-index-list-fixed')\n          expect(fixedEl.textContent.trim())\n            .to.equal('★热门城市')\n\n          dispatchSwipe(bEl, [\n            {\n              pageX: 300,\n              pageY: 400\n            },\n            {\n              pageX: 300,\n              pageY: 1000\n            }\n          ], 100)\n          setTimeout(() => {\n            expect(fixedEl.textContent.trim())\n              .to.equal('Z')\n            done()\n          }, 150)\n        }, 150)\n\n        vm.scrollY = 0\n        setTimeout(() => {\n          vm.scrollY = -10000\n        }, 0)\n      }, 30)\n    })\n\n    function createIndexList(props = {}, events = {}) {\n      return instantiateComponent(Vue, IndexList, {\n        props: props,\n        on: events\n      })\n    }\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/input.spec.js",
    "content": "import Vue from 'vue2'\nimport Input from '@/modules/input'\nimport createVue from '../utils/create-vue'\nimport { createEvent, dispatchTap } from '../utils/event'\n\ndescribe('Input.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Input)\n    expect(Vue.component(Input.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createInput()\n    const el = vm.$el\n    expect(el.className)\n      .to.equal('cube-input')\n    expect(el.querySelector('input'))\n      .to.be.ok\n  })\n  it('should not show clear button when no text', () => {\n    vm = createInput()\n    expect(vm.$el.querySelector('.cube-input-clear'))\n      .to.be.null\n  })\n  it('should show clear button when has text', () => {\n    vm = createInput(1)\n    expect(vm.$el.querySelector('.cube-input-clear').style.display)\n      .to.equal('')\n  })\n  it('value should be empty when clear button clicked', (done) => {\n    vm = createInput(1)\n    expect(vm.$el.querySelector('input').value)\n      .is.not.empty\n    dispatchTap(vm.$el.querySelector('.cube-input-clear'))\n    setTimeout(() => {\n      expect(vm.$el.querySelector('input').value)\n        .is.empty\n      done()\n    }, 50)\n  })\n  it('should support more native props', () => {\n    vm = createVue({\n      template: `\n        <cube-input type=\"number\" :min=\"1\" :max=\"10\" :autocomplete=\"true\" :readonly=\"true\" :disabled=\"true\" v-model=\"value\" />\n      `,\n      data: {\n        value: '1'\n      }\n    })\n\n    const el = vm.$el.querySelector('input')\n    expect(el.min)\n      .to.equal('1')\n    expect(el.max)\n      .to.equal('10')\n    expect(el.autocomplete)\n      .to.equal('true')\n    expect(el.disabled)\n      .to.be.true\n    expect(el.readOnly)\n      .to.be.true\n    expect(el.autofocus)\n      .to.be.false\n  })\n  it('should show password eye and work correctly', (done) => {\n    vm = createVue({\n      template: `\n        <cube-input type=\"password\" v-model=\"value\" :eye=\"eye\" />\n      `,\n      data: {\n        value: 'pwd',\n        eye: true\n      }\n    })\n\n    expect(vm.$el.querySelector('input').type)\n      .to.equal('text')\n    vm.$parent.eye = {\n      open: false\n    }\n    vm.$nextTick(() => {\n      expect(vm.$el.querySelector('input').type)\n        .to.equal('password')\n      vm.$parent.eye = {\n        open: true\n      }\n      vm.$nextTick(() => {\n        expect(vm.$el.querySelector('input').type)\n          .to.equal('text')\n        // click eye\n        vm.$el.querySelector('.cube-input-eye').click()\n        vm.$nextTick(() => {\n          // now password is invisible\n          expect(vm.$el.querySelector('input').type)\n            .to.equal('password')\n          done()\n        })\n      })\n    })\n  })\n  it('should show clearable icon and work correctly', (done) => {\n    vm = createVue({\n      template: `\n        <cube-input v-model=\"value\" :clearable=\"clearable\" />\n      `,\n      data: {\n        value: 'xxx',\n        clearable: {\n          visible: true,\n          blurHidden: true\n        }\n      }\n    })\n\n    expect(vm.$el.querySelector('.cube-input-clear'))\n      .to.be.null\n    vm.$parent.clearable.blurHidden = false\n    vm.$nextTick(() => {\n      expect(vm.$el.querySelector('.cube-input-clear'))\n        .not.to.be.null\n      done()\n    })\n  })\n\n  it('should trigger events', (done) => {\n    const focusHandler = sinon.spy()\n    const blurHandler = sinon.spy()\n    const changeHandler = sinon.spy()\n\n    vm = createVue({\n      template: `\n        <cube-input type=\"password\" v-model=\"value\" @focus=\"focusHandler\" @blur=\"blurHandler\" @change=\"changeHandler\" />\n      `,\n      data: {\n        value: 'value'\n      },\n      methods: {\n        focusHandler: focusHandler,\n        blurHandler: blurHandler,\n        changeHandler: changeHandler\n      }\n    })\n    const input = vm.$el.querySelector('input')\n    vm.focus()\n    setTimeout(() => {\n      expect(focusHandler)\n        .to.be.calledOnce\n      input.value = 'new value'\n      vm.blur()\n      const e = createEvent('', 'change')\n      input.dispatchEvent(e)\n      setTimeout(() => {\n        expect(blurHandler)\n          .to.be.calledOnce\n        expect(changeHandler)\n          .to.be.calledOnce\n        done()\n      })\n    })\n  })\n})\n\nfunction createInput (value) {\n  const vm = createVue({\n    template: `\n      <cube-input\n        :disabled=\"disabled\"\n        :readonly=\"readonly\"\n        :clearable=\"useClear\"\n        v-model=\"value\"\n      >\n      </cube-input>\n    `,\n    data: {\n      disabled: false,\n      readonly: false,\n      useClear: {\n        visible: true,\n        blurHidden: false\n      },\n      value: value && 'test'\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/loading.spec.js",
    "content": "import Vue from 'vue2'\nimport Loading from '@/modules/loading'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Loading.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Loading)\n    expect(Vue.component(Loading.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents - no size', () => {\n    vm = instantiateComponent(Vue, Loading, {})\n    expect(vm.$el.className)\n      .to.equal('cube-loading')\n    expect(vm.$el.querySelector('.cube-loading-spinners').style.width)\n      .to.equal('')\n  })\n  it('should render correct contents - with size', () => {\n    vm = instantiateComponent(Vue, Loading, {\n      props: {\n        size: 30\n      }\n    })\n    expect(vm.$el.querySelector('.cube-loading-spinners').style.width)\n      .to.equal('30px')\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/locale.spec.js",
    "content": "import Vue from 'vue2'\nimport ActionSheet from '@/modules/action-sheet'\nimport Locale from '@/modules/locale'\nimport enUSMessages from '@/locale/lang/en-US'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Locale', () => {\n  let vm\n  afterEach(() => {\n    // reset language\n    Locale.use('zh-CN')\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    expect(Locale.installed)\n      .to.be.true\n  })\n  it('should support adding helper function', () => {\n    Locale.addHelper('test', () => {\n      console.log('test')\n    })\n    expect(Locale.helpers.test).to.be.a('function')\n    delete Locale.helpers.test\n  })\n  it('should render correct zh-CN language by default and support changing language', (done) => {\n    vm = instantiateComponent(Vue, ActionSheet)\n    expect(vm._cancelTxt)\n      .to.equal('取消')\n    Locale.use('en-US', enUSMessages)\n    vm.$nextTick(() => {\n      expect(vm._cancelTxt)\n        .to.equal('Cancel')\n      done()\n    })\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/picker.spec.js",
    "content": "import Vue from 'vue2'\nimport Picker from '@/modules/picker'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\nconst data1 = [\n  {\n    text: '剧毒',\n    value: 1\n  }, {\n    text: '蚂蚁',\n    value: 2\n  },\n  {\n    text: '幽鬼',\n    value: 3\n  }\n]\n\nconst data2 = [\n  {\n    text: '输出',\n    value: 'a'\n  }, {\n    text: '控制',\n    value: 'b'\n  },\n  {\n    text: '核心',\n    value: 'c'\n  },\n  {\n    text: '爆发',\n    value: 'd'\n  },\n  {\n    text: '辅助',\n    value: 'e'\n  }\n]\n\ndescribe('Picker', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(Picker)\n    expect(Vue.component(Picker.name))\n      .to.be.a('function')\n    expect(Vue.prototype.$createPicker).to.be.a('function')\n  })\n\n  it('should render correct contents', function () {\n    vm = createPicker({\n      title: 'title',\n      subtitle: 'subtitle',\n      data: [data1, data2],\n      cancelTxt: '关闭',\n      confirmTxt: '好的'\n    })\n\n    const titleEl = vm.$el.querySelector('.cube-picker-title')\n    expect(titleEl.textContent.trim())\n      .to.equal('title')\n\n    const subtitleEl = vm.$el.querySelector('.cube-picker-subtitle')\n    expect(subtitleEl.textContent.trim())\n      .to.equal('subtitle')\n\n    const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n    expect(cancelBtn.textContent.trim())\n      .to.equal('关闭')\n\n    const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n    expect(confirmBtn.textContent.trim())\n      .to.equal('好的')\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(2)\n\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(3)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('蚂蚁')\n\n    const secondWheelItems = wheels[1].querySelectorAll('li')\n    expect(secondWheelItems.length)\n      .to.equal(5)\n    expect(secondWheelItems[4].textContent.trim())\n      .to.equal('辅助')\n  })\n\n  it('should render correct contents when use alias', function () {\n    vm = createPicker({\n      data: [[{ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }]],\n      alias: {\n        value: 'id',\n        text: 'name'\n      }\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    const firstWheelItems = wheels[0].querySelectorAll('li')\n    expect(firstWheelItems.length)\n      .to.equal(3)\n    expect(firstWheelItems[1].textContent.trim())\n      .to.equal('B')\n  })\n\n  it('should toggle by change v-model visible', function (done) {\n    this.timeout(1000)\n\n    const toggleHandler = sinon.spy()\n    vm = instantiateComponent(Vue, Picker, {\n      props: {\n        visible: true\n      },\n      on: {\n        toggle: toggleHandler\n      }\n    })\n\n    vm.$parent.updateRenderData({\n      props: {\n        visible: false\n      },\n      on: {\n        toggle: toggleHandler\n      }\n    })\n    vm.$parent.$forceUpdate()\n\n    setTimeout(() => {\n      expect(toggleHandler).to.be.callCount(2)\n\n      done()\n    }, 50)\n  })\n\n  it('should trigger events', function () {\n    this.timeout(10000)\n\n    const selectHandle = sinon.spy()\n    const valueChangeHandle = sinon.spy()\n    const cancelHandle = sinon.spy()\n    const changeHandle = sinon.spy()\n    const events = {\n      select: selectHandle,\n      'value-change': valueChangeHandle,\n      cancel: cancelHandle,\n      change: changeHandle\n    }\n\n    vm = createPicker()\n    return new Promise((resolve) => {\n      setTimeout(() => {\n        vm.$parent.updateRenderData({\n          props: {\n            title: '两列选择器',\n            data: [data1, data2],\n            cancelTxt: '关闭',\n            confirmTxt: '好的'\n          },\n          on: events\n        })\n        vm.$parent.$forceUpdate()\n      }, 30)\n      setTimeout(() => {\n        vm.show()\n        setTimeout(() => {\n          const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n          cancelBtn.click()\n          expect(cancelHandle)\n            .to.be.callCount(1)\n\n          vm.show()\n          setTimeout(() => {\n            const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n            confirmBtn.click()\n            expect(selectHandle)\n              .to.be.callCount(1)\n            resolve()\n          }, 100)\n        }, 100)\n      }, 150)\n    })\n  })\n\n  it('should refill correct', function (done) {\n    this.timeout(10000)\n    vm = createPicker({\n      title: '变化选择器',\n      data: [data1],\n      selectedIndex: [1],\n      cancelTxt: '关闭',\n      confirmTxt: '好的'\n    })\n    vm.show()\n    setTimeout(() => {\n      const ret = vm.refill([data2])\n      expect(ret[0]).to.equal(0)\n      setTimeout(() => {\n        vm.scrollTo(0, 2)\n        vm.confirm()\n        expect(vm._indexes[0]).to.equal(2)\n        expect(vm._values[0]).to.equal(data2[2].value)\n        done()\n      })\n    }, 150)\n  })\n\n  it('should add warn log when single is true', () => {\n    const app = new Vue()\n    const originWarn = console.warn\n    const msgs = []\n    console.warn = function (...args) {\n      msgs.push(args.join('#'))\n    }\n    vm = app.$createPicker({\n      title: '变化选择器',\n      data: [data1],\n      selectedIndex: [1]\n    }, true)\n    expect(msgs.length)\n      .to.equal(1)\n    console.warn = originWarn\n  })\n\n  it('setData when picker is invisible', function (done) {\n    this.timeout(10000)\n    vm = createPicker()\n    vm.setData([data1], [1])\n    vm.show()\n    setTimeout(() => {\n      vm.confirm()\n      expect(vm._indexes[0]).to.equal(1)\n      expect(vm._values[0]).to.equal(data1[1].value)\n      done()\n    }, 150)\n  })\n\n  it('setData when picker is visible', function (done) {\n    this.timeout(10000)\n    vm = createPicker({\n      data: [data1]\n    })\n    vm.show()\n    setTimeout(() => {\n      vm.setData([data2], [2])\n      setTimeout(() => {\n        vm.confirm()\n        expect(vm._indexes[0]).to.equal(2)\n        expect(vm._values[0]).to.equal(data2[2].value)\n        done()\n      }, 150)\n    }, 150)\n  })\n\n  function createPicker(props = {}, events = {}) {\n    return instantiateComponent(Vue, Picker, {\n      props: props,\n      on: events\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/popup.spec.js",
    "content": "import Vue from 'vue2'\nimport Popup from '@/modules/popup'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Popup', () => {\n  describe('Popup.vue', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n\n    it('use', () => {\n      Vue.use(Popup)\n      expect(Vue.component(Popup.name))\n        .to.be.a('function')\n    })\n\n    it('should render correct contents - no type', () => {\n      vm = instantiateComponent(Vue, Popup, {\n        props: {\n          type: ''\n        }\n      })\n      expect(vm.$el.className)\n        .to.equal('cube-popup cube-popup_mask')\n      expect(vm.$el.querySelector('.cube-popup-container').className)\n        .to.equal('cube-popup-container cube-popup-center')\n    })\n\n    it('should render correct contents', () => {\n      vm = instantiateComponent(Vue, Popup, {\n        props: {\n          type: 'xx',\n          content: 'popup content',\n          position: 'top',\n          maskClosable: true\n        }\n      })\n      vm.show()\n      expect(vm.$el.className)\n        .to.equal('cube-popup cube-popup_mask cube-xx')\n      expect(vm.$el.querySelector('.cube-popup-container').className)\n        .to.equal('cube-popup-container cube-popup-top')\n      expect(vm.$el.querySelector('.cube-popup-content').innerHTML)\n        .to.equal('popup content')\n      vm.$el.querySelector('.cube-popup-mask').click()\n      expect(vm.isVisible)\n        .to.be.false\n    })\n\n    it('should toggle by change v-model visible', function (done) {\n      this.timeout(1000)\n\n      const toggleHandler = sinon.spy()\n      vm = instantiateComponent(Vue, Popup, {\n        props: {\n          visible: true\n        },\n        on: {\n          toggle: toggleHandler\n        }\n      })\n\n      vm.$parent.updateRenderData({\n        props: {\n          visible: false\n        },\n        on: {\n          toggle: toggleHandler\n        }\n      })\n\n      vm.$parent.$forceUpdate()\n\n      setTimeout(() => {\n        expect(toggleHandler).to.be.callCount(2)\n\n        done()\n      }, 50)\n    })\n\n    it('events', () => {\n      const clickHandler = sinon.spy()\n      vm = instantiateComponent(Vue, Popup, {\n        props: {\n          type: 'xx',\n          content: 'popup content'\n        },\n        on: {\n          'mask-click': clickHandler\n        }\n      })\n      vm.$el.querySelector('.cube-popup-mask').click()\n      expect(clickHandler)\n        .to.have.been.calledOnce\n    })\n  })\n\n  describe('Popup API', () => {\n    it('$createPopup API', () => {\n      const clickHandler = sinon.spy()\n      let ins\n      const vm = new Vue({\n        template: '<div>xx</div>',\n        methods: {\n          showAPI() {\n            ins = this.$createPopup({\n              type: 'xx',\n              content: 'popup api content',\n              onMaskClick: clickHandler\n            })\n            ins.show()\n          }\n        }\n      })\n      vm.showAPI()\n      expect(ins.isVisible)\n        .to.be.true\n      expect(ins.$el.parentElement)\n        .to.equal(document.body)\n      expect(ins.$el.querySelector('.cube-popup-content').innerHTML)\n        .to.equal('popup api content')\n      ins.$el.querySelector('.cube-popup-mask').click()\n      expect(clickHandler)\n        .to.have.been.calledOnce\n      ins.remove()\n      expect(ins.$el.parentElement)\n        .to.be.null\n      vm.$destroy()\n    })\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/radio.spec.js",
    "content": "import Vue from 'vue2'\nimport RadioGroup from '@/modules/radio'\nimport createVue from '../utils/create-vue'\n\ndescribe('Radio.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(RadioGroup)\n    expect(Vue.component(RadioGroup.name)).to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createRadioGroup()\n    const el = vm.$el\n    expect(el.className).to.equal(\n      'cube-radio-group my-radio border-top-1px border-bottom-1px'\n    )\n    const options = el.querySelectorAll('.cube-radio')\n    expect(options.length).to.equal(3)\n    expect(options[0].getAttribute('data-pos')).to.equal('right')\n    expect(options[0].querySelector('.cube-radio-wrap').className).to.equal(\n      'cube-radio-wrap border-bottom-1px'\n    )\n    expect(options[0].querySelector('.cube-radio-input').value).to.equal('1')\n    expect(\n      options[0].querySelector('.cube-radio-label').textContent.trim()\n    ).to.equal('Option1')\n\n    expect(options[1].querySelector('.cube-radio-wrap').className).to.equal(\n      'cube-radio-wrap border-bottom-1px'\n    )\n    expect(options[1].querySelector('.cube-radio-input').value).to.equal(\n      'Option2'\n    )\n    expect(\n      options[1].querySelector('.cube-radio-label').textContent.trim()\n    ).to.equal('Option2')\n\n    expect(options[2].className).to.include(\n      'cube-radio_selected cube-radio_disabled'\n    )\n    expect(options[2].querySelector('.cube-radio-wrap').className).to.equal(\n      'cube-radio-wrap border-bottom-1px'\n    )\n    expect(options[2].querySelector('.cube-radio-input').value).to.equal('3')\n    expect(\n      options[2].querySelector('.cube-radio-label').textContent.trim()\n    ).to.equal('Option3')\n  })\n  it('should render correct contents - horizontal', () => {\n    vm = createRadioGroup(true)\n    const el = vm.$el\n    expect(el.className).to.equal('cube-radio-group my-radio')\n    expect(el.getAttribute('data-horz')).to.equal('true')\n    const options = el.querySelectorAll('.cube-radio')\n    expect(options.length).to.equal(3)\n\n    expect(options[0].className).to.equal('cube-radio border-right-1px')\n    expect(options[0].querySelector('.cube-radio-wrap').className).to.equal(\n      'cube-radio-wrap'\n    )\n    expect(options[2].className).to.include(\n      'cube-radio_selected cube-radio_disabled'\n    )\n    expect(options[2].querySelector('.cube-radio-wrap').className).to.equal(\n      'cube-radio-wrap'\n    )\n  })\n  it('should toggle v-model value', done => {\n    vm = createRadioGroup()\n    expect(vm.$parent.selected).to.equal('3')\n    vm.$el.querySelector('.cube-radio-input').click()\n    setTimeout(() => {\n      expect(vm.$parent.selected).to.equal('1')\n      done()\n    })\n  })\n  it('v-model should be a number value', done => {\n    vm = createVue({\n      template: `\n        <cube-radio-group v-model=\"selected\" :options=\"options\"></cube-radio-group>\n      `,\n      data: {\n        selected: 3,\n        options: [\n          {\n            label: 'Option0',\n            value: 0\n          },\n          {\n            label: 'Option1',\n            value: 1\n          },\n          {\n            label: 'Option2',\n            value: 2\n          },\n          {\n            label: 'Option3',\n            value: 3,\n            disabled: true\n          }\n        ]\n      }\n    })\n    vm.$el.querySelector('.cube-radio-input').click()\n    setTimeout(() => {\n      expect(vm.$parent.selected).to.equal(0)\n      done()\n    })\n  })\n  it('default slot mode should render correct default value', done => {\n    let vModelGroupVM = createUserDefaltSlotRadioGroup()\n    expect(vModelGroupVM.$parent.selected).to.equal('3')\n    let froupOptions = vModelGroupVM.$el.querySelectorAll('.cube-radio')\n    expect(froupOptions[2].className).to.include('cube-radio_selected')\n    let vModelChildVM = createUserDefaltSlotRadioGroup(false)\n    expect(vModelChildVM.$parent.selected).to.equal('3')\n    let childOptions = vModelChildVM.$el.querySelectorAll('.cube-radio')\n    expect(childOptions[2].className).to.include('cube-radio_selected')\n    done()\n  })\n})\n\nfunction createRadioGroup(horizontal = false) {\n  const vm = createVue({\n    template: `\n      <cube-radio-group v-model=\"selected\" :options=\"options\" class=\"my-radio\" position=\"right\" :horizontal=\"${horizontal}\"></cube-radio-group>\n    `,\n    data: {\n      selected: '3',\n      options: [\n        {\n          label: 'Option1',\n          value: '1'\n        },\n        'Option2',\n        {\n          label: 'Option3',\n          value: '3',\n          disabled: true\n        }\n      ]\n    }\n  })\n  return vm\n}\nfunction createUserDefaltSlotRadioGroup(vModelGroup = true) {\n  const vm = createVue({\n    template: `\n      <cube-radio-group\n        ${vModelGroup ? `v-model=\"selected\"` : ''}\n        :options=\"options\"\n        class=\"my-radio\"\n        position=\"right\"\n        :horizontal=\"true\"\n      >\n        <cube-radio\n          v-for=\"(option, idx) in options\"\n          :key=\"idx\"\n          :option=\"option\"\n          :horizontal=\"true\"\n          position=\"right\"\n          ${vModelGroup ? '' : `v-model=\"selected\"`}\n        >\n          {{option.label}}\n        </cube-radio>\n      </cube-radio-group>\n    `,\n    data: {\n      selected: '3',\n      options: [\n        {\n          label: 'Option1',\n          value: '1'\n        },\n        'Option2',\n        {\n          label: 'Option3',\n          value: '3'\n        }\n      ]\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/rate.spec.js",
    "content": "import Vue from 'vue2'\nimport Rate from '@/modules/rate'\nimport createVue from '../utils/create-vue'\nimport { dispatchSwipe, dispatchMouse } from '../utils/event'\n\ndescribe('Rate.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Rate)\n    expect(Vue.component(Rate.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', async () => {\n    vm = createRate()\n    const el = vm.$el\n    expect(el.className)\n      .to.equal('cube-rate')\n    let actives = el.querySelectorAll('.cube-rate-item_active')\n    expect(actives.length)\n      .to.equal(vm.value)\n    const stars = el.querySelectorAll('.cube-rate-item')\n    expect(stars.length)\n      .to.equal(vm.max)\n\n    await new Promise(resolve => {\n      vm.$parent.value = 4\n      vm.$parent.justify = true\n      setTimeout(resolve)\n    })\n    expect(el.className)\n      .to.equal('cube-rate cube-rate-justify')\n    actives = el.querySelectorAll('.cube-rate-item_active')\n    expect(actives.length)\n      .to.equal(vm.value)\n\n    await new Promise(resolve => {\n      vm.$parent.allowHalf = true\n      vm.$parent.value = 3.2\n      setTimeout(resolve)\n    })\n    actives = el.querySelectorAll('.cube-rate-item_active')\n    expect(actives.length) // 3\n      .to.equal(getNumStatus(vm.tempValue).full) // 3\n    let halfActives = el.querySelectorAll('.cube-rate-item_half_active')\n    expect(halfActives.length) // 1\n      .to.equal(getNumStatus(vm.tempValue).half) // 1\n\n    await new Promise(resolve => {\n      vm.$parent.allowHalf = false\n      vm.$parent.value = 4.1\n      setTimeout(resolve)\n    })\n    actives = el.querySelectorAll('.cube-rate-item_active')\n    expect(actives.length) // 5\n      .to.equal(getNumStatus(vm.tempValue).full) // 5\n    halfActives = el.querySelectorAll('.cube-rate-item_half_active')\n    expect(halfActives.length) // 0\n      .to.equal(getNumStatus(vm.tempValue).half) // 0\n  })\n  it('should trigger change event', function (done) {\n    this.timeout(10000)\n    const changeHandler = sinon.spy()\n    vm = createRate(changeHandler)\n    vm.$parent.disabled = true\n    setTimeout(() => {\n      // dispatch touch\n      dispatchSwipe(vm.$el, [\n        {\n          pageX: 50,\n          pageY: 20\n        },\n        {\n          pageX: 180,\n          pageY: 20\n        }\n      ], 100)\n      // No response\n      setTimeout(() => {\n        expect(changeHandler).not.to.be.called\n        vm.$parent.disabled = false\n        setTimeout(() => {\n          // dispatch touch again\n          dispatchSwipe(vm.$el, [\n            {\n              pageX: 50,\n              pageY: 20\n            },\n            {\n              pageX: 180,\n              pageY: 20\n            }\n          ], 100)\n          setTimeout(() => {\n            expect(changeHandler).to.be.calledOnce\n            done()\n          }, 200)\n        })\n      }, 200)\n    })\n  })\n  it('should trigger change event with click', function (done) {\n    this.timeout(10000)\n    vm = createRate()\n    const star = vm.$el.querySelector('.cube-rate-item')\n    dispatchMouse(star, 'mousedown')\n    dispatchMouse(star, 'mousemove')\n    dispatchMouse(star, 'mouseup')\n    setTimeout(() => {\n      const actives = vm.$el.querySelectorAll('.cube-rate-item_active')\n      expect(actives.length)\n        .to.equal(1)\n      done()\n    }, 50)\n  })\n})\n\nfunction getNumStatus(num) {\n  const str = num + ''\n  let full = num\n  let half = 0\n  if (str.includes('.5')) {\n    full = num - 0.5\n    half = 1\n  }\n  return {\n    full,\n    half\n  }\n}\n\nfunction createRate (changeHanlder, props = {}) {\n  const data = Object.assign({}, {\n    disabled: false,\n    value: 3,\n    max: 5,\n    justify: false,\n    allowHalf: false\n  }, props)\n  const vm = createVue({\n    template: `\n    <cube-rate v-model=\"value\" :disabled=\"disabled\" :justify=\"justify\" :max=\"max\" :allowHalf=\"allowHalf\"></cube-rate>\n    `,\n    data,\n    watch: {\n      value(newVal) {\n        changeHanlder && changeHanlder.call(vm, newVal)\n      }\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/recycle-list.spec.js",
    "content": "import Vue from 'vue2'\nimport RecycleList from '@/modules/recycle-list'\nimport createVue from '../utils/create-vue'\nimport { dispatchResize } from '../utils/event'\n\ndescribe('RecycleList', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(RecycleList)\n    expect(Vue.component(RecycleList.name))\n      .to.be.a('function')\n  })\n  it('requires onFetch function to return a Promise', () => {\n    vm = createRecycleList()\n    expect(vm.onFetch() instanceof window.Promise)\n      .to.equal(true)\n  })\n  it('render correct count data', (done) => {\n    vm = createRecycleList(true)\n    setTimeout(() => {\n      const length = vm.items.length\n      expect(length)\n        .to.equal(10)\n      vm.$el.scrollTop = 1000\n      setTimeout(() => {\n        const length = vm.items.length\n        expect(length)\n          .to.equal(15)\n        done()\n      }, 500)\n    }, 500)\n  })\n  it('should stop scroll', (done) => {\n    vm = createRecycleList(true)\n    setTimeout(() => {\n      vm.$el.scrollTop = 2000\n      setTimeout(() => {\n        expect(vm.noMore)\n          .to.equal(true)\n        done()\n      }, 500)\n    }, 500)\n  })\n  it('should clean all contents', (done) => {\n    vm = createRecycleList(true)\n    setTimeout(() => {\n      vm.$parent.reset()\n      vm.reset()\n\n      expect(vm.list.length)\n        .to.equal(0)\n      setTimeout(() => {\n        expect(vm.list.length)\n          .to.equal(10)\n        done()\n      }, 500)\n    }, 500)\n  })\n  it('should call correct method', (done) => {\n    vm = createRecycleList()\n    setTimeout(() => {\n      vm.$el.scrollTop = 1000\n      dispatchResize()\n      done()\n    }, 500)\n  })\n})\n\nfunction createRecycleList (infinite) {\n  const vm = createVue({\n    template: `\n    <div :style=\"{position: 'fixed', top: 0, left: 0, height: '500px', width: '100%'}\">\n    <cube-recycle-list class=\"list\" :on-fetch=\"onFetch\" :size=\"size\" :infinite=\"infinite\">\n      <template slot=\"tombstone\" slot-scope=\"props\">\n        <div class=\"tombstone\">\n        </div>\n      </template>\n      <template slot=\"item\" slot-scope=\"props\">\n        <div :id=\"props.data.id\" class=\"item\" :style=\"{height: '20px'}\">\n        <p>{{props.data.msg}}</p>\n        </div>\n      </template>\n    </cube-recycle-list>\n    </div>\n    `,\n    data () {\n      return {\n        size: 10,\n        infinite,\n        pid: 0\n      }\n    },\n    methods: {\n      reset () {\n        this.pid = 0\n      },\n      onFetch () {\n        let items = []\n        this.pid += 1\n        const pid = this.pid\n        return new Promise((resolve) => {\n          if (pid > 2) {\n            resolve(false)\n          } else if (pid === 2) {\n            setTimeout(() => {\n              for (let i = 0; i < 5; i++) {\n                items.push({\n                  id: i,\n                  avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg',\n                  msg: '123',\n                  time: 'Thu Oct 25 2018 15:02:12 GMT+0800 (中国标准时间)'\n                })\n              }\n              resolve(items)\n            }, 100)\n          } else {\n            setTimeout(() => {\n              for (let i = 0; i < 10; i++) {\n                items.push({\n                  id: i,\n                  avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg',\n                  msg: '123',\n                  time: 'Thu Oct 25 2018 15:02:12 GMT+0800 (中国标准时间)'\n                })\n              }\n              resolve(items)\n            }, 100)\n          }\n        })\n      }\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/scroll-nav-bar.spec.js",
    "content": "import Vue from 'vue2'\nimport ScrollNavBar from '@/modules/scroll-nav-bar'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchTap } from '../utils/event'\n\nconst current = '快车'\nconst labels = [\n  '快车',\n  '小巴',\n  '专车',\n  '顺风车',\n  '代驾',\n  '公交',\n  '自驾租车',\n  '豪华车',\n  '二手车',\n  '出租车'\n]\n\ndescribe('ScrollNavBar', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(ScrollNavBar)\n    expect(Vue.component(ScrollNavBar.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', (done) => {\n    vm = createScrollNavBar()\n    setTimeout(() => {\n      expect(vm.$el.className)\n        .to.equal('cube-scroll-nav-bar cube-scroll-nav-bar_horizontal')\n      const items = vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')\n      expect(items.length)\n        .to.equal(10)\n      expect(items[0].className)\n        .to.include('cube-scroll-nav-bar-item_active')\n      vm.$updateProps({\n        current: '二手车'\n      })\n      setTimeout(() => {\n        expect(vm.$el.querySelector('.cube-scroll-nav-bar-item_active').textContent.trim())\n          .equal('二手车')\n        // click one\n        dispatchTap(vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')[2])\n        setTimeout(() => {\n          expect(vm.$el.querySelector('.cube-scroll-nav-bar-item_active').textContent.trim())\n            .equal('专车')\n          vm.$updateProps({\n            current: '2',\n            labels: labels.concat(['1', '2'])\n          })\n          setTimeout(() => {\n            expect(vm.$el.querySelectorAll('.cube-scroll-nav-bar-item').length)\n              .to.equal(12)\n            expect(vm.$el.querySelector('.cube-scroll-nav-bar-item_active').textContent.trim())\n              .equal('2')\n            done()\n          })\n        })\n      })\n    }, 50)\n  })\n\n  it('should render correct contents - vertical', (done) => {\n    vm = createScrollNavBar({\n      direction: 'vertical',\n      current: current,\n      labels: labels\n    })\n    setTimeout(() => {\n      vm.refresh()\n      expect(vm.$el.className)\n        .to.equal('cube-scroll-nav-bar cube-scroll-nav-bar_vertical')\n      const items = vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')\n      expect(items.length)\n        .to.equal(10)\n      expect(items[0].className)\n        .to.include('cube-scroll-nav-bar-item_active')\n      done()\n    }, 50)\n  })\n\n  it('should trigger events', (done) => {\n    const changeHandler = sinon.spy()\n\n    vm = createScrollNavBar({\n      current: current,\n      labels: labels\n    }, {\n      change: changeHandler\n    })\n    setTimeout(() => {\n      dispatchTap(vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')[0])\n      setTimeout(() => {\n        expect(changeHandler)\n          .not.to.be.called\n        dispatchTap(vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')[2])\n        setTimeout(() => {\n          expect(changeHandler)\n            .to.be.calledOnce\n          expect(changeHandler)\n            .to.be.calledWith('专车')\n          done()\n        })\n      })\n    }, 50)\n  })\n\n  function createScrollNavBar(props = { current: current, labels: labels }, events = {}) {\n    return instantiateComponent(Vue, ScrollNavBar, {\n      props,\n      on: events\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/scroll-nav.spec.js",
    "content": "import Vue from 'vue2'\nimport ScrollNav from '@/modules/scroll-nav'\nimport createVue from '../utils/create-vue'\nimport { dispatchSwipe, dispatchTap } from '../utils/event'\nimport { findIndex } from '@/common/helpers/util'\nimport cityData from '../fake/index-list.json'\n\ndescribe('ScrollNav', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(ScrollNav)\n    expect(Vue.component(ScrollNav.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', (done) => {\n    vm = createScrollNav()\n    setTimeout(() => {\n      expect(vm.$el.className)\n        .to.equal('cube-scroll-nav')\n      // prepend\n      expect(vm.$el.querySelector('.prepend-header').nextElementSibling.className)\n        .to.equal('cube-scroll-nav-main')\n\n      const navBarItems = vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')\n      expect(navBarItems.length)\n        .to.equal(cityData.length)\n      expect(navBarItems[0].className)\n        .to.include('cube-scroll-nav-bar-item_active')\n\n      const panels = vm.$el.querySelectorAll('.cube-scroll-nav-panel')\n      expect(panels.length)\n        .to.equal(cityData.length)\n      expect(panels[0].querySelector('.cube-scroll-nav-panel-title').textContent.trim())\n        .to.equal(cityData[0].name)\n      done()\n    }, 50)\n  })\n\n  it('should render correct contents - side', (done) => {\n    vm = createScrollNav({\n      side: true,\n      current: cityData[1].name\n    }, {}, false)\n    setTimeout(() => {\n      expect(vm.$el.className)\n        .to.equal('cube-scroll-nav cube-scroll-nav_side')\n      expect(vm.$el.querySelector('.cube-scroll-nav-bar-item_active').textContent.trim())\n        .to.equal(cityData[1].name)\n      // sticky\n      expect(vm.$el.querySelector('.cube-sticky > .cube-sticky-fixed .cube-scroll-nav-bar'))\n        .not.to.be.null\n      expect(vm.$el.querySelector('.cube-scroll-wrapper > .cube-sticky-fixed .cube-scroll-nav-panel-title').textContent.trim())\n        .to.equal(cityData[1].name)\n      done()\n    }, 400)\n  })\n\n  it('should sticky & nav correctly', function (done) {\n    this.timeout(10000)\n    vm = createScrollNav()\n    setTimeout(() => {\n      expect(vm.active)\n        .to.equal(cityData[0].name)\n      // scroll to city 3\n      vm.$parent.current = cityData[2].name\n      setTimeout(() => {\n        expect(vm.active)\n          .to.equal(cityData[2].name)\n        // click bar\n        // to city 2\n        dispatchTap(vm.$el.querySelectorAll('.cube-scroll-nav-bar-item')[1])\n        setTimeout(() => {\n          expect(vm.active)\n            .to.equal(cityData[1].name)\n          // scroll to top 0\n          vm.$refs.scroll.scrollTo(0, 0, 50)\n          setTimeout(() => {\n            expect(vm.active)\n              .to.equal(cityData[0].name)\n            done()\n          }, 100)\n        }, 350)\n      }, 350)\n    }, 50)\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n    const changeHandler = sinon.spy()\n    const stickyChangeHandler = sinon.spy()\n    vm = createScrollNav({\n      side: true,\n      current: cityData[1].name\n    }, {\n      onChange: changeHandler,\n      onStickyChange: stickyChangeHandler\n    }, false)\n    setTimeout(() => {\n      expect(stickyChangeHandler)\n        .to.be.calledOnce\n      expect(stickyChangeHandler)\n        .to.be.calledWith('cube-scroll-nav-bar')\n      const scroller = vm.$el.querySelector('.cube-scroll-wrapper')\n      dispatchSwipe(scroller, [\n        {\n          pageX: 300,\n          pageY: 300\n        },\n        {\n          pageX: 300,\n          pageY: 10\n        }\n      ], 100)\n      var scrollEnd = () => {\n        vm.$refs.scroll.scroll.off('scrollEnd', scrollEnd)\n        const targetActive = 'G'\n        expect(vm.active)\n          .to.equal(targetActive)\n        const index = findIndex(cityData, function (item) {\n          return item.name === targetActive\n        })\n        expect(changeHandler)\n          .to.have.callCount(index)\n        done()\n      }\n      setTimeout(() => {\n        vm.$refs.scroll.scroll.on('scrollEnd', scrollEnd)\n      }, 120)\n    }, 400)\n  })\n\n  function createScrollNav(props = {}, events = {}, showPrepend = true) {\n    const prepend = `\n      <ul class=\"prepend-header\" slot=\"prepend\">\n        <li>11</li>\n        <li>22</li>\n        <li>333</li>\n      </ul>\n    `\n    const data = {\n      side: false,\n      current: '',\n      data: cityData\n    }\n    Object.keys(props).forEach((k) => {\n      data[k] = props[k]\n    })\n    return createVue({\n      template: `\n        <div style=\"height:300px;font-size:16px;\">\n          <cube-scroll-nav\n            :side=\"side\"\n            :current=\"current\"\n            @change=\"changeHandler\"\n            @sticky-change=\"stickyChangeHandler\">\n            ${showPrepend ? prepend : ''}\n            <cube-scroll-nav-panel v-for=\"item in data\" :key=\"item.name\" :label=\"item.name\">\n              <ul>\n                <li v-for=\"city in item.cities\">\n                  <div>\n                    <p>{{city.cityid}}</p>\n                    <p>{{city.name}}</p>\n                    <p>{{city.tags}}</p>\n                  </div>\n                </li>\n              </ul>\n            </cube-scroll-nav-panel>\n          </cube-scroll-nav>\n        </div>\n      `,\n      data: data,\n      methods: {\n        changeHandler(current) {\n          events.onChange && events.onChange.call(this, current)\n        },\n        stickyChangeHandler(current) {\n          events.onStickyChange && events.onStickyChange.call(this, current)\n        }\n      }\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/scroll.spec.js",
    "content": "import Vue from 'vue2'\nimport Scroll from '@/modules/scroll'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchSwipe, dispatchTap } from '../utils/event'\n\nconst data = [\n  '我是第 1 行',\n  '我是第 2 行',\n  '我是第 3 行',\n  '我是第 4 行'\n]\n\ndescribe('Scroll', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(Scroll)\n    expect(Vue.component(Scroll.name))\n      .to.be.a('function')\n  })\n\n  it('should correct by default', () => {\n    vm = createScroll()\n  })\n\n  it('should render correct contents', () => {\n    vm = createScroll({\n      data\n    })\n    const listItems = vm.$el.querySelectorAll('.cube-scroll-content li')\n    expect(listItems.length)\n      .to.equal(4)\n    expect(listItems[1].textContent)\n      .to.equal('我是第 2 行')\n    expect(listItems[3].textContent)\n      .to.equal('我是第 4 行')\n  })\n\n  it('should trigger pullingDown', function (done) {\n    this.timeout(10000)\n\n    const pullingDownHandle = sinon.spy()\n    vm = createScroll({\n      data\n    })\n\n    vm.$parent.updateRenderData({\n      props: {\n        data,\n        options: {\n          pullDownRefresh: true\n        }\n      },\n      on: {\n        'pulling-down': pullingDownHandle\n      }\n    })\n    vm.$parent.$forceUpdate()\n\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    setTimeout(() => {\n      const listFirstItem = vm.$el.querySelector('.cube-scroll-content li:first-child')\n      dispatchSwipe(listFirstItem, [\n        {\n          pageX: 10,\n          pageY: 10\n        },\n        {\n          pageX: 10,\n          pageY: 300\n        }\n      ], 100)\n      setTimeout(() => {\n        expect(pullingDownHandle)\n          .to.be.callCount(1)\n\n        // test: watch data\n        const newData = data.concat(['我是插入的一行'])\n        vm.$parent.updateRenderData({\n          props: {\n            data: newData,\n            options: {\n              pullDownRefresh: {\n                threshold: 10,\n                stop: 40,\n                txt: '刷新成功'\n              }\n            }\n          }\n        })\n        vm.$parent.$forceUpdate()\n        setTimeout(() => {\n          expect(vm.beforePullDown).to.be.true\n          expect(vm.isPullingDown).to.be.false\n\n          done()\n        }, 1500)\n      }, 400)\n    }, 150)\n  })\n\n  it('should not trigger pullingDown', function (done) {\n    this.timeout(10000)\n\n    const pullingDownHandle = sinon.spy()\n    vm = createScroll({\n      data,\n      options: {\n        pullDownRefresh: true\n      }\n    }, {\n      'pulling-down': pullingDownHandle\n    })\n\n    vm.$parent.updateRenderData({\n      props: {\n        data,\n        options: {\n          pullDownRefresh: false\n        }\n      },\n      on: {\n        'pulling-down': pullingDownHandle\n      }\n    })\n    vm.$parent.$forceUpdate()\n\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    setTimeout(() => {\n      const listFirstItem = vm.$el.querySelector('.cube-scroll-content li:first-child')\n      dispatchSwipe(listFirstItem, [\n        {\n          pageX: 10,\n          pageY: 10\n        },\n        {\n          pageX: 10,\n          pageY: 300\n        }\n      ], 100)\n      setTimeout(() => {\n        expect(pullingDownHandle)\n          .to.be.callCount(0)\n\n        done()\n      }, 400)\n    }, 150)\n  })\n\n  it('should trigger pullingUp', function (done) {\n    this.timeout(10000)\n\n    const pullingUpHandle = sinon.spy()\n    vm = createScroll()\n\n    vm.$parent.updateRenderData({\n      props: {\n        data,\n        options: {\n          pullUpLoad: {\n            txt: {\n              more: 'more',\n              noMore: 'noMore'\n            },\n            visible: true\n          }\n        }\n      },\n      on: {\n        'pulling-up': pullingUpHandle\n      }\n    })\n    vm.$parent.$forceUpdate()\n\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    setTimeout(() => {\n      const listItem = vm.$el.querySelector('.cube-scroll-content li:nth-child(3)')\n      dispatchSwipe(listItem, [\n        {\n          pageX: 10,\n          pageY: 200\n        },\n        {\n          pageX: 10,\n          pageY: 10\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(pullingUpHandle)\n          .to.be.callCount(1)\n\n        // test: forceUpdate\n        vm.forceUpdate(true, true)\n\n        setTimeout(() => {\n          expect(vm.isPullUpLoad).to.be.false\n          expect(vm.pullUpNoMore).to.be.true\n\n          const pullUpTxtElm = vm.$el.querySelector('.cube-pullup-wrapper span')\n          expect(pullUpTxtElm.textContent).to.equal('noMore')\n\n          // test: resetPullUpTxt\n          vm.resetPullUpTxt()\n          vm.$nextTick(() => {\n            expect(pullUpTxtElm.textContent).to.equal('more')\n\n            done()\n          })\n        }, 50)\n      }, 400)\n    }, 150)\n  })\n\n  it('should not trigger pullingUp', function (done) {\n    this.timeout(10000)\n\n    const pullingUpHandle = sinon.spy()\n    vm = createScroll({\n      data,\n      options: {\n        pullUpLoad: true\n      }\n    }, {\n      'pulling-up': pullingUpHandle\n    })\n\n    vm.$parent.updateRenderData({\n      props: {\n        data,\n        options: {\n          pullUpLoad: false\n        }\n      },\n      on: {\n        'pulling-up': pullingUpHandle\n      }\n    })\n    vm.$parent.$forceUpdate()\n\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    setTimeout(() => {\n      const listItem = vm.$el.querySelector('.cube-scroll-content li:nth-child(3)')\n      dispatchSwipe(listItem, [\n        {\n          pageX: 10,\n          pageY: 200\n        },\n        {\n          pageX: 10,\n          pageY: 10\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(pullingUpHandle)\n          .to.be.callCount(0)\n\n        done()\n      }, 400)\n    }, 150)\n  })\n\n  it('should trigger click', function (done) {\n    const clickHandler = sinon.spy()\n    vm = createScroll({\n      data\n    }, {\n      click: clickHandler\n    })\n\n    vm.$nextTick(() => {\n      const listItem = vm.$el.querySelector('.cube-scroll-content li')\n      dispatchTap(listItem)\n      expect(clickHandler).to.be.calledOnce\n      done()\n    })\n  })\n\n  it('should not trigger scroll events', function (done) {\n    const scrollHandle = sinon.spy()\n    const beforeScrollHandle = sinon.spy()\n    const scrollEndHandle = sinon.spy()\n\n    vm = createScroll({\n      data,\n      options: {\n        pullUpLoad: true\n      }\n    }, {\n      scroll: scrollHandle,\n      'before-scroll-start': beforeScrollHandle,\n      'scroll-end': scrollEndHandle\n    })\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    const listItem = vm.$el.querySelector('.cube-scroll-content li:nth-child(3)')\n\n    setTimeout(() => {\n      dispatchSwipe(listItem, [\n        {\n          pageX: 10,\n          pageY: 200\n        },\n        {\n          pageX: 10,\n          pageY: 10\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(scrollHandle).to.be.callCount(0)\n        expect(beforeScrollHandle).to.be.callCount(0)\n        expect(scrollEndHandle).to.be.callCount(0)\n\n        done()\n      }, 1500)\n    }, 100)\n  })\n\n  it('should trigger scroll events - with scroll-events', function (done) {\n    const scrollHandle = sinon.spy()\n    const beforeScrollHandle = sinon.spy()\n    const scrollEndHandle = sinon.spy()\n\n    vm = createScroll({\n      data,\n      scrollEvents: ['scroll', 'before-scroll-start', 'scroll-end'],\n      options: {\n        pullUpLoad: true\n      }\n    }, {\n      scroll: scrollHandle,\n      'before-scroll-start': beforeScrollHandle,\n      'scroll-end': scrollEndHandle\n    })\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    const listItem = vm.$el.querySelector('.cube-scroll-content li:nth-child(3)')\n\n    setTimeout(() => {\n      dispatchSwipe(listItem, [\n        {\n          pageX: 10,\n          pageY: 200\n        },\n        {\n          pageX: 10,\n          pageY: 10\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(scrollHandle).to.be.called\n        expect(beforeScrollHandle).to.be.callCount(1)\n        expect(scrollEndHandle).to.be.callCount(1)\n\n        done()\n      }, 1500)\n    }, 100)\n  })\n\n  it('should trigger scroll events - with listen-scroll', function (done) {\n    const scrollHandle = sinon.spy()\n    const beforeScrollHandle = sinon.spy()\n    const scrollEndHandle = sinon.spy()\n\n    vm = createScroll({\n      data,\n      listenScroll: true,\n      listenBeforeScroll: true,\n      options: {\n        pullUpLoad: true\n      }\n    }, {\n      scroll: scrollHandle,\n      'before-scroll-start': beforeScrollHandle,\n      'scroll-end': scrollEndHandle\n    })\n    vm.$refs.wrapper.style.height = '200px'\n    vm.refresh()\n\n    const listItem = vm.$el.querySelector('.cube-scroll-content li:nth-child(3)')\n\n    setTimeout(() => {\n      dispatchSwipe(listItem, [\n        {\n          pageX: 10,\n          pageY: 200\n        },\n        {\n          pageX: 10,\n          pageY: 10\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(scrollHandle).to.be.called\n        expect(beforeScrollHandle).to.be.callCount(1)\n\n        done()\n      }, 1500)\n    }, 100)\n  })\n\n  it('should call correct method', function () {\n    vm = createScroll({data})\n\n    vm.disable()\n\n    vm.enable()\n\n    vm.scrollTo(0, 100)\n\n    const listItems = vm.$el.querySelectorAll('.cube-scroll-content li')\n    vm.scrollToElement(listItems[3])\n\n    vm.destroy()\n  })\n\n  describe('Nest Scrolls', () => {\n    it('should render scrolls correct', function () {\n      vm = createNestScrolls()\n\n      const innerScroll = vm.$parent.$refs.innerScroll\n\n      expect(innerScroll.parentScroll).to.be.a('object')\n    })\n\n    it('should disable outer scroll when touch the inner one and not reach boundary', function (done) {\n      let cnt = 0\n      vm = createNestScrolls({\n        innerProps: {\n          scrollEvents: ['scroll']\n        },\n        innerEvents: {\n          scroll: () => {\n            if (cnt === 1) { // we disable the outer scroll in first 'scroll' event\n              expect(vm.scroll.enabled).to.be.false\n              done()\n            }\n            cnt++\n          }\n        }\n      })\n\n      vm.$refs.wrapper.style.height = '500px'\n      vm.refresh()\n      const innerScroll = vm.$parent.$refs.innerScroll\n      innerScroll.$refs.wrapper.style.height = '200px'\n\n      setTimeout(() => { // waiting scroll init\n        const listItem = innerScroll.$el.querySelector('.cube-scroll-content li:nth-child(1)')\n        dispatchSwipe(listItem, [\n          {\n            pageX: 20, // using for touchstart\n            pageY: 200\n          },\n          {\n            pageX: 20, // using for fire first touchmove. we disabled outer scroll when this event fire.\n            pageY: 180\n          },\n          {\n            pageX: 20, // using for second touchmove, now we check whether outer scroll is disabled.\n            pageY: 160\n          }\n        ], 200)\n      }, 200)\n    })\n\n    it('should disable inner scroll when touch the inner one and reach boundary', function (done) {\n      let cnt = 0\n      vm = createNestScrolls({\n        outerProps: {\n          scrollEvents: ['scroll']\n        },\n        outerEvents: {\n          scroll: () => {\n            // there will be two 'scroll' event, one fired by dispatchEvent and one fired by resetPosition in _end() function.\n            // we only concern the first scroll event.\n            if (cnt === 0) {\n              cnt++\n              expect(innerScroll.scroll.enabled).to.be.false\n              done()\n            }\n          }\n        }\n      })\n\n      vm.$refs.wrapper.style.height = '300px'\n      vm.refresh()\n      const innerScroll = vm.$parent.$refs.innerScroll\n      innerScroll.$refs.wrapper.style.height = '200px'\n\n      setTimeout(() => { // waiting scroll init\n        vm.scroll.aname = 'outer'\n        innerScroll.scroll.aname = 'inner'\n        const listItem = innerScroll.$el.querySelector('.cube-scroll-content li:nth-child(1)')\n        dispatchSwipe(listItem, [\n          {\n            pageX: 20, // using for touchstart\n            pageY: 100\n          },\n          {\n            pageX: 20, // using for fire first touchmove. we disabled outer scroll when this event fire, And since we assign outerScroll.pointY = innerScroll.pointY,\n            pageY: 120 // so this touchmove event will not trigger outerScroll's \"scroll\" event, due to \"We need to move at least momentumLimitDistance pixels for the scrolling to initiate\" (from better-scroll)\n          },\n          {\n            pageX: 20, // using for second touchmove, now we check if the inner scroll is disabled .\n            pageY: 140\n          }\n        ], 200)\n      }, 200)\n    })\n  })\n\n  function createScroll(props = {}, events = {}, renderFn) {\n    return instantiateComponent(Vue, Scroll, {\n      props: props,\n      on: events\n    }, renderFn)\n  }\n\n  function createNestScrolls(options = {}) {\n    const { outerProps = {}, outerEvents = {}, innerProps = {}, innerEvents = {} } = options\n    return createScroll(outerProps, outerEvents, (h) => {\n      return h('div', [\n        h('ul', [\n          ...data.map(item => {\n            return h('li', item)\n          })\n        ]),\n        h(Scroll, {\n          ref: 'innerScroll',\n          class: 'inner-scroll',\n          props: {data, nestMode: 'native', ...innerProps},\n          on: {...innerEvents}\n        }),\n        h('ul', [\n          ...data.map(item => {\n            return h('li', item)\n          })\n        ])\n      ])\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/segment-picker.spec.js",
    "content": "import Vue from 'vue2'\nimport SegmentPicker from '@/modules/segment-picker'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchSwipe } from '../utils/event'\nimport { provinceList, cityList, areaList } from 'example/data/area'\nimport { column1, column2, expressData } from 'example/data/picker'\n\nconst cityData = provinceList\ncityData.forEach(province => {\n  province.children = cityList[province.value]\n  province.children.forEach(city => {\n    city.children = areaList[city.value]\n  })\n})\n\ndescribe('SegmentPicker', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(SegmentPicker)\n    expect(Vue.component(SegmentPicker.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', function () {\n    vm = createSegmentPicker({\n      data: [{\n        title: '快递',\n        data: [expressData],\n        selectedIndex: [1]\n      }, {\n        is: 'cube-cascade-picker',\n        title: '出发地',\n        data: cityData,\n        selectedIndex: [0, 0, 0],\n        cancelTxt: '返回'\n      }, {\n        is: 'cube-cascade-picker',\n        title: '目的地',\n        data: cityData,\n        selectedIndex: [0, 0, 0]\n      }],\n      cancelTxt: 'Cancel',\n      confirmTxt: 'Confirm',\n      nextTxt: 'Next',\n      prevTxt: 'Prev'\n    })\n\n    const pickers = vm.$el.querySelectorAll('.cube-picker-panel')\n    expect(pickers.length)\n      .to.equal(3)\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    expect(wheels.length)\n      .to.equal(7)\n\n    const cancelBtns = vm.$el.querySelectorAll('.cube-picker-cancel')\n    const confirmBtns = vm.$el.querySelectorAll('.cube-picker-confirm')\n\n    expect(cancelBtns[0].textContent.trim())\n      .to.equal('Cancel')\n    expect(confirmBtns[0].textContent.trim())\n      .to.equal('Next')\n\n    expect(cancelBtns[1].textContent.trim())\n      .to.equal('返回')\n    expect(confirmBtns[1].textContent.trim())\n      .to.equal('Next')\n\n    expect(cancelBtns[2].textContent.trim())\n      .to.equal('Prev')\n    expect(confirmBtns[2].textContent.trim())\n      .to.equal('Confirm')\n  })\n\n  it('should correct by default', function () {\n    vm = createSegmentPicker()\n\n    vm.show()\n    vm.hide()\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n\n    const selectHandle = sinon.spy()\n    const cancelHandle = sinon.spy()\n    const nextHandle = sinon.spy()\n    const prevHandle = sinon.spy()\n    const changeHandle = sinon.spy()\n\n    vm = createSegmentPicker({\n      data: [{\n        data: [expressData],\n        selectedIndex: [1]\n      }, {\n        data: [column1],\n        selectedIndex: [0]\n      }]\n    }, {\n      select: selectHandle,\n      cancel: cancelHandle,\n      next: nextHandle,\n      prev: prevHandle,\n      change: changeHandle\n    })\n\n    const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n    const cancelBtns = vm.$el.querySelectorAll('.cube-picker-cancel')\n    const confirmBtns = vm.$el.querySelectorAll('.cube-picker-confirm')\n\n    // change\n    vm.show()\n    setTimeout(() => {\n      const items = wheels[0].querySelectorAll('li')\n\n      dispatchSwipe(items[2], [\n        {\n          pageX: items[2].offsetLeft + 10,\n          pageY: items[2].offsetTop + 10\n        },\n        {\n          pageX: 300,\n          pageY: 380\n        }\n      ], 100)\n\n      setTimeout(() => {\n        expect(changeHandle)\n          .to.be.callCount(1)\n\n        // cancel\n        cancelBtns[0].click()\n        expect(cancelHandle)\n          .to.be.callCount(1)\n\n        // next\n        vm.show()\n        vm.$nextTick(() => {\n          confirmBtns[0].click()\n          expect(nextHandle)\n            .to.be.callCount(1)\n\n          // prev\n          vm.$nextTick(() => {\n            cancelBtns[1].click()\n            expect(prevHandle)\n              .to.be.callCount(1)\n\n            // next\n            vm.$nextTick(() => {\n              confirmBtns[0].click()\n              expect(nextHandle)\n                .to.be.callCount(2)\n\n              // select\n              vm.$nextTick(() => {\n                confirmBtns[1].click()\n                expect(selectHandle)\n                  .to.be.callCount(1)\n                done()\n              })\n            })\n          })\n        })\n      }, 1000)\n    }, 100)\n  })\n\n  it('$updateProps', function (done) {\n    this.timeout(10000)\n\n    vm = createSegmentPicker({\n      data: [{\n        title: '快递',\n        data: [expressData],\n        selectedIndex: [1]\n      }, {\n        title: 'Dota',\n        data: [column1],\n        selectedIndex: [0]\n      }]\n    })\n\n    vm.$updateProps({\n      data: [{\n        title: 'Dota',\n        data: [column1, column2],\n        selectedIndex: [1, 1]\n      }, {\n        title: '快递',\n        data: [expressData],\n        selectedIndex: [0]\n      }]\n    })\n\n    vm.$nextTick(() => {\n      const titles = vm.$el.querySelectorAll('.cube-picker-title')\n      expect(titles[0].textContent.trim())\n        .to.equal('Dota')\n\n      expect(titles[1].textContent.trim())\n        .to.equal('快递')\n\n      done()\n    })\n  })\n\n  it('should add warn log when single is true', () => {\n    const app = new Vue()\n    const originWarn = console.warn\n    const msgs = []\n    console.warn = function (...args) {\n      msgs.push(args.join('#'))\n    }\n    vm = app.$createSegmentPicker({}, true)\n    expect(msgs.length)\n      .to.equal(1)\n    console.warn = originWarn\n  })\n\n  function createSegmentPicker(props = {}, events = {}) {\n    return instantiateComponent(Vue, SegmentPicker, {\n      props: props,\n      on: events\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/select.spec.js",
    "content": "import Vue from 'vue2'\nimport Select from '@/modules/select'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport createVue from '../utils/create-vue'\n\ndescribe('Select.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(Select)\n    expect(Vue.component(Select.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', () => {\n    vm = createSelect({\n      value: 2016,\n      options: [2013, 2014, 2015, 2016, 2017, 2018]\n    })\n    const el = vm.$el\n    expect(el.querySelector('.cube-select-text').textContent.trim())\n      .to.equal('2016')\n  })\n\n  it('should render correct contents - update txt', (done) => {\n    vm = createVue({\n      template: `\n        <cube-select v-model=\"value\" :options=\"options\" :title=\"title\" :confirmTxt=\"confirmTxt\" :cancelTxt=\"cancelTxt\" />\n      `,\n      data: {\n        value: 2016,\n        options: [2013, 2014, 2015, 2016, 2017, 2018],\n        title: 'title',\n        confirmTxt: 'confirm',\n        cancelTxt: 'cancel'\n      }\n    })\n    // change txt\n    vm.$parent.title = 'title2'\n    vm.$parent.confirmTxt = 'confirm2'\n    vm.$parent.cancelTxt = 'cancel2'\n    vm.$nextTick(() => {\n      expect(vm.picker.$el.querySelector('.cube-picker-cancel').textContent.trim())\n        .to.equal('cancel2')\n      expect(vm.picker.$el.querySelector('.cube-picker-confirm').textContent.trim())\n        .to.equal('confirm2')\n      expect(vm.picker.$el.querySelector('.cube-picker-choose h1').textContent.trim())\n        .to.equal('title2')\n      done()\n    })\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n\n    const changeHandle = sinon.spy()\n    vm = createSelect({\n      value: 2016,\n      options: [2013, 2014, 2015, 2016, 2017, 2018]\n    }, {\n      change: changeHandle\n    })\n    const el = vm.$el\n    el.click()\n\n    setTimeout(() => {\n      vm.picker.scrollTo(0, 1)\n      setTimeout(() => {\n        const confirmBtn = document.querySelector('.cube-picker-confirm')\n        confirmBtn.click()\n        expect(changeHandle)\n          .to.be.callCount(1)\n        done()\n      }, 1000)\n    }, 100)\n  })\n})\n\nfunction createSelect (props = {}, events = {}) {\n  return instantiateComponent(Vue, Select, {\n    props: props,\n    on: events\n  })\n}\n"
  },
  {
    "path": "test/unit/specs/slide.spec.js",
    "content": "import Vue from 'vue2'\nimport Slide from '@/modules/slide'\nimport createVue from '../utils/create-vue'\nimport { dispatchSwipe } from '../utils/event'\n\nconst items = [{\n  url: 'http://www.didichuxing.com/',\n  image: 'http://webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide01.png'\n}, {\n  url: 'http://www.didichuxing.com/',\n  image: 'http://webapp.didistatic.com/static/webapp/shield/cube-ui-examples-slide02.png'\n}]\n\ndescribe('Slide.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Slide)\n    expect(Vue.component(Slide.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', function (done) {\n    vm = createVue({\n      template: `\n      <cube-slide :loop=\"loop\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        loop: false\n      }\n    })\n    vm.$nextTick(() => {\n      const itemEls = vm.$el.querySelectorAll('.cube-slide-item')\n      expect(itemEls.length).to.equal(items.length)\n      let imgEl = itemEls[0].querySelector('img')\n      expect(imgEl.src).to.equal(items[0].image)\n      vm.$nextTick(() => {\n        let dotEls = vm.$el.querySelectorAll('.cube-slide-dots span')\n        expect(dotEls.length).to.equal(2)\n        expect(dotEls[0].className).to.equal('active')\n      })\n      done()\n    })\n  })\n\n  it('should clone nodes if loop is true', (done) => {\n    vm = createVue({\n      template: `\n      <cube-slide :loop=\"loop\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        loop: true\n      }\n    })\n\n    vm.$nextTick(() => {\n      let groupEl = vm.$el.querySelector('.cube-slide-group')\n      let itemEls = vm.$el.querySelectorAll('.cube-slide-item')\n      expect(itemEls.length).to.equal(items.length + 2)\n      let width = itemEls[0].clientWidth\n      expect(groupEl.clientWidth).to.equal(width * (items.length + 2))\n\n      vm.$destroy()\n      vm = createVue({\n        template: `\n      <cube-slide :loop=\"loop\" :direction=\"direction\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n        data: {\n          items,\n          loop: true,\n          direction: 'vertical'\n        }\n      })\n      vm.$nextTick(() => {\n        groupEl = vm.$el.querySelector('.cube-slide-group')\n        itemEls = vm.$el.querySelectorAll('.cube-slide-item')\n        expect(itemEls.length).to.equal(items.length + 2)\n        let height = itemEls[0].clientHeight\n        expect(groupEl.clientHeight).to.equal(height * (items.length + 2))\n        done()\n      })\n    })\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n    const changeHandler = sinon.spy()\n    const scrollEndHandler = sinon.spy()\n    vm = createVue({\n      template: `\n      <cube-slide :interval=\"interval\" @change=\"change\" @scroll-end=\"scrollEnd\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        interval: 1000\n      },\n      methods: {\n        change: changeHandler,\n        scrollEnd: scrollEndHandler\n      }\n    })\n    setTimeout(() => {\n      // auto change\n      expect(changeHandler).to.be.callCount(1)\n      expect(scrollEndHandler).to.be.callCount(1)\n      dispatchSwipe(vm.$el, [\n        {\n          pageX: 180,\n          pageY: 20\n        },\n        {\n          pageX: 10,\n          pageY: 20\n        }\n      ], 100)\n      setTimeout(() => {\n        expect(changeHandler).to.be.callCount(2)\n        expect(scrollEndHandler).to.be.callCount(2)\n        done()\n      }, 600)\n    }, 2000)\n  })\n\n  it('should trigger scroll-end but without change', function (done) {\n    this.timeout(10000)\n    const changeHandler = sinon.spy()\n    const scrollEndHandler = sinon.spy()\n    vm = createVue({\n      template: `\n      <cube-slide :autoPlay=\"autoPlay\" :threshold=\"threshold\" @change=\"change\" @scroll-end=\"scrollEnd\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        autoPlay: false,\n        threshold: 0.9\n      },\n      methods: {\n        change: changeHandler,\n        scrollEnd: scrollEndHandler\n      }\n    })\n\n    setTimeout(() => {\n      dispatchSwipe(vm.$el, [\n        {\n          pageX: 180,\n          pageY: 20\n        },\n        {\n          pageX: 10,\n          pageY: 20\n        }\n      ], 100)\n      setTimeout(() => {\n        expect(scrollEndHandler).to.be.callCount(1)\n        expect(changeHandler).to.be.callCount(0)\n\n        done()\n      }, 2000)\n    }, 100)\n  })\n\n  it('should trigger scroll when changed', function (done) {\n    this.timeout(10000)\n    const scrollHandler = sinon.spy()\n    vm = createVue({\n      template: `\n      <cube-slide :autoPlay=\"autoPlay\" :interval=\"interval\" :threshold=\"threshold\" :options=\"options\" @scroll=\"scroll\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        autoPlay: true,\n        threshold: 0.1,\n        interval: 100,\n        options: {\n          listenScroll: true,\n          probeType: 3\n        }\n      },\n      methods: {\n        scroll: scrollHandler\n      }\n    })\n\n    setTimeout(() => {\n      expect(scrollHandler).to.be.called\n      done()\n    }, 2000)\n  })\n\n  it('should not trigger scroll when option.probeType !== 3', function (done) {\n    this.timeout(10000)\n    const scrollHandler = sinon.spy()\n    vm = createVue({\n      template: `\n      <cube-slide :autoPlay=\"autoPlay\" :interval=\"interval\" :threshold=\"threshold\" :options=\"options\" @scroll=\"scroll\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        autoPlay: true,\n        threshold: 0.1,\n        interval: 100,\n        options: {\n          listenScroll: true\n        }\n      },\n      methods: {\n        scroll: scrollHandler\n      }\n    })\n\n    setTimeout(() => {\n      expect(scrollHandler).not.to.be.called\n      done()\n    }, 2000)\n  })\n\n  it('should go to right pageIndex if set initialIndex', function (done) {\n    vm = createVue({\n      template: `\n      <cube-slide style=\"width:300px;height:100px;\" :initial-index=\"initialIndex\" :auto-play=\"autoPlay\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        initialIndex: 0,\n        autoPlay: false\n      }\n    })\n\n    vm.$nextTick(() => {\n      vm.$parent.initialIndex = 1\n      setTimeout(() => {\n        expect(vm.currentPageIndex).to.equal(1)\n        done()\n      }, 600)\n    })\n  })\n\n  it('should not reset current when set refreshResetCurrent=false', function (done) {\n    vm = createVue({\n      template: `\n      <cube-slide style=\"width:300px;height:100px;\"\n        :initial-index=\"initialIndex\"\n        :auto-play=\"autoPlay\"\n        :refreshResetCurrent=\"refreshResetCurrent\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        initialIndex: 1,\n        autoPlay: false,\n        refreshResetCurrent: false\n      }\n    })\n\n    vm.$nextTick(() => {\n      vm.$parent.autoPlay = true\n      setTimeout(() => {\n        // stay 1 not 0\n        expect(vm.currentPageIndex).to.equal(1)\n        done()\n      }, 20)\n    })\n  })\n\n  it('should change vertical pageIndex when direction is vertical', function (done) {\n    this.timeout(10000)\n    vm = createVue({\n      template: `\n      <cube-slide :threshold=\"threshold\" direction=\"vertical\" style=\"width:300px;height:100px;\">\n        <cube-slide-item v-for=\"(item,index) in items\" :key=\"index\" :item=\"item\"></cube-slide-item>\n      </cube-slide>\n    `,\n      data: {\n        items,\n        threshold: 0.1\n      }\n    })\n\n    vm.$nextTick(() => {\n      expect(vm.currentPageIndex).to.equal(0)\n      dispatchSwipe(vm.$el, [\n        {\n          pageX: 180,\n          pageY: 100\n        },\n        {\n          pageX: 180,\n          pageY: 20\n        }\n      ], 100)\n      setTimeout(() => {\n        expect(vm.currentPageIndex).to.equal(1)\n        done()\n      }, 2000)\n    })\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/sticky.spec.js",
    "content": "import Vue from 'vue2'\nimport Sticky from '@/modules/sticky'\nimport createVue from '../utils/create-vue'\n\ndescribe('Sticky', () => {\n  let vm\n\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(Sticky)\n    expect(Vue.component(Sticky.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', (done) => {\n    vm = createSticky()\n    expect(vm.$el.className)\n      .to.equal('cube-sticky')\n    const eles = vm.$el.querySelectorAll('.cube-sticky-ele')\n    expect(eles.length)\n      .to.equal(3)\n    expect(vm.$el.querySelector('.cube-sticky-fixed').style.display)\n      .to.equal('none')\n    setTimeout(() => {\n      done()\n    })\n  })\n\n  it('should fixed ele', (done) => {\n    vm = createSticky()\n    expect(vm.currentIndex)\n      .to.equal(-1)\n    expect(vm.currentKey)\n      .to.equal('')\n    setTimeout(() => {\n      vm.$parent.scrollTo(280)\n      setTimeout(() => {\n        expect(vm.currentIndex)\n          .to.equal(0)\n        expect(vm.currentKey)\n          .to.equal(0)\n        expect(vm.currentDiff)\n          .to.equal(250)\n        const fixed = vm.$el.querySelector('.cube-sticky-fixed')\n        expect(fixed.style.display)\n          .not.equal('none')\n        expect(fixed.textContent.trim())\n          .to.equal('111')\n        vm.$parent.scrollTo(500)\n        setTimeout(() => {\n          expect(vm.currentIndex)\n            .to.equal(1)\n          expect(vm.currentKey)\n            .to.equal('2')\n          expect(vm.currentDiff)\n            .to.equal(20)\n          vm.$parent.scrollTo(0)\n          setTimeout(() => {\n            expect(vm.currentIndex)\n              .to.equal(-1)\n            expect(vm.currentKey)\n              .to.equal('')\n            expect(vm.currentDiff)\n              .to.equal(0)\n            done()\n          })\n        })\n      })\n    })\n  })\n\n  it('should fixed ele - checkTop', (done) => {\n    vm = createSticky({\n      checkTop: false\n    }, {}, `\n      <template slot=\"fixed\" slot-scope=\"props\">\n        <span>{{props.current}}</span>\n      </template>\n    `)\n    expect(vm.currentIndex)\n      .to.equal(-1)\n    expect(vm.currentKey)\n      .to.equal('')\n    setTimeout(() => {\n      vm.$parent.scrollTo(280)\n      setTimeout(() => {\n        expect(vm.currentIndex)\n          .to.equal(0)\n        expect(vm.currentKey)\n          .to.equal(0)\n        expect(vm.currentDiff)\n          .to.equal(220)\n        const fixed = vm.$el.querySelector('.cube-sticky-fixed')\n        expect(fixed.style.display)\n          .not.equal('none')\n        expect(fixed.textContent.trim())\n          .to.equal('0')\n        vm.$parent.scrollTo(1000)\n        setTimeout(() => {\n          expect(vm.currentIndex)\n            .to.equal(2)\n          expect(vm.currentKey)\n            .to.equal('3')\n          expect(vm.currentDiff)\n            .to.equal(10)\n          vm.$parent.scrollTo(0)\n          setTimeout(() => {\n            expect(vm.currentIndex)\n              .to.equal(-1)\n            expect(vm.currentKey)\n              .to.equal('')\n            expect(vm.currentDiff)\n              .to.equal(0)\n            done()\n          })\n        })\n      })\n    })\n  })\n\n  it('should trigger events', (done) => {\n    const changeHandler = sinon.spy()\n    const onDiffChange = sinon.spy()\n    vm = createSticky(undefined, {\n      onChange: changeHandler,\n      onDiffChange: onDiffChange\n    })\n    setTimeout(() => {\n      vm.$parent.scrollTo(280)\n      setTimeout(() => {\n        expect(changeHandler)\n          .to.be.calledOnce\n        expect(changeHandler)\n          .to.be.calledWith(0)\n        expect(onDiffChange)\n          .to.be.calledOnce\n        vm.$parent.scrollTo(500)\n        setTimeout(() => {\n          expect(changeHandler)\n            .to.be.calledTwice\n          expect(changeHandler)\n            .to.be.calledWith('2')\n          expect(onDiffChange)\n            .to.be.calledTwice\n          done()\n        })\n      })\n    })\n  })\n\n  function createSticky(props = { checkTop: true }, events = {}, fixedSlot) {\n    const _data = [\n      '1',\n      '2',\n      '3',\n      '4',\n      '5',\n      '6',\n      '7',\n      '8',\n      '9',\n      '10',\n      '11',\n      '12',\n      '13',\n      '14'\n    ]\n    return createVue({\n      template: `\n        <div style=\"height:400px;font-size:30px;\">\n          <cube-sticky\n            :pos=\"scrollY\"\n            :check-top=\"checkTop\"\n            @change=\"changeHandler\"\n            @diff-change=\"diffChangeHandler\">\n            <div\n              ref=\"scroller\"\n              style=\"height:100%;overflow:auto;\"\n              @scroll=\"scrollHandler\">\n              <ul>\n                <li>title</li>\n              </ul>\n              <cube-sticky-ele>\n                <ul>\n                  <li>111</li>\n                </ul>\n              </cube-sticky-ele>\n              <ul>\n                <li v-for=\"item in items\">{{item}}</li>\n              </ul>\n              <cube-sticky-ele ele-key=\"2\">\n                <ul>\n                  <li>222</li>\n                  <li>222</li>\n                </ul>\n              </cube-sticky-ele>\n              <ul>\n                <li v-for=\"item in items2\">{{item}}</li>\n              </ul>\n              <cube-sticky-ele ele-key=\"3\">\n                <ul>\n                  <li>333</li>\n                </ul>\n              </cube-sticky-ele>\n              <ul>\n                <li v-for=\"item in items3\">{{item}}</li>\n              </ul>\n            </div>\n            ${fixedSlot || ''}\n          </cube-sticky>\n        </div>\n      `,\n      data: {\n        checkTop: props.checkTop,\n        scrollY: 0,\n        items: _data.concat(),\n        items2: _data.concat(),\n        items3: _data.concat()\n      },\n      methods: {\n        changeHandler(key, index) {\n          events.onChange && events.onChange.call(this, key, index)\n        },\n        diffChangeHandler(diff, height) {\n          events.onDiffChange && events.onDiffChange.call(this, diff, height)\n        },\n        scrollHandler(e) {\n          this.scrollY = e.currentTarget.scrollTop\n        },\n        scrollTo(y) {\n          this.$refs.scroller.scrollTop = y\n        }\n      }\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/swipe.spec.js",
    "content": "import Vue from 'vue2'\nimport Swipe from '@/modules/swipe'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchSwipe, dispatchTouch } from '../utils/event'\n\nconst STATE_SHRINK = 0\nconst STATE_GROW = 1\n\nconst props = {\n  data: [{\n    item: {\n      text: '测试1',\n      value: 1\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }, {\n    item: {\n      text: '测试2',\n      value: 2\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }, {\n    item: {\n      text: '测试3',\n      value: 3\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }, {\n    item: {\n      text: '测试',\n      value: 4\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }, {\n    item: {\n      text: '测试',\n      value: 5\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }, {\n    item: {\n      text: '测试',\n      value: 6\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }, {\n    item: {\n      text: '测试',\n      value: 7\n    },\n    btns: [\n      {\n        action: 'clear',\n        text: '不再关注',\n        color: '#c8c7cd'\n      },\n      {\n        action: 'delete',\n        text: '删除',\n        color: '#ff3a32'\n      }\n    ]\n  }],\n  autoShrink: true\n}\n\ndescribe('Swipe', () => {\n  it('use', () => {\n    Vue.use(Swipe)\n    expect(Vue.component(Swipe.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', () => {\n    let vm = createSwipe(props)\n    const swipeItems = vm.$el.querySelectorAll('.cube-swipe-item')\n    expect(swipeItems.length).to.equal(7)\n    const swipeItem = swipeItems[0]\n    expect(swipeItem.querySelectorAll('.cube-swipe-item-inner')[0].children[0].textContent).to.equal('测试1')\n\n    const btnGroup = swipeItem.querySelectorAll('.cube-swipe-btn')\n    expect(btnGroup.length).to.equal(2)\n    expect(btnGroup[0].querySelectorAll('.text')[0].textContent).to.equal('不再关注')\n    expect(btnGroup[1].querySelectorAll('.text')[0].textContent).to.equal('删除')\n  })\n\n  it('should shrink if the swipe width not enough', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem, btnWidth} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 300 - btnWidth / 2 + 10,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 400, () => {\n      expect(swipeItemInstance.state).to.equal(STATE_SHRINK)\n      done()\n    })\n  })\n\n  it('should shrink if the last moving direction is right', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem, btnWidth} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 300 - btnWidth / 2 - 100,\n      pageY: 10\n    }, {\n      pageX: 300 - btnWidth / 2 - 50,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 400, () => {\n      expect(swipeItemInstance.state).to.equal(STATE_SHRINK)\n      done()\n    })\n  })\n\n  it('should shrink and not moved if the duration is more than momentumLimitTime and moving distance is less than momentumLimitDistance', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 290,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 400, () => {\n      expect(swipeItemInstance.state).to.equal(STATE_SHRINK)\n      expect(swipeItemInstance.moved).to.equal(false)\n      done()\n    })\n  })\n\n  it('should shrink and not moved if y-axis distance is more than x-axis distance', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 250,\n      pageY: 80\n    }]\n\n    dispatchSwipe(swipeItem, touches, 200, () => {\n      expect(swipeItemInstance.state).to.equal(STATE_SHRINK)\n      expect(swipeItemInstance.moved).to.equal(false)\n      done()\n    })\n  })\n\n  it('should grow if the swipe width enough', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem, btnWidth} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 300 - btnWidth / 2 - 10,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 400, () => {\n      expect(swipeItemInstance.state).to.equal(STATE_GROW)\n      done()\n    })\n  })\n\n  it('should grow if the duration is less than momentumLimitTime and moving distance is more than momentumLimitDistance', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 280,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 100, () => {\n      expect(swipeItemInstance.state).to.equal(STATE_GROW)\n      done()\n    })\n  })\n\n  it('should not swipe out of the boundaries when swiping left', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 200,\n      pageY: 10\n    }, {\n      pageX: 100,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 400, () => {\n      expect(swipeItemInstance.x).to.equal(swipeItemInstance.maxScrollX)\n      done()\n    })\n  })\n\n  it('should not swipe out of the boundaries when swiping right', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 350,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 400, () => {\n      expect(swipeItemInstance.x).to.equal(0)\n      done()\n    })\n  })\n\n  it('should trigger events', () => {\n    const btnClickHandler = sinon.spy()\n    const itemClickHandler = sinon.spy()\n\n    let vm = createSwipe(props, {\n      'btn-click': btnClickHandler,\n      'item-click': itemClickHandler\n    })\n\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n    swipeItem.querySelectorAll('.cube-swipe-item-inner')[0].click()\n    expect(itemClickHandler).to.be.calledOnce\n    swipeItem.querySelectorAll('.cube-swipe-btn')[0].click()\n    expect(btnClickHandler).to.be.calledOnce\n    expect(swipeItemInstance.state).to.equal(STATE_SHRINK)\n  })\n\n  it('should shrink if another swipe item active', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n    let context = createSwipeContext(vm, 1)\n    let swipeItemInstance1 = context.swipeItemInstance\n    let swipeItem1 = context.swipeItem\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 280,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 100, () => {\n      dispatchSwipe(swipeItem1, touches, 100, () => {\n        expect(swipeItemInstance1.state).to.equal(STATE_GROW)\n        done()\n      })\n      expect(swipeItemInstance.state).to.equal(STATE_SHRINK)\n    })\n  })\n\n  it('should do nothing if active the same swipe item', (done) => {\n    let vm = createSwipe(props)\n    let {swipeItemInstance, swipeItem} = createSwipeContext(vm)\n\n    const touches = [{\n      pageX: 300,\n      pageY: 10\n    }, {\n      pageX: 280,\n      pageY: 10\n    }]\n\n    dispatchSwipe(swipeItem, touches, 100, () => {\n      dispatchTouch(swipeItem, 'touchstart', touches[0])\n      expect(swipeItemInstance.state).to.equal(STATE_GROW)\n      done()\n    })\n  })\n\n  it('should call refresh if the btns prop has changed', (done) => {\n    let vm = new Vue({\n      template: '<cube-swipe :data=\"swipeData\"></cube-swipe>',\n      data() {\n        return {\n          swipeData: props.data\n        }\n      },\n      components: {\n        CubeSwipe: Swipe\n      }\n    })\n    vm.$mount()\n    vm = vm.$children[0]\n    let {swipeItemInstance} = createSwipeContext(vm)\n\n    vm.data[0].btns.push({\n      action: 'new',\n      text: '新增',\n      color: '#fc9153'\n    })\n\n    setTimeout(() => {\n      expect(swipeItemInstance.cachedBtns.length).to.be.equal(3)\n      done()\n    }, 0)\n  })\n\n  it('should use default props if do not pass any prop', () => {\n    let vm = createSwipe()\n    expect(vm.data.length).to.be.equal(0)\n\n    vm = createSwipe({\n      data: [{\n        item: {\n          value: 1\n        }\n      }]\n    })\n\n    let {swipeItemInstance} = createSwipeContext(vm)\n    expect(swipeItemInstance.btns.length).to.be.equal(0)\n  })\n\n  function createSwipe(props = {}, events = {}) {\n    return instantiateComponent(Vue, Swipe, {\n      props,\n      on: events\n    })\n  }\n\n  function createSwipeContext(vm, index = 0) {\n    const swipeItemInstance = vm.items[index]\n    const swipeItem = swipeItemInstance.$el\n    const btnGroup = swipeItem.querySelectorAll('.cube-swipe-btn')\n    let btnWidth = 0\n    for (let i = 0; i < btnGroup.length; i++) {\n      btnWidth += btnGroup[i].offsetWidth\n    }\n\n    return {\n      swipeItemInstance,\n      swipeItem,\n      btnWidth\n    }\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/switch.spec.js",
    "content": "import Vue from 'vue2'\nimport Switch from '@/modules/switch'\nimport createVue from '../utils/create-vue'\n\ndescribe('Switch', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Switch)\n    expect(Vue.component(Switch.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createSwitch()\n    const el = vm.$el\n    expect(el.className)\n      .to.equal('cube-switch my-switch')\n    expect(el.querySelector('.cube-switch-label').textContent.trim())\n      .to.equal('Switch')\n  })\n  it('should toggle v-model value', function(done) {\n    this.timeout(1000)\n    vm = createSwitch()\n    expect(vm.$parent.value)\n      .to.be.true\n    vm.$el.querySelector('.cube-switch-input').click()\n    setTimeout(() => {\n      expect(vm.$parent.value)\n        .to.be.false\n      done()\n    }, 20)\n  })\n})\n\nfunction createSwitch () {\n  const vm = createVue({\n    template: `\n    <cube-switch class=\"my-switch\" v-model=\"value\">Switch</cube-switch>\n    `,\n    data: {\n      value: true\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/tab-bar.spec.js",
    "content": "import Vue from 'vue2'\nimport CubeTabBar from '@/modules/tab-bar'\nimport CubeTabPanels from '@/modules/tab-panels'\nimport createVue from '../utils/create-vue'\n\ndescribe('TabBar', () => {\n  let vm\n  it('use', () => {\n    Vue.use(CubeTabBar)\n    expect(Vue.component(CubeTabBar.name))\n      .to.be.a('function')\n    Vue.use(CubeTabPanels)\n    expect(Vue.component(CubeTabPanels.name))\n      .to.be.a('function')\n  })\n  it('props', (done) => {\n    vm = createVue({\n      template: `\n      <cube-tab-bar v-model=\"selectedLabel\" :data=\"tabs\" show-slider>\n      </cube-tab-bar>\n    `,\n      data: {\n        selectedLabel: '夜魇',\n        tabs: [{ label: '天辉', icon: 'cubeic-like' }, { label: '夜魇', icon: 'cubeic-star' }]\n      }\n    })\n    vm.$nextTick(() => {\n      expect(vm.$el.querySelectorAll('.cube-tab-bar-slider').length)\n        .to.be.equal(1)\n      expect(vm.$el.querySelectorAll('.cube-tab')[0].getElementsByTagName('div')[0].textContent)\n        .to.include('天辉')\n      done()\n    })\n  })\n  it('should render correct content when pass data prop', (done) => {\n    const vm = createVue({\n      template: `\n      <div>\n        <cube-tab-bar v-model=\"selectedLabel\">\n          <cube-tab ref=\"tab\" v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"index\">\n          {{item.label}}\n          </cube-tab>\n        </cube-tab-bar>\n        <cube-tab-panels v-model=\"selectedLabel\" :data=\"tabs\"></cube-tab-panels>\n      </div>\n    `,\n      data: {\n        selectedLabel: '夜魇',\n        tabs: [{ label: '天辉', icon: 'cubeic-like' }, { label: '夜魇', icon: 'cubeic-star' }]\n      }\n    })\n    setTimeout(() => {\n      const items = vm.$parent.$el.querySelectorAll('.cube-tab-panel')\n      const firstTab = vm.$parent.$refs.tab[0].$el\n      firstTab.click()\n      expect(items[0].textContent)\n        .to.include('天辉')\n      done()\n    }, 300)\n  })\n  it('should toggle v-model value', () => {\n    vm = createTabBar()\n    const items = vm.$el.querySelectorAll('.cube-tab')\n    items[1].click()\n    expect(vm.$parent.selectedLabel)\n      .to.be.equal('夜魇')\n  })\n  it('should trigger click and change event', () => {\n    const clickHandler = sinon.spy()\n    const changeHandler = sinon.spy()\n    vm = createTabBar({ clickHandler, changeHandler })\n    const items = vm.$el.querySelectorAll('.cube-tab')\n    items[1].click()\n    expect(clickHandler)\n      .to.be.calledOnce\n    expect(changeHandler)\n      .to.be.calledOnce\n  })\n  it('should remove child dom when child component destroyed', (done) => {\n    vm = createVue({\n      template: `\n      <div class=\"cube-tabs-container\">\n        <cube-tab-bar ref=\"tabBar\" v-model=\"selectedLabel\">\n          <cube-tab ref=\"tab\" v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"index\">\n          {{item.label}}\n          </cube-tab>\n        </cube-tab-bar>\n        <cube-tab-panels v-model=\"selectedLabel\">\n          <cube-tab-panel ref=\"panel\" v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"index\">\n          {{item.label}}\n          </cube-tab-panel>\n        </cube-tab-panels>\n      </div>\n    `,\n      data: {\n        selectedLabel: '天辉',\n        tabs: [{ label: '天辉', class: 'cubeic-like' }, { label: '夜魇', class: 'cubeic-star' }]\n      }\n    })\n    // destroyed tab and panel\n    vm.$parent.tabs.splice(0, 1)\n    setTimeout(() => {\n      expect(vm.$parent.$el.querySelectorAll('.cube-tab').length)\n        .to.be.equal(1)\n      expect(vm.$parent.$el.querySelectorAll('.cube-tab-panel').length)\n        .to.be.equal(1)\n      done()\n    }, 1000)\n  })\n})\n\nfunction createTabBar (options) {\n  const vm = createVue({\n    template: `\n      <cube-tab-bar v-model=\"selectedLabel\" show-slider @click=\"clickHandler\" @change=\"changeHandler\">\n        <cube-tab v-for=\"(item, index) in tabs\" :label=\"item.label\" :key=\"index\" >\n          <i slot=\"icon\" :class=\"item.icon\"></i>\n          {{item.label}}\n        </cube-tab>\n      </cube-tab-bar>\n    `,\n    data: {\n      selectedLabel: '天辉',\n      tabs: [{ label: '天辉', icon: 'cubeic-like' }, { label: '夜魇', icon: 'cubeic-star' }]\n    },\n    methods: {\n      clickHandler: (options && options.clickHandler) || function () {},\n      changeHandler: (options && options.changeHandler) || function () {}\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/textarea.spec.js",
    "content": "import Vue from 'vue2'\nimport Textarea from '@/modules/textarea'\nimport createVue from '../utils/create-vue'\n\ndescribe('Textarea.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Textarea)\n    expect(Vue.component(Textarea.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createTextarea()\n    const el = vm.$el\n    expect(el.className)\n      .to.equal('cube-textarea-wrapper')\n    expect(el.querySelector('textarea'))\n      .to.be.ok\n  })\n  it('should render correct contents - no indicator', () => {\n    vm = createTextarea('', false)\n    const el = vm.$el\n    expect(el.className)\n      .to.equal('cube-textarea-wrapper')\n    expect(el.querySelector('textarea'))\n      .to.be.ok\n    expect(el.querySelector('.cube-textarea-indicator'))\n      .not.to.be.ok\n  })\n  it('should not expand when blur', () => {\n    vm = createTextarea()\n    expect(vm.$el.offsetHeight)\n      .to.equal(40)\n  })\n  it('should expand when focus, fold when blur', (done) => {\n    vm = createTextarea(1)\n    vm.focus()\n    setTimeout(() => {\n      expect(vm.$el.offsetHeight)\n        .to.equal(80)\n      vm.textareaValue = ''\n      vm.blur()\n      setTimeout(() => {\n        expect(vm.$el.offsetHeight)\n          .to.equal(40)\n        done()\n      }, 500)\n    }, 500)\n  })\n  it('should has remain when focus', (done) => {\n    vm = createTextarea(1)\n    vm.focus()\n    setTimeout(() => {\n      expect(vm.$el.querySelector('.cube-textarea-indicator').innerText)\n        .to.equal('56')\n      vm.$parent.value = new Array(61).join('1')\n      setTimeout(() => {\n        expect(vm.$el.querySelector('.cube-textarea-indicator').innerText)\n          .to.equal('0')\n        // update maxlength\n        vm.$parent.maxlength = 30\n        vm.$parent.$set(vm.$parent, 'indicator', {\n          negative: false,\n          remain: true\n        })\n        setTimeout(() => {\n          expect(vm.$el.querySelector('.cube-textarea-indicator').innerText)\n            .to.equal('0')\n          done()\n        })\n      })\n    })\n  })\n  it('should change value', (done) => {\n    vm = createTextarea(1, {\n      remain: false\n    })\n    vm.$parent.value = '1234'\n    setTimeout(() => {\n      expect(vm.$el.querySelector('textarea').value)\n        .to.equal('1234')\n      expect(vm.$el.querySelector('.cube-textarea-indicator').innerText)\n        .to.equal('4')\n      done()\n    }, 100)\n  })\n  it('should support more native props', () => {\n    vm = createVue({\n      template: `\n        <cube-textarea :autofocus=\"true\" :readonly=\"true\" :disabled=\"true\" v-model=\"value\" />\n      `,\n      data: {\n        value: '1'\n      }\n    })\n\n    const el = vm.$el.querySelector('textarea')\n    expect(el.disabled)\n      .to.be.true\n    expect(el.readOnly)\n      .to.be.true\n    expect(el.autofocus)\n      .to.be.true\n  })\n  it('should expand when autoExpand', (done) => {\n    vm = createTextarea('1234', true, true)\n    setTimeout(() => {\n      expect(vm.$el.className)\n        .to.include('cube-textarea_expanded')\n      done()\n    })\n  })\n})\n\nfunction createTextarea (value, indicator = true, autoExpand = false) {\n  const vm = createVue({\n    template: `\n      <cube-textarea\n        :disabled=\"disabled\"\n        :readonly=\"readonly\"\n        :indicator=\"indicator\"\n        :maxlength=\"maxlength\"\n        :auto-expand=\"autoExpand\"\n        v-model=\"value\"\n      >\n      </cube-textarea>\n    `,\n    data: {\n      disabled: false,\n      readonly: false,\n      maxlength: 60,\n      value: value && 'test',\n      indicator: indicator,\n      autoExpand: autoExpand\n    }\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/time-picker.spec.js",
    "content": "import Vue from 'vue2'\nimport TimePicker from '@/modules/time-picker'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport { dispatchSwipe } from '../utils/event'\nimport { getDayDiff } from '@/common/lang/date'\n\ndescribe('TimePicker', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n\n  it('use', () => {\n    Vue.use(TimePicker)\n    expect(Vue.component(TimePicker.name))\n      .to.be.a('function')\n  })\n\n  it('should render correct contents', function (done) {\n    vm = createPicker()\n\n    const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n    expect(cancelBtn.textContent.trim())\n      .to.equal('取消')\n\n    const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n    expect(confirmBtn.textContent.trim())\n      .to.equal('确定')\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      expect(wheels.length)\n        .to.equal(3)\n\n      const firstWheelItems = wheels[0].querySelectorAll('li')\n      expect(firstWheelItems.length)\n        .to.equal(3)\n      expect(firstWheelItems[0].textContent.trim())\n        .to.equal('今日')\n\n      const secondWheelItems = wheels[1].querySelectorAll('li')\n      expect(secondWheelItems[0].textContent.trim())\n        .to.equal('现在')\n\n      vm.hide()\n\n      setTimeout(() => {\n        const nextDate = new Date(Date.now() + 24 * 60 * 60 * 1000)\n        vm.setTime(+nextDate)\n        vm.show()\n        setTimeout(() => {\n          const wheel = vm.$el.querySelector('.cube-picker-wheel-wrapper > div > ul')\n          const transform = wheel.style.webkitTransform || wheel.style.transform\n          expect(transform.match(/translate\\(0px,\\s*(-?\\d+)px\\)/)[1])\n            .to.equal('-36')\n\n          expect(firstWheelItems[1].textContent.trim())\n            .to.equal(`${nextDate.getMonth() + 1}月${nextDate.getDate()}日`)\n\n          done()\n        }, 100)\n      })\n    }, 100)\n  })\n\n  it('should render correct contents - no showNow', function (done) {\n    vm = createPicker({\n      showNow: false,\n      title: '自定义标题',\n      day: {\n        len: 4,\n        filter: ['今天'],\n        format: 'M月d日'\n      }\n    })\n\n    const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n    expect(cancelBtn.textContent.trim())\n      .to.equal('取消')\n\n    const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n    expect(confirmBtn.textContent.trim())\n      .to.equal('确定')\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      expect(wheels.length)\n        .to.equal(3)\n      const firstWheelItems = wheels[0].querySelectorAll('li')\n      expect(firstWheelItems.length)\n        .to.equal(4)\n      expect(firstWheelItems[0].textContent.trim())\n        .to.equal('今天')\n      done()\n    }, 100)\n  })\n\n  it('should render correct contents - showNow text', function (done) {\n    vm = createPicker({\n      showNow: {\n        text: 'now text'\n      }\n    })\n\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n\n      const secondWheelItems = wheels[1].querySelectorAll('li')\n      expect(secondWheelItems[0].textContent.trim())\n        .to.equal('now text')\n\n      done()\n    }, 100)\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(10000)\n\n    const selectHandle = sinon.spy()\n    const cancelHandle = sinon.spy()\n    const changeHandle = sinon.spy()\n    const events = {\n      select: selectHandle,\n      cancel: cancelHandle,\n      change: changeHandle\n    }\n\n    vm = createPicker({}, events)\n\n    // cancel\n    vm.show()\n    const cancelBtn = vm.$el.querySelector('.cube-picker-cancel')\n    cancelBtn.click()\n    expect(cancelHandle)\n      .to.be.callCount(1)\n\n    // change\n    vm.show()\n    setTimeout(() => {\n      const wheels = vm.$el.querySelectorAll('.cube-picker-wheel-wrapper > div')\n      const firstWheelItems = wheels[0].querySelectorAll('li')\n\n      dispatchSwipe(firstWheelItems[1], [\n        {\n          pageX: firstWheelItems[1].offsetLeft + 10,\n          pageY: firstWheelItems[1].offsetTop + 10\n        },\n        {\n          pageX: 300,\n          pageY: 380\n        }\n      ], 100)\n      setTimeout(() => {\n        expect(changeHandle)\n          .to.be.callCount(1)\n\n        // select: now\n        const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n        confirmBtn.click()\n        const now = +new Date()\n        expect(selectHandle)\n          .to.be.callCount(1)\n        expect(selectHandle.args[0][0])\n          .to.be.closeTo(now, 2)\n\n        done()\n      }, 1000)\n    }, 100)\n  })\n\n  it('should have correct args when select normal time', function (done) {\n    const selectHandle = sinon.spy()\n    vm = createPicker({\n      showNow: false,\n      delay: 0,\n      minuteStep: 1\n    }, {\n      select: selectHandle\n    })\n\n    // select: normal time\n    vm.show()\n    setTimeout(() => {\n      const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n      confirmBtn.click()\n      const now = +new Date()\n      expect(selectHandle)\n        .to.be.callCount(1)\n      expect(selectHandle.args[0][0])\n        .to.be.closeTo(now, 60 * 1000)\n\n      done()\n    }, 100)\n  })\n\n  it('should have correct selectText when config format', function (done) {\n    const selectHandle = sinon.spy()\n    vm = createPicker({\n      showNow: false,\n      delay: 0,\n      minuteStep: 1,\n      format: 'h:m'\n    }, {\n      select: selectHandle\n    })\n\n    vm.show()\n    setTimeout(() => {\n      const confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n      confirmBtn.click()\n      const now = new Date()\n      expect(selectHandle)\n        .to.be.callCount(1)\n      expect(selectHandle.args[0][2])\n        .to.be.equal(`${now.getHours()}:${now.getMinutes()}`)\n\n      done()\n    }, 100)\n  })\n\n  it('should add warn log when single is true', () => {\n    const app = new Vue()\n    const originWarn = console.warn\n    const msgs = []\n    console.warn = function (...args) {\n      msgs.push(args.join('#'))\n    }\n    vm = app.$createTimePicker({}, true)\n    expect(msgs.length)\n      .to.equal(1)\n    console.warn = originWarn\n  })\n\n  it('should show the value last choose when time-picker is opened again', function (done) {\n    const selectHandle = sinon.spy()\n    vm = createPicker({\n    }, {\n      select: selectHandle\n    })\n    new Promise((resolve) => {\n      vm.show()\n      vm.selectedIndex = [0, 1, 0]\n      setTimeout(() => {\n        let confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n        confirmBtn.click()\n        let value = selectHandle.lastCall.args[0]\n        setTimeout(() => {\n          resolve(value)\n        })\n      }, 100)\n    }).then((firstValue) => {\n      vm.show()\n      setTimeout(() => {\n        let confirmBtn = vm.$el.querySelector('.cube-picker-confirm')\n        confirmBtn.click()\n        let value = selectHandle.lastCall.args[0]\n        expect(firstValue)\n          .to.be.equal(value)\n        done()\n      }, 100)\n    })\n  })\n\n  testMinuteStep()\n\n  testMin()\n\n  testMax()\n\n  function testMin () {\n    const minConfigs = [\n      null,\n      ((2 * 24 + 2) * 60 + 20) * 60 * 1000,\n      -((2 * 24 + 2) * 60 + 20) * 60 * 1000,\n      (2 * 60 + 20) * 60 * 1000,\n      -(2 * 60 + 20) * 60 * 1000,\n      (10) * 60 * 1000,\n      -(10) * 60 * 1000\n    ]\n\n    minConfigs.forEach((min) => {\n      it(`should init columns correct when min = now + ${min}`, function () {\n        const now = +new Date()\n        min = min && now + min\n        vm = createPicker({\n          showNow: false,\n          delay: 0,\n          min\n        })\n\n        const daysLength = vm.cascadeData.length\n\n        expect(daysLength)\n          .to.equal(getDayDiff(vm.maxTime, vm.minTime) + 1)\n\n        let minHour = vm.cascadeData[0]\n        while (minHour.children) {\n          minHour = minHour.children[0]\n        }\n\n        expect(minHour.value)\n          .to.equal(Math.floor((new Date(min || now).getMinutes()) / 10) * 10)\n      })\n    })\n  }\n\n  function testMax () {\n    const maxConfigs = [\n      null,\n      ((2 * 24 + 2) * 60 + 20) * 60 * 1000,\n      (2 * 60 + 20) * 60 * 1000,\n      (10) * 60 * 1000,\n      (1) * 60 * 1000,\n      -(10) * 60 * 1000\n    ]\n\n    maxConfigs.forEach((max) => {\n      it(`should init columns correct when max = now + ${max}`, function () {\n        const now = +new Date()\n        max += now\n        vm = createPicker({\n          showNow: false,\n          delay: 0,\n          max\n        })\n\n        const daysLength = vm.cascadeData.length\n\n        // When the maxTime is smaller than minTime by more than a minute step. there is no option could be chosen.\n        if (max - now <= -(10) * 60 * 1000) {\n          expect(daysLength)\n            .to.equal(0)\n          return\n        }\n\n        expect(daysLength)\n          .to.equal(getDayDiff(vm.maxTime, vm.minTime) + 1)\n\n        let maxHour = vm.cascadeData[daysLength - 1]\n        while (maxHour.children) {\n          maxHour = maxHour.children[maxHour.children.length - 1]\n        }\n\n        expect(maxHour.value)\n          .to.equal(Math.floor((max ? new Date(max).getMinutes() : 59) / 10) * 10)\n      })\n    })\n  }\n\n  function testMinuteStep() {\n    const minuteStepConfigs = [\n      undefined,\n      15, {\n        rule: 'ceil'\n      }, {\n        step: 15\n      }, {\n        rule: 'floor',\n        step: 5\n      }, {\n        rule: 'ceil',\n        step: 8\n      }, {\n        rule: 'round',\n        step: 10\n      }\n    ]\n\n    minuteStepConfigs.forEach((item) => {\n      it(`should init minutes correct when minute step is ${item}`, function () {\n        vm = createPicker({\n          showNow: false,\n          delay: 0,\n          minuteStep: item,\n          format: 'h:m'\n        })\n\n        const step = (typeof item === 'number' ? item : (item && item.step)) || 10\n        const rule = (item && item.rule) || 'floor'\n\n        expect(vm.cascadeData[0].children[0].children[0].value)\n          .to.equal(Math[rule](vm.minTime.getMinutes() / step) * step)\n      })\n    })\n  }\n})\n\nfunction createPicker(props = {}, events = {}) {\n  return instantiateComponent(Vue, TimePicker, {\n    props: props,\n    on: events\n  })\n}\n"
  },
  {
    "path": "test/unit/specs/tip.spec.js",
    "content": "import Vue from 'vue2'\nimport Tip from '@/modules/tip'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Tip.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Tip)\n    expect(Vue.component(Tip.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createTip()\n    expect(vm.$el.getAttribute('data-dir'))\n      .to.equal('left')\n    expect(vm.$el.querySelector('i').className)\n      .to.equal('cube-tip-angle')\n    expect(vm.$el.querySelector('.cube-tip-content').textContent)\n      .to.equal('tip content')\n    return Promise.resolve()\n  })\n  it('should render correct contents with offset[X]', () => {\n    vm = createTip({\n      direction: 'left',\n      offsetTop: 20,\n      offsetLeft: '30%'\n    })\n    return new Promise(resolve => {\n      setTimeout(resolve)\n    }).then((resolve) => {\n      const angleStyle = vm.$el.querySelector('.cube-tip-angle').style\n      expect(angleStyle.top)\n        .to.equal('20px')\n      expect(angleStyle.bottom)\n        .to.equal('auto')\n      expect(angleStyle.left)\n        .to.equal('30%')\n      expect(angleStyle.right)\n        .to.equal('auto')\n    })\n  })\n  it('should be hidden after clicked content', () => {\n    vm = createTip()\n    vm.$el.querySelector('.cube-tip-content').click()\n    expect(vm.isVisible)\n      .to.be.false\n    return Promise.resolve()\n  })\n  it('should be hidden after clicked close button', () => {\n    vm = createTip()\n    vm.$el.querySelector('.cube-tip-close').click()\n    expect(vm.isVisible)\n      .to.be.false\n    return Promise.resolve()\n  })\n})\n\nfunction createTip (props = {direction: 'left'}) {\n  const vm = instantiateComponent(Vue, Tip, {\n    props: props\n  }, (createElement) => {\n    return createElement('span', 'tip content')\n  })\n  return vm\n}\n"
  },
  {
    "path": "test/unit/specs/toast.spec.js",
    "content": "import Vue from 'vue2'\nimport Toast from '@/modules/toast'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Toast', () => {\n  describe('Toast.vue', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n    it('use', () => {\n      Vue.use(Toast)\n      expect(Vue.component(Toast.name))\n        .to.be.a('function')\n    })\n    it('should render correct contents - no type', () => {\n      vm = instantiateComponent(Vue, Toast, {\n        props: {\n          time: 300,\n          txt: 'toast content'\n        }\n      })\n      vm.show()\n      expect(vm.$el.className)\n        .to.equal('cube-popup cube-toast')\n      expect(vm.$el.querySelector('.cube-loading'))\n        .not.to.be.null\n      return new Promise((resolve) => {\n        setTimeout(resolve, 330)\n      })\n    })\n    it('should render correct contents - time 0', () => {\n      vm = instantiateComponent(Vue, Toast, {\n        props: {\n          type: 'error',\n          time: 0,\n          txt: 'toast content'\n        }\n      })\n      vm.show()\n      return new Promise((resolve) => {\n        setTimeout(() => {\n          expect(vm.isVisible)\n            .to.be.true\n          vm.hide()\n          expect(vm.isVisible)\n            .to.be.false\n          resolve()\n        }, 0)\n      })\n    })\n    it('should render correct contents - with type', () => {\n      vm = instantiateComponent(Vue, Toast, {\n        props: {\n          type: 'error',\n          time: 300,\n          txt: 'toast content'\n        }\n      })\n      vm.show()\n      expect(vm.$el.className)\n        .to.equal('cube-popup cube-toast')\n      expect(vm.$el.querySelector('.cube-toast-icon').className)\n        .to.include('cubeic-wrong')\n      expect(vm.$el.querySelector('.cube-toast-tip').textContent)\n        .to.equal('toast content')\n      return new Promise((resolve) => {\n        setTimeout(() => {\n          expect(vm.isVisible)\n            .to.be.false\n          resolve()\n        }, 330)\n      })\n    })\n    it('should render correct contents - with type txt', () => {\n      vm = instantiateComponent(Vue, Toast, {\n        props: {\n          type: 'txt',\n          time: 300,\n          txt: 'toast content'\n        }\n      })\n      vm.show()\n      expect(vm.$el.className)\n        .to.equal('cube-popup cube-toast')\n      expect(vm.$el.querySelector('.cube-toast-icon'))\n        .to.be.null\n      expect(vm.$el.querySelector('.cube-toast-tip').textContent)\n        .to.equal('toast content')\n      return new Promise((resolve) => {\n        setTimeout(() => {\n          expect(vm.isVisible)\n            .to.be.false\n          resolve()\n        }, 330)\n      })\n    })\n  })\n\n  describe('Toast API', () => {\n    it('$createToast API', (done) => {\n      let ins\n      const vm = new Vue({\n        template: '<div>xx</div>',\n        methods: {\n          showAPI() {\n            ins = this.$createToast({\n              type: 'error',\n              txt: 'error txt',\n              time: 200\n            })\n            ins = this.$createToast({\n              type: 'warn',\n              txt: 'toast api content',\n              time: 100,\n              $class: {\n                'my-toast': true\n              }\n            })\n            ins.show()\n          }\n        }\n      })\n      vm.showAPI()\n      expect(ins.isVisible)\n        .to.be.true\n      expect(ins.$el.parentElement)\n        .to.equal(document.body)\n      setTimeout(() => {\n        expect(ins.$el.className)\n          .to.include('my-toast')\n        expect(ins.$el.querySelector('.cube-toast-tip').textContent)\n          .to.equal('toast api content')\n        ins.remove()\n        expect(ins.$el.parentElement)\n          .to.be.null\n        vm.$destroy()\n        done()\n      })\n    })\n\n    it('should trigger correct event', function (done) {\n      const timeoutHandle = sinon.spy()\n\n      const vm = createToast({\n        time: 1000\n      }, {\n        timeout: timeoutHandle\n      })\n\n      vm.show()\n\n      setTimeout(() => {\n        expect(timeoutHandle).to.be.calledOnce\n        done()\n      }, 1200)\n    })\n\n    function createToast(props = {}, events = {}) {\n      return instantiateComponent(Vue, Toast, {\n        props: props,\n        on: events\n      })\n    }\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/toolbar.spec.js",
    "content": "import Vue from 'vue2'\nimport Toolbar from '@/modules/toolbar'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Toolbar.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Toolbar)\n    expect(Vue.component(Toolbar.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = instantiateComponent(Vue, Toolbar, {\n      props: {\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          }\n        ]\n      }\n    })\n\n    expect(vm.$el.querySelectorAll('.cube-toolbar-group').length)\n      .to.equal(1)\n    const items = vm.$el.querySelectorAll('.cube-toolbar-item')\n    expect(items.length)\n      .to.equal(2)\n    expect(items[0].querySelector('.cube-btn').textContent.trim())\n      .to.equal('完成订单')\n    expect(items[1].querySelector('.cube-checkbox-label').textContent.trim())\n      .to.equal('打车来接')\n  })\n  it('should render correct contents - more actions', () => {\n    vm = instantiateComponent(Vue, Toolbar, {\n      props: {\n        actions: [\n          {\n            text: '完成订单',\n            action: 'showText'\n          },\n          {\n            text: '打车来接',\n            checked: false,\n            type: 'checkbox'\n          }\n        ],\n        moreActions: [\n          {\n            text: '操作a',\n            action: 'showText'\n          }\n        ]\n      }\n    })\n    const groups = vm.$el.querySelectorAll('.cube-toolbar-group')\n    expect(groups.length)\n      .to.equal(2)\n    const items = groups[0].querySelectorAll('.cube-toolbar-item')\n    expect(items.length)\n      .to.equal(1)\n    expect(items[0].querySelector('.cube-btn').textContent.trim())\n      .to.equal('操作a')\n    // 2 + 1 more action\n    expect(groups[1].querySelectorAll('.cube-toolbar-item').length)\n      .to.equal(3)\n  })\n  it('should trigger events', () => {\n    const itemHandler = sinon.spy()\n    const moreHandler = sinon.spy()\n    const actions = [\n      {\n        text: '完成订单',\n        action: 'showText'\n      },\n      {\n        text: '打车来接',\n        checked: false,\n        type: 'checkbox'\n      }\n    ]\n    vm = instantiateComponent(Vue, Toolbar, {\n      props: {\n        actions,\n        moreActions: [\n          {\n            text: '操作a',\n            action: 'showText'\n          }\n        ]\n      },\n      on: {\n        click: itemHandler,\n        'more-click': moreHandler\n      }\n    })\n    const groups = vm.$el.querySelectorAll('.cube-toolbar-group')\n    groups[1].querySelector('.cube-btn').click()\n    expect(itemHandler)\n      .to.be.calledOnce\n    expect(itemHandler)\n      .to.be.calledWith(actions[0])\n    groups[1].querySelector('.cube-toolbar-item:last-child .cube-btn').click()\n    expect(moreHandler)\n      .to.be.calledOnce\n    expect(moreHandler)\n      .to.be.calledWith(true)\n  })\n})\n"
  },
  {
    "path": "test/unit/specs/upload.spec.js",
    "content": "import Vue from 'vue2'\nimport Upload from '@/modules/upload'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\nimport '../utils/file'\nimport '../utils/xhr'\nconst UploadBtn = Upload.Btn\nconst UploadFile = Upload.File\n\ndescribe('Upload.vue', () => {\n  let vm\n  afterEach(() => {\n    if (vm) {\n      vm.$parent.destroy()\n      vm = null\n    }\n  })\n  it('use', () => {\n    Vue.use(Upload)\n    expect(Vue.component(Upload.name))\n      .to.be.a('function')\n    expect(Vue.component(UploadBtn.name))\n      .to.be.a('function')\n    expect(Vue.component(UploadFile.name))\n      .to.be.a('function')\n  })\n  it('should render correct contents', () => {\n    vm = createUpload()\n    expect(vm.$el.className)\n      .to.equal('cube-upload')\n    expect(vm.$el.children[0].className)\n      .to.equal('cube-upload-def clear-fix')\n    expect(vm.$el.querySelectorAll('.cube-upload-btn-def').length)\n      .to.equal(1)\n    const input = vm.$el.querySelector('input')\n    expect(input.className)\n      .to.equal('cube-upload-input')\n    expect(input.type)\n      .to.equal('file')\n    expect(input.multiple)\n      .to.be.true\n    expect(input.accept)\n      .to.equal('image/*')\n  })\n\n  it('should add files & upload', function (done) {\n    this.timeout(1000)\n\n    vm = createFilesUpload(2, {}, {\n      target() {\n        return '/upload2'\n      },\n      checkSuccess(response, file, cb) {\n        setTimeout(() => {\n          /* eslint-disable standard/no-callback-literal */\n          cb(true)\n        })\n      }\n    })\n    // check data\n    expect(vm.files.length)\n      .to.equal(2)\n    expect(vm.files[0].name)\n      .to.equal('xx.x')\n    expect(vm.files[0].size)\n      .to.equal(3)\n\n    // check init content\n    setTimeout(() => {\n      const allFiles = vm.$el.querySelectorAll('.cube-upload-file')\n      expect(allFiles.length)\n        .to.equal(2)\n      expect(allFiles[0].querySelector('.cube-upload-file-def').style.backgroundImage)\n        .not.to.be.null\n      expect(allFiles[0].querySelector('.cube-upload-file-state').className)\n        .to.equal('cube-upload-file-state')\n      expect(allFiles[0].querySelector('.cube-upload-file-status').className)\n        .to.equal('cube-upload-file-status')\n      expect(allFiles[0].querySelector('.cube-upload-file-progress').textContent.trim())\n        .to.equal('0%')\n      // hide upload btn\n      expect(vm.$el.querySelector('.cube-upload-btn').style.display)\n        .to.equal('none')\n    }, 50)\n    // start uploading\n    setTimeout(() => {\n      // check data state\n      expect(vm.files[0]._xhr)\n        .not.to.be.null\n      expect(vm.files[0]._xhr.url)\n        .to.equal('/upload2')\n      expect(vm.files[0].status)\n        .to.equal('uploading')\n      expect(vm.files[0].progress)\n        .to.equal(0)\n      expect(vm.files[1].status)\n        .to.equal('ready')\n      // progress\n      vm.files[0]._xhr.triggerProgress(1, vm.files[0].size)\n      expect(vm.files[0].progress.toFixed(2))\n        .to.equal('0.33')\n\n      vm.$nextTick(() => {\n        const allFiles = vm.$el.getElementsByClassName('cube-upload-file')\n        expect(allFiles[0].querySelector('.cube-upload-file-state').className)\n          .to.equal('cube-upload-file-state cube-upload-file_stat')\n        expect(allFiles[0].querySelector('.cube-upload-file-progress').textContent.trim())\n          .to.equal('33%')\n\n        // progress agagin\n        vm.files[0]._xhr.triggerProgress(2, vm.files[0].size)\n\n        setTimeout(() => {\n          expect(vm.files[0].progress.toFixed(2))\n            .to.equal('0.67')\n          // success\n          vm.files[0]._xhr.triggerSuccess()\n          // need to wait checkSuccess\n          setTimeout(() => {\n            expect(vm.files[0].progress)\n              .to.equal(1)\n            expect(vm.files[0].status)\n              .to.equal('success')\n\n            setTimeout(() => {\n              expect(allFiles[0].querySelector('.cube-upload-file-status').className)\n                .to.equal('cube-upload-file-status cubeic-right')\n\n              // next file\n              expect(vm.files[1]._xhr)\n                .not.to.be.null\n              expect(vm.files[1].status)\n                .to.equal('uploading')\n              expect(vm.files[1].progress)\n                .to.equal(0)\n              // error\n              vm.files[1]._xhr.triggerError()\n              expect(vm.files[1].progress)\n                .to.equal(1)\n              expect(vm.files[1].status)\n                .to.equal('error')\n\n              setTimeout(() => {\n                expect(allFiles[1].querySelector('.cube-upload-file-status').className)\n                  .to.equal('cube-upload-file-status cubeic-warn')\n\n                done()\n              })\n            })\n          })\n        }, 100)\n      })\n    }, 200)\n  })\n\n  it('should remove file', function (done) {\n    this.timeout(1000)\n\n    vm = createFilesUpload(3)\n\n    expect(vm.files.length)\n      .to.equal(3)\n\n    setTimeout(() => {\n      expect(vm.files[0].status)\n        .to.equal('uploading')\n      const allFiles = vm.$el.getElementsByClassName('cube-upload-file')\n      // click remove ele\n      allFiles[0].querySelector('.cubeic-wrong').click()\n\n      expect(vm.files.length)\n        .to.equal(2)\n      expect(vm.files[0].name)\n        .to.equal('zz.z')\n\n      done()\n    }, 200)\n  })\n\n  it('should start & pause upload', function (done) {\n    this.timeout(1000)\n\n    vm = createFilesUpload()\n\n    setTimeout(() => {\n      expect(vm.files[0].status)\n        .to.equal('uploading')\n\n      expect(vm.paused)\n        .to.be.false\n\n      vm.start()\n      expect(vm.paused)\n        .to.be.false\n\n      vm.pause()\n      expect(vm.paused)\n        .to.be.true\n      expect(vm.files[0].status)\n        .to.equal('ready')\n\n      vm.start()\n      expect(vm.paused)\n        .to.be.false\n      expect(vm.files[0].status)\n        .to.equal('uploading')\n\n      done()\n    }, 200)\n  })\n\n  it('should retry upload', function (done) {\n    this.timeout(1000)\n\n    vm = createFilesUpload()\n\n    setTimeout(() => {\n      vm.files[0]._xhr.triggerError()\n      vm.files[1]._xhr.triggerError()\n\n      vm.retry()\n      expect(vm.files[0].retryId)\n        .not.to.be.null\n      expect(vm.files[0].status)\n        .to.equal('uploading')\n      done()\n    }, 200)\n  })\n\n  it('should trigger events', function (done) {\n    this.timeout(1000)\n    const filesAddedHandler = sinon.spy()\n    const fileSubmittedHandler = sinon.spy()\n    const fileRemovedHandler = sinon.spy()\n    const fileSuccessHandler = sinon.spy()\n    const fileErrorHandler = sinon.spy()\n    const fileClickHandler = sinon.spy()\n    vm = createFilesUpload(3, {\n      'files-added': filesAddedHandler,\n      'file-submitted': fileSubmittedHandler,\n      'file-removed': fileRemovedHandler,\n      'file-success': fileSuccessHandler,\n      'file-error': fileErrorHandler,\n      'file-click': fileClickHandler\n    })\n    expect(filesAddedHandler)\n      .to.be.calledOnce\n    expect(filesAddedHandler.getCall(0).args[0].length)\n      .to.equal(4)\n    expect(fileSubmittedHandler)\n      .to.have.callCount(3)\n    setTimeout(() => {\n      // remove\n      const firstFile = vm.files[0]\n      const allFiles = vm.$el.getElementsByClassName('cube-upload-file')\n      // click remove ele\n      allFiles[0].querySelector('.cubeic-wrong').click()\n      expect(fileRemovedHandler)\n        .to.be.calledWith(firstFile)\n      // success\n      vm.files[0]._xhr.triggerSuccess()\n      expect(fileSuccessHandler)\n        .to.be.calledWith(vm.files[0])\n      // error\n      vm.files[1]._xhr.triggerError()\n      expect(fileErrorHandler)\n        .to.be.calledWith(vm.files[1])\n      // click\n      allFiles[1].click()\n      expect(fileClickHandler)\n        .to.be.calledWith(vm.files[0])\n      done()\n    }, 200)\n  })\n\n  function createUpload(props = { action: '/upload' }, events = {}) {\n    const vm = instantiateComponent(Vue, Upload, {\n      props,\n      on: events\n    })\n    return vm\n  }\n\n  function createFilesUpload(max = 2, events = {}, opts = {}) {\n    const vm = createUpload({\n      action: {\n        target: '/upload',\n        progressInterval: 30,\n        data: {\n          param: 'param'\n        },\n        headers: {\n          'my-header': 'my-header'\n        },\n        ...opts\n      },\n      max\n    }, events)\n    const uploadBtn = vm.$children[0]\n    uploadBtn.changeHandler({\n      currentTarget: {\n        files: [\n          new window.File(['111'], 'xx.x'),\n          new window.File(['222'], 'yy.y', {\n            ignore: true\n          }),\n          new window.File(['333'], 'zz.z'),\n          new window.File(['444'], '44.44')\n        ]\n      }\n    })\n    return vm\n  }\n})\n"
  },
  {
    "path": "test/unit/specs/validator.spec.js",
    "content": "import Vue from 'vue2'\nimport Validator from '@/modules/validator'\nimport Locale from '@/modules/locale'\nimport enUSMessages from '@/locale/lang/en-US'\nimport instantiateComponent from '@/common/helpers/instantiate-component'\n\ndescribe('Validator', () => {\n  describe('Validator.vue', () => {\n    let vm\n    afterEach(() => {\n      // reset language\n      Locale.use('zh-CN')\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n\n    it('use', () => {\n      Vue.use(Validator)\n      expect(Vue.component(Validator.name))\n        .to.be.a('function')\n    })\n\n    it('should render correct contents - invalid', (done) => {\n      vm = createValidator({\n        model: '',\n        rules: {\n          required: true,\n          asyncRule: () => {\n            return new Promise((resolve, reject) => {\n              setTimeout(() => {\n                reject(new Error('async'))\n              })\n            })\n          }\n        },\n        messages: {\n          required: '必填',\n          asyncRule: '异步失败'\n        },\n        immediate: true\n      })\n\n      const el = vm.$el\n      const msgEl = el.querySelector('.cube-validator-msg-def')\n      setTimeout(() => {\n        expect(el.className)\n          .to.include('cube-validator_invalid')\n        expect(msgEl.textContent)\n          .to.equal('必填')\n        expect(vm.result.asyncRule.valid)\n          .to.be.false\n        expect(vm.result.asyncRule.message)\n          .to.equal('异步失败')\n      }, 50)\n\n      setTimeout(() => {\n        vm.$updateProps({\n          model: 'ssr',\n          rules: {\n            required: true,\n            asyncRule: () => {\n              return (resolve) => {\n                setTimeout(() => {\n                  resolve(true)\n                })\n              }\n            }\n          },\n          messages: {\n            required: '必填',\n            asyncRule: '异步失败'\n          },\n          immediate: true\n        })\n        vm.$nextTick(() => {\n          expect(vm.$el.className)\n            .to.include('cube-validator_validating')\n        })\n        setTimeout(() => {\n          expect(vm.$el.className)\n            .to.include('cube-validator_valid')\n          expect(msgEl.textContent)\n            .to.equal('')\n          done()\n        }, 50)\n      }, 100)\n    })\n\n    it('should reset correctly', () => {\n      vm = createValidator({\n        model: '',\n        rules: {\n          required: true\n        },\n        messages: {\n          required: '必填'\n        },\n        immediate: true\n      })\n      expect(vm.valid)\n        .to.be.false\n      expect(vm.invalid)\n        .to.be.true\n      expect(vm.validated)\n        .to.be.true\n      // reset\n      vm.reset()\n      expect(vm.valid)\n        .to.be.undefined\n      expect(vm.invalid)\n        .to.be.undefined\n      expect(vm.validated)\n        .to.be.false\n    })\n\n    it('should not validate when disabled', (done) => {\n      vm = createValidator({\n        model: '',\n        disabled: true,\n        rules: {\n          required: true\n        },\n        messages: {\n          required: '必填'\n        },\n        immediate: true\n      })\n      const el = vm.$el\n      expect(el.className)\n        .to.equal('cube-validator')\n      const noValidateCheck = () => {\n        expect(vm.valid)\n          .to.be.undefined\n        expect(vm.invalid)\n          .to.be.undefined\n        expect(vm.validating)\n          .to.be.false\n        expect(vm.msg)\n          .to.equal('')\n      }\n      noValidateCheck()\n      const validateCb = sinon.spy()\n      const ret = vm.validate(validateCb)\n      expect(validateCb)\n        .to.be.calledOnce\n      expect(ret instanceof window.Promise)\n        .to.equal(true)\n      // change model value\n      vm.$updateProps({\n        model: 'new'\n      })\n      vm.$nextTick(() => {\n        noValidateCheck()\n        done()\n      })\n    })\n\n    it('should trigger events', (done) => {\n      const clickHandler = sinon.spy()\n      const validatingHandler = sinon.spy()\n      const validatedHandler = sinon.spy()\n      vm = createValidator({\n        model: {\n          value: ''\n        },\n        modelKey: 'value',\n        rules: {\n          required: true,\n          asyncRule: () => {\n            return new Promise((resolve) => {\n              setTimeout(() => {\n                resolve(true)\n              })\n            })\n          }\n        },\n        messages: {\n          required: '必填',\n          asyncRule: '异步失败'\n        },\n        immediate: true\n      }, {\n        'msg-click': clickHandler,\n        validating: validatingHandler,\n        validated: validatedHandler\n      })\n      expect(vm.validating)\n        .to.be.true\n      setTimeout(() => {\n        expect(vm.validating)\n          .to.be.false\n        expect(vm.$el.querySelector('.cube-validator-msg-def').textContent)\n          .to.equal('必填')\n        vm.$el.querySelector('.cube-validator-msg').click()\n        expect(clickHandler)\n          .to.be.calledOnce\n        expect(validatingHandler)\n          .to.be.calledOnce\n        expect(validatedHandler)\n          .to.be.calledOnce\n        done()\n      }, 50)\n    })\n\n    it('should render correct contents when the language has changed to English', (done) => {\n      Locale.use('en-US', enUSMessages)\n      vm = createValidator({\n        model: '',\n        rules: {\n          required: true\n        }\n      })\n      const el = vm.$el\n      const msgEl = el.querySelector('.cube-validator-msg-def')\n      setTimeout(() => {\n        expect(msgEl.textContent)\n          .to.equal('Required.')\n        done()\n      }, 50)\n    })\n\n    it('should render correct contents when using helper function', (done) => {\n      Locale.use('en-US', enUSMessages)\n      Validator.addMessage('min', {\n        'number': 'The number could not smaller than {{config | tips(\"please try it later\")}}.'\n      })\n      Validator.addHelper('tips', function(result, tips) {\n        return `${result}, ${tips}`\n      })\n      vm = createValidator({\n        model: 8,\n        rules: {\n          type: 'number',\n          min: 10\n        }\n      })\n      const el = vm.$el\n      const msgEl = el.querySelector('.cube-validator-msg-def')\n      setTimeout(() => {\n        expect(msgEl.textContent)\n          .to.equal('The number could not smaller than 10, please try it later.')\n        done()\n      }, 50)\n    })\n\n    it('should render correct contents when using string-template', (done) => {\n      Locale.use('en-US', enUSMessages)\n      vm = createValidator({\n        model: 'abc',\n        rules: {\n          required: true,\n          type: 'string',\n          min: 6\n        }\n      })\n      const el = vm.$el\n      const msgEl = el.querySelector('.cube-validator-msg-def')\n      setTimeout(() => {\n        expect(msgEl.textContent)\n          .to.equal('Please input at least 6 characters.')\n        vm.$updateProps({\n          model: '2018-10-10',\n          rules: {\n            required: true,\n            type: 'date',\n            min: '2020-10-10'\n          }\n        })\n        setTimeout(() => {\n          expect(msgEl.textContent)\n            .to.equal('Please select a date after 2020-10-10.')\n          done()\n        }, 100)\n      }, 50)\n    })\n  })\n\n  describe('rules', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n\n    it('should be valid - no rule', () => {\n      vm = createValidator({\n        model: ''\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be valid - unstated rule', () => {\n      vm = createValidator({\n        model: [],\n        rules: {\n          unstated: true\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n      expect(Object.keys(vm.$data.result).length)\n        .to.equal(0)\n    })\n\n    it('should be invalid - require: array', () => {\n      vm = createValidator({\n        model: [],\n        rules: {\n          required: true\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be invalid - type: string', () => {\n      vm = createValidator({\n        model: true,\n        rules: {\n          type: 'string'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: string', () => {\n      vm = createValidator({\n        model: 'ssr',\n        rules: {\n          type: 'string'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - type: number', () => {\n      vm = createValidator({\n        model: 'ssr',\n        rules: {\n          type: 'number'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: number', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          type: 'number'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - type: array', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          type: 'array'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: array', () => {\n      vm = createValidator({\n        model: [1, 2],\n        rules: {\n          type: 'array'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - type: date', () => {\n      vm = createValidator({\n        model: 'ssr',\n        rules: {\n          type: 'date'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: date', () => {\n      vm = createValidator({\n        model: +new Date(),\n        rules: {\n          type: 'date'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - type: email', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          type: 'email'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: email', () => {\n      vm = createValidator({\n        model: 'test@didi.com',\n        rules: {\n          type: 'email'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - type: tel', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          type: 'tel'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: tel', () => {\n      vm = createValidator({\n        model: '13011112222',\n        rules: {\n          type: 'tel'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - type: url', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          type: 'url'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - type: url', () => {\n      vm = createValidator({\n        model: 'https://www.didichuxing.com',\n        rules: {\n          type: 'url'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - min: string', () => {\n      vm = createValidator({\n        model: '123',\n        rules: {\n          min: 5\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - min: number', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          min: 5\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be valid - max: string', () => {\n      vm = createValidator({\n        model: '123',\n        rules: {\n          max: 5\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - max: number', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          max: 5\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be valid - len: string', () => {\n      vm = createValidator({\n        model: '123',\n        rules: {\n          len: 3\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('')\n    })\n\n    it('should be invalid - len: number', () => {\n      vm = createValidator({\n        model: 123,\n        rules: {\n          len: 4\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be invalid - notWhitespace', () => {\n      vm = createValidator({\n        model: '    ',\n        rules: {\n          notWhitespace: true\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be invalid - pattern', () => {\n      vm = createValidator({\n        model: 'test@11.com',\n        rules: {\n          pattern: /didi.com$/\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should be invalid - custom', () => {\n      vm = createValidator({\n        model: 1,\n        rules: {\n          custom: (val) => {\n            return val !== 1\n          }\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n  })\n\n  describe('methods', () => {\n    let vm\n    afterEach(() => {\n      if (vm) {\n        vm.$parent.destroy()\n        vm = null\n      }\n    })\n\n    it('should add customized rule and message', () => {\n      Validator.addRule('odd', (val, config, type) => !config || Number(val) % 2 === 1)\n      Validator.addMessage('odd', '请输入奇数')\n\n      vm = createValidator({\n        model: 2,\n        rules: {\n          odd: true\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n\n    it('should support adding message when the seconde parameter is a function', () => {\n      Validator.addRule('even', (val, config, type) => !config || Number(val) % 2 === 0)\n      Validator.addMessage('even', () => { return '请输入偶数' })\n\n      vm = createValidator({\n        model: 1,\n        rules: {\n          even: true\n        }\n      })\n      expect(vm.$data.msg)\n        .to.equal('请输入偶数')\n    })\n\n    it('should rewrite raw type', () => {\n      Validator.addType('email', (val) => {\n        return typeof val === 'string' && /^[a-z0-9_-]+@[a-z0-9_-]+(\\.[a-z0-9_-]+)$/i.test(val)\n      })\n\n      vm = createValidator({\n        model: 'test@didi.com.cn',\n        rules: {\n          type: 'email'\n        }\n      })\n      expect(vm.$data.msg)\n        .to.not.equal('')\n    })\n  })\n\n  function createValidator (props = {}, events = {}) {\n    if (props.immediate === undefined) {\n      props.immediate = true\n    }\n    return instantiateComponent(Vue, Validator, {\n      props,\n      on: events\n    })\n  }\n})\n"
  },
  {
    "path": "test/unit/utils/create-vue.js",
    "content": "import Vue from 'vue2'\n\nexport default function createVue(options = {}, Component, data, renderFn) {\n  const methods = options.methods || {}\n  delete options.methods\n  options = {\n    ...options,\n    methods: {\n      ...methods,\n      init() {\n        document.body.appendChild(this.$el)\n      },\n      destroy() {\n        this.$destroy()\n        document.body.removeChild(this.$el)\n      }\n    }\n  }\n  let renderData\n  if (Component) {\n    options.render = function (createElement) {\n      return createElement(Component, renderData, renderFn ? [renderFn(createElement)] : [])\n    }\n  }\n  const instance = new Vue(options)\n  instance.updateRenderData = function (data) {\n    renderData = data\n  }\n  instance.updateRenderData(data)\n  instance.$mount()\n  instance.init()\n  const component = instance.$children[0]\n  return component\n}\n"
  },
  {
    "path": "test/unit/utils/event.js",
    "content": "export function createEvent(type, name) {\n  const e = document.createEvent(type || 'Event')\n  e.initEvent(name, true, true)\n  return e\n}\n\nexport function dispatchClick(target, props) {\n  const event = createEvent('', 'click')\n  Object.assign(event, props)\n  target.dispatchEvent(event)\n}\n\nexport function dispatchDblclick(target, props) {\n  const event = createEvent('', 'dblclick')\n  Object.assign(event, props)\n  target.dispatchEvent(event)\n}\n\nexport function dispatchTap(target) {\n  const touch = {\n    pageX: target.offsetLeft + 1,\n    pageY: target.offsetTop + 1\n  }\n  dispatchTouchStart(target, touch)\n  dispatchTouchEnd(target, touch)\n}\n\nexport function dispatchMouse (target, name = 'mousedown') {\n  const event = createEvent('', name)\n  const domRect = target.getBoundingClientRect()\n  event.clientX = domRect.left + 1\n  event.clientY = domRect.top + 1\n  target.dispatchEvent(event)\n}\n\nexport function dispatchTouch(target, name = 'touchstart', touches) {\n  const event = createEvent('', name)\n  event.touches = event.targetTouches = event.changedTouches = Array.isArray(touches) ? touches : [touches]\n  target.dispatchEvent(event)\n}\n\nexport function dispatchTouchStart(target, touches) {\n  dispatchTouch(target, 'touchstart', touches)\n}\n\nexport function dispatchTouchMove(target, touches) {\n  dispatchTouch(target, 'touchmove', touches)\n}\n\nexport function dispatchTouchEnd(target, touches) {\n  dispatchTouch(target, 'touchend', touches)\n}\n\nexport function dispatchSwipe(target, touches, duration, cb) {\n  if (!Array.isArray(touches)) {\n    touches = [touches]\n  }\n  dispatchTouchStart(target, touches[0])\n  const moveAndEnd = () => {\n    if (touches.length > 1) {\n      for (let i = 1; i < touches.length; i++) {\n        dispatchTouchMove(target, touches[i])\n      }\n    } else {\n      dispatchTouchMove(target, touches[0])\n    }\n    dispatchTouchEnd(target, touches[touches.length - 1])\n    cb && cb()\n  }\n  if (duration) {\n    setTimeout(moveAndEnd, duration)\n  } else {\n    moveAndEnd()\n  }\n}\n\nexport function dispatchMoveAction(target, touches, stepDuration, moveCb, endCb) {\n  dispatchTouchStart(target, touches[0])\n  if (!endCb) {\n    endCb = moveCb\n    moveCb = null\n  }\n  const nextMove = function (i) {\n    setTimeout(() => {\n      dispatchTouchMove(target, touches[i])\n      moveCb && moveCb(i)\n      if (i === touches.length - 1) {\n        // last one\n        dispatchTouchEnd(target, touches[i])\n        endCb && endCb()\n      } else {\n        nextMove(++i)\n      }\n    }, stepDuration)\n  }\n  nextMove(1)\n}\n\nexport function dispatchResize() {\n  var e = document.createEvent('Event')\n  e.initEvent('resize', true, true)\n  window.dispatchEvent(e)\n}\n"
  },
  {
    "path": "test/unit/utils/file.js",
    "content": "// fake File\nfunction File(content, name, options) {\n  var blob = new window.Blob(content)\n  blob.name = name\n  if (options) {\n    for (let k in options) {\n      blob[k] = options[k]\n    }\n  }\n  return blob\n}\nwindow.File = File\n"
  },
  {
    "path": "test/unit/utils/xhr.js",
    "content": "\n// fake XMLHttpRequest\nfunction XMLHttpRequest() {\n  this.method = ''\n  this.url = ''\n  this.async = false\n  this.upload = {}\n  this.data = null\n}\nXMLHttpRequest.prototype = {\n  open(method, url, async) {\n    this.method = method\n    this.url = url\n    this.async = async\n    this.headers = {}\n  },\n  send(data) {\n    this.data = data\n    if (this.timeout) {\n      this.timeoutId = setTimeout(() => {\n        this.triggerTimeout()\n      }, this.timeout)\n    }\n  },\n  abort() {\n    this.triggerError()\n  },\n  setRequestHeader(key, value) {\n    this.headers[key] = value\n  },\n  getAllResponseHeaders() {\n    return ''\n  },\n  triggerProgress(loaded = 0, total) {\n    this.upload.onprogress && this.upload.onprogress.call(this, {\n      loaded,\n      total\n    })\n  },\n  triggerSuccess(status = 200, msg = '{\"state\": \"ok\"}') {\n    this.status = status\n    this.responseText = msg\n    this.onload && this.onload()\n  },\n  triggerTimeout() {\n    this.ontimeout && this.ontimeout()\n  },\n  triggerError(status = 500) {\n    this.onerror && this.onerror(status)\n  }\n}\n\nwindow.XMLHttpRequest = XMLHttpRequest\n"
  },
  {
    "path": "types/component.d.ts",
    "content": "import Vue from 'vue'\n\nexport declare class CubeUIComponent extends Vue {\n  static install (vue: typeof Vue): void\n}\n"
  },
  {
    "path": "types/components/ActionSheet.ts",
    "content": "import { BaseEventHandler, GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** IActionSheet type */\nexport interface IActionSheetItem {\n  content?: string\n  align?: string\n  class?: string\n}\nexport interface ActionSheetProps {\n  title?: string\n  cancelTxt?: string\n  data?: IActionSheetItem[]\n  active?: number\n  pickerStyle?: boolean\n  visible?: boolean\n  maskClosable?: boolean\n  zIndex?: number\n}\ntype ActionSheetSelectEventHandler = (item: IActionSheetItem, index: number) => void\ninterface EventsProps {\n  cancel: BaseEventHandler\n  select: ActionSheetSelectEventHandler\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<ActionSheetProps>\n\nexport interface IActionSheet extends ActionSheetProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Button.d.ts",
    "content": "\nimport { CubeUIComponent } from '../component'\n\nexport type ButtonType = 'button' | 'submit'\n\nexport declare class CubeButton extends CubeUIComponent {\n  type?: ButtonType\n  active?: boolean\n  disabled?: boolean\n  icon?: string\n  light?: string\n  inline?: boolean\n  outline?: boolean\n  primary?: boolean\n}\n"
  },
  {
    "path": "types/components/CascadePicker.ts",
    "content": "import { BaseEventHandler, SelectEventHandler, ChangeEventHandler, GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** ICascadePicker type */\nexport interface CascadePickerProps {\n  data?: any[]\n  selectedIndex?: number[]\n  async?: boolean\n  title?: string\n  subtitle?: string\n  cancelTxt?: string\n  confirmTxt?: string\n  swipeTime?: number\n  alias?: {\n    value?: string\n    text?: string\n  }\n  visible?: boolean\n  maskClosable?: boolean\n  zIndex?: number\n}\ninterface EventsProps {\n  select: SelectEventHandler\n  cancel: BaseEventHandler\n  change: ChangeEventHandler\n  'mask-click': BaseEventHandler\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<CascadePickerProps>\n\nexport interface ICascadePicker extends CascadePickerProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Checkbox.d.ts",
    "content": "import { CubeUIComponent } from '../component'\nimport { IRadioOptionData } from './common'\n\nexport declare class CubeCheckbox extends CubeUIComponent {\n  option?: IRadioOptionData | string | boolean\n  position?: 'left' | 'right'\n  shape?: 'circle' | 'square'\n  hollowStyle?: boolean\n  label?: string | boolean\n  value?: string | boolean\n  disabled?: boolean\n}\n"
  },
  {
    "path": "types/components/CheckboxGroup.d.ts",
    "content": "import { IRadioOptionData } from './common'\nimport { CubeUIComponent } from '../component'\n\nexport declare class CubeCheckboxGroup extends CubeUIComponent {\n  value?: []\n  options?: IRadioOptionData[] | string\n  horizontal?: boolean\n  colNum?: number\n  shape?: 'circle' | 'square'\n  hollowStyle?: boolean\n  min?: number\n  max?: number\n}\n"
  },
  {
    "path": "types/components/Checker.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\nexport interface ICheckerOptionData {\n  value?: string | number\n  text?: string\n  disabled?: boolean\n}\nexport declare class CubeChecker extends CubeUIComponent {\n  value?: string | number | ICheckerOptionData[]\n  options?: ICheckerOptionData[]\n  type?: 'checkbox' | 'radio'\n  min?: number\n  max?: number\n}\n"
  },
  {
    "path": "types/components/DatePicker.ts",
    "content": "import { BaseEventHandler, ChangeEventHandler, GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** IDatePicker type */\nexport interface DatePickerProps {\n  min?: Date|(number|string)[]\n  max?: Date|(number|string)[]\n  value?: Date|[]\n  startColumn?: string\n  columnCount?: number\n  format?: {\n    year?: string\n    month?: string\n    date?: string\n    hour?: string\n    minute?: string\n    second?: string\n  }\n  title?: string\n  subtitle?: string\n  cancelTxt?: string\n  confirmTxt?: string\n  swipeTime?: number\n  visible?: boolean\n  maskClosable?: boolean\n  zIndex?: number\n  columnOrder?: string[]\n}\ninterface EventsProps {\n  select: (date: Date, selectedIndex: [], selectedText: []) => void\n  cancel: BaseEventHandler\n  change: ChangeEventHandler\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<DatePickerProps>\n\nexport interface IDatePicker extends DatePickerProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Dialog.ts",
    "content": "import { GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** IDialog type */\nexport interface IDialogBtn {\n  text?: string\n  active?: boolean\n  disabled?: boolean\n  href?: string\n}\nexport interface DialogProps {\n  type?: string\n  icon?: string\n  title?: string\n  content?: string\n  showClose?: boolean\n  confirmBtn?: string|IDialogBtn\n  cancelBtn?: string|IDialogBtn\n  visible?: boolean\n  maskClosable?: boolean\n  zIndex?: number\n  prompt?: {\n    value?: string|number\n    placeholder?: string\n  }\n}\ntype DialogCloseEventHandler = (e: MouseEvent) => void\n\ntype DialogConfirmEventHandler = (e: MouseEvent, promptValue: string) => void\ninterface EventsProps {\n  cancel: DialogCloseEventHandler\n  confirm: DialogConfirmEventHandler\n  close: DialogCloseEventHandler\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<DialogProps>\n\nexport interface IDialog extends DialogProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Drawer.d.ts",
    "content": "\nimport { CubeUIComponent } from '../component'\n\nexport declare class CubeDrawer extends CubeUIComponent {\n  title?: string\n  data?: any[]\n  selectedIndex?: number[]\n  visible?: boolean\n  refill: (index?: number, data?: any[], item?: any[]) => void\n  show: () => void\n  hide: () => void\n}\n"
  },
  {
    "path": "types/components/Form.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\ninterface IField {\n  type?: string\n  component?: string | object\n  modelKey?: string\n  label?: string\n  props?: object\n  events?: object\n  rules?: object\n  trigger?: 'blur' | 'change'\n  debounce?: number | boolean\n  messages?: string\n  key?: string\n}\n\ninterface IFields {\n  fields: IField[]\n}\n\ninterface IGroups {\n  groups: {\n    legend?: string\n    fields?: IField[]\n  }\n}\n\ninterface IValidity {\n  valid?: boolean | undefined\n  result?: {}\n  dirty?: boolean\n}\n\ninterface IValidateParams {\n  validity?: IValidity\n  valid?: boolean | undefined\n  invalid?: boolean\n  dirty?: boolean\n  firstInvalidFieldIndex?: number\n}\n\nexport declare class CubeForm extends CubeUIComponent {\n  model?: object\n  schema?: IFields | IGroups\n  immediateValidate?: boolean\n  action?: string | undefined\n  options?: {\n    scrollToInvalidField?: boolean\n    layout?: 'standard' | 'classic' | 'fresh'\n  }\n  submitAlwaysValidate?: boolean\n  submit: (skipValidate?: boolean) => void\n  reset: () => void\n  validate: (cb?: Function) => Promise<boolean | undefined> | undefined\n}\n"
  },
  {
    "path": "types/components/ImagePreview.ts",
    "content": "import { BaseEventHandler, GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** IImagePreview type */\nexport interface ImagePreviewProps {\n  imgs?: any[]\n  initialIndex?: number\n  'initial-index'?: number\n  loop?: boolean\n  speed?: number\n  zIndex?: number\n  preventDefault?: boolean\n}\ninterface EventsProps {\n  hide: BaseEventHandler\n  change: (index: number) => void\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<ImagePreviewProps>\n\nexport interface IImagePreview extends ImagePreviewProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/IndexList.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\nimport { BsOption } from 'better-scroll'\n\nexport interface IndexListSlots {\n  title: VNode[]\n  pulldown: VNode[]\n  pullup: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeIndexList extends CubeUIComponent {\n  title?: string\n  data?: []\n  navbar?: boolean\n  speed?: number\n  options?: BsOption\n  pullUpLoad?: boolean | object\n  pullDownRefresh?: boolean | object\n  $slots: IndexListSlots\n}\n"
  },
  {
    "path": "types/components/Input.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\n\ninterface IClearable {\n  visible?: boolean\n  blurHidden?: boolean\n}\n\ninterface IEye {\n  open?: boolean\n  reverse?: boolean\n}\n\nexport interface InputSlots {\n  prepend: VNode[]\n  append: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeInput extends CubeUIComponent {\n  value?: string | number\n  type?: 'text' | 'number' | 'password' | 'date'\n  disabled?: boolean\n  readonly?: boolean\n  maxlength?: number\n  placeholder?: string\n  autofocus?: boolean\n  autocomplete?: boolean\n  clearable?: boolean | IClearable\n  eye?: boolean | IEye\n  focus: (e?: FocusEvent) => void\n  blur: (e?: FocusEvent) => void\n  $slots: InputSlots\n}\n"
  },
  {
    "path": "types/components/Loading.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\nexport declare class CubeLoading extends CubeUIComponent {\n  size?: number\n}\n"
  },
  {
    "path": "types/components/Picker.ts",
    "content": "import { BaseEventHandler, SelectEventHandler, ChangeEventHandler, GetPropsAddString, GetTransformFnKeys} from './common'\n/** IPicker type */\nexport interface PickerProps {\n  data?: any[]\n  selectedIndex?: number[]\n  title?: string\n  subtitle?: string\n  cancelTxt?: string\n  confirmTxt?: string\n  swipeTime?: number\n  alias?: {\n    value?: string\n    text?: string\n  }\n  visible?: boolean\n  maskClosable?: boolean\n  zIndex?: number\n}\ninterface EventsProps {\n  select: SelectEventHandler\n  cancel: BaseEventHandler\n  change: ChangeEventHandler\n  'value-change': SelectEventHandler\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<PickerProps>\n\nexport interface IPicker extends PickerProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Popup.ts",
    "content": "import { GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** Popup type */\nexport interface PopupProps {\n  visible?: boolean\n  type?: string\n  mask?: boolean\n  content?: string\n  center?: boolean\n  position?: string\n  maskClosable?: boolean\n  zIndex?: number\n}\ninterface EventsProps {\n  'mask-click': (e: MouseEvent) => void\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<PopupProps>\n\nexport interface IPopup extends PopupProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Radio.d.ts",
    "content": "import { IRadioOptionData } from './common'\nimport { CubeUIComponent } from '../component'\n\nexport declare class CubeRadio extends CubeUIComponent {\n  value?: string | number\n  option?: IRadioOptionData | string\n  position?: 'left' | 'right'\n  hollowStyle?: boolean\n}\n"
  },
  {
    "path": "types/components/RadioGroup.d.ts",
    "content": "import { IRadioOptionData } from './common'\nimport { CubeUIComponent } from '../component'\n\nexport declare class CubeRadioGroup extends CubeUIComponent {\n  value?: string | number\n  options?: IRadioOptionData[] | string\n  position?: 'left' | 'right'\n  horizontal?: boolean\n  colNum?: number\n  hollowStyle?: boolean\n}\n"
  },
  {
    "path": "types/components/Rate.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\n\nexport interface RateSlots {\n  default: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeRate extends CubeUIComponent {\n  value?: number\n  max?: number\n  disabled?: boolean\n  justify?: boolean\n  $slots: RateSlots\n}\n"
  },
  {
    "path": "types/components/RecycleList.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\n\nexport interface RecycleListSlots {\n  default: VNode[]\n  tombstone: VNode[]\n  item: VNode[]\n  spinner: VNode[]\n  noMore: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeRecycleList extends CubeUIComponent {\n  infinite?: boolean\n  size?: number\n  offset?: number\n  onFetch: Promise<any[] | false>\n  reset: () => void\n  $slots: RecycleListSlots\n}\n"
  },
  {
    "path": "types/components/Scroll.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\nimport { BsOption } from 'better-scroll'\n\ntype IScrollEvents = 'scroll' | 'before-scroll-start' | 'scroll-end'\n\nexport interface ScrollSlots {\n  default: VNode[]\n  pulldown: VNode[]\n  pullup: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeScroll extends CubeUIComponent {\n  data?: []\n  direction?: 'vertical' | 'horizontal'\n  options?: BsOption\n  scrollEvents?: IScrollEvents[]\n  listenScroll?: boolean\n  listenBeforeScroll?: boolean\n  refreshDelay?: number\n  nestMode?: 'none' | 'native' | 'free'\n  scrollTo: (x?: number, y?: number, time?: number, ease?: object) => void\n  forceUpdate: (dirty?: boolean, nomore?: boolean) => void\n  disable: () => void\n  enable: () => void\n  resetPullUpTxt: () => void\n  refresh: () => void\n  $slots: ScrollSlots\n}\n"
  },
  {
    "path": "types/components/ScrollNav.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\nimport { BsOption } from 'better-scroll'\n\nexport interface ScrollNavSlots {\n  default: VNode[]\n  prepend: VNode[]\n  bar: VNode[]\n  [key: string]: VNode[]\n}\n\n\nexport declare class CubeScrollNav extends CubeUIComponent {\n  data?: []\n  side?: boolean\n  current?: string | number\n  speed?: number\n  options?: BsOption\n  refresh: () => void\n  $slots: ScrollNavSlots\n}\n"
  },
  {
    "path": "types/components/ScrollNavBar.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\nimport { BsOption } from 'better-scroll'\n\nexport interface ScrollNavBarSlots {\n  default: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeScrollNavBar extends CubeUIComponent {\n  direction?: 'horizontal' | 'vertical'\n  labels?: []\n  txts?: []\n  current?: string | number\n  options?: BsOption\n  refresh: () => void\n  $slots: ScrollNavBarSlots\n}\n"
  },
  {
    "path": "types/components/SegmentPicker.ts",
    "content": "import { BaseEventHandler, GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** ISegmentPicker type */\nexport interface SegmentPickerProps {\n  data?: object\n  nextTxt?: string\n  prevTxt?: string\n  title?: string\n  subtitle?: string\n  cancelTxt?: string\n  confirmTxt?: string\n  swipeTime?: number\n  visible?: boolean\n  maskClosable?: boolean\n  zIndex?: number\n}\n\ntype SegmentPickerNextEventHandler = (index: number, selectedDate: Date, selectedVals: [], selectedTexts: []) => void\n\ntype SegmentPickerChangeEventHandler = (pickerIndex: number, index: number, selectedIndex: number) => void\n\ntype SegmentPickerSelectEventHandler = (selectedDates: [], selectedVals: [], selectedTexts: []) => void\ninterface EventsProps {\n  select: SegmentPickerSelectEventHandler\n  cancel: BaseEventHandler\n  change: SegmentPickerChangeEventHandler\n  next: SegmentPickerNextEventHandler\n  prev: (pickerIndex: number) => void\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<SegmentPickerProps>\n\nexport interface ISegmentPicker extends SegmentPickerProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Select.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\ninterface IOptItem {\n  value?: any\n  text?: string\n}\nexport declare class CubeSelect extends CubeUIComponent {\n  value?: any\n  options?: IOptItem[]\n  placeholder?: string\n  autoPop?: boolean\n  disabled?: boolean\n  title?: string\n  cancelTxt?: string\n  confirmTxt?: string\n}\n"
  },
  {
    "path": "types/components/Slide.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\nimport { BsOption } from 'better-scroll'\n\ninterface SlideItem {\n  url?: string\n  image?: string\n}\n\nexport interface SlideSlots {\n  default: VNode[]\n  dots: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeSlide extends CubeUIComponent {\n  data?: SlideItem[]\n  initialIndex?: number\n  loop?: boolean\n  showDots?: boolean\n  autoPlay?: boolean\n  interval?: number\n  direction?: 'horizontal' | 'vertical'\n  options?: BsOption\n  threshold?: number\n  speed?: number\n  allowVertical?: boolean\n  stopPropagation?: boolean\n  refreshResetCurrent?: boolean\n  refresh: () => void\n  $slots: SlideSlots\n}\n"
  },
  {
    "path": "types/components/Sticky.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\n\nexport interface StickySlots {\n  default: VNode[]\n  fixed: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeSticky extends CubeUIComponent {\n  pos?: number\n  checkTop?: boolean\n  fixedShowAni?: string\n  offset?: number\n  refresh: () => void\n  $slots: StickySlots\n}\n"
  },
  {
    "path": "types/components/Swipe.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\ninterface IBtns {\n  [key: string]: string | number\n  text: string | number\n  color: string\n}\n\ninterface IItem {\n  [key: string]: string | number\n  value: string | number\n  text: string | number\n}\n\ninterface ISwipeItem {\n  item?: IItem\n  btns?: IBtns[]\n}\n\nexport declare class CubeSwipe extends CubeUIComponent {\n  data?: ISwipeItem[]\n  autoShrink?: boolean\n}\n\nexport declare class CubeSwipeItem extends CubeUIComponent {\n  item?: IItem\n  btns?: IBtns\n  index?: number\n  autoShrink?: boolean\n  shrink: () => void\n}\n"
  },
  {
    "path": "types/components/Switch.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\nexport declare class CubeSwitch extends CubeUIComponent {\n  disabled?: boolean\n  value?: boolean\n}\n"
  },
  {
    "path": "types/components/TabBar.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\n\nexport interface ITabBarData {\n  label: string | number\n  value?: string | number\n  icon?: string\n}\n\nexport interface TabBarSlots {\n  default: VNode[]\n  icon: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeTabBar extends CubeUIComponent {\n  value?: string | number\n  data?: ITabBarData[]\n  showSlider?: boolean\n  inline?: boolean\n  useTransition?: boolean\n  setSliderTransform: (offset: string | number) => void\n  $slots: TabBarSlots\n}\n"
  },
  {
    "path": "types/components/TabPanels.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\ninterface ITabPanelsData {\n  label: string | number // 必选\n  value?: string | number\n}\n\nexport declare class CubeTabPanels extends CubeUIComponent {\n  value?: string | number\n  data?: ITabPanelsData[]\n}\n\nexport declare class CubeTabPanel extends CubeUIComponent {\n  label?: string | number\n  value?: string | number\n}"
  },
  {
    "path": "types/components/Textarea.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\ninterface IIndicator {\n  remain?: boolean\n  negative?: boolean\n}\n\nexport declare class CubeTextarea extends CubeUIComponent {\n  value?: string\n  disabled?: boolean\n  readonly?: boolean\n  maxlength?: number\n  placeholder?: string\n  autofocus?: boolean\n  indicator?: boolean | IIndicator\n  autoExpand: boolean\n  focus?: (e?: FocusEvent) => void\n  blur?: (e?: FocusEvent) => void\n}\n"
  },
  {
    "path": "types/components/TimePicker.ts",
    "content": "import { BaseEventHandler, ChangeEventHandler, GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** ITimePicker type */\nexport interface TimePickerProps {\n  day?: {\n    len?: number\n    filter?: (string|number)[]\n    format?: string\n  }\n  showNow?: boolean|{\n    text?: string\n  }\n  minuteStep?: number|{\n    rule?: string\n    step?: number\n  }\n  delay?: number\n  min?: Date|number\n  max?: Date|number\n  title?: string\n  subtitle?: string\n  cancelTxt?: string\n  confirmTxt?: string\n  swipeTime?: number\n  visible?: boolean\n  maskClosable?: boolean\n  format?: string\n  zIndex?: number\n}\ninterface EventsProps {\n  select: (selectedTime: number, selectText: string, formatedTime: string) => void\n  cancel: BaseEventHandler\n  change: ChangeEventHandler\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<TimePickerProps>\nexport interface ITimePicker extends TimePickerProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Tip.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\nexport type DirectionType = 'top' | 'bottom' | 'left' | 'right'\n\nexport declare class CubeTip extends CubeUIComponent {\n  direction?: DirectionType\n  offsetTop?: number | string\n  offsetBottom?: number | string\n  offsetLeft?: number | string\n  offsetRight?: number | string\n  visible?: boolean\n  close: () => void\n  show: () => void\n  hide: () => void\n}\n"
  },
  {
    "path": "types/components/Toast.ts",
    "content": "import { GetPropsAddString, GetTransformFnKeys } from './common'\n\n/** IToast type */\nexport interface ToastProps {\n  visible?: boolean\n  type?: string\n  mask?: boolean\n  txt?: string\n  time?: number\n  maskClosable?: boolean\n  zIndex?: number\n}\ninterface EventsProps {\n  timeout: Function\n}\ntype TransfromEventsProps = GetTransformFnKeys<EventsProps>\ntype AddStringProps = GetPropsAddString<ToastProps>\nexport interface IToast extends ToastProps, TransfromEventsProps {\n  $props?: AddStringProps\n  $events?: Partial<EventsProps>\n}\n"
  },
  {
    "path": "types/components/Toolbar.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\ninterface IActions {\n  type?: 'button' | 'checkbox'\n  text?: string\n  checked?: boolean\n  action?: string\n  icon?: string\n}\nexport declare class CubeToolbar extends CubeUIComponent {\n  actions?: IActions[]\n  moreActions?: IActions[]\n}\n"
  },
  {
    "path": "types/components/Upload.d.ts",
    "content": "import { CubeUIComponent } from '../component'\n\nexport interface IFile extends CubeUIComponent {\n  name?: string\n  size?: number\n  url?: string\n  base64?: string\n  status?: string\n  progress?: number\n  file?: File\n  response?: object | string | []\n  responseHeaders?: string\n}\n\nexport declare class CubeUpload extends CubeUIComponent {\n  value?: IFile[]\n  action?: string | object\n  max?: number\n  auto?: boolean\n  simultaneousUploads?: number\n  multiple?: boolean\n  accept?: string\n  processFile?: (file?: File, next?: Function) => any\n  start?: () => void\n  pause?: () => void\n  retry?: () => void\n  removeFile?: (file: File) => void\n}\n"
  },
  {
    "path": "types/components/Validator.d.ts",
    "content": "import { VNode } from 'vue'\nimport { CubeUIComponent } from '../component'\n\ntype ValidatorType = 'string' | 'number' | 'array' | 'date' | 'email' | 'tel' | 'url'\nexport interface IValidatorRules {\n  required: boolean\n  type?: ValidatorType\n  min?: number\n  max?: number\n  len?: number\n  notWhitespace?: boolean\n  pattern?: RegExp\n  custom?: Function\n}\n\nexport interface ValidatorSlots {\n  default: VNode[]\n  message: VNode[]\n  [key: string]: VNode[]\n}\n\nexport declare class CubeValidator extends CubeUIComponent {\n  model?: any\n  value?: any\n  rules?: IValidatorRules\n  messages?: object | string\n  immediate?: boolean\n  disabled?: boolean\n  validate?: (cb?: Function) => any\n  addRule?: Function\n  addMessage?: Function\n  addType?: Function\n  addHelper?: Function\n  $slots: ValidatorSlots\n}\n"
  },
  {
    "path": "types/components/common.ts",
    "content": "export type BaseEventHandler = () => void\n\nexport type SelectEventHandler = (selectedVal: [], selectedIndex: [], selectedText: []) => void\n\nexport type ChangeEventHandler = (index: number, selectedIndex: number) => void\n\nexport type AddString<T> = {\n  [P in keyof T]: T[P] | string;\n}\nexport type GetFunctionNames<T> = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T]\n\nexport type GetPropsAddString<T> = AddString<Omit<T, GetFunctionNames<T>>>\n\nexport type TransformFnKey<S extends string> = S extends `${infer A}-${infer B}` ? `on${Capitalize<A>}${Capitalize<B>}` : `on${Capitalize<S>}`\n\nexport type TransformFnKeys<T> = {\n  [P in keyof T & string as `${TransformFnKey<P>}`]?: T[P]\n}\n\nexport type GetTransformFnKeys<T> = TransformFnKeys<Pick<T, GetFunctionNames<T>>>\n\nexport interface IRadioOptionData {\n  label?: string\n  value?: string | number\n  disabled?: boolean\n}\n"
  },
  {
    "path": "types/components/index.ts",
    "content": "import { CreateElement, VNode } from 'vue'\n\nexport type IRenderFn = (createElement: CreateElement) => VNode|VNode[]\nexport interface CreateAPIFn<O, V> {\n  (options: O, single?: boolean):V\n  (options: O, renderFn?: IRenderFn,):V\n  (options: O, renderFn: IRenderFn, single: boolean):V\n}\n\n// basic\nexport * from './Button'\nexport * from './Loading'\nexport * from './Tip'\nexport * from './Toolbar'\nexport * from './TabBar'\nexport * from './TabPanels'\nexport * from './Checkbox'\nexport * from './CheckboxGroup'\nexport * from './Radio'\nexport * from './RadioGroup'\nexport * from './Checker'\nexport * from './Input'\nexport * from './Textarea'\nexport * from './Select'\nexport * from './Switch'\nexport * from './Rate'\nexport * from './Validator'\nexport * from './Upload'\nexport * from './Form'\nexport * from './Drawer'\nexport * from './Scroll'\nexport * from './Slide'\nexport * from './IndexList'\nexport * from './Swipe'\nexport * from './Sticky'\nexport * from './ScrollNavBar'\nexport * from './ScrollNav'\nexport * from './RecycleList'\n\n// create-API\nexport * from './Popup'\nexport * from './ActionSheet'\nexport * from './Toast'\nexport * from './Picker'\nexport * from './CascadePicker'\nexport * from './DatePicker'\nexport * from './TimePicker'\nexport * from './SegmentPicker'\nexport * from './Dialog'\nexport * from './ImagePreview'\n"
  },
  {
    "path": "types/cube-ui.d.ts",
    "content": "import Vue from 'vue'\nimport { CubeUIComponent } from './component'\nimport {\n  // basic\n  CubeButton,\n  CubeLoading,\n  CubeTip,\n  CubeToolbar,\n  CubeTabBar,\n  CubeTabPanels,\n  CubeCheckbox,\n  CubeCheckboxGroup,\n  CubeRadio,\n  CubeRadioGroup,\n  CubeChecker,\n  CubeInput,\n  CubeTextarea,\n  CubeSelect,\n  CubeSwitch,\n  CubeRate,\n  CubeValidator,\n  CubeUpload,\n  CubeForm,\n  CubeDrawer,\n  CubeScroll,\n  CubeSlide,\n  CubeIndexList,\n  CubeSwipe,\n  CubeSticky,\n  CubeScrollNavBar,\n  CubeScrollNav,\n  CubeRecycleList,\n  // create-API\n  IPopup,\n  IToast,\n  IPicker,\n  ICascadePicker,\n  IDatePicker,\n  ITimePicker,\n  ISegmentPicker,\n  IDialog,\n  IActionSheet,\n  IImagePreview,\n  CreateAPIFn\n} from './components'\n/**\n * CubeUI 组件\n * CubeUI component common definition\n */\nexport type Component = CubeUIComponent\n\n/**\n * 版本\n *\n * The version of cube-ui\n */\nexport const version: string\n\n/**\n * 需通过 `Vue.use(Cube)` 来安装\n *\n * Call `Vue.use(Cube)` to install\n */\nexport function install (vue: typeof Vue): void\n\n/**\n * BetterScroll, https://github.com/ustbhuangyi/better-scroll\n */\nexport class BScroll {}\n\n/**\n * 可以通过 `createAPI` 创建自己的通过\n * API 形式实例化的组件\n *\n * You use it to create your own API component\n * more details: https://didi.github.io/cube-ui/#/en-US/docs/create-api\n */\nexport function createAPI (vue: typeof Vue, Component: CubeUIComponent, events?: string[], single?: boolean) : object\n\n/** Local Module */\nexport class Locale {\n  install (vue: typeof Vue): void\n  use (lang: string, messages: object): void\n}\n\n/** Style Module */\nexport class Style {}\n\n// basic\n/** Button Component */\nexport class Button extends CubeButton {}\n/** Loading Component */\nexport class Loading extends CubeLoading {\n}\n/** Tip Component */\nexport class Tip extends CubeTip {}\n/** Toolbar Component */\nexport class Toolbar extends CubeToolbar {\n}\n/** TabBar Component */\nexport class TabBar extends CubeTabBar {\n}\n/** TabPanels Component */\nexport class TabPanels extends CubeTabPanels {}\n// form\n/** Checkbox Component */\nexport class Checkbox extends CubeCheckbox {\n  ICheckbox: CubeCheckbox\n}\n/** Checkbox Group Component */\nexport class CheckboxGroup extends CubeCheckboxGroup {\n  ICheckboxGroup: CubeCheckboxGroup\n}\n/** Checker Component */\nexport class Checker extends CubeChecker {\n  IChecker: CubeChecker\n}\n/** Radio Component */\nexport class Radio extends CubeRadio {\n  IRadio: CubeRadio\n}\n/** Radio Group Component */\nexport class RadioGroup extends CubeRadioGroup {\n  IRadioGroup: CubeRadioGroup\n}\n/** Input Component */\nexport class Input extends CubeInput {\n}\n/** Textarea Component */\nexport class Textarea extends CubeTextarea {}\n/** Select Component */\nexport class Select extends CubeSelect {}\n/** Switch Component */\nexport class Switch extends CubeSwitch {}\n/** Rate Component */\nexport class Rate extends CubeRate {}\n/** Validator Component */\nexport class Validator extends CubeValidator {}\n/** Upload Component */\nexport class Upload extends CubeUpload {}\n/** Form Component */\nexport class Form extends CubeForm {}\n\n/** base CreatApi CubeUIComponent */\nexport class CreateApiCubeUIComponent extends CubeUIComponent {\n  show(): any\n  hide(): any\n  remove(): any\n  $updateProps(options: object): any\n  static $create(options: object): CreateApiCubeUIComponent\n}\n/** Popup Component */\nexport class Popup extends CreateApiCubeUIComponent {\n  static $create(options: IPopup): Popup\n}\n/** Toast Component */\nexport class Toast extends CreateApiCubeUIComponent {\n  static $create(options: IToast): Toast\n}\n/** Picker Component */\nexport class Picker extends CreateApiCubeUIComponent {\n  setData(data: any[], selectedIndex: number[]): any\n  static $create(options: IPicker): Picker\n}\n/** Cascade Picker Component */\nexport class CascadePicker extends CreateApiCubeUIComponent {\n  setData(data: any[], selectedIndex: number[]): any\n  static $create(options: ICascadePicker): CascadePicker\n}\n/** Date Picker Component */\nexport class DatePicker extends CreateApiCubeUIComponent {\n  static $create(options: IDatePicker): DatePicker\n}\n/** Time Picker Component */\n\nexport class TimePicker extends CreateApiCubeUIComponent {\n  setTime(time: string|number): any\n  static $create(options: ITimePicker): TimePicker\n}\n\n/** Segment Picker Component */\nexport class SegmentPicker extends CreateApiCubeUIComponent {\n  static $create(options: ISegmentPicker): SegmentPicker\n}\n\n/** Dialog Component */\nexport class Dialog extends CreateApiCubeUIComponent {\n  static $create(options: IDialog): Dialog\n}\n\n/** Action Sheet Component */\nexport class ActionSheet extends CreateApiCubeUIComponent {\n  static $create(options: IActionSheet): ActionSheet\n}\n\n/** ImagePreview Component */\nexport class ImagePreview extends CreateApiCubeUIComponent {\n  static $create(options: IImagePreview): ImagePreview\n}\n/** Drawer Component */\nexport class Drawer extends CubeDrawer {}\n// scroll\n/** Scroll Component */\nexport class Scroll extends CubeScroll {}\n/** Slide Component */\nexport class Slide extends CubeSlide {}\n/** Index List Component */\nexport class IndexList extends CubeIndexList {}\n/** Swipe Component */\nexport class Swipe extends CubeSwipe {}\n/** Sticky Component */\nexport class Sticky extends CubeSticky {}\n/** ScrollNavBar Component */\nexport class ScrollNavBar extends CubeScrollNavBar {}\n/** ScrollNav Component */\nexport class ScrollNav extends CubeScrollNav {}\n/** RecycleList Component */\nexport class RecycleList extends CubeRecycleList {}\n\n// Vue prototype $createXx\ndeclare module 'vue/types/vue' {\n  interface Vue {\n    /** create Popup instance */\n    $createPopup: CreateAPIFn<IPopup, Popup>\n    /** create Toast instance */\n    $createToast: CreateAPIFn<IToast, Toast>\n    /** create Picker instance */\n    $createPicker: CreateAPIFn<IPicker, Picker>\n    /** create CascadePicker instance */\n    $createCascadePicker: CreateAPIFn<ICascadePicker, CascadePicker>\n    /** create DatePicker instance */\n    $createDatePicker: CreateAPIFn<IDatePicker, DatePicker>\n    /** create TimePicker instance */\n    $createTimePicker: CreateAPIFn<ITimePicker, TimePicker>\n    /** create SegmentPicker instance */\n    $createSegmentPicker: CreateAPIFn<ISegmentPicker, SegmentPicker>\n    /** create Dialog instance */\n    $createDialog: CreateAPIFn<IDialog, Dialog>\n    /** create ActionSheet instance */\n    $createActionSheet: CreateAPIFn<IActionSheet, ActionSheet> \n    /** create ImagePreview instance */\n    $createImagePreview: CreateAPIFn<IImagePreview, ImagePreview>\n  }\n}\n"
  },
  {
    "path": "types/index.d.ts",
    "content": "export * from './cube-ui'\n\nimport * as CubeUI from './cube-ui'\n\nexport default CubeUI\n"
  },
  {
    "path": "vetur/attributes.json",
    "content": "{\n  \"cube-button/type\": { \"description\": \"cube-button type: 'button' | 'submit'\", \"type\": \"string\", \"options\": [\"button\", \"submit\"] },\n  \"cube-checker/type\": { \"description\": \"cube-checker type: 'checkbox' | 'radio'\", \"type\": \"string\", \"defalut\": \"checkbox\", \"options\": [\"checkbox\", \"radio\"] },\n  \"cube-input/type\": { \"description\": \"cube-input type: 'text' | 'number' | 'password' | 'date'\", \"type\": \"string\", \"options\": [\"text\" , \"number\" , \"password\" , \"date\"] },\n  \"disabled\": { \"type\": \"boolean\" },\n  \"cube-button/active\": { \"type\": \"boolean\" },\n  \"cube-swipe-item/active\": { \"type\": \"method\" },\n  \"icon\": { \"type\": \"string\", \"description\": \"the class of icon\" },\n  \"light\": { \"type\": \"boolean\", \"description\": \"light style\" },\n  \"inline\": { \"type\": \"boolean\", \"description\": \"inline style\" },\n  \"outline\": { \"type\": \"boolean\", \"description\": \"outline style\" },\n  \"primary\": { \"type\": \"boolean\", \"description\": \"primary style\" },\n  \"size\": { \"type\": \"number\" },\n  \"cube-tip/direction\": { \"type\": \"string\", \"description\": \"the direction of the small triangle, options: top | bottom | left | right\", \"options\": [\"top\", \"bottom\", \"left\", \"right\"] },\n  \"cube-scroll/direction\": { \"type\": \"string\", \"description\": \"slide direction, options: horizontal | vertical\", \"options\": [\"horizontal\", \"vertical\"] },\n  \"cube-slide/direction\": { \"type\": \"string\", \"description\": \"slide direction, options: horizontal | vertical\", \"options\": [\"horizontal\", \"vertical\"] },\n  \"cube-scroll-nav-bar/direction\": { \"type\": \"string\", \"description\": \"slide direction, options: horizontal | vertical\", \"options\": [\"horizontal\", \"vertical\"] },\n  \"cube-tip/offsetLeft\": { \"type\": \"number\", \"description\": \"the distance between the small triangle and the left part of x axis\" },\n  \"cube-tip/offsetTop\": { \"type\": \"number\", \"description\": \"the distance between the small triangle and the origin of y axis\" },\n  \"cube-tip/offsetRight\": { \"type\": \"number\", \"description\": \"the distance between the small triangle and the right part of x axis\" },\n  \"cube-tip/offsetBottom\": { \"type\": \"number\", \"description\": \"the distance between the small triangle and the bottom part of y axis\" },\n  \"cube-toolbar/actions\": { \"type\": \"array\", \"description\": \"actions description, type array\" },\n  \"cube-toolbar/more-actions\": { \"type\": \"array\", \"description\": \"more actions, type array\" }\n}\n"
  },
  {
    "path": "vetur/tags.json",
    "content": "{\n  \"cube-button\": {\n    \"attributes\": [\"type\", \"active\", \"disabled\", \"icon\", \"light\", \"inline\", \"outline\", \"primary\"],\n    \"defaults\": [],\n    \"description\": \"cube-button\"\n  },\n  \"cube-loading\": {\n    \"attributes\": [\"size\"],\n    \"defaults\": [],\n    \"subtags\": [],\n    \"description\": \"cube-loading\"\n  },\n  \"cube-tip\": {\n    \"attributes\": [\"direction\", \"offsetTop\", \"offsetBottom\", \"offsetLeft\", \"offsetRight\", \"visible\", \"close\"],\n    \"defaults\": [],\n    \"subtags\": [],\n    \"description\": \"cube-tip\"\n  },\n  \"cube-toolbar\": {\n    \"attributes\": [\"actions\", \"more-actions\", \"more-click\"],\n    \"defaults\": [],\n    \"description\": \"cube-toolbar\"\n  },\n  \"cube-tab-bar\": {\n    \"attributes\": [\"value\", \"data\", \"show-slider\", \"inline\", \"use-transition\"],\n    \"defaults\": [],\n    \"description\": \"cube-tab-bar\"\n  },\n  \"cube-checkbox\": {\n    \"attributes\": [\"option\", \"position\", \"shape\", \"hollow-style\", \"label\", \"value\", \"disabled\"],\n    \"defaults\": [],\n    \"description\": \"cube-checkbox\"\n  },\n  \"cube-checkbox-group\": {\n    \"attributes\": [\"value\", \"options\", \"horizontal\", \"colNum\", \"shape\", \"hollow-style\", \"min\", \"max\", \"checked\", \"cancel-checked\", \"input\"],\n    \"defaults\": [\"data\"],\n    \"description\": \"cube-checkbox-group\"\n  },\n  \"cube-radio\": {\n    \"attributes\": [\"value\", \"option\", \"position\", \"hollow-style\"],\n    \"defaults\": [],\n    \"description\": \"cube-radio\"\n  },\n  \"cube-radio-group\": {\n    \"attributes\": [\"value\", \"options\", \"position\", \"horizontal\", \"colNum\", \"hollow-style\"],\n    \"defaults\": [\"options\"],\n    \"description\": \"cube-radio-group\"\n  },\n  \"cube-checker\": {\n    \"attributes\": [\"value\", \"options\", \"type\", \"min\", \"max\"],\n    \"defaults\": [\"options\"],\n    \"description\": \"cube-checker\"\n  },\n  \"cube-input\": {\n    \"attributes\": [\"value\", \"type\", \"disabled\", \"readonly\", \"maxlength\", \"placeholder\", \"autofocus\", \"autocomplete\", \"clearable\", \"eye\"],\n    \"defaults\": [\"type\"],\n    \"description\": \"cube-input\"\n  },\n  \"cube-textarea\": {\n    \"attributes\": [\"value\", \"disabled\", \"readonly\", \"maxlength\", \"placeholder\", \"autofocus\", \"indicator\", \"auto-expand\"],\n    \"defaults\": [],\n    \"description\": \"cube-textarea\"\n  },\n  \"cube-select\": {\n    \"attributes\": [\"value\", \"options\", \"placeholder\", \"auto-pop\", \"disabled\", \"title\", \"cancelTxt\", \"confirmTxt\", \"picker-show\", \"picker-hide\"],\n    \"defaults\": [],\n    \"description\": \"cube-select\"\n  },\n  \"cube-switch\": {\n    \"attributes\": [\"disabled\", \"value\"],\n    \"defaults\": [],\n    \"description\": \"cube-switch\"\n  },\n  \"cube-rate\": {\n    \"attributes\": [\"value\", \"max\", \"disabled\", \"justify\"],\n    \"defaults\": [\"justify\"],\n    \"description\": \"cube-rate\"\n  },\n  \"cube-validator\": {\n    \"attributes\": [\"model\", \"value\", \"rules\", \"messages\", \"immediate\", \"disabled\", \"validated\", \"validating\", \"msg-click\", \"input\"],\n    \"defaults\": [\"model\"],\n    \"description\": \"cube-validator\"\n  },\n  \"cube-upload\": {\n    \"attributes\": [\"value\", \"action\", \"max\", \"auto\", \"simultaneousUploads\", \"multiple\", \"action\", \"files-added\", \"file-submitted\", \"file-removed\", \"file-success\", \"file-error\", \"file-click\"],\n    \"defaults\": [\"title\"],\n    \"description\": \"cube-upload\"\n  },\n  \"cube-form\": {\n    \"attributes\": [\"model\", \"schema\", \"immediate-validate\", \"action\", \"options\", \"submit-always-validate\", \"submit\", \"reset\", \"validate\", \"valid\", \"invalid\"],\n    \"defaults\": [\"model\"],\n    \"subtags\": [\"cube-form-group\"],\n    \"description\": \"cube-form\"\n  },\n  \"cube-form-group\": {\n    \"attributes\": [\"legend\", \"fields\"],\n    \"defaults\": [\"legend\"],\n    \"subtags\": [\"cube-form-item\"],\n    \"description\": \"cube-form-group\"\n  },\n  \"cube-form-item\": {\n    \"attributes\": [\"field\"],\n    \"defaults\": [\"field\"],\n    \"subtags\": [],\n    \"description\": \"cube-formitem\"\n  },\n  \"cube-drawer\": {\n    \"attributes\": [\"title\", \"data\", \"selected-index\", \"visible\", \"cancel\"],\n    \"defaults\": [\"title\"],\n    \"subtags\": [\"cube-drawer-panel\"],\n    \"description\": \"cube-drawer\"\n  },\n  \"cube-drawer-panel\": {\n    \"attributes\": [\"data\", \"index\"],\n    \"defaults\": [\"data\"],\n    \"subtags\": [\"cube-drawer-item\"],\n    \"description\": \"cube-drawer-panel\"\n  },\n  \"cube-drawer-item\": {\n    \"attributes\": [\"data\", \"index\"],\n    \"defaults\": [\"data\"],\n    \"description\": \"cube-drawer-item\"\n  },\n  \"cube-scroll\": {\n    \"attributes\": [\"data\", \"direction\", \"options\", \"scroll-events\", \"listen-scroll\", \"listen-before-scroll\", \"refresh-delay\", \"nest-mode\", \"before-scroll-start\", \"scroll-end\", \"pulling-down\", \"pulling-up\"],\n    \"defaults\": [\"data\"],\n    \"description\": \"cube-scroll\"\n  },\n  \"cube-slide\": {\n    \"attributes\": [\"data\", \"initial-index\", \"loop\", \"show-dots\", \"auto-play\", \"interval\", \"direction\", \"options\", \"threshold\", \"speed\", \"allow-vertical\", \"stop-propagation\", \"refresh-reset-current\", \"scroll-end\"],\n    \"defaults\": [\"data\"],\n    \"subtags\": [\"cube-slide-item\"],\n    \"description\": \"cube-slide\"\n  },\n  \"cube-slide-item\": {\n    \"attributes\": [\"url\", \"image\"],\n    \"defaults\": [],\n    \"description\": \"cube-slide-item\"\n  },\n  \"cube-index-list\": {\n    \"attributes\": [\"title\", \"data\", \"navbar\", \"speed\", \"options\", \"pull-up-load\", \"pull-down-refresh\", \"title-click\", \"pulling-up\", \"pulling-down\"],\n    \"defaults\": [],\n    \"description\": \"cube-index-list\"\n  },\n  \"cube-swipe\": {\n    \"attributes\": [\"data\", \"auto-shrink\", \"item-click\", \"btn-click\"],\n    \"defaults\": [],\n    \"subtags\": [\"cube-swipe-item\"],\n    \"description\": \"cube-swipe\"\n  },\n  \"cube-swipe-item\": {\n    \"attributes\": [\"item\", \"btns\", \"index\", \"auto-shrink\", \"item-click\", \"btn-click\", \"active\"],\n    \"defaults\": [\"item\"],\n    \"description\": \"cube-swipe-item\"\n  },\n  \"cube-sticky\": {\n    \"attributes\": [\"pos\", \"check-top\", \"fixed-show-ani\", \"offset\", \"diff-change\", \"change\"],\n    \"defaults\": [],\n    \"subtags\": [\"cube-sticky-ele\"],\n    \"description\": \"cube-sticky\"\n  },\n  \"cube-scroll-nav-bar\": {\n    \"attributes\": [\"direction\", \"labels\", \"txts\", \"current\", \"options\"],\n    \"defaults\": [],\n    \"description\": \"cube-scroll-nav-bar\"\n  },\n  \"cube-scroll-nav\": {\n    \"attributes\": [\"data\", \"side\", \"current\", \"speed\", \"options\", \"sticky-change\"],\n    \"defaults\": [\"data\"],\n    \"subtags\": [\"cube-scroll-nav-panel\"],\n    \"description\": \"cube-scroll-nav\"\n  },\n  \"cube-recycle-list\": {\n    \"attributes\": [\"infinite\", \"size\", \"offset\", \"on-fetch\"],\n    \"defaults\": [],\n    \"description\": \"cube-recycle-list\"\n  }\n}\n"
  }
]